aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 20:21:29 +0000
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 20:21:29 +0000
commit61cb1570a3410c85a4489b97c172e3a50715f36c (patch)
tree8fe4a5b77ea54bba80abc817ce2c9ef0e79e7e66 /sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts
parent21a53d349788c99d2007cba91a923db982353b31 (diff)
parenta9ee9e0a500a4a15bd0b5dcaf041f827228ed309 (diff)
Merge branch 'researchML' into 'dev'
Research ml See merge request igrannonica/neuronstellar!6
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts b/sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts
new file mode 100644
index 00000000..2ad3d4df
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/ajv/lib/compile/validate/defaults.ts
@@ -0,0 +1,32 @@
+import type {SchemaObjCxt} from ".."
+import {_, getProperty, stringify} from "../codegen"
+import {checkStrictMode} from "../util"
+
+export function assignDefaults(it: SchemaObjCxt, ty?: string): void {
+ const {properties, items} = it.schema
+ if (ty === "object" && properties) {
+ for (const key in properties) {
+ assignDefault(it, key, properties[key].default)
+ }
+ } else if (ty === "array" && Array.isArray(items)) {
+ items.forEach((sch, i: number) => assignDefault(it, i, sch.default))
+ }
+}
+
+function assignDefault(it: SchemaObjCxt, prop: string | number, defaultValue: unknown): void {
+ const {gen, compositeRule, data, opts} = it
+ if (defaultValue === undefined) return
+ const childData = _`${data}${getProperty(prop)}`
+ if (compositeRule) {
+ checkStrictMode(it, `default is ignored for: ${childData}`)
+ return
+ }
+
+ let condition = _`${childData} === undefined`
+ if (opts.useDefaults === "empty") {
+ condition = _`${condition} || ${childData} === null || ${childData} === ""`
+ }
+ // `${childData} === undefined` +
+ // (opts.useDefaults === "empty" ? ` || ${childData} === null || ${childData} === ""` : "")
+ gen.if(condition, _`${childData} = ${stringify(defaultValue)}`)
+}