@rsdk/common 4.10.0-next.0 → 4.10.0-next.1
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.10.0-next.1](https://github.com/R-Vision/rsdk/compare/v4.10.0-next.0...v4.10.0-next.1) (2024-05-30)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* object-normalization-fix ([#242](https://github.com/R-Vision/rsdk/issues/242)) ([f601ff9](https://github.com/R-Vision/rsdk/commit/f601ff9bc8300505a074455c55e7d528ba1dfa55))
|
|
11
|
+
|
|
6
12
|
## [4.10.0-next.0](https://github.com/R-Vision/rsdk/compare/v4.9.0...v4.10.0-next.0) (2024-05-30)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @rsdk/common
|
|
@@ -27,6 +27,15 @@ const normalizer = () => {
|
|
|
27
27
|
else {
|
|
28
28
|
cache.add(xObject);
|
|
29
29
|
}
|
|
30
|
+
if (Buffer.isBuffer(xObject)) {
|
|
31
|
+
return `[Buffer ${Buffer.byteLength(xObject)}]`;
|
|
32
|
+
}
|
|
33
|
+
if (xObject instanceof Map) {
|
|
34
|
+
return `[Map ${xObject.size}]`;
|
|
35
|
+
}
|
|
36
|
+
if (xObject instanceof Set) {
|
|
37
|
+
return `[Set ${xObject.size}]`;
|
|
38
|
+
}
|
|
30
39
|
const newDepth = depth + 1;
|
|
31
40
|
if (depth >= (options?.maxDepth ?? DEFAULT_MAX_DEPTH)) {
|
|
32
41
|
return '[max nesting depth reached]';
|
|
@@ -34,24 +43,37 @@ const normalizer = () => {
|
|
|
34
43
|
if (Array.isArray(xObject)) {
|
|
35
44
|
return xObject.map((x) => normalize(x, options, newDepth));
|
|
36
45
|
}
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
39
|
-
|
|
40
|
-
unique.add('stack');
|
|
41
|
-
unique.add('message');
|
|
46
|
+
const isPlainObject = xObject?.constructor === Object;
|
|
47
|
+
if (!isPlainObject) {
|
|
48
|
+
return `[${xObject?.constructor || typeof xObject}]`;
|
|
42
49
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
return keys.reduce((acc, key) => {
|
|
49
|
-
if (options?.filterKeys && options.filterKeys.includes(key)) {
|
|
50
|
-
return acc;
|
|
50
|
+
try {
|
|
51
|
+
const objectKeys = Object.keys(xObject);
|
|
52
|
+
if (objectKeys.length >= 16777216) {
|
|
53
|
+
return '[large object]';
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
const unique = new Set(objectKeys);
|
|
56
|
+
if (xObject instanceof Error) {
|
|
57
|
+
unique.add('cause');
|
|
58
|
+
unique.add('stack');
|
|
59
|
+
unique.add('message');
|
|
60
|
+
}
|
|
61
|
+
const keys = [...unique];
|
|
62
|
+
// eslint-disable-next-line unicorn/prefer-regexp-test
|
|
63
|
+
if (options?.sortKeys?.match(xObject)) {
|
|
64
|
+
keys.sort(options.sortKeys.sortFn);
|
|
65
|
+
}
|
|
66
|
+
return keys.reduce((acc, key) => {
|
|
67
|
+
if (options?.filterKeys?.includes(key)) {
|
|
68
|
+
return acc;
|
|
69
|
+
}
|
|
70
|
+
acc[key] = normalize(xObject[key], options, newDepth);
|
|
71
|
+
return acc;
|
|
72
|
+
}, {});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return `[Can not get keys from object. ${error}]`;
|
|
76
|
+
}
|
|
55
77
|
};
|
|
56
78
|
return normalize;
|
|
57
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obj-normalization.js","sourceRoot":"","sources":["../../src/functions/obj-normalization.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAarD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;;;;GAUG;AACI,MAAM,UAAU,GAAG,GAIZ,EAAE;IACd,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,CAChB,EAAW,EACX,OAA0B,EAC1B,KAAK,GAAG,CAAC,EACA,EAAE;QACX,IAAI,IAAA,kCAAc,EAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,EAAY,CAAC;QAE7B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAE3B,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACtD,OAAO,6BAA6B,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"obj-normalization.js","sourceRoot":"","sources":["../../src/functions/obj-normalization.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAarD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;;;;GAUG;AACI,MAAM,UAAU,GAAG,GAIZ,EAAE;IACd,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,CAChB,EAAW,EACX,OAA0B,EAC1B,KAAK,GAAG,CAAC,EACA,EAAE;QACX,IAAI,IAAA,kCAAc,EAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,EAAY,CAAC;QAE7B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;QAClD,CAAC;QAED,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;YAC3B,OAAO,QAAQ,OAAO,CAAC,IAAI,GAAG,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;YAC3B,OAAO,QAAQ,OAAO,CAAC,IAAI,GAAG,CAAC;QACjC,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAE3B,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACtD,OAAO,6BAA6B,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC;QAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,OAAO,EAAE,WAAW,IAAI,OAAO,OAAO,GAAG,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAClC,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YAEnC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAEzB,sDAAsD;YACtD,IAAI,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAA4B,EAAE,GAAG,EAAE,EAAE;gBACvD,IAAI,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,GAAG,CAAC;gBACb,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,OAAe,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE/D,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,kCAAkC,KAAK,GAAG,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAxFW,QAAA,UAAU,cAwFrB;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB;KAC7C,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;KAClB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;KACd,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;KACjB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;KACjB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACf,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEnB;;GAEG;AACU,QAAA,aAAa,GAAa;IACrC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK;IAChC,MAAM,EAAE,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CACvC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/common",
|
|
3
|
-
"version": "4.10.0-next.
|
|
3
|
+
"version": "4.10.0-next.1",
|
|
4
4
|
"description": "Useful common classes, functions and types",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"rxjs": "^7.8.1"
|
|
18
18
|
},
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "fdf1999af6d0e8a45a066cf97d0c20c4d6b1f40f"
|
|
20
20
|
}
|
|
@@ -48,6 +48,18 @@ export const normalizer = (): ((
|
|
|
48
48
|
cache.add(xObject);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
if (Buffer.isBuffer(xObject)) {
|
|
52
|
+
return `[Buffer ${Buffer.byteLength(xObject)}]`;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (xObject instanceof Map) {
|
|
56
|
+
return `[Map ${xObject.size}]`;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (xObject instanceof Set) {
|
|
60
|
+
return `[Set ${xObject.size}]`;
|
|
61
|
+
}
|
|
62
|
+
|
|
51
63
|
const newDepth = depth + 1;
|
|
52
64
|
|
|
53
65
|
if (depth >= (options?.maxDepth ?? DEFAULT_MAX_DEPTH)) {
|
|
@@ -58,30 +70,45 @@ export const normalizer = (): ((
|
|
|
58
70
|
return xObject.map((x) => normalize(x, options, newDepth));
|
|
59
71
|
}
|
|
60
72
|
|
|
61
|
-
const
|
|
73
|
+
const isPlainObject = xObject?.constructor === Object;
|
|
62
74
|
|
|
63
|
-
if (
|
|
64
|
-
|
|
65
|
-
unique.add('stack');
|
|
66
|
-
unique.add('message');
|
|
75
|
+
if (!isPlainObject) {
|
|
76
|
+
return `[${xObject?.constructor || typeof xObject}]`;
|
|
67
77
|
}
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
try {
|
|
80
|
+
const objectKeys = Object.keys(xObject);
|
|
81
|
+
if (objectKeys.length >= 16777216) {
|
|
82
|
+
return '[large object]';
|
|
83
|
+
}
|
|
70
84
|
|
|
71
|
-
|
|
72
|
-
if (options?.sortKeys && options.sortKeys.match(xObject)) {
|
|
73
|
-
keys.sort(options.sortKeys.sortFn);
|
|
74
|
-
}
|
|
85
|
+
const unique = new Set(objectKeys);
|
|
75
86
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
if (xObject instanceof Error) {
|
|
88
|
+
unique.add('cause');
|
|
89
|
+
unique.add('stack');
|
|
90
|
+
unique.add('message');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const keys = [...unique];
|
|
94
|
+
|
|
95
|
+
// eslint-disable-next-line unicorn/prefer-regexp-test
|
|
96
|
+
if (options?.sortKeys?.match(xObject)) {
|
|
97
|
+
keys.sort(options.sortKeys.sortFn);
|
|
79
98
|
}
|
|
80
99
|
|
|
81
|
-
|
|
100
|
+
return keys.reduce((acc: Record<string, unknown>, key) => {
|
|
101
|
+
if (options?.filterKeys?.includes(key)) {
|
|
102
|
+
return acc;
|
|
103
|
+
}
|
|
82
104
|
|
|
83
|
-
|
|
84
|
-
|
|
105
|
+
acc[key] = normalize((xObject as any)[key], options, newDepth);
|
|
106
|
+
|
|
107
|
+
return acc;
|
|
108
|
+
}, {});
|
|
109
|
+
} catch (error) {
|
|
110
|
+
return `[Can not get keys from object. ${error}]`;
|
|
111
|
+
}
|
|
85
112
|
};
|
|
86
113
|
|
|
87
114
|
return normalize;
|