12345678910111213141516171819202122 |
- import type {DefinitionOptions} from "./_types"
- import type {SchemaObject, KeywordCxt, Name} from "ajv"
- import {_} from "ajv/dist/compile/codegen"
- const META_SCHEMA_ID = "http://json-schema.org/schema"
- export function metaSchemaRef({defaultMeta}: DefinitionOptions = {}): SchemaObject {
- return defaultMeta === false ? {} : {$ref: defaultMeta || META_SCHEMA_ID}
- }
- export function usePattern(
- {gen, it: {opts}}: KeywordCxt,
- pattern: string,
- flags = opts.unicodeRegExp ? "u" : ""
- ): Name {
- const rx = new RegExp(pattern, flags)
- return gen.scopeValue("pattern", {
- key: rx.toString(),
- ref: rx,
- code: _`new RegExp(${pattern}, ${flags})`,
- })
- }
|