@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.
- package/CHANGELOG.md +7 -0
- package/README.md +97 -63
- package/dist/enums/private/MetaType.d.ts +1 -0
- package/dist/enums/private/MetaType.d.ts.map +1 -1
- package/dist/enums/private/MetaType.js +1 -0
- package/dist/enums/private/MetaType.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/deserialise.d.ts +2 -0
- package/dist/utils/deserialise.d.ts.map +1 -0
- package/dist/utils/deserialise.js +78 -0
- package/dist/utils/deserialise.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/private/get-meta-array.js.map +1 -1
- package/dist/utils/private/get-meta-type.d.ts.map +1 -1
- package/dist/utils/private/get-meta-type.js +2 -0
- package/dist/utils/private/get-meta-type.js.map +1 -1
- package/dist/utils/private/parse-array-values.d.ts.map +1 -1
- package/dist/utils/private/parse-array-values.js +12 -9
- package/dist/utils/private/parse-array-values.js.map +1 -1
- package/dist/utils/private/parse-object-values.d.ts.map +1 -1
- package/dist/utils/private/parse-object-values.js +4 -1
- package/dist/utils/private/parse-object-values.js.map +1 -1
- package/dist/utils/private/stringify-array-values.d.ts.map +1 -1
- package/dist/utils/private/stringify-array-values.js +4 -1
- package/dist/utils/private/stringify-array-values.js.map +1 -1
- package/dist/utils/private/stringify-object-values.d.ts.map +1 -1
- package/dist/utils/private/stringify-object-values.js +4 -1
- package/dist/utils/private/stringify-object-values.js.map +1 -1
- 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 don
|
|
4
|
-
|
|
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
|
|
9
|
-
|
|
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
|
|
19
|
+
## Quick start
|
|
25
20
|
|
|
26
21
|
```ts
|
|
27
|
-
import { JsonKit } from
|
|
22
|
+
import { JsonKit } from "@lindorm/json-kit";
|
|
28
23
|
|
|
29
24
|
const original = {
|
|
30
25
|
now: new Date(),
|
|
31
|
-
payload: Buffer.from(
|
|
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
|
-
//
|
|
34
|
+
// Persist, send over the wire, store in Redis ...
|
|
40
35
|
|
|
41
|
-
|
|
42
|
-
const clone = JsonKit.parse<typeof original>(str);
|
|
36
|
+
const restored = JsonKit.parse<typeof original>(str);
|
|
43
37
|
|
|
44
|
-
|
|
45
|
-
Buffer.isBuffer(
|
|
46
|
-
|
|
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
|
|
44
|
+
The generated JSON looks like this (shortened):
|
|
50
45
|
|
|
51
46
|
```jsonc
|
|
52
47
|
{
|
|
53
|
-
"__meta__": {
|
|
54
|
-
"now": "D",
|
|
55
|
-
"payload": "F",
|
|
56
|
-
"
|
|
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",
|
|
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
|
|
71
|
-
Turns an object or array into a JSON‐compatible string while preserving
|
|
72
|
-
non-standard primitives.
|
|
69
|
+
### `JsonKit`
|
|
73
70
|
|
|
74
|
-
|
|
75
|
-
Reverses `stringify`. Accepts either string or `Buffer`.
|
|
71
|
+
Static utility class wrapping `Primitive`.
|
|
76
72
|
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
### `
|
|
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
|
-
|
|
87
|
+
const p = new Primitive({ name: "Alice", createdAt: new Date() });
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
p.data; // stringified record (all values are strings/numbers)
|
|
90
|
+
p.meta; // type map { name: "S", createdAt: "D" }
|
|
90
91
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
104
|
-
|
|
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
|
-
##
|
|
129
|
+
## MetaType codes
|
|
130
|
+
|
|
131
|
+
Each value in `__meta__` is tagged with a single-character code:
|
|
109
132
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
##
|
|
148
|
+
## Caveats
|
|
118
149
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
|
161
|
+
AGPL-3.0-or-later
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaType.js","sourceRoot":"","sources":["../../../src/enums/private/MetaType.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
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
package/dist/index.d.ts.map
CHANGED
|
@@ -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 @@
|
|
|
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":";;;AAAA,oDAAiD;AAE1C,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,IAAmB,EAAO,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,KAAK,MAAM,CAAC;YACvD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,KAAK,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,OAAO,IAAI,qBAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AAnEW,QAAA,WAAW,eAmEtB"}
|
|
@@ -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,
|
|
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":"
|
|
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,
|
|
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,
|
|
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,
|
|
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)(
|
|
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)(
|
|
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(
|
|
21
|
+
result.push(JSON.parse(val));
|
|
19
22
|
}
|
|
20
23
|
else if (meta[index] === private_1.MetaType.Date) {
|
|
21
|
-
result.push(new Date(
|
|
24
|
+
result.push(new Date(val));
|
|
22
25
|
}
|
|
23
26
|
else if (meta[index] === private_1.MetaType.Number) {
|
|
24
|
-
result.push(
|
|
27
|
+
result.push(Number(val));
|
|
25
28
|
}
|
|
26
29
|
else if (meta[index] === private_1.MetaType.String) {
|
|
27
|
-
result.push(
|
|
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(
|
|
39
|
+
result.push(Buffer.from(val, "base64url"));
|
|
37
40
|
}
|
|
38
41
|
else {
|
|
39
|
-
result.push(JSON.parse(
|
|
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,
|
|
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,
|
|
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] =
|
|
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,
|
|
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":"
|
|
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.
|
|
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,
|
|
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":"
|
|
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.
|
|
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,
|
|
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
|
+
"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 --
|
|
23
|
-
"test:ci": "
|
|
24
|
-
"test:
|
|
25
|
-
"
|
|
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.
|
|
29
|
+
"@lindorm/is": "^0.1.12"
|
|
33
30
|
},
|
|
34
31
|
"devDependencies": {
|
|
35
|
-
"@lindorm/types": "^0.3.
|
|
32
|
+
"@lindorm/types": "^0.3.4"
|
|
36
33
|
},
|
|
37
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "4b8579886ad8a24c22a8bf260dd0bb5dc45afc08"
|
|
38
35
|
}
|