@rsdk/common 5.11.0-next.0 → 5.11.0-next.10
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/functions/assert.d.ts +6 -0
- package/dist/functions/assert.js +16 -0
- package/dist/functions/assert.js.map +1 -0
- package/dist/functions/index.d.ts +1 -0
- package/dist/functions/index.js +3 -1
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/obj-normalization.js +16 -8
- package/dist/functions/obj-normalization.js.map +1 -1
- package/package.json +2 -2
- package/src/functions/assert.ts +11 -0
- package/src/functions/index.ts +1 -0
- package/src/functions/obj-normalization.ts +19 -10
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Функция необходимая для объявления ошибки, при несоблюдении правила (если value = false, то будет выкинута ошибка)
|
|
3
|
+
* @param value - проверяемое значение
|
|
4
|
+
* @param error - текст или тип ошибки для вывода
|
|
5
|
+
*/
|
|
6
|
+
export declare function assert(value: unknown, error?: string | Error): asserts value;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assert = assert;
|
|
4
|
+
/**
|
|
5
|
+
* Функция необходимая для объявления ошибки, при несоблюдении правила (если value = false, то будет выкинута ошибка)
|
|
6
|
+
* @param value - проверяемое значение
|
|
7
|
+
* @param error - текст или тип ошибки для вывода
|
|
8
|
+
*/
|
|
9
|
+
function assert(value, error) {
|
|
10
|
+
if (!value) {
|
|
11
|
+
if (error instanceof Error)
|
|
12
|
+
throw error;
|
|
13
|
+
throw new Error(error ?? 'Assertion failed');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/functions/assert.ts"],"names":[],"mappings":";;AAKA,wBAKC;AAVD;;;;GAIG;AACH,SAAgB,MAAM,CAAC,KAAc,EAAE,KAAsB;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,KAAK,YAAY,KAAK;YAAE,MAAM,KAAK,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
|
package/dist/functions/index.js
CHANGED
|
@@ -14,11 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isSerializable = void 0;
|
|
17
|
+
exports.assert = exports.isSerializable = void 0;
|
|
18
18
|
__exportStar(require("./misc"), exports);
|
|
19
19
|
__exportStar(require("./obj-normalization"), exports);
|
|
20
20
|
__exportStar(require("./delay"), exports);
|
|
21
21
|
var serializable_type_1 = require("./serializable.type");
|
|
22
22
|
Object.defineProperty(exports, "isSerializable", { enumerable: true, get: function () { return serializable_type_1.isSerializable; } });
|
|
23
23
|
__exportStar(require("./omit-undefined"), exports);
|
|
24
|
+
var assert_1 = require("./assert");
|
|
25
|
+
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,sDAAoC;AACpC,0CAAwB;AACxB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,sDAAoC;AACpC,0CAAwB;AACxB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,mDAAiC;AACjC,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
|
|
@@ -31,19 +31,27 @@ const normalizer = () => {
|
|
|
31
31
|
if (Buffer.isBuffer(xObject)) {
|
|
32
32
|
return `[Buffer ${Buffer.byteLength(xObject)}]`;
|
|
33
33
|
}
|
|
34
|
-
// TODO: maybe serialize Map as record/dict
|
|
35
|
-
if (xObject instanceof Map) {
|
|
36
|
-
return `[Map ${xObject.size}]`;
|
|
37
|
-
}
|
|
38
|
-
// TODO: maybe serialize Set as Array
|
|
39
|
-
if (xObject instanceof Set) {
|
|
40
|
-
return `[Set ${xObject.size}]`;
|
|
41
|
-
}
|
|
42
34
|
// TODO: it may be worth checking the object for pojo and error, but we have DTOs...
|
|
43
35
|
const newDepth = depth + 1;
|
|
44
36
|
if (depth >= (options?.maxDepth ?? DEFAULT_MAX_DEPTH)) {
|
|
45
37
|
return '[max nesting depth reached]';
|
|
46
38
|
}
|
|
39
|
+
// TODO: refactor
|
|
40
|
+
// NOTE: In conversion of Map/Set to object/array, the newDepth variable is used
|
|
41
|
+
// so the implementation has been moved after the variable creation
|
|
42
|
+
// https://jira.rvision.pro/browse/CORE-5017
|
|
43
|
+
// Map
|
|
44
|
+
if (xObject instanceof Map) {
|
|
45
|
+
const obj = {};
|
|
46
|
+
for (const [key, value] of xObject.entries()) {
|
|
47
|
+
obj[String(key)] = normalize(value, options, newDepth);
|
|
48
|
+
}
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
51
|
+
// Set
|
|
52
|
+
if (xObject instanceof Set) {
|
|
53
|
+
return Array.from(xObject).map((v) => normalize(v, options, newDepth));
|
|
54
|
+
}
|
|
47
55
|
if (Array.isArray(xObject)) {
|
|
48
56
|
return xObject.map((x) => normalize(x, options, newDepth));
|
|
49
57
|
}
|
|
@@ -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,6BAA6B;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;QAClD,CAAC;QAED,
|
|
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,6BAA6B;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;QAClD,CAAC;QAED,oFAAoF;QAEpF,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,iBAAiB;QACjB,gFAAgF;QAChF,mEAAmE;QACnE,4CAA4C;QAC5C,MAAM;QACN,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,GAA4B,EAAE,CAAC;YAExC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM;QACN,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,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,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;AAhGW,QAAA,UAAU,cAgGrB;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": "5.11.0-next.
|
|
3
|
+
"version": "5.11.0-next.10",
|
|
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
|
"peerDependencies": {
|
|
17
17
|
"rxjs": "^7.1.0"
|
|
18
18
|
},
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "de767781fa92c9a3db87d8aa982aa682cb6375b6"
|
|
20
20
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Функция необходимая для объявления ошибки, при несоблюдении правила (если value = false, то будет выкинута ошибка)
|
|
3
|
+
* @param value - проверяемое значение
|
|
4
|
+
* @param error - текст или тип ошибки для вывода
|
|
5
|
+
*/
|
|
6
|
+
export function assert(value: unknown, error?: string | Error): asserts value {
|
|
7
|
+
if (!value) {
|
|
8
|
+
if (error instanceof Error) throw error;
|
|
9
|
+
throw new Error(error ?? 'Assertion failed');
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/functions/index.ts
CHANGED
|
@@ -53,16 +53,6 @@ export const normalizer = (): ((
|
|
|
53
53
|
return `[Buffer ${Buffer.byteLength(xObject)}]`;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
// TODO: maybe serialize Map as record/dict
|
|
57
|
-
if (xObject instanceof Map) {
|
|
58
|
-
return `[Map ${xObject.size}]`;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// TODO: maybe serialize Set as Array
|
|
62
|
-
if (xObject instanceof Set) {
|
|
63
|
-
return `[Set ${xObject.size}]`;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
56
|
// TODO: it may be worth checking the object for pojo and error, but we have DTOs...
|
|
67
57
|
|
|
68
58
|
const newDepth = depth + 1;
|
|
@@ -71,6 +61,25 @@ export const normalizer = (): ((
|
|
|
71
61
|
return '[max nesting depth reached]';
|
|
72
62
|
}
|
|
73
63
|
|
|
64
|
+
// TODO: refactor
|
|
65
|
+
// NOTE: In conversion of Map/Set to object/array, the newDepth variable is used
|
|
66
|
+
// so the implementation has been moved after the variable creation
|
|
67
|
+
// https://jira.rvision.pro/browse/CORE-5017
|
|
68
|
+
// Map
|
|
69
|
+
if (xObject instanceof Map) {
|
|
70
|
+
const obj: Record<string, unknown> = {};
|
|
71
|
+
|
|
72
|
+
for (const [key, value] of xObject.entries()) {
|
|
73
|
+
obj[String(key)] = normalize(value, options, newDepth);
|
|
74
|
+
}
|
|
75
|
+
return obj;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Set
|
|
79
|
+
if (xObject instanceof Set) {
|
|
80
|
+
return Array.from(xObject).map((v) => normalize(v, options, newDepth));
|
|
81
|
+
}
|
|
82
|
+
|
|
74
83
|
if (Array.isArray(xObject)) {
|
|
75
84
|
return xObject.map((x) => normalize(x, options, newDepth));
|
|
76
85
|
}
|