@lindorm/json-kit 0.5.3 → 0.5.4

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +97 -63
  3. package/dist/enums/private/MetaType.d.ts +1 -0
  4. package/dist/enums/private/MetaType.d.ts.map +1 -1
  5. package/dist/enums/private/MetaType.js +1 -0
  6. package/dist/enums/private/MetaType.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/utils/deserialise.d.ts +2 -0
  12. package/dist/utils/deserialise.d.ts.map +1 -0
  13. package/dist/utils/deserialise.js +78 -0
  14. package/dist/utils/deserialise.js.map +1 -0
  15. package/dist/utils/index.d.ts +2 -0
  16. package/dist/utils/index.d.ts.map +1 -0
  17. package/dist/utils/index.js +18 -0
  18. package/dist/utils/index.js.map +1 -0
  19. package/dist/utils/private/get-meta-array.js.map +1 -1
  20. package/dist/utils/private/get-meta-type.d.ts.map +1 -1
  21. package/dist/utils/private/get-meta-type.js +2 -0
  22. package/dist/utils/private/get-meta-type.js.map +1 -1
  23. package/dist/utils/private/parse-array-values.d.ts.map +1 -1
  24. package/dist/utils/private/parse-array-values.js +12 -9
  25. package/dist/utils/private/parse-array-values.js.map +1 -1
  26. package/dist/utils/private/parse-object-values.d.ts.map +1 -1
  27. package/dist/utils/private/parse-object-values.js +4 -1
  28. package/dist/utils/private/parse-object-values.js.map +1 -1
  29. package/dist/utils/private/stringify-array-values.d.ts.map +1 -1
  30. package/dist/utils/private/stringify-array-values.js +4 -1
  31. package/dist/utils/private/stringify-array-values.js.map +1 -1
  32. package/dist/utils/private/stringify-object-values.d.ts.map +1 -1
  33. package/dist/utils/private/stringify-object-values.js +4 -1
  34. package/dist/utils/private/stringify-object-values.js.map +1 -1
  35. package/package.json +9 -12
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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
+ ## [0.5.4](https://github.com/lindorm-io/monorepo/compare/@lindorm/json-kit@0.5.3...@lindorm/json-kit@0.5.4) (2026-02-17)
7
+
8
+ ### Bug Fixes
9
+
10
+ - add bigint to json-kit ([0a41cd8](https://github.com/lindorm-io/monorepo/commit/0a41cd88aef1c076b8fc3dc6545e89972c9e0a89))
11
+ - add deserialisation to json-kit ([3de4808](https://github.com/lindorm-io/monorepo/commit/3de48080c4dce65507fb0f0328474b2871a23783))
12
+
6
13
  ## [0.5.3](https://github.com/lindorm-io/monorepo/compare/@lindorm/json-kit@0.5.2...@lindorm/json-kit@0.5.3) (2025-09-18)
7
14
 
8
15
  **Note:** Version bump only for package @lindorm/json-kit
package/README.md CHANGED
@@ -1,13 +1,10 @@
1
1
  # @lindorm/json-kit
2
2
 
3
- Loss-less serialisation helpers for JavaScript values that dont normally
4
- survive `JSON.stringify` – such as **Date**, **Buffer**, `undefined`, etc.
5
- `@lindorm/json-kit` wraps your data in a tiny metadata envelope so it can be
6
- round-tripped _back to its original types_ after transport or storage.
3
+ Loss-less serialisation helpers for JavaScript values that don't survive `JSON.stringify` -- such as
4
+ **Date**, **Buffer**, **BigInt**, `undefined`, and `null` vs `undefined` distinctions.
7
5
 
8
- The library is framework-agnostic, depends only on `@lindorm/is` and embraces
9
- plain objects. It is a perfect companion when you need to squeeze complex
10
- state into a database column, message bus or cache.
6
+ The library wraps data in a compact metadata envelope (`__meta__` + `__record__`/`__array__`) so it
7
+ can be round-tripped back to its original types after transport or storage.
11
8
 
12
9
  ---
13
10
 
@@ -15,113 +12,150 @@ state into a database column, message bus or cache.
15
12
 
16
13
  ```bash
17
14
  npm install @lindorm/json-kit
18
- # or
19
- yarn add @lindorm/json-kit
20
15
  ```
21
16
 
22
17
  ---
23
18
 
24
- ## Quick glance
19
+ ## Quick start
25
20
 
26
21
  ```ts
27
- import { JsonKit } from '@lindorm/json-kit';
22
+ import { JsonKit } from "@lindorm/json-kit";
28
23
 
29
24
  const original = {
30
25
  now: new Date(),
31
- payload: Buffer.from('secret'),
26
+ payload: Buffer.from("secret"),
32
27
  counter: 123,
28
+ big: BigInt("9007199254740993"),
33
29
  maybe: undefined,
34
30
  };
35
31
 
36
- // 1. Stringify (meta is embedded automatically)
37
32
  const str = JsonKit.stringify(original);
38
33
 
39
- // 2. Persist / send over the wire
34
+ // Persist, send over the wire, store in Redis ...
40
35
 
41
- // 3. Parse voilà, the Date and Buffer are restored
42
- const clone = JsonKit.parse<typeof original>(str);
36
+ const restored = JsonKit.parse<typeof original>(str);
43
37
 
44
- clone.now instanceof Date; // true
45
- Buffer.isBuffer(clone.payload); // true
46
- clone.maybe === undefined; // true
38
+ restored.now instanceof Date; // true
39
+ Buffer.isBuffer(restored.payload); // true
40
+ typeof restored.big === "bigint"; // true
41
+ restored.maybe === undefined; // true
47
42
  ```
48
43
 
49
- The generated JSON looks like this (shortened for readability):
44
+ The generated JSON looks like this (shortened):
50
45
 
51
46
  ```jsonc
52
47
  {
53
- "__meta__": { // type map
54
- "now": "D", // D = Date
55
- "payload": "F", // F = Buffer (File)
56
- "maybe": "U" // U = Undefined
48
+ "__meta__": {
49
+ "now": "D",
50
+ "payload": "F",
51
+ "big": "I",
52
+ "maybe": "U"
57
53
  },
58
54
  "__record__": {
59
55
  "now": "2024-06-25T12:00:00.000Z",
60
- "payload": "c2VjcmV0", // base64-encoded Buffer
61
- "counter": 123
56
+ "payload": "c2VjcmV0",
57
+ "counter": 123,
58
+ "big": "9007199254740993"
62
59
  }
63
60
  }
64
61
  ```
65
62
 
63
+ Arrays use `__array__` instead of `__record__` and nested structures are handled recursively.
64
+
66
65
  ---
67
66
 
68
67
  ## API
69
68
 
70
- ### `JsonKit.stringify(data)` → `string`
71
- Turns an object or array into a JSON‐compatible string while preserving
72
- non-standard primitives.
69
+ ### `JsonKit`
73
70
 
74
- ### `JsonKit.parse(str | Buffer)` `T`
75
- Reverses `stringify`. Accepts either string or `Buffer`.
71
+ Static utility class wrapping `Primitive`.
76
72
 
77
- ### `JsonKit.buffer(data)` `Buffer`
78
- Same as `stringify` but returns a Node `Buffer` instead of string.
73
+ | Method | Returns | Description |
74
+ |---|---|---|
75
+ | `JsonKit.stringify(data)` | `string` | Serialise an object or array to a JSON string with type metadata |
76
+ | `JsonKit.parse<T>(input)` | `T` | Restore from string, `Buffer`, or envelope object |
77
+ | `JsonKit.buffer(data)` | `Buffer` | Same as `stringify` but returns a Node `Buffer` |
78
+ | `JsonKit.primitive(data)` | `Primitive<T>` | Returns the low-level `Primitive` wrapper |
79
79
 
80
- ### `JsonKit.primitive(data)` → `Primitive<T>`
81
- Returns the low-level `Primitive` wrapper that exposes the raw metadata and
82
- helper methods (`toJSON()`, `toString()`, `toBuffer()`). Useful if you want to
83
- manipulate the envelope yourself.
80
+ ### `Primitive<T>`
84
81
 
85
- ---
82
+ Low-level wrapper that holds the raw data and metadata.
83
+
84
+ ```ts
85
+ import { Primitive } from "@lindorm/json-kit";
86
86
 
87
- ## What is stored in `__meta__`?
87
+ const p = new Primitive({ name: "Alice", createdAt: new Date() });
88
88
 
89
- Each value is tagged with a single-character **MetaType** code:
89
+ p.data; // stringified record (all values are strings/numbers)
90
+ p.meta; // type map { name: "S", createdAt: "D" }
90
91
 
91
- | Code | Type |
92
- |------|------------|
93
- | `A` | Array |
94
- | `B` | Boolean |
95
- | `D` | Date |
96
- | `F` | Buffer |
97
- | `L` | Null |
98
- | `N` | Number |
99
- | `S` | String |
100
- | `U` | Undefined |
101
- | `X` | Unknown |
92
+ p.toString(); // JSON string with __meta__ envelope
93
+ p.toBuffer(); // same as Buffer.from(p.toString())
94
+ p.toJSON(); // restored original object with proper types
95
+ ```
96
+
97
+ Constructor accepts:
98
+ - A plain **object** or **array** (creates envelope)
99
+ - A **string** (parses envelope JSON)
100
+ - A **Buffer** (parses envelope JSON)
101
+ - An **envelope object** with `__meta__` + `__record__`/`__array__` (restores directly)
102
102
 
103
- During `parse` Json-Kit walks the structure and casts every value back to its
104
- original representation.
103
+ ### `deserialise(value, type)`
104
+
105
+ Standalone type coercion function. Converts a raw value to the proper JS type based on a type
106
+ string. Used internally by persistence packages (Redis hash deserialization, entity column parsing).
107
+
108
+ ```ts
109
+ import { deserialise } from "@lindorm/json-kit";
110
+
111
+ deserialise("42", "integer"); // 42
112
+ deserialise("true", "boolean"); // true
113
+ deserialise("2024-01-01T00:00:00.000Z", "date"); // Date object
114
+ deserialise("9007199254740993", "bigint"); // BigInt
115
+ ```
116
+
117
+ | Type | Conversion |
118
+ |---|---|
119
+ | `"integer"` | `parseInt(value, 10)`, truncates floats |
120
+ | `"float"` | `parseFloat(value)` |
121
+ | `"bigint"` | `BigInt(value)`, null defaults to `BigInt(0)` |
122
+ | `"boolean"` | `value === "true"` (not `Boolean(value)`) |
123
+ | `"date"` | `new Date(value)`, validates result |
124
+ | `"array"` / `"object"` | Tries `Primitive` first, falls back to `JSON.parse` |
125
+ | `"string"` / `"uuid"` / other | Passthrough |
105
126
 
106
127
  ---
107
128
 
108
- ## Caveats
129
+ ## MetaType codes
130
+
131
+ Each value in `__meta__` is tagged with a single-character code:
109
132
 
110
- Functions and class instances are **not** serialised – they fall back to
111
- `MetaType.Unknown` and are returned untouched.
112
- Circular references are **not** supported.
113
- For security reasons the `Buffer` content is base64-encoded, not hex.
133
+ | Code | Type |
134
+ |---|---|
135
+ | `A` | Array |
136
+ | `B` | Boolean |
137
+ | `D` | Date |
138
+ | `F` | Buffer |
139
+ | `I` | BigInt |
140
+ | `L` | Null |
141
+ | `N` | Number |
142
+ | `S` | String |
143
+ | `U` | Undefined |
144
+ | `X` | Unknown |
114
145
 
115
146
  ---
116
147
 
117
- ## Contributing
148
+ ## Caveats
118
149
 
119
- 1. `cd packages/json-kit && npm ci`
120
- 2. Make your changes & add tests (`npm test`)
121
- 3. Send a pull request maintain 100 % test coverage ☂️
150
+ - Functions and class instances are **not** serialised -- they fall back to `MetaType.Unknown`
151
+ - Circular references are **not** supported
152
+ - `Buffer` content is encoded as base64url
153
+ - `BigInt` is serialised as a string to avoid precision loss
154
+ - `JSON.stringify`'d data without `__meta__` markers can still be parsed, but rich types (Date,
155
+ Buffer, BigInt) will not be restored -- only `Primitive`-serialised strings preserve them
122
156
 
123
157
  ---
124
158
 
125
159
  ## License
126
160
 
127
- AGPL-3.0-or-later – © Lindorm, 2024
161
+ AGPL-3.0-or-later
@@ -1,5 +1,6 @@
1
1
  export declare enum MetaType {
2
2
  Array = "A",
3
+ BigInt = "I",
3
4
  Boolean = "B",
4
5
  Buffer = "F",
5
6
  Date = "D",
@@ -1 +1 @@
1
- {"version":3,"file":"MetaType.d.ts","sourceRoot":"","sources":["../../../src/enums/private/MetaType.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,MAAM;IACX,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,IAAI,MAAM;IACV,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,SAAS,MAAM;IACf,OAAO,MAAM;CACd"}
1
+ {"version":3,"file":"MetaType.d.ts","sourceRoot":"","sources":["../../../src/enums/private/MetaType.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,MAAM;IACX,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,IAAI,MAAM;IACV,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,SAAS,MAAM;IACf,OAAO,MAAM;CACd"}
@@ -4,6 +4,7 @@ exports.MetaType = void 0;
4
4
  var MetaType;
5
5
  (function (MetaType) {
6
6
  MetaType["Array"] = "A";
7
+ MetaType["BigInt"] = "I";
7
8
  MetaType["Boolean"] = "B";
8
9
  MetaType["Buffer"] = "F";
9
10
  MetaType["Date"] = "D";
@@ -1 +1 @@
1
- {"version":3,"file":"MetaType.js","sourceRoot":"","sources":["../../../src/enums/private/MetaType.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,wBAAY,CAAA;IACZ,sBAAU,CAAA;IACV,sBAAU,CAAA;IACV,wBAAY,CAAA;IACZ,wBAAY,CAAA;IACZ,2BAAe,CAAA;IACf,yBAAa,CAAA;AACf,CAAC,EAVW,QAAQ,wBAAR,QAAQ,QAUnB"}
1
+ {"version":3,"file":"MetaType.js","sourceRoot":"","sources":["../../../src/enums/private/MetaType.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,wBAAY,CAAA;IACZ,yBAAa,CAAA;IACb,wBAAY,CAAA;IACZ,sBAAU,CAAA;IACV,sBAAU,CAAA;IACV,wBAAY,CAAA;IACZ,wBAAY,CAAA;IACZ,2BAAe,CAAA;IACf,yBAAa,CAAA;AACf,CAAC,EAXW,QAAQ,wBAAR,QAAQ,QAWnB"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./classes";
2
+ export * from "./utils";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./classes"), exports);
18
+ __exportStar(require("./utils"), exports);
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB"}
@@ -0,0 +1,2 @@
1
+ export declare const deserialise: (value: any, type: string | null) => any;
2
+ //# sourceMappingURL=deserialise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserialise.d.ts","sourceRoot":"","sources":["../../src/utils/deserialise.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,KAAG,GAmE7D,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserialise = void 0;
4
+ const Primitive_1 = require("../classes/Primitive");
5
+ const deserialise = (value, type) => {
6
+ switch (type) {
7
+ case "bigint": {
8
+ if (typeof value === "bigint")
9
+ return value;
10
+ if (value == null)
11
+ return BigInt(0);
12
+ return BigInt(value);
13
+ }
14
+ case "boolean": {
15
+ if (typeof value === "boolean")
16
+ return value;
17
+ if (typeof value === "string")
18
+ return value === "true";
19
+ return Boolean(value);
20
+ }
21
+ case "date": {
22
+ if (value instanceof Date) {
23
+ if (isNaN(value.getTime())) {
24
+ throw new Error("Invalid Date object");
25
+ }
26
+ return value;
27
+ }
28
+ if (value == null)
29
+ return value;
30
+ const date = new Date(value);
31
+ if (isNaN(date.getTime())) {
32
+ throw new Error("Cannot convert value to date");
33
+ }
34
+ return date;
35
+ }
36
+ case "float": {
37
+ if (typeof value === "number")
38
+ return value;
39
+ if (value == null)
40
+ return 0;
41
+ const parsed = parseFloat(value);
42
+ if (isNaN(parsed)) {
43
+ throw new Error("Cannot convert value to float");
44
+ }
45
+ return parsed;
46
+ }
47
+ case "integer": {
48
+ if (typeof value === "number") {
49
+ if (Number.isInteger(value))
50
+ return value;
51
+ return Math.trunc(value);
52
+ }
53
+ if (value == null)
54
+ return 0;
55
+ const parsed = parseInt(value, 10);
56
+ if (isNaN(parsed)) {
57
+ throw new Error("Cannot convert value to integer");
58
+ }
59
+ return parsed;
60
+ }
61
+ case "array":
62
+ case "object": {
63
+ if (typeof value === "string") {
64
+ try {
65
+ return new Primitive_1.Primitive(value).toJSON();
66
+ }
67
+ catch {
68
+ return JSON.parse(value);
69
+ }
70
+ }
71
+ return value;
72
+ }
73
+ default:
74
+ return value;
75
+ }
76
+ };
77
+ exports.deserialise = deserialise;
78
+ //# sourceMappingURL=deserialise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserialise.js","sourceRoot":"","sources":["../../src/utils/deserialise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./deserialise";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./deserialise"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-meta-array.js","sourceRoot":"","sources":["../../../src/utils/private/get-meta-array.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAChD,uDAAkD;AAClD,mDAA8C;AAEvC,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAiB,EAAE;IAC/D,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB"}
1
+ {"version":3,"file":"get-meta-array.js","sourceRoot":"","sources":["../../../src/utils/private/get-meta-array.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAChD,uDAAkD;AAClD,mDAA8C;AAEvC,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAiB,EAAE;IAC/D,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAuB,CAAC;AACjC,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-meta-type.d.ts","sourceRoot":"","sources":["../../../src/utils/private/get-meta-type.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,MAWxC,CAAC"}
1
+ {"version":3,"file":"get-meta-type.d.ts","sourceRoot":"","sources":["../../../src/utils/private/get-meta-type.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,MAYxC,CAAC"}
@@ -12,6 +12,8 @@ const getMetaType = (value) => {
12
12
  return private_1.MetaType.Boolean;
13
13
  if ((0, is_1.isNull)(value))
14
14
  return private_1.MetaType.Null;
15
+ if ((0, is_1.isBigInt)(value))
16
+ return private_1.MetaType.BigInt;
15
17
  if ((0, is_1.isFinite)(value))
16
18
  return private_1.MetaType.Number;
17
19
  if ((0, is_1.isString)(value))
@@ -1 +1 @@
1
- {"version":3,"file":"get-meta-type.js","sourceRoot":"","sources":["../../../src/utils/private/get-meta-type.ts"],"names":[],"mappings":";;;AAAA,oCASqB;AACrB,iDAA+C;AAExC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAU,EAAE;IAChD,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,KAAK,CAAC;IAC1C,IAAI,IAAA,cAAS,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,OAAO,CAAC;IAC9C,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,SAAS,CAAC;IAElD,OAAO,kBAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB"}
1
+ {"version":3,"file":"get-meta-type.js","sourceRoot":"","sources":["../../../src/utils/private/get-meta-type.ts"],"names":[],"mappings":";;;AAAA,oCAUqB;AACrB,iDAA+C;AAExC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAU,EAAE;IAChD,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,KAAK,CAAC;IAC1C,IAAI,IAAA,cAAS,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,OAAO,CAAC;IAC9C,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,kBAAQ,CAAC,SAAS,CAAC;IAElD,OAAO,kBAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-array-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/parse-array-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,eAAO,MAAM,gBAAgB,GAAI,OAAO,GAAG,EAAE,MAAM,IAAI,KAAG,KAAK,CAAC,GAAG,CA6BlE,CAAC"}
1
+ {"version":3,"file":"parse-array-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/parse-array-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,eAAO,MAAM,gBAAgB,GAAI,OAAO,GAAG,EAAE,MAAM,IAAI,KAAG,KAAK,CAAC,GAAG,CA+BlE,CAAC"}
@@ -7,24 +7,27 @@ const parse_object_values_1 = require("./parse-object-values");
7
7
  const parseArrayValues = (input, meta) => {
8
8
  const parsed = (0, is_1.isArray)(input) ? input : JSON.parse(input);
9
9
  const result = [];
10
- for (const [index, value] of parsed.entries()) {
10
+ for (const [index, val] of parsed.entries()) {
11
11
  if ((0, is_1.isObject)(meta[index])) {
12
- result.push((0, parse_object_values_1.parseObjectValues)(value, meta[index]));
12
+ result.push((0, parse_object_values_1.parseObjectValues)(val, meta[index]));
13
13
  }
14
14
  else if ((0, is_1.isArray)(meta[index])) {
15
- result.push((0, exports.parseArrayValues)(value, meta[index]));
15
+ result.push((0, exports.parseArrayValues)(val, meta[index]));
16
+ }
17
+ else if (meta[index] === private_1.MetaType.BigInt) {
18
+ result.push(BigInt(val));
16
19
  }
17
20
  else if (meta[index] === private_1.MetaType.Boolean) {
18
- result.push(JSON.parse(value));
21
+ result.push(JSON.parse(val));
19
22
  }
20
23
  else if (meta[index] === private_1.MetaType.Date) {
21
- result.push(new Date(value));
24
+ result.push(new Date(val));
22
25
  }
23
26
  else if (meta[index] === private_1.MetaType.Number) {
24
- result.push(parseInt(value, 10));
27
+ result.push(Number(val));
25
28
  }
26
29
  else if (meta[index] === private_1.MetaType.String) {
27
- result.push(value);
30
+ result.push(val);
28
31
  }
29
32
  else if (meta[index] === private_1.MetaType.Null) {
30
33
  result.push(null);
@@ -33,10 +36,10 @@ const parseArrayValues = (input, meta) => {
33
36
  result.push(undefined);
34
37
  }
35
38
  else if (meta[index] === private_1.MetaType.Buffer) {
36
- result.push(Buffer.from(value, "base64url"));
39
+ result.push(Buffer.from(val, "base64url"));
37
40
  }
38
41
  else {
39
- result.push(JSON.parse(value));
42
+ result.push(JSON.parse(val));
40
43
  }
41
44
  }
42
45
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"parse-array-values.js","sourceRoot":"","sources":["../../../src/utils/private/parse-array-values.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAEhD,iDAA+C;AAC/C,+DAA0D;AAEnD,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAE,IAAU,EAAc,EAAE;IACrE,MAAM,MAAM,GAAG,IAAA,YAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,uCAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA7BW,QAAA,gBAAgB,oBA6B3B"}
1
+ {"version":3,"file":"parse-array-values.js","sourceRoot":"","sources":["../../../src/utils/private/parse-array-values.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAEhD,iDAA+C;AAC/C,+DAA0D;AAEnD,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAE,IAAU,EAAc,EAAE;IACrE,MAAM,MAAM,GAAG,IAAA,YAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAgB,CAAC;IAC1E,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,uCAAiB,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAA,wBAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/BW,QAAA,gBAAgB,oBA+B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-object-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/parse-object-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,MAAM,IAAI,KAAG,IA4B1D,CAAC"}
1
+ {"version":3,"file":"parse-object-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/parse-object-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,MAAM,IAAI,KAAG,IA8B1D,CAAC"}
@@ -13,6 +13,9 @@ const parseObjectValues = (dict, meta) => {
13
13
  else if ((0, is_1.isArray)(meta[key])) {
14
14
  result[key] = (0, parse_array_values_1.parseArrayValues)(dict[key], meta[key]);
15
15
  }
16
+ else if (meta[key] === private_1.MetaType.BigInt) {
17
+ result[key] = BigInt(value);
18
+ }
16
19
  else if (meta[key] === private_1.MetaType.Boolean) {
17
20
  result[key] = JSON.parse(value);
18
21
  }
@@ -20,7 +23,7 @@ const parseObjectValues = (dict, meta) => {
20
23
  result[key] = new Date(value);
21
24
  }
22
25
  else if (meta[key] === private_1.MetaType.Number) {
23
- result[key] = parseInt(value, 10);
26
+ result[key] = Number(value);
24
27
  }
25
28
  else if (meta[key] === private_1.MetaType.String) {
26
29
  result[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"parse-object-values.js","sourceRoot":"","sources":["../../../src/utils/private/parse-object-values.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAEhD,iDAA+C;AAC/C,6DAAwD;AAEjD,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAE,IAAU,EAAQ,EAAE;IAChE,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,qCAAgB,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA5BW,QAAA,iBAAiB,qBA4B5B"}
1
+ {"version":3,"file":"parse-object-values.js","sourceRoot":"","sources":["../../../src/utils/private/parse-object-values.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAEhD,iDAA+C;AAC/C,6DAAwD;AAEjD,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAE,IAAU,EAAQ,EAAE;IAChE,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,qCAAgB,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,kBAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,iBAAiB,qBA8B5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-array-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/stringify-array-values.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAG,KAAK,CAAC,GAAG,CAwBjE,CAAC"}
1
+ {"version":3,"file":"stringify-array-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/stringify-array-values.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAG,KAAK,CAAC,GAAG,CA0BjE,CAAC"}
@@ -6,7 +6,10 @@ const stringify_object_values_1 = require("./stringify-object-values");
6
6
  const stringifyArrayValues = (input) => {
7
7
  const result = [];
8
8
  for (const value of input) {
9
- if ((0, is_1.isDate)(value)) {
9
+ if ((0, is_1.isBigInt)(value)) {
10
+ result.push(value.toString());
11
+ }
12
+ else if ((0, is_1.isDate)(value)) {
10
13
  result.push(value.toISOString());
11
14
  }
12
15
  else if ((0, is_1.isObject)(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-array-values.js","sourceRoot":"","sources":["../../../src/utils/private/stringify-array-values.ts"],"names":[],"mappings":";;;AAAA,oCAQqB;AACrB,uEAAkE;AAE3D,MAAM,oBAAoB,GAAG,CAAC,KAAiB,EAAc,EAAE;IACpE,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAA,+CAAqB,EAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,oBAAoB,wBAwB/B"}
1
+ {"version":3,"file":"stringify-array-values.js","sourceRoot":"","sources":["../../../src/utils/private/stringify-array-values.ts"],"names":[],"mappings":";;;AAAA,oCASqB;AACrB,uEAAkE;AAE3D,MAAM,oBAAoB,GAAG,CAAC,KAAiB,EAAc,EAAE;IACpE,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAA,+CAAqB,EAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA1BW,QAAA,oBAAoB,wBA0B/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-object-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/stringify-object-values.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,eAAO,MAAM,qBAAqB,GAAI,MAAM,IAAI,KAAG,IAwBlD,CAAC"}
1
+ {"version":3,"file":"stringify-object-values.d.ts","sourceRoot":"","sources":["../../../src/utils/private/stringify-object-values.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,eAAO,MAAM,qBAAqB,GAAI,MAAM,IAAI,KAAG,IA0BlD,CAAC"}
@@ -6,7 +6,10 @@ const stringify_array_values_1 = require("./stringify-array-values");
6
6
  const stringifyObjectValues = (dict) => {
7
7
  const result = {};
8
8
  for (const [key, value] of Object.entries(dict)) {
9
- if ((0, is_1.isDate)(value)) {
9
+ if ((0, is_1.isBigInt)(value)) {
10
+ result[key] = value.toString();
11
+ }
12
+ else if ((0, is_1.isDate)(value)) {
10
13
  result[key] = value.toISOString();
11
14
  }
12
15
  else if ((0, is_1.isObject)(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"stringify-object-values.js","sourceRoot":"","sources":["../../../src/utils/private/stringify-object-values.ts"],"names":[],"mappings":";;;AAAA,oCAQqB;AAErB,qEAAgE;AAEzD,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAQ,EAAE;IACxD,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,6CAAoB,EAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,qBAAqB,yBAwBhC"}
1
+ {"version":3,"file":"stringify-object-values.js","sourceRoot":"","sources":["../../../src/utils/private/stringify-object-values.ts"],"names":[],"mappings":";;;AAAA,oCASqB;AAErB,qEAAgE;AAEzD,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAQ,EAAE;IACxD,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAA,YAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,6CAAoB,EAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,IAAA,WAAM,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAA,gBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAA,aAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA1BW,QAAA,qBAAqB,yBA0BhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lindorm/json-kit",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "author": "Jonn Nilsson",
6
6
  "repository": {
@@ -16,23 +16,20 @@
16
16
  "scripts": {
17
17
  "build": "rimraf dist && tsc -b ./tsconfig.build.json",
18
18
  "example": "ts-node example",
19
- "integration": "compd --file docker-compose.yml jest --config jest.config.integration.js --watch",
20
- "integration:focus": "compd --file docker-compose.yml jest --config jest.config.integration.js --watch $1",
21
19
  "prettier": "prettier --write ./src/*",
22
- "test": "jest --watch --",
23
- "test:ci": "npm run test:unit",
24
- "test:integration": "jest --config jest.config.integration.js --",
25
- "test:unit": "jest --config jest.config.js --",
26
- "typecheck": "tsc --watch",
27
- "typecheck:ci": "tsc",
20
+ "test": "jest --",
21
+ "test:ci": "jest",
22
+ "test:watch": "jest --watch --",
23
+ "typecheck": "tsc",
24
+ "typecheck:watch": "tsc --watch --",
28
25
  "update": "ncu -i",
29
26
  "update:auto": "ncu -u"
30
27
  },
31
28
  "dependencies": {
32
- "@lindorm/is": "^0.1.11"
29
+ "@lindorm/is": "^0.1.12"
33
30
  },
34
31
  "devDependencies": {
35
- "@lindorm/types": "^0.3.3"
32
+ "@lindorm/types": "^0.3.4"
36
33
  },
37
- "gitHead": "3302fa2c4d75f2832959018d9e089d11af4a35fc"
34
+ "gitHead": "4b8579886ad8a24c22a8bf260dd0bb5dc45afc08"
38
35
  }