@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.
@@ -1,14 +1,17 @@
1
+ import { BusinessError } from "@cargolift-cdi/lib-common/dist/errors/errors.error";
1
2
  function decodeSegment(seg) {
2
- return seg.replace(/~1/g, "/").replace(/~0/g, "~");
3
+ return seg.replaceAll('~1', "/").replaceAll('~0', "~");
3
4
  }
4
5
  export function encodeSegment(seg) {
5
- return seg.replace(/~/g, "~0").replace(/\//g, "~1");
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
- if (pointer[0] !== "/")
11
- throw new Error(`Invalid JSON Pointer: ${pointer}`);
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 Error("Cannot overwrite root with setValuePayload");
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 Error(`Missing path: ${pointer}`);
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[segs.length - 1];
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 Error(`Invalid array index: ${String(last)}`);
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 (let i = 0; i < segs.length; i++) {
99
- if (cur == null || !(segs[i] in cur))
104
+ for (const element of segs) {
105
+ if (cur == null || !(element in cur))
100
106
  return { exists: false };
101
- cur = cur[segs[i]];
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":"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"}
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cargolift-cdi/lib-payload",
3
3
  "private": false,
4
- "version": "0.1.42",
4
+ "version": "0.1.43",
5
5
  "description": "Lib de tratamento e validação de payloads para serviços do middleware da Cargolift CDI",
6
6
  "license": "MIT",
7
7
  "type": "module",