@mxpicture/gcp-functions-common 1.3.21 → 1.3.23

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.
@@ -6,4 +6,12 @@
6
6
  * @returns A new object containing only the allowed keys that exist on `route`.
7
7
  */
8
8
  export declare const stripObject: <T extends object>(route: T, allowedKeys: (keyof T)[]) => T;
9
+ export declare const compareIsObject: (value: unknown) => value is Record<string, unknown>;
10
+ /**
11
+ *
12
+ * @param a - Object A
13
+ * @param b - Object B
14
+ * @returns changed paths array
15
+ */
16
+ export declare const compare: (a: Record<string, unknown>, b: Record<string, unknown>) => string[];
9
17
  //# sourceMappingURL=helper.object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.object.d.ts","sourceRoot":"","sources":["../../src/helper/helper.object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAC1C,OAAO,CAAC,EACR,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,KACvB,CAKF,CAAC"}
1
+ {"version":3,"file":"helper.object.d.ts","sourceRoot":"","sources":["../../src/helper/helper.object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAC1C,OAAO,CAAC,EACR,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,KACvB,CAKF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACoC,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,MAAM,EA8BR,CAAC"}
@@ -12,4 +12,36 @@ export const stripObject = (route, allowedKeys) => {
12
12
  result[allowedKey] = route[allowedKey];
13
13
  return result;
14
14
  };
15
+ export const compareIsObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
16
+ /**
17
+ *
18
+ * @param a - Object A
19
+ * @param b - Object B
20
+ * @returns changed paths array
21
+ */
22
+ export const compare = (a, b) => {
23
+ const changes = [];
24
+ const walk = (left, right, path = "") => {
25
+ // Handle primitive values + arrays
26
+ if (left === right || (Number.isNaN(left) && Number.isNaN(right)))
27
+ return;
28
+ // Compare arrays
29
+ if (Array.isArray(left) || Array.isArray(right)) {
30
+ if (JSON.stringify(left) !== JSON.stringify(right))
31
+ changes.push(path);
32
+ return;
33
+ }
34
+ // Compare objects recursively
35
+ if (compareIsObject(left) && compareIsObject(right)) {
36
+ const keys = new Set([...Object.keys(left), ...Object.keys(right)]);
37
+ for (const key of keys)
38
+ walk(left[key], right[key], path ? `${path}.${key}` : key);
39
+ return;
40
+ }
41
+ // Primitive or type mismatch
42
+ changes.push(path);
43
+ };
44
+ walk(a, b);
45
+ return changes;
46
+ };
15
47
  //# sourceMappingURL=helper.object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.object.js","sourceRoot":"","sources":["../../src/helper/helper.object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAQ,EACR,WAAwB,EACrB,EAAE;IACL,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,UAAU,IAAI,WAAW;QAClC,IAAI,UAAU,IAAI,KAAK;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,MAAW,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"helper.object.js","sourceRoot":"","sources":["../../src/helper/helper.object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAQ,EACR,WAAwB,EACrB,EAAE;IACL,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,UAAU,IAAI,WAAW;QAClC,IAAI,UAAU,IAAI,KAAK;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,MAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAc,EACoB,EAAE,CACpC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAA0B,EAC1B,CAA0B,EAChB,EAAE;IACZ,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,KAAc,EAAE,IAAI,GAAG,EAAE,EAAQ,EAAE;QAC9D,mCAAmC;QACnC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO;QAE1E,iBAAiB;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpE,KAAK,MAAM,GAAG,IAAI,IAAI;gBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE7D,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEX,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -5,6 +5,7 @@ export * from "./types.document.js";
5
5
  export * from "./types.enum.registry.js";
6
6
  export * from "./types.filter.js";
7
7
  export * from "./types.function.js";
8
+ export * from "./types.object.js";
8
9
  export * from "./types.routes.js";
9
10
  export * from "./types.validation.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -6,6 +6,7 @@ export * from "./types.document.js";
6
6
  export * from "./types.enum.registry.js";
7
7
  export * from "./types.filter.js";
8
8
  export * from "./types.function.js";
9
+ export * from "./types.object.js";
9
10
  export * from "./types.routes.js";
10
11
  export * from "./types.validation.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
2
+ //# sourceMappingURL=types.object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.object.d.ts","sourceRoot":"","sources":["../../src/types/types.object.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.object.js","sourceRoot":"","sources":["../../src/types/types.object.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-common",
3
- "version": "1.3.21",
3
+ "version": "1.3.23",
4
4
  "description": "Utils for google cloud functions, publishing both CommonJS and ESM builds",
5
5
  "type": "module",
6
6
  "author": "MXPicture",