aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
commit6c8128f9fd5a5d0be115806c35a21b3d683df8d6 (patch)
treef46c2f6b3b9b294ff32bd75c08ccdc9e7a8cc4ef /sandbox/testAppNevena/Front/node_modules/ajv/lib/vocabularies/jtd/values.ts
parent2400b84e95913665da6279114168148444b8f9ab (diff)
parent7d3640f824f46490b47bd95f1c5a16644f712068 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into logo
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