@cargolift-cdi/lib-payload 0.1.42 → 0.1.43
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/cjs/payload-condition/payload-condition.js +1 -1
- package/dist/cjs/payload-condition/payload-condition.js.map +1 -1
- package/dist/cjs/payload-response-interpreter/payload-response-interpreter.js +4 -1
- package/dist/cjs/payload-response-interpreter/payload-response-interpreter.js.map +1 -1
- package/dist/cjs/payload-validation/payload-validation.js +2 -2
- package/dist/cjs/payload-validation/payload-validation.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/util/payload-pointer.util.js +21 -15
- package/dist/cjs/util/payload-pointer.util.js.map +1 -1
- package/dist/esm/payload-condition/payload-condition.js +1 -1
- package/dist/esm/payload-condition/payload-condition.js.map +1 -1
- package/dist/esm/payload-response-interpreter/payload-response-interpreter.js +4 -1
- package/dist/esm/payload-response-interpreter/payload-response-interpreter.js.map +1 -1
- package/dist/esm/payload-validation/payload-validation.js +3 -3
- package/dist/esm/payload-validation/payload-validation.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/util/payload-pointer.util.js +21 -15
- package/dist/esm/util/payload-pointer.util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { BusinessError } from "@cargolift-cdi/lib-common/dist/errors/errors.error";
|
|
1
2
|
function decodeSegment(seg) {
|
|
2
|
-
return seg.
|
|
3
|
+
return seg.replaceAll('~1', "/").replaceAll('~0', "~");
|
|
3
4
|
}
|
|
4
5
|
export function encodeSegment(seg) {
|
|
5
|
-
return seg.
|
|
6
|
+
return seg.replaceAll('~', "~0").replaceAll('/', "~1");
|
|
6
7
|
}
|
|
7
8
|
export function parsePointer(pointer) {
|
|
8
|
-
if (!pointer || pointer === "/")
|
|
9
|
+
if (!pointer || pointer === "/") {
|
|
9
10
|
return [];
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
}
|
|
12
|
+
if (!pointer.startsWith("/")) {
|
|
13
|
+
throw new BusinessError(`Invalid JSON Pointer: ${pointer}`, "INVALID_JSON_POINTER");
|
|
14
|
+
}
|
|
12
15
|
return pointer.substring(1).split("/").map(decodeSegment);
|
|
13
16
|
}
|
|
14
17
|
export function existsPathPayload(obj, pointer) {
|
|
@@ -55,15 +58,17 @@ export function removePathPayload(obj, pointer) {
|
|
|
55
58
|
}
|
|
56
59
|
export function setValuePayload(obj, pointer, value, createIfMissing = false) {
|
|
57
60
|
const segs = parsePointer(pointer);
|
|
58
|
-
if (segs.length === 0)
|
|
59
|
-
throw new
|
|
61
|
+
if (segs.length === 0) {
|
|
62
|
+
throw new BusinessError("Não é possível sobrescrever a raiz com setValuePayload", "INVALID_JSON_POINTER");
|
|
63
|
+
}
|
|
60
64
|
let cur = obj;
|
|
61
65
|
for (let i = 0; i < segs.length - 1; i++) {
|
|
62
66
|
const seg = segs[i];
|
|
63
67
|
let next = cur[seg];
|
|
64
68
|
if (next == null) {
|
|
65
|
-
if (!createIfMissing)
|
|
66
|
-
throw new
|
|
69
|
+
if (!createIfMissing) {
|
|
70
|
+
throw new BusinessError(`Caminho ausente: ${pointer}`, "INVALID_JSON_POINTER");
|
|
71
|
+
}
|
|
67
72
|
const nextSeg = segs[i + 1];
|
|
68
73
|
const asIndex = parseArrayIndex(nextSeg);
|
|
69
74
|
next = Number.isInteger(asIndex) ? [] : {};
|
|
@@ -71,11 +76,12 @@ export function setValuePayload(obj, pointer, value, createIfMissing = false) {
|
|
|
71
76
|
}
|
|
72
77
|
cur = next;
|
|
73
78
|
}
|
|
74
|
-
const last = segs
|
|
79
|
+
const last = segs.at(-1);
|
|
75
80
|
if (Array.isArray(cur)) {
|
|
76
81
|
const idx = parseArrayIndex(last);
|
|
77
|
-
if (!Number.isInteger(idx))
|
|
78
|
-
throw new
|
|
82
|
+
if (!Number.isInteger(idx)) {
|
|
83
|
+
throw new BusinessError(`Índice de array inválido: ${String(last)}`, "INVALID_JSON_POINTER");
|
|
84
|
+
}
|
|
79
85
|
ensureArraySize(cur, idx);
|
|
80
86
|
cur[idx] = value;
|
|
81
87
|
return;
|
|
@@ -95,10 +101,10 @@ function parseArrayIndex(seg) {
|
|
|
95
101
|
}
|
|
96
102
|
function find(obj, segs) {
|
|
97
103
|
let cur = obj;
|
|
98
|
-
for (
|
|
99
|
-
if (cur == null || !(
|
|
104
|
+
for (const element of segs) {
|
|
105
|
+
if (cur == null || !(element in cur))
|
|
100
106
|
return { exists: false };
|
|
101
|
-
cur = cur[
|
|
107
|
+
cur = cur[element];
|
|
102
108
|
}
|
|
103
109
|
return { exists: true };
|
|
104
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-pointer.util.js","sourceRoot":"","sources":["../../../src/util/payload-pointer.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payload-pointer.util.js","sourceRoot":"","sources":["../../../src/util/payload-pointer.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED