diff options
author | Nevena Bojovic <nenabojov@gmail.com> | 2022-03-01 20:05:50 +0100 |
---|---|---|
committer | Nevena Bojovic <nenabojov@gmail.com> | 2022-03-01 20:05:50 +0100 |
commit | 291803c31f829fe0d32bb3207bc11def95a7408c (patch) | |
tree | c7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts | |
parent | 1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff) |
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts')
-rw-r--r-- | sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts b/sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts new file mode 100644 index 00000000..c4b2c30b --- /dev/null +++ b/sandbox/testAppNevena/Front/node_modules/ajv/lib/standalone/instance.ts @@ -0,0 +1,36 @@ +import Ajv, {AnySchema, AnyValidateFunction, ErrorObject} from "../core" +import standaloneCode from "." +import * as requireFromString from "require-from-string" + +export default class AjvPack { + errors?: ErrorObject[] | null // errors from the last validation + constructor(readonly ajv: Ajv) {} + + validate(schemaKeyRef: AnySchema | string, data: unknown): boolean | Promise<unknown> { + return Ajv.prototype.validate.call(this, schemaKeyRef, data) + } + + compile<T = unknown>(schema: AnySchema, meta?: boolean): AnyValidateFunction<T> { + return this.getStandalone(this.ajv.compile<T>(schema, meta)) + } + + getSchema<T = unknown>(keyRef: string): AnyValidateFunction<T> | undefined { + const v = this.ajv.getSchema<T>(keyRef) + if (!v) return undefined + return this.getStandalone(v) + } + + private getStandalone<T = unknown>(v: AnyValidateFunction<T>): AnyValidateFunction<T> { + return requireFromString(standaloneCode(this.ajv, v)) as AnyValidateFunction<T> + } + + addSchema(...args: Parameters<typeof Ajv.prototype.addSchema>): AjvPack { + this.ajv.addSchema.call(this.ajv, ...args) + return this + } + + addKeyword(...args: Parameters<typeof Ajv.prototype.addKeyword>): AjvPack { + this.ajv.addKeyword.call(this.ajv, ...args) + return this + } +} |