aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
commit291803c31f829fe0d32bb3207bc11def95a7408c (patch)
treec7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts55
1 files changed, 55 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts b/sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
new file mode 100644
index 00000000..86091b8c
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
@@ -0,0 +1,55 @@
+import type {CodeKeywordDefinition, SchemaObject} from "../../types"
+import type {KeywordCxt} from "../../compile/validate"
+import {alwaysValidSchema, Type} from "../../compile/util"
+import {not, Name} from "../../compile/codegen"
+import {checkMetadata} from "./metadata"
+import {checkNullableObject} from "./nullable"
+import {typeError, _JTDTypeError} from "./error"
+
+export type JTDValuesError = _JTDTypeError<"values", "object", SchemaObject>
+
+const def: CodeKeywordDefinition = {
+ keyword: "values",
+ schemaType: "object",
+ error: typeError("object"),
+ code(cxt: KeywordCxt) {
+ checkMetadata(cxt)
+ const {gen, data, schema, it} = cxt
+ if (alwaysValidSchema(it, schema)) return
+ const [valid, cond] = checkNullableObject(cxt, data)
+ gen.if(cond)
+ gen.assign(valid, validateMap())
+ gen.elseIf(not(valid))
+ cxt.error()
+ gen.endIf()
+ cxt.ok(valid)
+
+ function validateMap(): Name | boolean {
+ const _valid = gen.name("valid")
+ if (it.allErrors) {
+ const validMap = gen.let("valid", true)
+ validateValues(() => gen.assign(validMap, false))
+ return validMap
+ }
+ gen.var(_valid, true)
+ validateValues(() => gen.break())
+ return _valid
+
+ function validateValues(notValid: () => void): void {
+ gen.forIn("key", data, (key) => {
+ cxt.subschema(
+ {
+ keyword: "values",
+ dataProp: key,
+ dataPropType: Type.Str,
+ },
+ _valid
+ )
+ gen.if(not(_valid), notValid)
+ })
+ }
+ }
+ },
+}
+
+export default def