diff --git a/dist/query.js b/dist/query.js index 71d8ca5f..8d2b8750 100644 --- a/dist/query.js +++ b/dist/query.js @@ -69701,6 +69701,7 @@ var require_pattern = __commonJS({ "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); + var util_1 = require_util16(); var codegen_1 = require_codegen(); var error2 = { message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, @@ -69713,10 +69714,18 @@ var require_pattern = __commonJS({ $data: true, error: error2, code(cxt) { - const { data, $data, schema, schemaCode, it } = cxt; + const { gen, data, $data, schema, schemaCode, it } = cxt; const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + 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 valid3 = gen.let("valid"); + gen.try(() => gen.assign(valid3, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u}).test(${data})`), () => gen.assign(valid3, false)); + cxt.fail$data((0, codegen_1._)`!${valid3}`); + } else { + const regExp = (0, code_1.usePattern)(cxt, schema); + cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + } } }; exports2.default = def; diff --git a/dist/update-repo-task-status.js b/dist/update-repo-task-status.js index cee99eca..553f8d3b 100644 --- a/dist/update-repo-task-status.js +++ b/dist/update-repo-task-status.js @@ -23153,6 +23153,7 @@ var require_pattern = __commonJS({ "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); + var util_1 = require_util9(); var codegen_1 = require_codegen(); var error = { message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, @@ -23165,10 +23166,18 @@ var require_pattern = __commonJS({ $data: true, error, code(cxt) { - const { data, $data, schema, schemaCode, it } = cxt; + const { gen, data, $data, schema, schemaCode, it } = cxt; const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + 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})`); + } } }; exports2.default = def; diff --git a/dist/update-repo-task-statuses.js b/dist/update-repo-task-statuses.js index a200f7c8..2f391ae6 100644 --- a/dist/update-repo-task-statuses.js +++ b/dist/update-repo-task-statuses.js @@ -23153,6 +23153,7 @@ var require_pattern = __commonJS({ "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); + var util_1 = require_util9(); var codegen_1 = require_codegen(); var error = { message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, @@ -23165,10 +23166,18 @@ var require_pattern = __commonJS({ $data: true, error, code(cxt) { - const { data, $data, schema, schemaCode, it } = cxt; + const { gen, data, $data, schema, schemaCode, it } = cxt; const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + 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})`); + } } }; exports2.default = def; diff --git a/package-lock.json b/package-lock.json index acb6957d..c063e5ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@octokit/action": "^8.0.4", "@octokit/plugin-retry": "^8.0.3", "@octokit/plugin-throttling": "^11.0.3", - "ajv": "8.17.1", + "ajv": "8.18.0", "form-data": "^4.0.5", "jszip": "3.10.1", "semver": "^7.7.4", @@ -4631,9 +4631,10 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", diff --git a/package.json b/package.json index 2b7d4c82..9d59a150 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@octokit/action": "^8.0.4", "@octokit/plugin-retry": "^8.0.3", "@octokit/plugin-throttling": "^11.0.3", - "ajv": "8.17.1", + "ajv": "8.18.0", "form-data": "^4.0.5", "jszip": "3.10.1", "semver": "^7.7.4",