michangarrito/apps/backend/node_modules/ajv-keywords/dist/definitions/regexp.js
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

40 lines
1.3 KiB
JavaScript

"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