Buckets:
ktongue/docker_container / .cache /opencode /node_modules /ajv /lib /vocabularies /validation /pattern.ts
| import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from "../../types" | |
| import type {KeywordCxt} from "../../compile/validate" | |
| import {usePattern} from "../code" | |
| import {_, str} from "../../compile/codegen" | |
| export type PatternError = ErrorObject<"pattern", {pattern: string}, string | {$data: string}> | |
| const error: KeywordErrorDefinition = { | |
| message: ({schemaCode}) => str`must match pattern "${schemaCode}"`, | |
| params: ({schemaCode}) => _`{pattern: ${schemaCode}}`, | |
| } | |
| const def: CodeKeywordDefinition = { | |
| keyword: "pattern", | |
| type: "string", | |
| schemaType: "string", | |
| $data: true, | |
| error, | |
| code(cxt: KeywordCxt) { | |
| const {data, $data, schema, schemaCode, it} = cxt | |
| // TODO regexp should be wrapped in try/catchs | |
| const u = it.opts.unicodeRegExp ? "u" : "" | |
| const regExp = $data ? _`(new RegExp(${schemaCode}, ${u}))` : usePattern(cxt, schema) | |
| cxt.fail$data(_`!${regExp}.test(${data})`) | |
| }, | |
| } | |
| export default def | |
Xet Storage Details
- Size:
- 961 Bytes
- Xet hash:
- 72e6ee9d16755c1f49cb69e3e2b0ea0842d2b38942b8a8c1e984c08facdffa68
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.