massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / node_modules / ajv / dist / vocabularies / validation / const.js
index 1b4c59555cb9087693d6a3f1ab4309bbf9ad6510..9564496a658fc6a46552d174984446d8c79fc1db 100644 (file)
@@ -5,16 +5,20 @@ const util_1 = require("../../compile/util");
 const equal_1 = require("../../runtime/equal");
 const error = {
     message: "must be equal to constant",
-    params: ({ schemaCode }) => codegen_1._ `{allowedValue: ${schemaCode}}`,
+    params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`,
 };
 const def = {
     keyword: "const",
     $data: true,
     error,
     code(cxt) {
-        const { gen, data, schemaCode } = cxt;
-        // TODO optimize for scalar values in schema
-        cxt.fail$data(codegen_1._ `!${util_1.useFunc(gen, equal_1.default)}(${data}, ${schemaCode})`);
+        const { gen, data, $data, schemaCode, schema } = cxt;
+        if ($data || (schema && typeof schema == "object")) {
+            cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);
+        }
+        else {
+            cxt.fail((0, codegen_1._) `${schema} !== ${data}`);
+        }
     },
 };
 exports.default = def;