@step-wise/serialization 0.1.0
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/LICENSE +21 -0
- package/README.md +84 -0
- package/dist/adapters.d.ts +4 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +6 -0
- package/dist/deserialize.d.ts +4 -0
- package/dist/deserialize.d.ts.map +1 -0
- package/dist/deserialize.js +72 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/serialize.d.ts +4 -0
- package/dist/serialize.d.ts.map +1 -0
- package/dist/serialize.js +59 -0
- package/dist/testUtils.d.ts +25 -0
- package/dist/testUtils.d.ts.map +1 -0
- package/dist/testUtils.js +16 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/package.json +47 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Step-Wise
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# @step-wise/serialization
|
|
2
|
+
|
|
3
|
+
Convert nested application data containing domain objects into JSON-safe data, and restore those objects after storage or transport.
|
|
4
|
+
|
|
5
|
+
The package is domain-independent. Applications supply adapters for the domain types they use; ordinary JSON data passes through unchanged.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @step-wise/serialization
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Defining and using an adapter
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { hasOnlyKeys, isPlainObject, isString } from '@step-wise/js-utils'
|
|
19
|
+
import { type SerializationAdapter, deserializeData, serializeData } from '@step-wise/serialization'
|
|
20
|
+
|
|
21
|
+
const LabelType = 'Label'
|
|
22
|
+
|
|
23
|
+
class Label {
|
|
24
|
+
readonly type = LabelType
|
|
25
|
+
constructor(readonly text: string) {}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
type SerializedLabel = { type: typeof LabelType, value: string }
|
|
29
|
+
|
|
30
|
+
const labelAdapter = {
|
|
31
|
+
isDomainValue: (value: unknown): value is Label => value instanceof Label,
|
|
32
|
+
isSerializedValue: (value: unknown): value is SerializedLabel =>
|
|
33
|
+
isPlainObject(value) &&
|
|
34
|
+
hasOnlyKeys(value, ['type', 'value']) &&
|
|
35
|
+
value.type === LabelType &&
|
|
36
|
+
isString(value.value),
|
|
37
|
+
serialize: label => ({ type: LabelType, value: label.text }),
|
|
38
|
+
deserialize: value => new Label(value.value),
|
|
39
|
+
} satisfies SerializationAdapter<Label, SerializedLabel>
|
|
40
|
+
|
|
41
|
+
const adapters = { [LabelType]: labelAdapter }
|
|
42
|
+
const data = { labels: [new Label('Important')], complete: true }
|
|
43
|
+
const serialized = serializeData(data, adapters)
|
|
44
|
+
const restored = deserializeData(serialized, adapters) as typeof data
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The same registry is used throughout nested arrays and objects. Adapters are checked in both directions: invalid serialized output and invalid deserialized domain output throw.
|
|
48
|
+
|
|
49
|
+
Domain packages commonly bundle adapter registries through [@step-wise/value-types](https://www.npmjs.com/package/@step-wise/value-types).
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Supported data
|
|
53
|
+
|
|
54
|
+
`serializeData` and `deserializeData` support:
|
|
55
|
+
|
|
56
|
+
- `null`, strings, booleans, and finite numbers.
|
|
57
|
+
- Dense arrays of supported values.
|
|
58
|
+
- Plain objects whose properties contain supported values.
|
|
59
|
+
- Domain objects registered in the supplied adapter registry.
|
|
60
|
+
|
|
61
|
+
Values without a predictable JSON round trip are rejected, including `undefined`, functions, symbols, bigints, `NaN`, infinities, sparse arrays, unsupported class instances, and circular structures.
|
|
62
|
+
|
|
63
|
+
Repeated non-circular references are allowed, but shared identity is not preserved. During deserialization, objects with unknown type names remain ordinary data and their nested contents are still processed.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## Serializing one domain object
|
|
67
|
+
|
|
68
|
+
Use `serializeDomainObject(value, adapters)` and `deserializeDomainObject(value, adapters)` when the value is known to be exactly one registered domain object. Unknown types, malformed envelopes, and values rejected by the selected adapter throw.
|
|
69
|
+
|
|
70
|
+
Public deserialization functions accept `unknown`, validate the envelope and adapter-specific storage form, and only then call the adapter's strongly typed conversion function.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
## TypeScript types
|
|
74
|
+
|
|
75
|
+
The package exports:
|
|
76
|
+
|
|
77
|
+
- `SerializedData` for recursive JSON-safe output.
|
|
78
|
+
- `SerializableDomainObject` for a domain object with a string discriminator.
|
|
79
|
+
- `SerializedDomainObject<Type, SerializedValue>` for a plain storage envelope.
|
|
80
|
+
- `SerializationAdapter<TDomainValue, TSerialized>` for one domain type's guards and conversions.
|
|
81
|
+
- `SerializationAdapters` for a registry keyed by discriminator.
|
|
82
|
+
- `isSerializationAdapter` for runtime adapter validation.
|
|
83
|
+
|
|
84
|
+
Because arbitrary serialized data cannot statically describe the restored domain values, `deserializeData` returns `unknown`. Narrow untrusted data or assert the expected type when loading data produced by your own application.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AnySerializationAdapter, SerializationAdapters } from './types.ts';
|
|
2
|
+
export declare const serializationAdapters: {};
|
|
3
|
+
export declare function getSerializationAdapter(type: string, customSerializationAdapters?: SerializationAdapters): AnySerializationAdapter | undefined;
|
|
4
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEhF,eAAO,MAAM,qBAAqB,IAAqC,CAAA;AAEvE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS,CAG9I"}
|
package/dist/adapters.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const serializationAdapters = {};
|
|
2
|
+
export function getSerializationAdapter(type, customSerializationAdapters) {
|
|
3
|
+
if (customSerializationAdapters !== undefined && Object.hasOwn(customSerializationAdapters, type))
|
|
4
|
+
return customSerializationAdapters[type];
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SerializationAdapters } from './types.ts';
|
|
2
|
+
export declare function deserializeDomainObject<TDomainValue = unknown>(serializedValue: unknown, serializationAdapters?: SerializationAdapters): TDomainValue;
|
|
3
|
+
export declare function deserializeData(value: unknown, serializationAdapters?: SerializationAdapters): unknown;
|
|
4
|
+
//# sourceMappingURL=deserialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../src/deserialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAIvD,wBAAgB,uBAAuB,CAAC,YAAY,GAAG,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,YAAY,CAYrJ;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAEtG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { isPlainObject, mapValues } from '@step-wise/js-utils';
|
|
2
|
+
import { getSerializationAdapter } from './adapters.js';
|
|
3
|
+
// Deserialize a given serialized value, given a set of serialization adapters.
|
|
4
|
+
export function deserializeDomainObject(serializedValue, serializationAdapters) {
|
|
5
|
+
if (!isPlainObject(serializedValue) || typeof serializedValue.type !== 'string' || !Object.hasOwn(serializedValue, 'value'))
|
|
6
|
+
throw new TypeError(`Invalid serialized domain object: expected an object with a type and value.`);
|
|
7
|
+
// Load the respective adapters.
|
|
8
|
+
const adapter = getSerializationAdapter(serializedValue.type, serializationAdapters);
|
|
9
|
+
if (adapter === undefined)
|
|
10
|
+
throw new TypeError(`Invalid serialized domain object: unknown type "${serializedValue.type}".`);
|
|
11
|
+
if (!adapter.isSerializedValue(serializedValue))
|
|
12
|
+
throw new TypeError(`Invalid serialized domain object: value does not match type "${serializedValue.type}".`);
|
|
13
|
+
// Apply the adapters and check the resulting domain value.
|
|
14
|
+
const domainValue = adapter.deserialize(serializedValue);
|
|
15
|
+
if (!adapter.isDomainValue(domainValue))
|
|
16
|
+
throw new TypeError(`Invalid serialization adapter for type "${serializedValue.type}": returned an invalid domain value.`);
|
|
17
|
+
return domainValue;
|
|
18
|
+
}
|
|
19
|
+
// Deserialize an object/array/other shape that may contain serializable objects.
|
|
20
|
+
export function deserializeData(value, serializationAdapters) {
|
|
21
|
+
return deserializeValue(value, new WeakSet(), serializationAdapters);
|
|
22
|
+
}
|
|
23
|
+
function deserializeValue(value, ancestors, serializationAdapters) {
|
|
24
|
+
// Handle fundamental types.
|
|
25
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
26
|
+
return value;
|
|
27
|
+
if (typeof value === 'number') {
|
|
28
|
+
if (!Number.isFinite(value))
|
|
29
|
+
throw new TypeError(`Invalid deserializeData call: expected numbers to be finite.`);
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
// Handle arrays/objects.
|
|
33
|
+
if (Array.isArray(value) || isPlainObject(value)) {
|
|
34
|
+
if (ancestors.has(value))
|
|
35
|
+
throw new TypeError(`Invalid deserializeData call: cannot deserialize circular data.`);
|
|
36
|
+
ancestors.add(value);
|
|
37
|
+
try {
|
|
38
|
+
// Check for disallowed sparse arrays.
|
|
39
|
+
if (Array.isArray(value)) {
|
|
40
|
+
for (let index = 0; index < value.length; index++) {
|
|
41
|
+
if (!Object.hasOwn(value, index))
|
|
42
|
+
throw new TypeError(`Invalid deserializeData call: cannot deserialize sparse arrays.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Handle serialized objects.
|
|
46
|
+
if (isPlainObject(value) && typeof value.type === 'string' && getSerializationAdapter(value.type, serializationAdapters) !== undefined) {
|
|
47
|
+
Object.values(value).forEach(item => ensureNoCircularReferences(item, ancestors));
|
|
48
|
+
return deserializeDomainObject(value, serializationAdapters);
|
|
49
|
+
}
|
|
50
|
+
// Traverse into the array/object.
|
|
51
|
+
return Array.isArray(value) ? value.map(item => deserializeValue(item, ancestors, serializationAdapters)) : mapValues(value, item => deserializeValue(item, ancestors, serializationAdapters));
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
ancestors.delete(value);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Other object types are not supported.
|
|
58
|
+
throw new TypeError(`Invalid deserializeData call: cannot deserialize value of type "${typeof value}". Only plain objects, arrays and basic types are expected.`);
|
|
59
|
+
}
|
|
60
|
+
function ensureNoCircularReferences(value, ancestors) {
|
|
61
|
+
if (!Array.isArray(value) && !isPlainObject(value))
|
|
62
|
+
return;
|
|
63
|
+
if (ancestors.has(value))
|
|
64
|
+
throw new TypeError(`Invalid deserializeData call: cannot deserialize circular data.`);
|
|
65
|
+
ancestors.add(value);
|
|
66
|
+
try {
|
|
67
|
+
Object.values(value).forEach(item => ensureNoCircularReferences(item, ancestors));
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
ancestors.delete(value);
|
|
71
|
+
}
|
|
72
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SerializationAdapters, SerializedData, SerializedDomainObject } from './types.ts';
|
|
2
|
+
export declare function serializeDomainObject<TSerialized extends SerializedDomainObject = SerializedDomainObject>(domainValue: unknown, serializationAdapters?: SerializationAdapters): TSerialized;
|
|
3
|
+
export declare function serializeData(value: unknown, serializationAdapters?: SerializationAdapters): SerializedData;
|
|
4
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAI/F,wBAAgB,qBAAqB,CAAC,WAAW,SAAS,sBAAsB,GAAG,sBAAsB,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAc3L;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAE3G"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { isObject, isPlainObject, mapValues } from '@step-wise/js-utils';
|
|
2
|
+
import { getSerializationAdapter } from './adapters.js';
|
|
3
|
+
// Serialize a given domain value, given a set of serialization adapters.
|
|
4
|
+
export function serializeDomainObject(domainValue, serializationAdapters) {
|
|
5
|
+
if (!isObject(domainValue) || isPlainObject(domainValue))
|
|
6
|
+
throw new TypeError(`Invalid serializeDomainObject call: expected a non-plain object with a type.`);
|
|
7
|
+
// Load the respective adapters.
|
|
8
|
+
const type = Reflect.get(domainValue, 'type');
|
|
9
|
+
if (typeof type !== 'string')
|
|
10
|
+
throw new TypeError(`Invalid serializeDomainObject call: expected an object with a string type.`);
|
|
11
|
+
const adapter = getSerializationAdapter(type, serializationAdapters);
|
|
12
|
+
if (adapter === undefined)
|
|
13
|
+
throw new TypeError(`Invalid serializeDomainObject call: unknown type "${type}".`);
|
|
14
|
+
if (!adapter.isDomainValue(domainValue))
|
|
15
|
+
throw new TypeError(`Invalid serializeDomainObject call: value does not match type "${type}".`);
|
|
16
|
+
// Apply the adapters and check the resulting serialized value.
|
|
17
|
+
const serializedValue = adapter.serialize(domainValue);
|
|
18
|
+
if (!adapter.isSerializedValue(serializedValue))
|
|
19
|
+
throw new TypeError(`Invalid serialization adapter for type "${type}": returned an invalid serialized value.`);
|
|
20
|
+
return serializedValue;
|
|
21
|
+
}
|
|
22
|
+
// Serialize an object/array/other shape that may contain serializable objects.
|
|
23
|
+
export function serializeData(value, serializationAdapters) {
|
|
24
|
+
return serializeValue(value, new WeakSet(), serializationAdapters);
|
|
25
|
+
}
|
|
26
|
+
function serializeValue(value, ancestors, serializationAdapters) {
|
|
27
|
+
// Handle fundamental types.
|
|
28
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
29
|
+
return value;
|
|
30
|
+
if (typeof value === 'number') {
|
|
31
|
+
if (!Number.isFinite(value))
|
|
32
|
+
throw new TypeError(`Invalid serializeData call: expected numbers to be finite.`);
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
// Handle arrays/plain objects.
|
|
36
|
+
if (Array.isArray(value) || isPlainObject(value)) {
|
|
37
|
+
if (ancestors.has(value))
|
|
38
|
+
throw new TypeError(`Invalid serializeData call: cannot serialize circular data.`);
|
|
39
|
+
ancestors.add(value);
|
|
40
|
+
try {
|
|
41
|
+
if (Array.isArray(value)) {
|
|
42
|
+
for (let index = 0; index < value.length; index++) {
|
|
43
|
+
if (!Object.hasOwn(value, index))
|
|
44
|
+
throw new TypeError(`Invalid serializeData call: cannot serialize sparse arrays.`);
|
|
45
|
+
}
|
|
46
|
+
return value.map(item => serializeValue(item, ancestors, serializationAdapters));
|
|
47
|
+
}
|
|
48
|
+
return mapValues(value, item => serializeValue(item, ancestors, serializationAdapters));
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
ancestors.delete(value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Handle domain values.
|
|
55
|
+
if (isObject(value))
|
|
56
|
+
return serializeDomainObject(value, serializationAdapters);
|
|
57
|
+
// Should never happen.
|
|
58
|
+
throw new TypeError(`Invalid serializeData call: cannot serialize value of type "${typeof value}".`);
|
|
59
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const TestValueType = "TestValue";
|
|
2
|
+
export type SerializedTestValue = {
|
|
3
|
+
type: typeof TestValueType;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class TestValue {
|
|
7
|
+
readonly value: string;
|
|
8
|
+
readonly type = "TestValue";
|
|
9
|
+
constructor(value: string);
|
|
10
|
+
}
|
|
11
|
+
export declare const testValueAdapter: {
|
|
12
|
+
isDomainValue: (value: unknown) => value is TestValue;
|
|
13
|
+
isSerializedValue: (value: unknown) => value is SerializedTestValue;
|
|
14
|
+
serialize: (value: TestValue) => SerializedTestValue;
|
|
15
|
+
deserialize: (value: SerializedTestValue) => TestValue;
|
|
16
|
+
};
|
|
17
|
+
export declare const testValueAdapters: {
|
|
18
|
+
TestValue: {
|
|
19
|
+
isDomainValue: (value: unknown) => value is TestValue;
|
|
20
|
+
isSerializedValue: (value: unknown) => value is SerializedTestValue;
|
|
21
|
+
serialize: (value: TestValue) => SerializedTestValue;
|
|
22
|
+
deserialize: (value: SerializedTestValue) => TestValue;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=testUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,cAAc,CAAA;AACxC,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,OAAO,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/E,qBAAa,SAAS;IAET,QAAQ,CAAC,KAAK,EAAE,MAAM;IADlC,QAAQ,CAAC,IAAI,eAAgB;IAC7B,YAAqB,KAAK,EAAE,MAAM,EAAI;CACtC;AAED,eAAO,MAAM,gBAAgB;2BACL,OAAO,KAAG,KAAK,IAAI,SAAS;+BACxB,OAAO,KAAG,KAAK,IAAI,mBAAmB;uBAC9C,SAAS,KAAG,mBAAmB;yBAC7B,mBAAmB,KAAG,SAAS;CACW,CAAA;AAEhE,eAAO,MAAM,iBAAiB;;+BANN,OAAO,KAAG,KAAK,IAAI,SAAS;mCACxB,OAAO,KAAG,KAAK,IAAI,mBAAmB;2BAC9C,SAAS,KAAG,mBAAmB;6BAC7B,mBAAmB,KAAG,SAAS;;CAGiD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { hasOnlyKeys, isPlainObject, isString } from '@step-wise/js-utils';
|
|
2
|
+
export const TestValueType = 'TestValue';
|
|
3
|
+
export class TestValue {
|
|
4
|
+
value;
|
|
5
|
+
type = TestValueType;
|
|
6
|
+
constructor(value) {
|
|
7
|
+
this.value = value;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const testValueAdapter = {
|
|
11
|
+
isDomainValue: (value) => value instanceof TestValue,
|
|
12
|
+
isSerializedValue: (value) => isPlainObject(value) && hasOnlyKeys(value, ['type', 'value']) && value.type === TestValueType && isString(value.value),
|
|
13
|
+
serialize: (value) => ({ type: TestValueType, value: value.value }),
|
|
14
|
+
deserialize: (value) => new TestValue(value.value),
|
|
15
|
+
};
|
|
16
|
+
export const testValueAdapters = { [TestValueType]: testValueAdapter };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"7.0.2","root":[[114,119]],"packageJsons":["../../../node_modules/@types/node/package.json","../../../node_modules/punycode/package.json","../../../node_modules/undici-types/package.json","../../js-utils/package.json","../package.json"],"missingPackageJsons":["../../../node_modules/@types/assert/package.json","../../../node_modules/@types/assert/strict/package.json","../../../node_modules/@types/async_hooks/package.json","../../../node_modules/@types/buffer/package.json","../../../node_modules/@types/child_process/package.json","../../../node_modules/@types/cluster/package.json","../../../node_modules/@types/console/package.json","../../../node_modules/@types/constants/package.json","../../../node_modules/@types/crypto/package.json","../../../node_modules/@types/dgram/package.json","../../../node_modules/@types/diagnostics_channel/package.json","../../../node_modules/@types/dns/package.json","../../../node_modules/@types/dns/promises/package.json","../../../node_modules/@types/domain/package.json","../../../node_modules/@types/events/package.json","../../../node_modules/@types/fs/package.json","../../../node_modules/@types/fs/promises/package.json","../../../node_modules/@types/http/package.json","../../../node_modules/@types/http2/package.json","../../../node_modules/@types/https/package.json","../../../node_modules/@types/inspector/package.json","../../../node_modules/@types/inspector/promises/package.json","../../../node_modules/@types/module/package.json","../../../node_modules/@types/net/package.json","../../../node_modules/@types/node/assert/package.json","../../../node_modules/@types/node/compatibility/package.json","../../../node_modules/@types/node/dns/package.json","../../../node_modules/@types/node/fs/package.json","../../../node_modules/@types/node/readline/package.json","../../../node_modules/@types/node/stream/package.json","../../../node_modules/@types/node/timers/package.json","../../../node_modules/@types/node/web-globals/package.json","../../../node_modules/@types/os/package.json","../../../node_modules/@types/path/package.json","../../../node_modules/@types/path/posix/package.json","../../../node_modules/@types/path/win32/package.json","../../../node_modules/@types/perf_hooks/package.json","../../../node_modules/@types/process/package.json","../../../node_modules/@types/punycode/package.json","../../../node_modules/@types/querystring/package.json","../../../node_modules/@types/readline/package.json","../../../node_modules/@types/readline/promises/package.json","../../../node_modules/@types/repl/package.json","../../../node_modules/@types/stream/consumers/package.json","../../../node_modules/@types/stream/package.json","../../../node_modules/@types/stream/promises/package.json","../../../node_modules/@types/stream/web/package.json","../../../node_modules/@types/string_decoder/package.json","../../../node_modules/@types/timers/package.json","../../../node_modules/@types/timers/promises/package.json","../../../node_modules/@types/tls/package.json","../../../node_modules/@types/trace_events/package.json","../../../node_modules/@types/tty/package.json","../../../node_modules/@types/url/package.json","../../../node_modules/@types/util/package.json","../../../node_modules/@types/util/types/package.json","../../../node_modules/@types/v8/package.json","../../../node_modules/@types/vm/package.json","../../../node_modules/@types/wasi/package.json","../../../node_modules/@types/worker_threads/package.json","../../../node_modules/@types/zlib/package.json","../../../node_modules/assert/package.json","../../../node_modules/assert/strict/package.json","../../../node_modules/async_hooks/package.json","../../../node_modules/buffer/package.json","../../../node_modules/child_process/package.json","../../../node_modules/cluster/package.json","../../../node_modules/console/package.json","../../../node_modules/constants/package.json","../../../node_modules/crypto/package.json","../../../node_modules/dgram/package.json","../../../node_modules/diagnostics_channel/package.json","../../../node_modules/dns/package.json","../../../node_modules/dns/promises/package.json","../../../node_modules/domain/package.json","../../../node_modules/events/package.json","../../../node_modules/fs/package.json","../../../node_modules/fs/promises/package.json","../../../node_modules/http/package.json","../../../node_modules/http2/package.json","../../../node_modules/https/package.json","../../../node_modules/inspector/package.json","../../../node_modules/inspector/promises/package.json","../../../node_modules/module/package.json","../../../node_modules/net/package.json","../../../node_modules/os/package.json","../../../node_modules/path/package.json","../../../node_modules/path/posix/package.json","../../../node_modules/path/win32/package.json","../../../node_modules/perf_hooks/package.json","../../../node_modules/process/package.json","../../../node_modules/querystring/package.json","../../../node_modules/readline/package.json","../../../node_modules/readline/promises/package.json","../../../node_modules/repl/package.json","../../../node_modules/stream/consumers/package.json","../../../node_modules/stream/package.json","../../../node_modules/stream/promises/package.json","../../../node_modules/stream/web/package.json","../../../node_modules/string_decoder/package.json","../../../node_modules/timers/package.json","../../../node_modules/timers/promises/package.json","../../../node_modules/tls/package.json","../../../node_modules/trace_events/package.json","../../../node_modules/tty/package.json","../../../node_modules/url/package.json","../../../node_modules/util/package.json","../../../node_modules/util/types/package.json","../../../node_modules/v8/package.json","../../../node_modules/vm/package.json","../../../node_modules/wasi/package.json","../../../node_modules/worker_threads/package.json","../../../node_modules/zlib/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2023.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.dom.asynciterable.d.ts","lib.webworker.importscripts.d.ts","lib.scripthost.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.es2023.array.d.ts","lib.es2023.collection.d.ts","lib.es2023.intl.d.ts","lib.es2025.float16.d.ts","lib.esnext.disposable.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","lib.es2023.full.d.ts","../../js-utils/dist/objects/checks.d.ts","../../js-utils/dist/objects/plainnesschecks.d.ts","../../js-utils/dist/objects/comparisons.d.ts","../../js-utils/dist/objects/nesting.d.ts","../../js-utils/dist/objects/creation.d.ts","../../js-utils/dist/objects/manipulation.d.ts","../../js-utils/dist/objects/index.d.ts","../../js-utils/dist/numbers/checks.d.ts","../../js-utils/dist/numbers/comparisons.d.ts","../../js-utils/dist/numbers/limiting.d.ts","../../js-utils/dist/numbers/rounding.d.ts","../../js-utils/dist/numbers/angles.d.ts","../../js-utils/dist/numbers/random.d.ts","../../js-utils/dist/numbers/index.d.ts","../../js-utils/dist/arrays/checks.d.ts","../../js-utils/dist/arrays/comparisons.d.ts","../../js-utils/dist/arrays/reading.d.ts","../../js-utils/dist/arrays/iteration.d.ts","../../js-utils/dist/arrays/finding.d.ts","../../js-utils/dist/arrays/creation.d.ts","../../js-utils/dist/arrays/manipulation.d.ts","../../js-utils/dist/arrays/shaping.d.ts","../../js-utils/dist/arrays/sorting.d.ts","../../js-utils/dist/arrays/random.d.ts","../../js-utils/dist/arrays/multidimensional.d.ts","../../js-utils/dist/arrays/index.d.ts","../../js-utils/dist/strings/checks.d.ts","../../js-utils/dist/strings/search.d.ts","../../js-utils/dist/strings/manipulation.d.ts","../../js-utils/dist/strings/creation.d.ts","../../js-utils/dist/strings/index.d.ts","../../js-utils/dist/functions/fundamentals.d.ts","../../js-utils/dist/functions/repeating.d.ts","../../js-utils/dist/functions/resolving.d.ts","../../js-utils/dist/functions/index.d.ts","../../js-utils/dist/sets/checks.d.ts","../../js-utils/dist/sets/manipulation.d.ts","../../js-utils/dist/sets/index.d.ts","../../js-utils/dist/errors/interpretationerror.d.ts","../../js-utils/dist/errors/index.d.ts","../../js-utils/dist/dates/checks.d.ts","../../js-utils/dist/dates/formatting.d.ts","../../js-utils/dist/dates/index.d.ts","../../js-utils/dist/index.d.ts","../src/types.ts","../src/adapters.ts","../src/deserialize.ts","../src/serialize.ts","../src/index.ts","../src/testutils.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7","9443a7f109277ffaa79d893ed2549995",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237","abad6dd56cc8caf095c165df8124d237",{"version":"2a9941db0809c9ad0e8837ed629b1dcc","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d051b93324f36bcc68d152a5ca0988cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8cf777fe00349b71ee9c4b6f3fe7fd19","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"74f96bc192530c9723f572bfff3d3078","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1df91c56b25955c56387426f378173c5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0219894bfe5042c7e1aa2d22e4a91ed0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"be41035d7b941482a1e1ae6a5c5dcca5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},"e1c7e28ac89b8a663c388c275b41bf44",{"version":"0a5f9ea1a2907d0c3acce959f667e7d6","impliedNodeFormat":99},{"version":"62064d4505a357a7b3bd5fc002f01a6c","impliedNodeFormat":99},{"version":"b261d377ba6cab61b65229f8926d6c96","impliedNodeFormat":99},{"version":"5192a8f4e703e7fde6730938025f5623","impliedNodeFormat":99},{"version":"be9bcaaed12642dcb4f4b544382c0358","impliedNodeFormat":99},{"version":"21ccea272ffdebf648e4836834ea03f0","impliedNodeFormat":99},{"version":"d270959207f8e0d77bc290cb9b9fd246","impliedNodeFormat":99},{"version":"0adefc42b494adacd96ce55e2f64f9da","impliedNodeFormat":99},{"version":"17e818460750c7024b6b3d9ef9d489ca","impliedNodeFormat":99},{"version":"4c488904ad7ff9227d0d8f3704a586f6","impliedNodeFormat":99},{"version":"af0629723a39c856ba0958eb355a5cbe","impliedNodeFormat":99},{"version":"81a34d18a0ae9698642df2775695856d","impliedNodeFormat":99},{"version":"de24a9130664ba61652244cd2a232aed","impliedNodeFormat":99},{"version":"22b5d13c1a4f6516b6d7983939a8afc8","impliedNodeFormat":99},{"version":"72eb493e0bdad7f4ce302f0dbcce2641","impliedNodeFormat":99},{"version":"8ea7ff3dda12c32e077979de0e96715a","impliedNodeFormat":99},{"version":"a72446394410a3b03a7944e1780db6d3","impliedNodeFormat":99},{"version":"ded14b0e81fbadee602d95eba42ff17f","impliedNodeFormat":99},{"version":"ecb00340e935f501e79ab8d899bc370e","impliedNodeFormat":99},{"version":"a087d7ff39aa2c3d8cc870d8f05110e3","impliedNodeFormat":99},{"version":"f1d1cd98c334c216129f02b5f2adf9ee","impliedNodeFormat":99},{"version":"ac9a7aeb0ced50c8f83b661dd3d07a81","impliedNodeFormat":99},{"version":"089d4dd21214ba138c00815377853c5a","impliedNodeFormat":99},{"version":"2e346c22cde3aa31556967609b18c3f1","impliedNodeFormat":99},{"version":"0c0bbfc7dc00995d89bd217b45988ebb","impliedNodeFormat":99},{"version":"3ce013a7452ce40a72df47bd8ec12c0d","impliedNodeFormat":99},{"version":"b96e5eb97d6ed420b3367ca1888799df","impliedNodeFormat":99},{"version":"fa30278ec533c6d335d9aa86c30a8e8c","impliedNodeFormat":99},{"version":"89eac0e3c015c350fe1ebac681a1a743","impliedNodeFormat":99},{"version":"34eeab91b34ead376cdf527ad00a7ca5","impliedNodeFormat":99},{"version":"c3dddbbb572f9063bc1dc3fc4a92eaf2","impliedNodeFormat":99},{"version":"78f92c2ed83abd1fad7a4bd2d60b303e","impliedNodeFormat":99},{"version":"ae7cbf0166aad0aa133e9822dc26111d","impliedNodeFormat":99},{"version":"2458cb653e64298b96bc887a530c517a","impliedNodeFormat":99},{"version":"8cdcb64a3be9d482f7122864d95a9397","impliedNodeFormat":99},{"version":"cca1fe32626ac20ce59f0cb719c8e76a","impliedNodeFormat":99},{"version":"a9132f160817b236f8ed6177f83d83f0","impliedNodeFormat":99},{"version":"c5bcd18cf7ef8e12a0b5622e135b7dd5","impliedNodeFormat":99},{"version":"e2cfa86440881bab6e1c64d446adc5e3","impliedNodeFormat":99},{"version":"1073ad741b156bbaa728b8ccc8445788","impliedNodeFormat":99},{"version":"4c8efa49ef555631b0239d6431361d61","impliedNodeFormat":99},{"version":"ab880af2d4e78f1be40ab8b6672342c4","impliedNodeFormat":99},{"version":"dd03d213f167f308786e240f22f88383","impliedNodeFormat":99},{"version":"7ae7b3c7d629106dbc4d3d9995cd61de","impliedNodeFormat":99},{"version":"5f2be2551981bd0be00d90e374b3c881","signature":"ef9e2ac95e478619051630a94576a817","impliedNodeFormat":99},{"version":"237d8f0b41051dcc16015449317a1428","signature":"7badf2175b7dcad838bb4dacd3eb070b","impliedNodeFormat":99},{"version":"c49539958acc9d447ac0c34d4f280367","signature":"f5cac20c0970dc26d6a4060bde0dc98f","impliedNodeFormat":99},{"version":"d43a44da8c8d435d704489da66ef1c7e","signature":"34de53dcd35b6528bac208f0065a3739","impliedNodeFormat":99},{"version":"4a3af51b08e9e2187bde240d604ad429","signature":"f1630ac38bb94b1ca98eb2988568b671","impliedNodeFormat":99},{"version":"c3ec6fac183072d7252e367c69ea1e17","signature":"8d95ab007c4b8d2d3ac1500a24ab11c2","impliedNodeFormat":99},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6ae4c332ecb24e76c1e47c0e21d4663d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"69ee0752d1e70c56ca160360425752a9","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf33440030f0a0fae7d1efd6c293a8d2","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9af0a7e3ef1c42cd066b9f8d365cc1ba","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7b772cebc7136c34fc77954aef70519d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9eca652586205dc5b07f9ba57b1c8500","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ec5f75939754ce94652189ec7d0d3058","affectsGlobalScope":true,"impliedNodeFormat":1},"49133c0dfbc32ab95668c3443dea49e5","85c2cf74d24d4069fac4686501a2d7e3","9f970a4ba4bb3ed6326d46b3ddab3f63","f444b82bb192c8ecc7c9a06cba5c1fba","75de66fc4824402123c0d694ccc0a085","db51f206bae5021bd84c7079251e08e9","fcd1a513c1e5802916fa602e8b8e64bc","aedc93367cdc148d7dd56ef6fd5ef308","8e2bc11d0328ba95e490a741c44a215d","d63481078bffe02fbaf6694a35815dc7","705645fe223430c696f47b708d592ca8","28d57c837c94adb42add03d499793cab","8c01a9bbae8449be21b3e018d59a74ac","44d3b7d58481743f4726cf411e667164","679024f8e9f58a112f4badf119c4d612","74d351e4ed233e82c6d74c444c1a6b86","94d8e37d28e92494f484dd9afe8f043c","79db245997e9261ae21e5f3d93e3493b","c3659054228b00c4e2a22d9ebea8b4f0","d7e5f7a0f1f883f28458f684106e7643","c2364011a80b6a9e3cc0e77895bad577","38da5c670190f4a35cbc204ca6c616bf","d95cc0eb29beed58f5ce72db21398f53","ecd53256b1ec7379c73316eaf392a69c","db5a9211b779628398011a5b8f5b8b5d","69c7bb9c3befe9ae37eed0e6a6310fee","1cba93fafccb7b2655f0e75229185e83","094ecadae30f65a82b77343dde77a666","f75df12d75dd783b03a0329b95abdb25","b438b08b2f0ed94a95a75c8990d9021b","f2becd2589591db92ab14e803eb8bdd5","8dec66ce34e6fe771e58a92b7068edc0","30f12c2660896a33bd3c3a126392c80a","0468c0ccd0ec7770b76481b165564d62","188234d616a4f50ed9b14c8f84a39f33","4c116bcf0a47ea8fbf4072f380925fa7","22111ccb71c0e95ff0796144b40eed2b","add85ec26ba695fc99c698dbec065f8c","5bfde23f96fc502b5413d772c35e1abf","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","acaa6ef6fcd5ba662929d6036121a616",{"version":"dd1cf1cc3aa21cd78b4869a44d98c6d9","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"292c9398a407b33b1d9c9812b673387a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"45df94b3c51b898624bacc2bcd6d9eb2","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7d352f71d1b1bcc12c79dd0e4597537c","affectsGlobalScope":true,"impliedNodeFormat":1},"db11b80743ed5356b81d763a708788e6","39078ea063fcaf72bd3cca7e0d13d017","f81aa09811fa65ac6f354ab0018d3c38",{"version":"282318b178d190157a4deacb14f3040a","affectsGlobalScope":true,"impliedNodeFormat":1},"aafe512c4216100fd65028f9b2afce83","54c5c3dcfdb5f7cf5fbbccfff6ead3fa",{"version":"dc14f078230582a2f8fb2138bfcf4f85","affectsGlobalScope":true,"impliedNodeFormat":1},"b2b472cd0bf0f8d5f022e00ca1c401f4","370d966b810b687a9e58851208cb3d4c","39b3089f3df8d14e0f2ddac0479872d9","cc7a57e86f908c313649aea8d90377e1","5c271f10d8a9b9a1206bc82a4fe5b84d","fbe31979333ec391d8b59e8f42236e8e","6751c8c175fac6bbe7b935582cdfdca7",{"version":"a3f111d2a29b6cdd04fc4b41aa560c86","affectsGlobalScope":true,"impliedNodeFormat":1},"5f4ac576bcdc670a8489c881b23a2b17","a500e7362abeae2d2f1fefea525dc869","02a1ccf1ef65bfbf65865ac4ce346974","d589d01c82f6793f20d2f5c838462e3d","dbe700f7f1fa52fd220c7ee2c6617ebc","579675a2c3b0f8c532a82ad9cbd5d384","b2e8f93606aeb2dee2a4cc9272c56973",{"version":"a8e5d3e42303570b1114b6cd9ef9f38a","affectsGlobalScope":true,"impliedNodeFormat":1},"0003c8459d069181cc4856724fcf2832","c9053dbbe4fa2853f2d3f73b9a2fee81","4e458316a6083cbd2bba2fd29f674dd5",{"version":"3cccee1f2c106192d18ac4e08119f872","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"057189402e597cd50262b082723f21ff","affectsGlobalScope":true,"impliedNodeFormat":1},"6b26581aa2587701d570206a0db8c9ee","88a29e2aac8082c0910733950159e1ca","10282f14d9c2a5cbf3bcf2b1c8cebeaf","0f80958d77cd6301b43c1d7904e3e4bc","3bdc645524ab0d2f6795d3a008833bd7","deb50b47eb75a5566532a763fa1324fa","6e61cd09c2e15845909de3ed59a00b37","3e4ffe5f2733e0589b2612bd86f6cec3","c8206d568b54e5ea06131963eecd576a","15878f4f50c2e562c0768eb735c2aed5",{"version":"cb8f7733bee3d973c152a75fad9f6da6","affectsGlobalScope":true,"impliedNodeFormat":1},"dd404118e8bd70aff746f7d31e46270b","a0fa4618173795c74b488178ea77f951",{"version":"6b8649a280031d9e86955db721cfad87","affectsGlobalScope":true,"impliedNodeFormat":1},"4bc8f13c472858fb74f77388c0c5d885","75ab229142dad0ca2ff14d02d52f11f9","c72d2516d1e8910caca33c4dff75fcd4","f0231f36cb7117fbe9271ff19ef0f5f4",{"version":"8a642eed2a45ac7028479b6089a04842","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1e6ddb6b86dc5d86e75ba797d5324346","affectsGlobalScope":true,"impliedNodeFormat":1},"701aef085585b152042aa216b06bb4b8","e9bc5b1de50e48fa9857b64091673883","9268959cff1006c82e6abbd73824db97",{"version":"8f1c048bd5761910f5ea340fe4d792cd","affectsGlobalScope":true,"impliedNodeFormat":1},"6b1f3649b0eabeaca20c778fcc5f270c","eb567c7b5824aab578f75bbccf9f4b05"],"fileIdsList":[[122,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,169,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[120,121,122,123,124,125,126,127,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226],[122,169,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,169,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225],[122,134,137,140,141,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,141,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,131,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,135,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,133,134,137,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[122,131,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[122,133,137,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,128,129,130,132,136,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,146,154,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,129,135,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,163,164,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,129,132,137,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[122,128,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,131,132,133,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,156,159,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,146,147,148,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,135,137,147,149,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,136,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,129,131,137,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,141,147,149,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,141,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,135,137,140,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,129,133,137,146,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,137,156,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,149,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[122,131,137,163,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[83,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[84,85,86,87,88,89,90,91,92,93,94,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[76,86,88,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[88,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[110,111,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[108,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[101,102,103,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[95,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[76,83,95,100,104,107,109,112,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[77,78,79,80,81,82,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[70,71,72,73,74,75,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[105,106,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[96,97,98,99,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[114,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[113,114,115,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[114,116,117,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[113,114,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[113,122,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":199,"outDir":"./","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"target":10,"tsBuildInfoFile":"./tsconfig.tsbuildinfo","esModuleInterop":true},"referencedMap":[[174,1],[175,2],[176,3],[122,4],[177,5],[178,6],[179,7],[120,8],[180,9],[181,10],[182,11],[183,12],[184,13],[185,14],[186,15],[187,16],[188,17],[189,18],[190,19],[123,8],[121,8],[191,20],[192,21],[193,22],[227,23],[194,24],[195,25],[196,26],[197,27],[198,28],[199,29],[200,30],[201,31],[202,32],[203,33],[204,34],[205,35],[206,36],[207,37],[208,38],[209,39],[211,40],[210,41],[212,42],[213,43],[214,44],[215,45],[216,46],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,54],[124,8],[125,8],[126,8],[127,8],[170,55],[171,8],[172,8],[173,8],[225,56],[226,57],[67,8],[68,8],[13,8],[11,8],[12,8],[17,8],[16,8],[2,8],[18,8],[19,8],[20,8],[21,8],[22,8],[23,8],[24,8],[25,8],[3,8],[26,8],[27,8],[4,8],[28,8],[32,8],[29,8],[30,8],[31,8],[33,8],[34,8],[35,8],[5,8],[36,8],[37,8],[38,8],[39,8],[6,8],[43,8],[40,8],[41,8],[42,8],[44,8],[7,8],[45,8],[50,8],[51,8],[46,8],[47,8],[48,8],[49,8],[8,8],[55,8],[52,8],[53,8],[54,8],[56,8],[9,8],[57,8],[58,8],[59,8],[61,8],[60,8],[62,8],[63,8],[10,8],[69,8],[64,8],[65,8],[1,8],[66,8],[15,8],[14,8],[146,58],[158,59],[143,60],[159,8],[168,61],[134,62],[135,63],[133,8],[167,64],[162,65],[166,66],[137,67],[155,68],[136,69],[165,70],[131,71],[132,65],[138,59],[139,8],[145,66],[142,59],[129,72],[169,73],[160,74],[149,75],[148,59],[150,76],[153,77],[147,78],[151,79],[163,64],[140,80],[141,81],[154,82],[130,8],[157,83],[156,59],[144,81],[152,84],[161,8],[128,8],[164,85],[84,86],[85,8],[89,8],[88,8],[95,87],[87,8],[90,8],[94,88],[93,8],[86,8],[91,89],[92,8],[110,8],[111,8],[112,90],[109,91],[108,8],[101,8],[104,92],[102,93],[103,8],[113,94],[81,8],[77,8],[78,8],[83,95],[79,8],[82,8],[80,8],[70,8],[72,8],[74,8],[76,96],[75,8],[73,8],[71,8],[105,8],[107,97],[106,8],[96,8],[99,8],[100,98],[98,8],[97,8],[115,99],[116,100],[118,101],[117,100],[119,102],[114,103]],"latestChangedDtsFile":"./testUtils.d.ts"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PlainDataValue } from '@step-wise/js-utils';
|
|
2
|
+
export type SerializableDomainObject = {
|
|
3
|
+
type: string;
|
|
4
|
+
};
|
|
5
|
+
export type SerializedData = PlainDataValue;
|
|
6
|
+
export type SerializedDomainObject<Type extends string = string, SerializedValue extends SerializedData = SerializedData> = {
|
|
7
|
+
type: Type;
|
|
8
|
+
value: SerializedValue;
|
|
9
|
+
};
|
|
10
|
+
export type SerializationAdapter<TDomainValue extends SerializableDomainObject, TSerialized extends SerializedDomainObject> = {
|
|
11
|
+
isDomainValue: (value: unknown) => value is TDomainValue;
|
|
12
|
+
isSerializedValue: (value: unknown) => value is TSerialized;
|
|
13
|
+
serialize: (domainValue: TDomainValue) => TSerialized;
|
|
14
|
+
deserialize: (serializedValue: TSerialized) => TDomainValue;
|
|
15
|
+
};
|
|
16
|
+
export type AnySerializationAdapter = {
|
|
17
|
+
isDomainValue: (value: unknown) => boolean;
|
|
18
|
+
isSerializedValue: (value: unknown) => boolean;
|
|
19
|
+
serialize: (domainValue: never) => SerializedDomainObject;
|
|
20
|
+
deserialize: (serializedValue: never) => SerializableDomainObject;
|
|
21
|
+
};
|
|
22
|
+
export type SerializationAdapters = Record<string, AnySerializationAdapter>;
|
|
23
|
+
export declare function isSerializationAdapter(value: unknown): value is AnySerializationAdapter;
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAMzD,MAAM,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAA;AAE3C,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,eAAe,SAAS,cAAc,GAAG,cAAc,IAAI;IAC3H,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,eAAe,CAAA;CACtB,CAAA;AAMD,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,wBAAwB,EAAE,WAAW,SAAS,sBAAsB,IAAI;IAC7H,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,YAAY,CAAA;IACxD,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,WAAW,CAAA;IAC3D,SAAS,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,WAAW,CAAA;IACrD,WAAW,EAAE,CAAC,eAAe,EAAE,WAAW,KAAK,YAAY,CAAA;CAC3D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACrC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IAC1C,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IAC9C,SAAS,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,sBAAsB,CAAA;IACzD,WAAW,EAAE,CAAC,eAAe,EAAE,KAAK,KAAK,wBAAwB,CAAA;CACjE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAM3E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAEvF"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { hasOnlyKeys, isPlainObject } from '@step-wise/js-utils';
|
|
2
|
+
/*
|
|
3
|
+
* Guard functions.
|
|
4
|
+
*/
|
|
5
|
+
export function isSerializationAdapter(value) {
|
|
6
|
+
return isPlainObject(value) && hasOnlyKeys(value, ['isDomainValue', 'isSerializedValue', 'serialize', 'deserialize']) && typeof value.isDomainValue === 'function' && typeof value.isSerializedValue === 'function' && typeof value.serialize === 'function' && typeof value.deserialize === 'function';
|
|
7
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@step-wise/serialization",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Serialize nested application data containing custom domain objects into JSON-safe values.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/HildoBijl/stepwise.git",
|
|
9
|
+
"directory": "packages/serialization"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/HildoBijl/stepwise/issues"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/HildoBijl/stepwise/tree/main/packages/serialization#readme",
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=24.12.0"
|
|
20
|
+
},
|
|
21
|
+
"type": "module",
|
|
22
|
+
"main": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"README.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc -b tsconfig.build.json",
|
|
37
|
+
"watch": "tsc -b tsconfig.build.json --watch",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@step-wise/js-utils": "^0.1.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"vitest": "^5.0.0"
|
|
46
|
+
}
|
|
47
|
+
}
|