1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| "use strict";
| Object.defineProperty(exports, "__esModule", { value: true });
| const code_1 = require("../code");
| const util_1 = require("../../compile/util");
| const codegen_1 = require("../../compile/codegen");
| const error = {
| message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern "${schemaCode}"`,
| params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`,
| };
| const def = {
| keyword: "pattern",
| type: "string",
| schemaType: "string",
| $data: true,
| error,
| code(cxt) {
| const { gen, data, $data, schema, schemaCode, it } = cxt;
| const u = it.opts.unicodeRegExp ? "u" : "";
| if ($data) {
| const { regExp } = it.opts.code;
| const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._) `new RegExp` : (0, util_1.useFunc)(gen, regExp);
| const valid = gen.let("valid");
| gen.try(() => gen.assign(valid, (0, codegen_1._) `${regExpCode}(${schemaCode}, ${u}).test(${data})`), () => gen.assign(valid, false));
| cxt.fail$data((0, codegen_1._) `!${valid}`);
| }
| else {
| const regExp = (0, code_1.usePattern)(cxt, schema);
| cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`);
| }
| },
| };
| exports.default = def;
| //# sourceMappingURL=pattern.js.map
|
|