12345678910111213141516171819202122232425262728293031323334353637383940 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const codegen_1 = require("ajv/dist/compile/codegen");
- const _util_1 = require("./_util");
- const regexpMetaSchema = {
- type: "object",
- properties: {
- pattern: { type: "string" },
- flags: { type: "string", nullable: true },
- },
- required: ["pattern"],
- additionalProperties: false,
- };
- const metaRegexp = /^\/(.*)\/([gimuy]*)$/;
- function getDef() {
- return {
- keyword: "regexp",
- type: "string",
- schemaType: ["string", "object"],
- code(cxt) {
- const { data, schema } = cxt;
- const regx = getRegExp(schema);
- cxt.pass((0, codegen_1._) `${regx}.test(${data})`);
- function getRegExp(sch) {
- if (typeof sch == "object")
- return (0, _util_1.usePattern)(cxt, sch.pattern, sch.flags);
- const rx = metaRegexp.exec(sch);
- if (rx)
- return (0, _util_1.usePattern)(cxt, rx[1], rx[2]);
- throw new Error("cannot parse string into RegExp");
- }
- },
- metaSchema: {
- anyOf: [{ type: "string" }, regexpMetaSchema],
- },
- };
- }
- exports.default = getDef;
- module.exports = getDef;
- //# sourceMappingURL=regexp.js.map
|