@rsdk/common 4.10.0-next.0 → 4.10.0-next.2

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,16 @@
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.2](https://github.com/R-Vision/rsdk/compare/v4.10.0-next.1...v4.10.0-next.2) (2024-05-30)
7
+
8
+ **Note:** Version bump only for package @rsdk/common
9
+
10
+ ## [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)
11
+
12
+ ### Bug Fixes
13
+
14
+ * object-normalization-fix ([#242](https://github.com/R-Vision/rsdk/issues/242)) ([f601ff9](https://github.com/R-Vision/rsdk/commit/f601ff9bc8300505a074455c55e7d528ba1dfa55))
15
+
6
16
  ## [4.10.0-next.0](https://github.com/R-Vision/rsdk/compare/v4.9.0...v4.10.0-next.0) (2024-05-30)
7
17
 
8
18
  **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 unique = new Set(Object.keys(xObject));
38
- if (xObject instanceof Error) {
39
- unique.add('cause');
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
- const keys = [...unique];
44
- // eslint-disable-next-line unicorn/prefer-regexp-test
45
- if (options?.sortKeys && options.sortKeys.match(xObject)) {
46
- keys.sort(options.sortKeys.sortFn);
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
- acc[key] = normalize(xObject[key], options, newDepth);
53
- return acc;
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":"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"}
1
+ {"version":3,"file":"obj-normalization.js","sourceRoot":"","sources":["../../src/functions/obj-normalization.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/common",
3
- "version": "4.10.0-next.0",
3
+ "version": "4.10.0-next.2",
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": "80dbeffdf219dbb8770d91924eeab67c0244f6e6"
19
+ "gitHead": "8dbfa53d3208aadfdf1951bf85e8b440437bee85"
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 unique = new Set(Object.keys(xObject));
73
+ const isPlainObject = xObject?.constructor === Object;
62
74
 
63
- if (xObject instanceof Error) {
64
- unique.add('cause');
65
- unique.add('stack');
66
- unique.add('message');
75
+ if (!isPlainObject) {
76
+ return `[${xObject?.constructor || typeof xObject}]`;
67
77
  }
68
78
 
69
- const keys = [...unique];
79
+ try {
80
+ const objectKeys = Object.keys(xObject);
81
+ if (objectKeys.length >= 16777216) {
82
+ return '[large object]';
83
+ }
70
84
 
71
- // eslint-disable-next-line unicorn/prefer-regexp-test
72
- if (options?.sortKeys && options.sortKeys.match(xObject)) {
73
- keys.sort(options.sortKeys.sortFn);
74
- }
85
+ const unique = new Set(objectKeys);
75
86
 
76
- return keys.reduce((acc: Record<string, unknown>, key) => {
77
- if (options?.filterKeys && options.filterKeys.includes(key)) {
78
- return acc;
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
- acc[key] = normalize((xObject as any)[key], options, newDepth);
100
+ return keys.reduce((acc: Record<string, unknown>, key) => {
101
+ if (options?.filterKeys?.includes(key)) {
102
+ return acc;
103
+ }
82
104
 
83
- return acc;
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;