You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
832 B
25 lines
832 B
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const codegen_1 = require("../../compile/codegen");
|
|
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}}`,
|
|
};
|
|
const def = {
|
|
keyword: "const",
|
|
$data: true,
|
|
error,
|
|
code(cxt) {
|
|
const { gen, data, $data, schemaCode, schema } = cxt;
|
|
if ($data || (schema && typeof schema == "object")) {
|
|
cxt.fail$data(codegen_1._ `!${util_1.useFunc(gen, equal_1.default)}(${data}, ${schemaCode})`);
|
|
}
|
|
else {
|
|
cxt.fail(codegen_1._ `${schema} !== ${data}`);
|
|
}
|
|
},
|
|
};
|
|
exports.default = def;
|
|
//# sourceMappingURL=const.js.map
|