@dipscope/type-manager 5.0.0-beta.1 → 5.0.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/CHANGELOG.md +224 -224
- package/LICENSE.md +201 -201
- package/README.md +1857 -1846
- package/alias.d.ts +6 -6
- package/custom-data.d.ts +6 -6
- package/default-value-resolver.d.ts +7 -7
- package/default-value.d.ts +7 -7
- package/discriminant.d.ts +8 -8
- package/discriminator.d.ts +6 -6
- package/factories/index.d.ts +1 -1
- package/factories/type-factory.d.ts +19 -19
- package/factory.d.ts +18 -18
- package/functions/get-own-reflect-metadata.d.ts +9 -9
- package/functions/get-reflect-metadata.d.ts +10 -10
- package/functions/get-words.d.ts +8 -8
- package/functions/index.d.ts +16 -16
- package/functions/is-arrow-function.d.ts +8 -8
- package/functions/is-ctor-function.d.ts +8 -8
- package/functions/is-data-view.d.ts +8 -8
- package/functions/is-float-32-array.d.ts +8 -8
- package/functions/is-float-64-array.d.ts +8 -8
- package/functions/is-int-16-array.d.ts +8 -8
- package/functions/is-int-32-array.d.ts +8 -8
- package/functions/is-int-8-array.d.ts +8 -8
- package/functions/is-uint-16-array.d.ts +8 -8
- package/functions/is-uint-32-array.d.ts +8 -8
- package/functions/is-uint-8-array.d.ts +8 -8
- package/functions/is-uint-8-clamped-array.d.ts +8 -8
- package/functions/name-of.d.ts +8 -8
- package/generic-argument.d.ts +7 -7
- package/generic-metadata.d.ts +7 -7
- package/index.d.ts +54 -54
- package/index.js +1 -1
- package/inject-index.d.ts +6 -6
- package/inject-metadata.d.ts +88 -72
- package/inject-options.d.ts +22 -22
- package/inject.d.ts +10 -10
- package/injector.d.ts +16 -16
- package/injectors/index.d.ts +1 -1
- package/injectors/singleton-injector.d.ts +31 -31
- package/log-level.d.ts +11 -11
- package/log.d.ts +95 -95
- package/metadata.d.ts +42 -42
- package/naming-convention.d.ts +15 -15
- package/naming-conventions/camel-case-naming-convention.d.ts +26 -26
- package/naming-conventions/flat-case-naming-convention.d.ts +25 -25
- package/naming-conventions/flat-upper-case-naming-convention.d.ts +25 -25
- package/naming-conventions/index.d.ts +8 -8
- package/naming-conventions/kebab-case-naming-convention.d.ts +26 -26
- package/naming-conventions/kebab-upper-case-naming-convention.d.ts +26 -26
- package/naming-conventions/pascal-case-naming-convention.d.ts +26 -26
- package/naming-conventions/snake-case-naming-convention.d.ts +26 -26
- package/naming-conventions/snake-upper-case-naming-convention.d.ts +26 -26
- package/package.json +55 -51
- package/property-metadata.d.ts +309 -196
- package/property-name.d.ts +6 -6
- package/property-options.d.ts +116 -116
- package/property.d.ts +13 -13
- package/reference-callback.d.ts +7 -7
- package/reference-handler.d.ts +31 -31
- package/reference-handlers/direct-reference-handler.d.ts +32 -32
- package/reference-handlers/index.d.ts +3 -3
- package/reference-handlers/lead-reference-handler.d.ts +33 -33
- package/reference-handlers/path-reference-handler.d.ts +55 -55
- package/reference-key.d.ts +6 -6
- package/reference-value-getter.d.ts +7 -7
- package/reference-value-setter.d.ts +7 -7
- package/reference-value.d.ts +6 -6
- package/serializer-context-options.d.ts +43 -43
- package/serializer-context.d.ts +410 -362
- package/serializer.d.ts +27 -27
- package/serializers/array-buffer-serializer.d.ts +28 -28
- package/serializers/array-serializer.d.ts +28 -28
- package/serializers/boolean-serializer.d.ts +37 -37
- package/serializers/data-view-serializer.d.ts +28 -28
- package/serializers/date-serializer.d.ts +28 -28
- package/serializers/float-32-array-serializer.d.ts +28 -28
- package/serializers/float-64-array-serializer.d.ts +28 -28
- package/serializers/index.d.ts +19 -19
- package/serializers/int-16-array-serializer.d.ts +28 -28
- package/serializers/int-32-array-serializer.d.ts +28 -28
- package/serializers/int-8-array-serializer.d.ts +28 -28
- package/serializers/map-serializer.d.ts +28 -40
- package/serializers/number-serializer.d.ts +37 -37
- package/serializers/set-serializer.d.ts +28 -28
- package/serializers/string-serializer.d.ts +37 -37
- package/serializers/type-serializer.d.ts +28 -28
- package/serializers/uint-16-array-serializer.d.ts +28 -28
- package/serializers/uint-32-array-serializer.d.ts +28 -28
- package/serializers/uint-8-array-serializer.d.ts +28 -28
- package/serializers/uint-8-clamped-array-serializer.d.ts +28 -28
- package/type-abstraction.d.ts +8 -8
- package/type-argument.d.ts +9 -9
- package/type-context-entry.d.ts +36 -36
- package/type-context.d.ts +58 -58
- package/type-ctor.d.ts +6 -6
- package/type-fn.d.ts +8 -8
- package/type-like.d.ts +7 -7
- package/type-manager-options.d.ts +24 -24
- package/type-manager.d.ts +331 -331
- package/type-metadata-resolver.d.ts +8 -8
- package/type-metadata-symbol.d.ts +6 -6
- package/type-metadata.d.ts +472 -322
- package/type-name.d.ts +6 -6
- package/type-options-base.d.ts +90 -90
- package/type-options.d.ts +79 -79
- package/type-resolver.d.ts +7 -7
- package/type.d.ts +9 -9
package/property-options.d.ts
CHANGED
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import { Alias } from './alias';
|
|
2
|
-
import { CustomData } from './custom-data';
|
|
3
|
-
import { DefaultValue } from './default-value';
|
|
4
|
-
import { GenericArgument } from './generic-argument';
|
|
5
|
-
import { NamingConvention } from './naming-convention';
|
|
6
|
-
import { ReferenceHandler } from './reference-handler';
|
|
7
|
-
import { Serializer } from './serializer';
|
|
8
|
-
import { TypeArgument } from './type-argument';
|
|
9
|
-
/**
|
|
10
|
-
* Property options.
|
|
11
|
-
*
|
|
12
|
-
* @type {PropertyOptions<TType>}
|
|
13
|
-
*/
|
|
14
|
-
export declare type PropertyOptions<TType> = {
|
|
15
|
-
/**
|
|
16
|
-
* Property alias.
|
|
17
|
-
*
|
|
18
|
-
* Used if property name in object differs from declared for type.
|
|
19
|
-
*
|
|
20
|
-
* @type {Alias}
|
|
21
|
-
*/
|
|
22
|
-
alias?: Alias;
|
|
23
|
-
/**
|
|
24
|
-
* Custom developer data.
|
|
25
|
-
*
|
|
26
|
-
* @type {CustomData}
|
|
27
|
-
*/
|
|
28
|
-
customData?: CustomData;
|
|
29
|
-
/**
|
|
30
|
-
* Default value for undefined ones.
|
|
31
|
-
*
|
|
32
|
-
* Used to set both serialized and deserialized default values and
|
|
33
|
-
* only when use default value option is true.
|
|
34
|
-
*
|
|
35
|
-
* @type {DefaultValue}
|
|
36
|
-
*/
|
|
37
|
-
defaultValue?: DefaultValue;
|
|
38
|
-
/**
|
|
39
|
-
* Serialized default value for undefined ones.
|
|
40
|
-
*
|
|
41
|
-
* Used only when use default value option is true.
|
|
42
|
-
*
|
|
43
|
-
* @type {DefaultValue}
|
|
44
|
-
*/
|
|
45
|
-
serializedDefaultValue?: DefaultValue;
|
|
46
|
-
/**
|
|
47
|
-
* Deserialized default value for undefined ones.
|
|
48
|
-
*
|
|
49
|
-
* Used only when use default value option is true.
|
|
50
|
-
*
|
|
51
|
-
* @type {DefaultValue}
|
|
52
|
-
*/
|
|
53
|
-
deserializedDefaultValue?: DefaultValue;
|
|
54
|
-
/**
|
|
55
|
-
* Deserializable from object?
|
|
56
|
-
*
|
|
57
|
-
* @type {boolean}
|
|
58
|
-
*/
|
|
59
|
-
deserializable?: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Generic arguments.
|
|
62
|
-
*
|
|
63
|
-
* @type {Array<GenericArgument<any>>}
|
|
64
|
-
*/
|
|
65
|
-
genericArguments?: Array<GenericArgument<any>>;
|
|
66
|
-
/**
|
|
67
|
-
* Naming convention.
|
|
68
|
-
*
|
|
69
|
-
* @type {NamingConvention}
|
|
70
|
-
*/
|
|
71
|
-
namingConvention?: NamingConvention;
|
|
72
|
-
/**
|
|
73
|
-
* Reference handler.
|
|
74
|
-
*
|
|
75
|
-
* @type {ReferenceHandler}
|
|
76
|
-
*/
|
|
77
|
-
referenceHandler?: ReferenceHandler;
|
|
78
|
-
/**
|
|
79
|
-
* Serializable to object?
|
|
80
|
-
*
|
|
81
|
-
* @type {boolean}
|
|
82
|
-
*/
|
|
83
|
-
serializable?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* Serializer used to serialize and deserialize a property.
|
|
86
|
-
*
|
|
87
|
-
* @type {Serializer<TType>}
|
|
88
|
-
*/
|
|
89
|
-
serializer?: Serializer<TType>;
|
|
90
|
-
/**
|
|
91
|
-
* Type argument.
|
|
92
|
-
*
|
|
93
|
-
* @type {TypeArgument<TType>}
|
|
94
|
-
*/
|
|
95
|
-
typeArgument?: TypeArgument<TType>;
|
|
96
|
-
/**
|
|
97
|
-
* If set to true then null values are preserved. Otherwise they will be
|
|
98
|
-
* treated as undefined.
|
|
99
|
-
*
|
|
100
|
-
* @type {boolean}
|
|
101
|
-
*/
|
|
102
|
-
preserveNull?: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Use default value assignment for undefined values?
|
|
105
|
-
*
|
|
106
|
-
* @type {boolean}
|
|
107
|
-
*/
|
|
108
|
-
useDefaultValue?: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Use implicit conversion when provided value can be converted
|
|
111
|
-
* to the target one?
|
|
112
|
-
*
|
|
113
|
-
* @type {boolean}
|
|
114
|
-
*/
|
|
115
|
-
useImplicitConversion?: boolean;
|
|
116
|
-
};
|
|
1
|
+
import { Alias } from './alias';
|
|
2
|
+
import { CustomData } from './custom-data';
|
|
3
|
+
import { DefaultValue } from './default-value';
|
|
4
|
+
import { GenericArgument } from './generic-argument';
|
|
5
|
+
import { NamingConvention } from './naming-convention';
|
|
6
|
+
import { ReferenceHandler } from './reference-handler';
|
|
7
|
+
import { Serializer } from './serializer';
|
|
8
|
+
import { TypeArgument } from './type-argument';
|
|
9
|
+
/**
|
|
10
|
+
* Property options.
|
|
11
|
+
*
|
|
12
|
+
* @type {PropertyOptions<TType>}
|
|
13
|
+
*/
|
|
14
|
+
export declare type PropertyOptions<TType> = {
|
|
15
|
+
/**
|
|
16
|
+
* Property alias.
|
|
17
|
+
*
|
|
18
|
+
* Used if property name in object differs from declared for type.
|
|
19
|
+
*
|
|
20
|
+
* @type {Alias}
|
|
21
|
+
*/
|
|
22
|
+
alias?: Alias;
|
|
23
|
+
/**
|
|
24
|
+
* Custom developer data.
|
|
25
|
+
*
|
|
26
|
+
* @type {CustomData}
|
|
27
|
+
*/
|
|
28
|
+
customData?: CustomData;
|
|
29
|
+
/**
|
|
30
|
+
* Default value for undefined ones.
|
|
31
|
+
*
|
|
32
|
+
* Used to set both serialized and deserialized default values and
|
|
33
|
+
* only when use default value option is true.
|
|
34
|
+
*
|
|
35
|
+
* @type {DefaultValue}
|
|
36
|
+
*/
|
|
37
|
+
defaultValue?: DefaultValue;
|
|
38
|
+
/**
|
|
39
|
+
* Serialized default value for undefined ones.
|
|
40
|
+
*
|
|
41
|
+
* Used only when use default value option is true.
|
|
42
|
+
*
|
|
43
|
+
* @type {DefaultValue}
|
|
44
|
+
*/
|
|
45
|
+
serializedDefaultValue?: DefaultValue;
|
|
46
|
+
/**
|
|
47
|
+
* Deserialized default value for undefined ones.
|
|
48
|
+
*
|
|
49
|
+
* Used only when use default value option is true.
|
|
50
|
+
*
|
|
51
|
+
* @type {DefaultValue}
|
|
52
|
+
*/
|
|
53
|
+
deserializedDefaultValue?: DefaultValue;
|
|
54
|
+
/**
|
|
55
|
+
* Deserializable from object?
|
|
56
|
+
*
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
*/
|
|
59
|
+
deserializable?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Generic arguments.
|
|
62
|
+
*
|
|
63
|
+
* @type {Array<GenericArgument<any>>}
|
|
64
|
+
*/
|
|
65
|
+
genericArguments?: Array<GenericArgument<any>>;
|
|
66
|
+
/**
|
|
67
|
+
* Naming convention.
|
|
68
|
+
*
|
|
69
|
+
* @type {NamingConvention}
|
|
70
|
+
*/
|
|
71
|
+
namingConvention?: NamingConvention;
|
|
72
|
+
/**
|
|
73
|
+
* Reference handler.
|
|
74
|
+
*
|
|
75
|
+
* @type {ReferenceHandler}
|
|
76
|
+
*/
|
|
77
|
+
referenceHandler?: ReferenceHandler;
|
|
78
|
+
/**
|
|
79
|
+
* Serializable to object?
|
|
80
|
+
*
|
|
81
|
+
* @type {boolean}
|
|
82
|
+
*/
|
|
83
|
+
serializable?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Serializer used to serialize and deserialize a property.
|
|
86
|
+
*
|
|
87
|
+
* @type {Serializer<TType>}
|
|
88
|
+
*/
|
|
89
|
+
serializer?: Serializer<TType>;
|
|
90
|
+
/**
|
|
91
|
+
* Type argument.
|
|
92
|
+
*
|
|
93
|
+
* @type {TypeArgument<TType>}
|
|
94
|
+
*/
|
|
95
|
+
typeArgument?: TypeArgument<TType>;
|
|
96
|
+
/**
|
|
97
|
+
* If set to true then null values are preserved. Otherwise they will be
|
|
98
|
+
* treated as undefined.
|
|
99
|
+
*
|
|
100
|
+
* @type {boolean}
|
|
101
|
+
*/
|
|
102
|
+
preserveNull?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Use default value assignment for undefined values?
|
|
105
|
+
*
|
|
106
|
+
* @type {boolean}
|
|
107
|
+
*/
|
|
108
|
+
useDefaultValue?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Use implicit conversion when provided value can be converted
|
|
111
|
+
* to the target one?
|
|
112
|
+
*
|
|
113
|
+
* @type {boolean}
|
|
114
|
+
*/
|
|
115
|
+
useImplicitConversion?: boolean;
|
|
116
|
+
};
|
package/property.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { GenericArgument } from './generic-argument';
|
|
2
|
-
import { PropertyOptions } from './property-options';
|
|
3
|
-
import { TypeArgument } from './type-argument';
|
|
4
|
-
/**
|
|
5
|
-
* Property decorator.
|
|
6
|
-
*
|
|
7
|
-
* @param {TypeArgument<TType>|Array<GenericArgument<any>>|PropertyOptions<TType>} x Type argument, generic arguments or property options.
|
|
8
|
-
* @param {Array<GenericArgument<any>>|PropertyOptions<TType>} y Generic arguments or property options if first parameter is type argument.
|
|
9
|
-
* @param {PropertyOptions<TType>} z Property options if second parameter are generic arguments.
|
|
10
|
-
*
|
|
11
|
-
* @returns {PropertyDecorator} Property decorator.
|
|
12
|
-
*/
|
|
13
|
-
export declare function Property<TType>(x?: TypeArgument<TType> | Array<GenericArgument<any>> | PropertyOptions<TType>, y?: Array<GenericArgument<any>> | PropertyOptions<TType>, z?: PropertyOptions<TType>): PropertyDecorator;
|
|
1
|
+
import { GenericArgument } from './generic-argument';
|
|
2
|
+
import { PropertyOptions } from './property-options';
|
|
3
|
+
import { TypeArgument } from './type-argument';
|
|
4
|
+
/**
|
|
5
|
+
* Property decorator.
|
|
6
|
+
*
|
|
7
|
+
* @param {TypeArgument<TType>|Array<GenericArgument<any>>|PropertyOptions<TType>} x Type argument, generic arguments or property options.
|
|
8
|
+
* @param {Array<GenericArgument<any>>|PropertyOptions<TType>} y Generic arguments or property options if first parameter is type argument.
|
|
9
|
+
* @param {PropertyOptions<TType>} z Property options if second parameter are generic arguments.
|
|
10
|
+
*
|
|
11
|
+
* @returns {PropertyDecorator} Property decorator.
|
|
12
|
+
*/
|
|
13
|
+
export declare function Property<TType>(x?: TypeArgument<TType> | Array<GenericArgument<any>> | PropertyOptions<TType>, y?: Array<GenericArgument<any>> | PropertyOptions<TType>, z?: PropertyOptions<TType>): PropertyDecorator;
|
package/reference-callback.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference callback function which is called when circular references can be resolved for
|
|
3
|
-
* a certain object.
|
|
4
|
-
*
|
|
5
|
-
* @type {ReferenceCallback}
|
|
6
|
-
*/
|
|
7
|
-
export declare type ReferenceCallback = () => void;
|
|
1
|
+
/**
|
|
2
|
+
* Reference callback function which is called when circular references can be resolved for
|
|
3
|
+
* a certain object.
|
|
4
|
+
*
|
|
5
|
+
* @type {ReferenceCallback}
|
|
6
|
+
*/
|
|
7
|
+
export declare type ReferenceCallback = () => void;
|
package/reference-handler.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ReferenceKey } from './reference-key';
|
|
2
|
-
import { ReferenceValue } from './reference-value';
|
|
3
|
-
import { ReferenceValueGetter } from './reference-value-getter';
|
|
4
|
-
import { SerializerContext } from './serializer-context';
|
|
5
|
-
/**
|
|
6
|
-
* Reference handler to resolve object references.
|
|
7
|
-
*
|
|
8
|
-
* @type {ReferenceHandler}
|
|
9
|
-
*/
|
|
10
|
-
export interface ReferenceHandler {
|
|
11
|
-
/**
|
|
12
|
-
* Defines reference. Called during serialization.
|
|
13
|
-
*
|
|
14
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
15
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
16
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
17
|
-
*
|
|
18
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
19
|
-
*/
|
|
20
|
-
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
21
|
-
/**
|
|
22
|
-
* Restores reference. Called during deserialization.
|
|
23
|
-
*
|
|
24
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
25
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
26
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
27
|
-
*
|
|
28
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
29
|
-
*/
|
|
30
|
-
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
31
|
-
}
|
|
1
|
+
import { ReferenceKey } from './reference-key';
|
|
2
|
+
import { ReferenceValue } from './reference-value';
|
|
3
|
+
import { ReferenceValueGetter } from './reference-value-getter';
|
|
4
|
+
import { SerializerContext } from './serializer-context';
|
|
5
|
+
/**
|
|
6
|
+
* Reference handler to resolve object references.
|
|
7
|
+
*
|
|
8
|
+
* @type {ReferenceHandler}
|
|
9
|
+
*/
|
|
10
|
+
export interface ReferenceHandler {
|
|
11
|
+
/**
|
|
12
|
+
* Defines reference. Called during serialization.
|
|
13
|
+
*
|
|
14
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
15
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
16
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
17
|
+
*
|
|
18
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
19
|
+
*/
|
|
20
|
+
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
21
|
+
/**
|
|
22
|
+
* Restores reference. Called during deserialization.
|
|
23
|
+
*
|
|
24
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
25
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
26
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
27
|
+
*
|
|
28
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
29
|
+
*/
|
|
30
|
+
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
31
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
-
import { ReferenceKey } from '../reference-key';
|
|
3
|
-
import { ReferenceValue } from '../reference-value';
|
|
4
|
-
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
-
import { SerializerContext } from '../serializer-context';
|
|
6
|
-
/**
|
|
7
|
-
* Direct reference handler which preserves references as is.
|
|
8
|
-
*
|
|
9
|
-
* @type {DirectReferenceHandler}
|
|
10
|
-
*/
|
|
11
|
-
export declare class DirectReferenceHandler implements ReferenceHandler {
|
|
12
|
-
/**
|
|
13
|
-
* Defines reference. Called during serialization.
|
|
14
|
-
*
|
|
15
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
16
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
17
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
18
|
-
*
|
|
19
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
20
|
-
*/
|
|
21
|
-
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
22
|
-
/**
|
|
23
|
-
* Restores reference. Called during deserialization.
|
|
24
|
-
*
|
|
25
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
26
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
27
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
28
|
-
*
|
|
29
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
30
|
-
*/
|
|
31
|
-
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
32
|
-
}
|
|
1
|
+
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
+
import { ReferenceKey } from '../reference-key';
|
|
3
|
+
import { ReferenceValue } from '../reference-value';
|
|
4
|
+
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
+
import { SerializerContext } from '../serializer-context';
|
|
6
|
+
/**
|
|
7
|
+
* Direct reference handler which preserves references as is.
|
|
8
|
+
*
|
|
9
|
+
* @type {DirectReferenceHandler}
|
|
10
|
+
*/
|
|
11
|
+
export declare class DirectReferenceHandler implements ReferenceHandler {
|
|
12
|
+
/**
|
|
13
|
+
* Defines reference. Called during serialization.
|
|
14
|
+
*
|
|
15
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
16
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
17
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
18
|
+
*
|
|
19
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
20
|
+
*/
|
|
21
|
+
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
22
|
+
/**
|
|
23
|
+
* Restores reference. Called during deserialization.
|
|
24
|
+
*
|
|
25
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
26
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
27
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
28
|
+
*
|
|
29
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
30
|
+
*/
|
|
31
|
+
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
32
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './direct-reference-handler';
|
|
2
|
-
export * from './lead-reference-handler';
|
|
3
|
-
export * from './path-reference-handler';
|
|
1
|
+
export * from './direct-reference-handler';
|
|
2
|
+
export * from './lead-reference-handler';
|
|
3
|
+
export * from './path-reference-handler';
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
-
import { ReferenceKey } from '../reference-key';
|
|
3
|
-
import { ReferenceValue } from '../reference-value';
|
|
4
|
-
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
-
import { SerializerContext } from '../serializer-context';
|
|
6
|
-
/**
|
|
7
|
-
* Lead reference handler preserves references except circular. If circular reference is detected the it will
|
|
8
|
-
* be setted to undefined so only first occurance is handled.
|
|
9
|
-
*
|
|
10
|
-
* @type {LeadReferenceHandler}
|
|
11
|
-
*/
|
|
12
|
-
export declare class LeadReferenceHandler implements ReferenceHandler {
|
|
13
|
-
/**
|
|
14
|
-
* Defines reference. Called during serialization.
|
|
15
|
-
*
|
|
16
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
17
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
18
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
19
|
-
*
|
|
20
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
21
|
-
*/
|
|
22
|
-
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
23
|
-
/**
|
|
24
|
-
* Restores reference. Called during deserialization.
|
|
25
|
-
*
|
|
26
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
27
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
28
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
29
|
-
*
|
|
30
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
31
|
-
*/
|
|
32
|
-
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
33
|
-
}
|
|
1
|
+
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
+
import { ReferenceKey } from '../reference-key';
|
|
3
|
+
import { ReferenceValue } from '../reference-value';
|
|
4
|
+
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
+
import { SerializerContext } from '../serializer-context';
|
|
6
|
+
/**
|
|
7
|
+
* Lead reference handler preserves references except circular. If circular reference is detected the it will
|
|
8
|
+
* be setted to undefined so only first occurance is handled.
|
|
9
|
+
*
|
|
10
|
+
* @type {LeadReferenceHandler}
|
|
11
|
+
*/
|
|
12
|
+
export declare class LeadReferenceHandler implements ReferenceHandler {
|
|
13
|
+
/**
|
|
14
|
+
* Defines reference. Called during serialization.
|
|
15
|
+
*
|
|
16
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
17
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
18
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
19
|
+
*
|
|
20
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
21
|
+
*/
|
|
22
|
+
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
23
|
+
/**
|
|
24
|
+
* Restores reference. Called during deserialization.
|
|
25
|
+
*
|
|
26
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
27
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
28
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
29
|
+
*
|
|
30
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
31
|
+
*/
|
|
32
|
+
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
33
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
-
import { ReferenceKey } from '../reference-key';
|
|
3
|
-
import { ReferenceValue } from '../reference-value';
|
|
4
|
-
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
-
import { SerializerContext } from '../serializer-context';
|
|
6
|
-
/**
|
|
7
|
-
* Path reference handler preserves references using JSONPath.
|
|
8
|
-
*
|
|
9
|
-
* @type {PathReferenceHandler}
|
|
10
|
-
*/
|
|
11
|
-
export declare class PathReferenceHandler implements ReferenceHandler {
|
|
12
|
-
/**
|
|
13
|
-
* Regular expression used to get array key from a certain place of the JSONPath.
|
|
14
|
-
*
|
|
15
|
-
* @type {RegExp}
|
|
16
|
-
*/
|
|
17
|
-
private readonly arrayKeyRegExp;
|
|
18
|
-
/**
|
|
19
|
-
* Defines reference. Called during serialization.
|
|
20
|
-
*
|
|
21
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
22
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
23
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
24
|
-
*
|
|
25
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
26
|
-
*/
|
|
27
|
-
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
28
|
-
/**
|
|
29
|
-
* Restores reference. Called during deserialization.
|
|
30
|
-
*
|
|
31
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
32
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
33
|
-
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
34
|
-
*
|
|
35
|
-
* @returns {ReferenceValue} Resolved reference value.
|
|
36
|
-
*/
|
|
37
|
-
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
38
|
-
/**
|
|
39
|
-
* Defines reference target based on reference key.
|
|
40
|
-
*
|
|
41
|
-
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
42
|
-
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
43
|
-
*
|
|
44
|
-
* @returns {ReferenceKey} Reference which acts as a target key in context of JSONPath.
|
|
45
|
-
*/
|
|
46
|
-
private defineReferenceTarget;
|
|
47
|
-
/**
|
|
48
|
-
* Converts reference path to array.
|
|
49
|
-
*
|
|
50
|
-
* @param {string} referencePath Reference path.
|
|
51
|
-
*
|
|
52
|
-
* @returns {Array<string>} Array reference path.
|
|
53
|
-
*/
|
|
54
|
-
private convertReferencePathToArray;
|
|
55
|
-
}
|
|
1
|
+
import { ReferenceHandler } from '../reference-handler';
|
|
2
|
+
import { ReferenceKey } from '../reference-key';
|
|
3
|
+
import { ReferenceValue } from '../reference-value';
|
|
4
|
+
import { ReferenceValueGetter } from '../reference-value-getter';
|
|
5
|
+
import { SerializerContext } from '../serializer-context';
|
|
6
|
+
/**
|
|
7
|
+
* Path reference handler preserves references using JSONPath.
|
|
8
|
+
*
|
|
9
|
+
* @type {PathReferenceHandler}
|
|
10
|
+
*/
|
|
11
|
+
export declare class PathReferenceHandler implements ReferenceHandler {
|
|
12
|
+
/**
|
|
13
|
+
* Regular expression used to get array key from a certain place of the JSONPath.
|
|
14
|
+
*
|
|
15
|
+
* @type {RegExp}
|
|
16
|
+
*/
|
|
17
|
+
private readonly arrayKeyRegExp;
|
|
18
|
+
/**
|
|
19
|
+
* Defines reference. Called during serialization.
|
|
20
|
+
*
|
|
21
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
22
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a serializing object.
|
|
23
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
24
|
+
*
|
|
25
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
26
|
+
*/
|
|
27
|
+
define(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
28
|
+
/**
|
|
29
|
+
* Restores reference. Called during deserialization.
|
|
30
|
+
*
|
|
31
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
32
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
33
|
+
* @param {ReferenceValueGetter} referenceValueGetter Function to get a reference value when one is not yet present for a key.
|
|
34
|
+
*
|
|
35
|
+
* @returns {ReferenceValue} Resolved reference value.
|
|
36
|
+
*/
|
|
37
|
+
restore(serializerContext: SerializerContext<any>, referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
|
|
38
|
+
/**
|
|
39
|
+
* Defines reference target based on reference key.
|
|
40
|
+
*
|
|
41
|
+
* @param {SerializerContext<any>} serializerContext Serializer context.
|
|
42
|
+
* @param {ReferenceKey} referenceKey Reference which acts as a key. This is basically a deserializing object.
|
|
43
|
+
*
|
|
44
|
+
* @returns {ReferenceKey} Reference which acts as a target key in context of JSONPath.
|
|
45
|
+
*/
|
|
46
|
+
private defineReferenceTarget;
|
|
47
|
+
/**
|
|
48
|
+
* Converts reference path to array.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} referencePath Reference path.
|
|
51
|
+
*
|
|
52
|
+
* @returns {Array<string>} Array reference path.
|
|
53
|
+
*/
|
|
54
|
+
private convertReferencePathToArray;
|
|
55
|
+
}
|
package/reference-key.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference key is an object which identifies unique reference value.
|
|
3
|
-
*
|
|
4
|
-
* @type {ReferenceKey}
|
|
5
|
-
*/
|
|
6
|
-
export declare type ReferenceKey = Record<string, any>;
|
|
1
|
+
/**
|
|
2
|
+
* Reference key is an object which identifies unique reference value.
|
|
3
|
+
*
|
|
4
|
+
* @type {ReferenceKey}
|
|
5
|
+
*/
|
|
6
|
+
export declare type ReferenceKey = Record<string, any>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReferenceValue } from './reference-value';
|
|
2
|
-
/**
|
|
3
|
-
* Callback to get a reference value when one is not yet present for a reference key.
|
|
4
|
-
*
|
|
5
|
-
* @type {ReferenceValueGetter}
|
|
6
|
-
*/
|
|
7
|
-
export declare type ReferenceValueGetter = () => ReferenceValue;
|
|
1
|
+
import { ReferenceValue } from './reference-value';
|
|
2
|
+
/**
|
|
3
|
+
* Callback to get a reference value when one is not yet present for a reference key.
|
|
4
|
+
*
|
|
5
|
+
* @type {ReferenceValueGetter}
|
|
6
|
+
*/
|
|
7
|
+
export declare type ReferenceValueGetter = () => ReferenceValue;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReferenceValue } from './reference-value';
|
|
2
|
-
/**
|
|
3
|
-
* Callback to set a reference value when one may be resolved for a reference key.
|
|
4
|
-
*
|
|
5
|
-
* @type {ReferenceValueSetter}
|
|
6
|
-
*/
|
|
7
|
-
export declare type ReferenceValueSetter = (referenceValue: ReferenceValue) => void;
|
|
1
|
+
import { ReferenceValue } from './reference-value';
|
|
2
|
+
/**
|
|
3
|
+
* Callback to set a reference value when one may be resolved for a reference key.
|
|
4
|
+
*
|
|
5
|
+
* @type {ReferenceValueSetter}
|
|
6
|
+
*/
|
|
7
|
+
export declare type ReferenceValueSetter = (referenceValue: ReferenceValue) => void;
|
package/reference-value.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference value is any value connected to the reference key.
|
|
3
|
-
*
|
|
4
|
-
* @type {ReferenceValue}
|
|
5
|
-
*/
|
|
6
|
-
export declare type ReferenceValue = any;
|
|
1
|
+
/**
|
|
2
|
+
* Reference value is any value connected to the reference key.
|
|
3
|
+
*
|
|
4
|
+
* @type {ReferenceValue}
|
|
5
|
+
*/
|
|
6
|
+
export declare type ReferenceValue = any;
|