@0disoft/universal-config-engine-validator-ajv 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -9
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export interface CreateAjvValidatorInput {
|
|
|
7
7
|
readonly options?: Options;
|
|
8
8
|
}
|
|
9
9
|
export declare function createAjvValidator(input: CreateAjvValidatorInput): ValidatorAdapter;
|
|
10
|
-
export declare function instancePathToConfigPath(instancePath: string): ConfigPath;
|
|
10
|
+
export declare function instancePathToConfigPath(instancePath: string, rootValue?: unknown): ConfigPath;
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAIjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,GAAG,EAEH,KAAK,OAAO,EACZ,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB,CAyBnF;AAUD,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAIjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,GAAG,EAEH,KAAK,OAAO,EACZ,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB,CAyBnF;AAUD,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAuB9F"}
|
package/dist/index.js
CHANGED
|
@@ -17,30 +17,43 @@ export function createAjvValidator(input) {
|
|
|
17
17
|
}
|
|
18
18
|
return {
|
|
19
19
|
ok: false,
|
|
20
|
-
issues: errors.map(toValidatorIssue)
|
|
20
|
+
issues: errors.map((error) => toValidatorIssue(error, validatorInput.config))
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
function toValidatorIssue(error) {
|
|
25
|
+
function toValidatorIssue(error, config) {
|
|
26
26
|
return {
|
|
27
27
|
code: error.keyword,
|
|
28
28
|
severity: "error",
|
|
29
|
-
path: instancePathToConfigPath(error.instancePath)
|
|
29
|
+
path: instancePathToConfigPath(error.instancePath, config)
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
export function instancePathToConfigPath(instancePath) {
|
|
32
|
+
export function instancePathToConfigPath(instancePath, rootValue) {
|
|
33
33
|
if (instancePath.length === 0 || instancePath === "/") {
|
|
34
34
|
return [];
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
const decodedSegments = instancePath
|
|
37
37
|
.split("/")
|
|
38
38
|
.slice(1)
|
|
39
|
-
.map((segment) => decodePointerSegment(segment))
|
|
40
|
-
|
|
39
|
+
.map((segment) => decodePointerSegment(segment));
|
|
40
|
+
const path = [];
|
|
41
|
+
let current = rootValue;
|
|
42
|
+
for (const segment of decodedSegments) {
|
|
41
43
|
const numericSegment = Number(segment);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const pathSegment = Array.isArray(current) && Number.isSafeInteger(numericSegment) && String(numericSegment) === segment
|
|
45
|
+
? numericSegment
|
|
46
|
+
: segment;
|
|
47
|
+
path.push(pathSegment);
|
|
48
|
+
current = getChildValue(current, pathSegment);
|
|
49
|
+
}
|
|
50
|
+
return path;
|
|
51
|
+
}
|
|
52
|
+
function getChildValue(value, segment) {
|
|
53
|
+
if (value === null || typeof value !== "object") {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
return value[segment];
|
|
44
57
|
}
|
|
45
58
|
function decodePointerSegment(segment) {
|
|
46
59
|
return segment.replaceAll("~1", "/").replaceAll("~0", "~");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,GAAG,EAIJ,MAAM,iBAAiB,CAAC;AASzB,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC;IAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,EAAE;QACF,QAAQ,CAAC,cAA8B;YACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YAE5C,IAAI,EAAE,EAAE,CAAC;gBACP,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,cAAc,CAAC,MAAM;oBAC5B,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0disoft/universal-config-engine-validator-ajv",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@0disoft/universal-config-engine-core": "0.
|
|
40
|
+
"@0disoft/universal-config-engine-core": "0.6.0"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"ajv": "^8.20.0"
|