@dipscope/type-manager 4.1.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 +27 -0
- package/README.md +140 -320
- package/alias.d.ts +3 -7
- package/custom-data.d.ts +3 -8
- package/{core/default-value-resolver.d.ts → default-value-resolver.d.ts} +0 -0
- package/default-value.d.ts +4 -8
- package/discriminant.d.ts +5 -8
- package/discriminator.d.ts +3 -8
- package/factories/type-factory.d.ts +3 -3
- package/factory.d.ts +15 -8
- package/functions/get-own-reflect-metadata.d.ts +9 -0
- package/functions/get-reflect-metadata.d.ts +10 -0
- package/functions/get-words.d.ts +8 -0
- package/functions/index.d.ts +16 -0
- package/functions/is-arrow-function.d.ts +8 -0
- package/functions/is-ctor-function.d.ts +8 -0
- package/functions/is-data-view.d.ts +8 -0
- package/functions/is-float-32-array.d.ts +8 -0
- package/functions/is-float-64-array.d.ts +8 -0
- package/functions/is-int-16-array.d.ts +8 -0
- package/functions/is-int-32-array.d.ts +8 -0
- package/functions/is-int-8-array.d.ts +8 -0
- package/functions/is-uint-16-array.d.ts +8 -0
- package/functions/is-uint-32-array.d.ts +8 -0
- package/functions/is-uint-8-array.d.ts +8 -0
- package/functions/is-uint-8-clamped-array.d.ts +8 -0
- package/functions/name-of.d.ts +8 -0
- package/{core/generic-argument.d.ts → generic-argument.d.ts} +0 -0
- package/{core/generic-metadata.d.ts → generic-metadata.d.ts} +0 -0
- package/index.d.ts +39 -9
- package/index.js +1 -2
- package/{core/inject-index.d.ts → inject-index.d.ts} +0 -0
- package/{core/inject-metadata.d.ts → inject-metadata.d.ts} +17 -1
- package/{core/inject-options.d.ts → inject-options.d.ts} +2 -2
- package/inject.d.ts +2 -2
- package/injector.d.ts +13 -8
- package/injectors/singleton-injector.d.ts +2 -2
- package/{core/log-level.d.ts → log-level.d.ts} +0 -0
- package/{core/log.d.ts → log.d.ts} +41 -11
- package/{core/metadata.d.ts → metadata.d.ts} +0 -0
- package/naming-convention.d.ts +12 -8
- package/naming-conventions/camel-case-naming-convention.d.ts +1 -1
- package/naming-conventions/flat-case-naming-convention.d.ts +1 -1
- package/naming-conventions/flat-upper-case-naming-convention.d.ts +1 -1
- package/naming-conventions/kebab-case-naming-convention.d.ts +1 -1
- package/naming-conventions/kebab-upper-case-naming-convention.d.ts +1 -1
- package/naming-conventions/pascal-case-naming-convention.d.ts +1 -1
- package/naming-conventions/snake-case-naming-convention.d.ts +1 -1
- package/naming-conventions/snake-upper-case-naming-convention.d.ts +1 -1
- package/package.json +15 -8
- package/property-metadata.d.ts +309 -0
- package/{core/property-name.d.ts → property-name.d.ts} +0 -0
- package/{core/property-options.d.ts → property-options.d.ts} +18 -2
- package/property.d.ts +3 -2
- package/{core/reference-callback.d.ts → reference-callback.d.ts} +1 -1
- package/reference-handler.d.ts +28 -8
- package/reference-handlers/direct-reference-handler.d.ts +11 -12
- package/reference-handlers/lead-reference-handler.d.ts +11 -12
- package/reference-handlers/path-reference-handler.d.ts +11 -12
- package/{core/reference-key.d.ts → reference-key.d.ts} +0 -0
- package/reference-value-getter.d.ts +7 -0
- package/reference-value-setter.d.ts +7 -0
- package/{core/reference-value.d.ts → reference-value.d.ts} +0 -0
- package/serializer-context-options.d.ts +43 -0
- package/{core/serializer-context.d.ts → serializer-context.d.ts} +153 -39
- package/serializer.d.ts +24 -8
- package/serializers/array-buffer-serializer.d.ts +3 -3
- package/serializers/array-serializer.d.ts +3 -3
- package/serializers/boolean-serializer.d.ts +3 -3
- package/serializers/data-view-serializer.d.ts +3 -3
- package/serializers/date-serializer.d.ts +3 -3
- package/serializers/float-32-array-serializer.d.ts +3 -3
- package/serializers/float-64-array-serializer.d.ts +3 -3
- package/serializers/int-16-array-serializer.d.ts +3 -3
- package/serializers/int-32-array-serializer.d.ts +3 -3
- package/serializers/int-8-array-serializer.d.ts +3 -3
- package/serializers/map-serializer.d.ts +3 -3
- package/serializers/number-serializer.d.ts +3 -3
- package/serializers/set-serializer.d.ts +3 -3
- package/serializers/string-serializer.d.ts +3 -3
- package/serializers/type-serializer.d.ts +3 -3
- package/serializers/uint-16-array-serializer.d.ts +3 -3
- package/serializers/uint-32-array-serializer.d.ts +3 -3
- package/serializers/uint-8-array-serializer.d.ts +3 -3
- package/serializers/uint-8-clamped-array-serializer.d.ts +3 -3
- package/{core/type-abstraction.d.ts → type-abstraction.d.ts} +0 -0
- package/{core/type-argument.d.ts → type-argument.d.ts} +0 -0
- package/{core/type-context-entry.d.ts → type-context-entry.d.ts} +0 -0
- package/{core/type-context.d.ts → type-context.d.ts} +0 -0
- package/{core/type-ctor.d.ts → type-ctor.d.ts} +0 -0
- package/{core/type-fn.d.ts → type-fn.d.ts} +0 -0
- package/{core/type-like.d.ts → type-like.d.ts} +0 -0
- package/type-manager-options.d.ts +5 -5
- package/type-manager.d.ts +10 -10
- package/{core/type-metadata-resolver.d.ts → type-metadata-resolver.d.ts} +0 -0
- package/{core/type-metadata-symbol.d.ts → type-metadata-symbol.d.ts} +0 -0
- package/{core/type-metadata.d.ts → type-metadata.d.ts} +183 -15
- package/{core/type-name.d.ts → type-name.d.ts} +0 -0
- package/{core/type-options-base.d.ts → type-options-base.d.ts} +9 -19
- package/{core/type-options.d.ts → type-options.d.ts} +28 -2
- package/{core/type-resolver.d.ts → type-resolver.d.ts} +0 -0
- package/type.d.ts +1 -1
- package/core/alias.d.ts +0 -6
- package/core/custom-data.d.ts +0 -6
- package/core/default-value.d.ts +0 -7
- package/core/discriminant.d.ts +0 -8
- package/core/discriminator.d.ts +0 -6
- package/core/factory.d.ts +0 -18
- package/core/fn.d.ts +0 -316
- package/core/index.d.ts +0 -44
- package/core/index.js +0 -2
- package/core/index.js.map +0 -1
- package/core/injector.d.ts +0 -16
- package/core/naming-convention.d.ts +0 -15
- package/core/property-metadata.d.ts +0 -178
- package/core/reference-handler.d.ts +0 -32
- package/core/reference-value-initializer.d.ts +0 -8
- package/core/reference-value-resolver.d.ts +0 -8
- package/core/serializer-context-options.d.ts +0 -63
- package/core/serializer.d.ts +0 -27
- package/deserializable.d.ts +0 -11
- package/deserialized-default-value.d.ts +0 -11
- package/factories/index.js +0 -2
- package/factories/index.js.map +0 -1
- package/index.js.map +0 -1
- package/injectable.d.ts +0 -10
- package/injectors/index.js +0 -2
- package/injectors/index.js.map +0 -1
- package/naming-conventions/index.js +0 -2
- package/naming-conventions/index.js.map +0 -1
- package/preserve-discriminator.d.ts +0 -10
- package/reference-handlers/index.js +0 -2
- package/reference-handlers/index.js.map +0 -1
- package/serializable.d.ts +0 -11
- package/serialized-default-value.d.ts +0 -11
- package/serializers/index.js +0 -2
- package/serializers/index.js.map +0 -1
- package/type-and-property.d.ts +0 -12
- package/use-default-value.d.ts +0 -10
- package/use-implicit-conversion.d.ts +0 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* String serializer.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* Type serializer.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* Uint 16 array serializer.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* Uint 32 array serializer.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* Uint 8 array serializer.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Serializer } from '../
|
|
2
|
-
import { SerializerContext } from '../
|
|
3
|
-
import { TypeLike } from '../
|
|
1
|
+
import { Serializer } from '../serializer';
|
|
2
|
+
import { SerializerContext } from '../serializer-context';
|
|
3
|
+
import { TypeLike } from '../type-like';
|
|
4
4
|
/**
|
|
5
5
|
* Uint 8 clamped array serializer.
|
|
6
6
|
*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { TypeFn } from './
|
|
2
|
-
import { TypeOptions } from './
|
|
3
|
-
import { TypeOptionsBase } from './
|
|
1
|
+
import { TypeFn } from './type-fn';
|
|
2
|
+
import { TypeOptions } from './type-options';
|
|
3
|
+
import { TypeOptionsBase } from './type-options-base';
|
|
4
4
|
/**
|
|
5
5
|
* Type manager options.
|
|
6
6
|
*
|
|
7
7
|
* @type {TypeManagerOptions}
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export declare type TypeManagerOptions = {
|
|
10
10
|
/**
|
|
11
11
|
* Global type options shared among all types.
|
|
12
12
|
*
|
|
@@ -21,4 +21,4 @@ export interface TypeManagerOptions {
|
|
|
21
21
|
* @type {Map<TypeFn<any>, TypeOptions<any>>}
|
|
22
22
|
*/
|
|
23
23
|
typeOptionsMap?: Map<TypeFn<any>, TypeOptions<any>>;
|
|
24
|
-
}
|
|
24
|
+
};
|
package/type-manager.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Alias } from './
|
|
2
|
-
import { TypeFn } from './
|
|
3
|
-
import { TypeLike } from './
|
|
4
|
-
import { TypeMetadata } from './core/type-metadata';
|
|
5
|
-
import { TypeOptions } from './core/type-options';
|
|
6
|
-
import { TypeOptionsBase } from './core/type-options-base';
|
|
1
|
+
import { Alias } from './alias';
|
|
2
|
+
import { TypeFn } from './type-fn';
|
|
3
|
+
import { TypeLike } from './type-like';
|
|
7
4
|
import { TypeManagerOptions } from './type-manager-options';
|
|
5
|
+
import { TypeMetadata } from './type-metadata';
|
|
6
|
+
import { TypeOptions } from './type-options';
|
|
7
|
+
import { TypeOptionsBase } from './type-options-base';
|
|
8
8
|
/**
|
|
9
9
|
* Type manager class for external usage.
|
|
10
10
|
*
|
|
@@ -165,7 +165,7 @@ export declare class TypeManager<TType> {
|
|
|
165
165
|
*
|
|
166
166
|
* @returns {TypeLike<any>} Object created from provided input value or undefined.
|
|
167
167
|
*/
|
|
168
|
-
static serialize<TType>(typeFn: TypeFn<TType>, x: undefined):
|
|
168
|
+
static serialize<TType>(typeFn: TypeFn<TType>, x: undefined): any;
|
|
169
169
|
static serialize<TType>(typeFn: TypeFn<TType>, x: null): null;
|
|
170
170
|
static serialize<TType>(typeFn: TypeFn<TType>, x: Array<TType>): Array<any>;
|
|
171
171
|
static serialize<TType>(typeFn: TypeFn<TType>, x: TType): any;
|
|
@@ -177,7 +177,7 @@ export declare class TypeManager<TType> {
|
|
|
177
177
|
*
|
|
178
178
|
* @returns {TypeLike<TType>} Type created from provided input value or undefined.
|
|
179
179
|
*/
|
|
180
|
-
static deserialize<TType>(typeFn: TypeFn<TType>, x: undefined):
|
|
180
|
+
static deserialize<TType>(typeFn: TypeFn<TType>, x: undefined): any;
|
|
181
181
|
static deserialize<TType>(typeFn: TypeFn<TType>, x: null): null;
|
|
182
182
|
static deserialize<TType>(typeFn: TypeFn<TType>, x: Array<any>): Array<TType>;
|
|
183
183
|
static deserialize<TType>(typeFn: TypeFn<TType>, x: any): TType;
|
|
@@ -294,7 +294,7 @@ export declare class TypeManager<TType> {
|
|
|
294
294
|
*
|
|
295
295
|
* @returns {TypeLike<any>} Object created from provided input value or undefined.
|
|
296
296
|
*/
|
|
297
|
-
serialize(x: undefined):
|
|
297
|
+
serialize(x: undefined): any;
|
|
298
298
|
serialize(x: null): null;
|
|
299
299
|
serialize(x: Array<TType>): Array<any>;
|
|
300
300
|
serialize(x: TType): any;
|
|
@@ -305,7 +305,7 @@ export declare class TypeManager<TType> {
|
|
|
305
305
|
*
|
|
306
306
|
* @returns {TypeLike<TType>} Type created from provided input value or undefined.
|
|
307
307
|
*/
|
|
308
|
-
deserialize(x: undefined):
|
|
308
|
+
deserialize(x: undefined): any;
|
|
309
309
|
deserialize(x: null): null;
|
|
310
310
|
deserialize(x: Array<any>): Array<TType>;
|
|
311
311
|
deserialize(x: any): TType;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Alias } from './alias';
|
|
2
2
|
import { CustomData } from './custom-data';
|
|
3
|
+
import { DefaultValue } from './default-value';
|
|
3
4
|
import { Discriminant } from './discriminant';
|
|
4
5
|
import { Discriminator } from './discriminator';
|
|
5
6
|
import { Factory } from './factory';
|
|
@@ -28,12 +29,6 @@ import { TypeOptionsBase } from './type-options-base';
|
|
|
28
29
|
* @type {TypeMetadata<TType>}
|
|
29
30
|
*/
|
|
30
31
|
export declare class TypeMetadata<TType> extends Metadata {
|
|
31
|
-
/**
|
|
32
|
-
* Parent type metadata.
|
|
33
|
-
*
|
|
34
|
-
* @type {TypeMetadata<any>}
|
|
35
|
-
*/
|
|
36
|
-
readonly parentTypeMetadata?: TypeMetadata<any>;
|
|
37
32
|
/**
|
|
38
33
|
* Type name.
|
|
39
34
|
*
|
|
@@ -48,6 +43,12 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
48
43
|
* @type {TypeFn<TType>}
|
|
49
44
|
*/
|
|
50
45
|
readonly typeFn: TypeFn<TType>;
|
|
46
|
+
/**
|
|
47
|
+
* Type function map for types with aliases.
|
|
48
|
+
*
|
|
49
|
+
* @type {Map<Alias, TypeFn<any>>}
|
|
50
|
+
*/
|
|
51
|
+
readonly typeFnMap: Map<Alias, TypeFn<any>>;
|
|
51
52
|
/**
|
|
52
53
|
* Type options used by default.
|
|
53
54
|
*
|
|
@@ -61,11 +62,11 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
61
62
|
*/
|
|
62
63
|
readonly typeOptions: TypeOptions<TType>;
|
|
63
64
|
/**
|
|
64
|
-
* Children type
|
|
65
|
+
* Children type metadata map.
|
|
65
66
|
*
|
|
66
67
|
* @type {Map<TypeFn<TType>, TypeMetadata<any>>}
|
|
67
68
|
*/
|
|
68
|
-
readonly
|
|
69
|
+
readonly childrenTypeMetadataMap: Map<TypeFn<any>, TypeMetadata<any>>;
|
|
69
70
|
/**
|
|
70
71
|
* Discriminant map.
|
|
71
72
|
*
|
|
@@ -84,16 +85,23 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
84
85
|
* @type {Map<InjectIndex, InjectMetadata<TType, any>>}
|
|
85
86
|
*/
|
|
86
87
|
readonly injectMetadataMap: Map<InjectIndex, InjectMetadata<TType, any>>;
|
|
88
|
+
/**
|
|
89
|
+
* Parent type metadata.
|
|
90
|
+
*
|
|
91
|
+
* @type {TypeMetadata<any>}
|
|
92
|
+
*/
|
|
93
|
+
readonly parentTypeMetadata?: TypeMetadata<any>;
|
|
87
94
|
/**
|
|
88
95
|
* Constructor.
|
|
89
96
|
*
|
|
90
97
|
* @param {TypeMetadataResolver<any>} typeMetadataResolver Type metadata resolver.
|
|
91
98
|
* @param {TypeFn<any>} typeFn Type function.
|
|
99
|
+
* @param {Map<Alias, TypeFn<any>>} typeFnMap Type function map.
|
|
92
100
|
* @param {TypeOptionsBase<TType>} typeOptionsBase Type options used by default.
|
|
93
101
|
* @param {TypeOptions<TType>} typeOptions Type options.
|
|
94
102
|
* @param {TypeMetadata<any>} parentTypeMetadata Parent type metadata.
|
|
95
103
|
*/
|
|
96
|
-
constructor(typeMetadataResolver: TypeMetadataResolver<any>, typeFn: TypeFn<TType>, typeOptionsBase: TypeOptionsBase<TType>, typeOptions: TypeOptions<TType>, parentTypeMetadata?: TypeMetadata<any>);
|
|
104
|
+
constructor(typeMetadataResolver: TypeMetadataResolver<any>, typeFn: TypeFn<TType>, typeFnMap: Map<Alias, TypeFn<any>>, typeOptionsBase: TypeOptionsBase<TType>, typeOptions: TypeOptions<TType>, parentTypeMetadata?: TypeMetadata<any>);
|
|
97
105
|
/**
|
|
98
106
|
* Gets alias.
|
|
99
107
|
*
|
|
@@ -106,12 +114,24 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
106
114
|
* @returns {CustomData} Custom data.
|
|
107
115
|
*/
|
|
108
116
|
get customData(): CustomData;
|
|
117
|
+
/**
|
|
118
|
+
* Gets serialized null value.
|
|
119
|
+
*
|
|
120
|
+
* @returns {any|undefined} Resolved serialized null value or undefined.
|
|
121
|
+
*/
|
|
122
|
+
get serializedNullValue(): any | undefined;
|
|
109
123
|
/**
|
|
110
124
|
* Gets serialized default value.
|
|
111
125
|
*
|
|
112
126
|
* @returns {any|undefined} Resolved serialized default value or undefined.
|
|
113
127
|
*/
|
|
114
128
|
get serializedDefaultValue(): any | undefined;
|
|
129
|
+
/**
|
|
130
|
+
* Gets deserialized null value.
|
|
131
|
+
*
|
|
132
|
+
* @returns {any|undefined} Resolved deserialized null value or undefined.
|
|
133
|
+
*/
|
|
134
|
+
get deserializedNullValue(): any | undefined;
|
|
115
135
|
/**
|
|
116
136
|
* Gets deserialized default value.
|
|
117
137
|
*
|
|
@@ -196,6 +216,12 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
196
216
|
* @returns {Serializer<TType>} Serializer.
|
|
197
217
|
*/
|
|
198
218
|
get serializer(): Serializer<TType>;
|
|
219
|
+
/**
|
|
220
|
+
* Gets indicator if null value should be preserved.
|
|
221
|
+
*
|
|
222
|
+
* @returns {boolean} True when null value should be preserved. False otherwise.
|
|
223
|
+
*/
|
|
224
|
+
get preserveNull(): boolean;
|
|
199
225
|
/**
|
|
200
226
|
* Gets indicator if default value should be used.
|
|
201
227
|
*
|
|
@@ -234,6 +260,68 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
234
260
|
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
235
261
|
*/
|
|
236
262
|
reflectInjectMetadata(): TypeMetadata<TType>;
|
|
263
|
+
/**
|
|
264
|
+
* Configures alias.
|
|
265
|
+
*
|
|
266
|
+
* @param {Alias} alias Alias.
|
|
267
|
+
*
|
|
268
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
269
|
+
*/
|
|
270
|
+
configureAlias(alias: Alias): TypeMetadata<TType>;
|
|
271
|
+
/**
|
|
272
|
+
* Releases alias.
|
|
273
|
+
*
|
|
274
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
275
|
+
*/
|
|
276
|
+
private releaseAlias;
|
|
277
|
+
/**
|
|
278
|
+
* Configures custom data.
|
|
279
|
+
*
|
|
280
|
+
* @param {CustomData} customData Custom data.
|
|
281
|
+
*
|
|
282
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
283
|
+
*/
|
|
284
|
+
configureCustomData(customData: CustomData): TypeMetadata<TType>;
|
|
285
|
+
/**
|
|
286
|
+
* Configures default value.
|
|
287
|
+
*
|
|
288
|
+
* @param {DefaultValue} defaultValue Default value.
|
|
289
|
+
*
|
|
290
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
291
|
+
*/
|
|
292
|
+
configureDefaultValue(defaultValue: DefaultValue): TypeMetadata<TType>;
|
|
293
|
+
/**
|
|
294
|
+
* Configures serialized default value.
|
|
295
|
+
*
|
|
296
|
+
* @param {DefaultValue} serializedDefaultValue Serialized default value.
|
|
297
|
+
*
|
|
298
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
299
|
+
*/
|
|
300
|
+
configureSerializedDefaultValue(serializedDefaultValue: DefaultValue): TypeMetadata<TType>;
|
|
301
|
+
/**
|
|
302
|
+
* Configures deserialized default value.
|
|
303
|
+
*
|
|
304
|
+
* @param {DefaultValue} deserializedDefaultValue Deserialized default value.
|
|
305
|
+
*
|
|
306
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
307
|
+
*/
|
|
308
|
+
configureDeserializedDefaultValue(deserializedDefaultValue: DefaultValue): TypeMetadata<TType>;
|
|
309
|
+
/**
|
|
310
|
+
* Configures discriminator.
|
|
311
|
+
*
|
|
312
|
+
* @param {Discriminator} discriminator Discriminator.
|
|
313
|
+
*
|
|
314
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
315
|
+
*/
|
|
316
|
+
configureDiscriminator(discriminator: Discriminator): TypeMetadata<TType>;
|
|
317
|
+
/**
|
|
318
|
+
* Configures discriminant.
|
|
319
|
+
*
|
|
320
|
+
* @param {Discriminant} discriminant Discriminant.
|
|
321
|
+
*
|
|
322
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
323
|
+
*/
|
|
324
|
+
configureDiscriminant(discriminant: Discriminant): TypeMetadata<TType>;
|
|
237
325
|
/**
|
|
238
326
|
* Provides discriminant.
|
|
239
327
|
*
|
|
@@ -244,21 +332,101 @@ export declare class TypeMetadata<TType> extends Metadata {
|
|
|
244
332
|
*/
|
|
245
333
|
private provideDiscriminant;
|
|
246
334
|
/**
|
|
247
|
-
* Configures
|
|
335
|
+
* Configures factory.
|
|
248
336
|
*
|
|
249
|
-
* @param {
|
|
337
|
+
* @param {Factory} factory Factory.
|
|
250
338
|
*
|
|
251
339
|
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
252
340
|
*/
|
|
253
|
-
|
|
341
|
+
configureFactory(factory: Factory): TypeMetadata<TType>;
|
|
254
342
|
/**
|
|
255
|
-
* Configures
|
|
343
|
+
* Configures generic arguments.
|
|
256
344
|
*
|
|
257
|
-
* @param {
|
|
345
|
+
* @param {Array<GenericArgument<any>>|undefined} genericArguments Generic arguments.
|
|
346
|
+
*
|
|
347
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
348
|
+
*/
|
|
349
|
+
configureGenericArguments(genericArguments: Array<GenericArgument<any>> | undefined): TypeMetadata<TType>;
|
|
350
|
+
/**
|
|
351
|
+
* Configures injectable.
|
|
352
|
+
*
|
|
353
|
+
* @param {boolean} injectable Injectable.
|
|
354
|
+
*
|
|
355
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
356
|
+
*/
|
|
357
|
+
configureInjectable(injectable: boolean): TypeMetadata<TType>;
|
|
358
|
+
/**
|
|
359
|
+
* Configures injector.
|
|
360
|
+
*
|
|
361
|
+
* @param {Injector} injector Injector.
|
|
362
|
+
*
|
|
363
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
364
|
+
*/
|
|
365
|
+
configureInjector(injector: Injector): TypeMetadata<TType>;
|
|
366
|
+
/**
|
|
367
|
+
* Configures log.
|
|
368
|
+
*
|
|
369
|
+
* @param {Log} log Log.
|
|
370
|
+
*
|
|
371
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
372
|
+
*/
|
|
373
|
+
configureLog(log: Log): TypeMetadata<TType>;
|
|
374
|
+
/**
|
|
375
|
+
* Configures naming convention.
|
|
376
|
+
*
|
|
377
|
+
* @param {NamingConvention} namingConvention Naming convention.
|
|
378
|
+
*
|
|
379
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
380
|
+
*/
|
|
381
|
+
configureNamingConvention(namingConvention: NamingConvention): TypeMetadata<TType>;
|
|
382
|
+
/**
|
|
383
|
+
* Configures preserve discriminator.
|
|
384
|
+
*
|
|
385
|
+
* @param {boolean} preserveDiscriminator Preserve discriminator.
|
|
386
|
+
*
|
|
387
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
388
|
+
*/
|
|
389
|
+
configurePreserveDiscriminator(preserveDiscriminator: boolean): TypeMetadata<TType>;
|
|
390
|
+
/**
|
|
391
|
+
* Configures reference handler.
|
|
392
|
+
*
|
|
393
|
+
* @param {ReferenceHandler} referenceHandler Reference handler.
|
|
394
|
+
*
|
|
395
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
396
|
+
*/
|
|
397
|
+
configureReferenceHandler(referenceHandler: ReferenceHandler): TypeMetadata<TType>;
|
|
398
|
+
/**
|
|
399
|
+
* Configures serializer.
|
|
400
|
+
*
|
|
401
|
+
* @param {Serializer<TType>} serializer Serializer.
|
|
402
|
+
*
|
|
403
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
404
|
+
*/
|
|
405
|
+
configureSerializer(serializer: Serializer<TType>): TypeMetadata<TType>;
|
|
406
|
+
/**
|
|
407
|
+
* Configures preserve null.
|
|
408
|
+
*
|
|
409
|
+
* @param {boolean} preserveNull Preserve null.
|
|
410
|
+
*
|
|
411
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
412
|
+
*/
|
|
413
|
+
configurePreserveNull(preserveNull: boolean): TypeMetadata<TType>;
|
|
414
|
+
/**
|
|
415
|
+
* Configures use default value.
|
|
416
|
+
*
|
|
417
|
+
* @param {boolean} useDefaultValue Use default value.
|
|
418
|
+
*
|
|
419
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
420
|
+
*/
|
|
421
|
+
configureUseDefaultValue(useDefaultValue: boolean): TypeMetadata<TType>;
|
|
422
|
+
/**
|
|
423
|
+
* Configures use implicit convertion.
|
|
424
|
+
*
|
|
425
|
+
* @param {boolean} useImplicitConversion Use implicit convertion.
|
|
258
426
|
*
|
|
259
427
|
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
260
428
|
*/
|
|
261
|
-
|
|
429
|
+
configureUseImplicitConversion(useImplicitConversion: boolean): TypeMetadata<TType>;
|
|
262
430
|
/**
|
|
263
431
|
* Configures certain property metadata.
|
|
264
432
|
*
|
|
File without changes
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CustomData } from './custom-data';
|
|
2
|
-
import { DefaultValue } from './default-value';
|
|
3
2
|
import { Discriminator } from './discriminator';
|
|
4
3
|
import { Factory } from './factory';
|
|
5
4
|
import { Injector } from './injector';
|
|
@@ -12,7 +11,7 @@ import { Serializer } from './serializer';
|
|
|
12
11
|
*
|
|
13
12
|
* @type {TypeOptionsBase<TType>}
|
|
14
13
|
*/
|
|
15
|
-
export
|
|
14
|
+
export declare type TypeOptionsBase<TType> = {
|
|
16
15
|
/**
|
|
17
16
|
* Custom developer data.
|
|
18
17
|
*
|
|
@@ -25,22 +24,6 @@ export interface TypeOptionsBase<TType> {
|
|
|
25
24
|
* @type {Discriminator}
|
|
26
25
|
*/
|
|
27
26
|
discriminator: Discriminator;
|
|
28
|
-
/**
|
|
29
|
-
* Serialized default value for undefined ones.
|
|
30
|
-
*
|
|
31
|
-
* Used only when use default value option is true.
|
|
32
|
-
*
|
|
33
|
-
* @type {DefaultValue}
|
|
34
|
-
*/
|
|
35
|
-
serializedDefaultValue?: DefaultValue;
|
|
36
|
-
/**
|
|
37
|
-
* Deserialized default value for undefined ones.
|
|
38
|
-
*
|
|
39
|
-
* Used only when use default value option is true.
|
|
40
|
-
*
|
|
41
|
-
* @type {DefaultValue}
|
|
42
|
-
*/
|
|
43
|
-
deserializedDefaultValue?: DefaultValue;
|
|
44
27
|
/**
|
|
45
28
|
* Factory used to build instances of type.
|
|
46
29
|
*
|
|
@@ -84,6 +67,13 @@ export interface TypeOptionsBase<TType> {
|
|
|
84
67
|
* @type {Serializer<TType>}
|
|
85
68
|
*/
|
|
86
69
|
serializer: Serializer<TType>;
|
|
70
|
+
/**
|
|
71
|
+
* If set to true then null values are preserved. Otherwise they will be
|
|
72
|
+
* treated as undefined.
|
|
73
|
+
*
|
|
74
|
+
* @type {boolean}
|
|
75
|
+
*/
|
|
76
|
+
preserveNull: boolean;
|
|
87
77
|
/**
|
|
88
78
|
* Use default value assignment for undefined values?
|
|
89
79
|
*
|
|
@@ -97,4 +87,4 @@ export interface TypeOptionsBase<TType> {
|
|
|
97
87
|
* @type {boolean}
|
|
98
88
|
*/
|
|
99
89
|
useImplicitConversion: boolean;
|
|
100
|
-
}
|
|
90
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Alias } from './alias';
|
|
2
|
+
import { DefaultValue } from './default-value';
|
|
2
3
|
import { Discriminant } from './discriminant';
|
|
3
4
|
import { GenericArgument } from './generic-argument';
|
|
4
5
|
import { InjectIndex } from './inject-index';
|
|
@@ -11,7 +12,7 @@ import { TypeOptionsBase } from './type-options-base';
|
|
|
11
12
|
*
|
|
12
13
|
* @type {TypeOptions<TType>}
|
|
13
14
|
*/
|
|
14
|
-
export
|
|
15
|
+
export declare type TypeOptions<TType> = Partial<TypeOptionsBase<TType>> & {
|
|
15
16
|
/**
|
|
16
17
|
* Type alias.
|
|
17
18
|
*
|
|
@@ -20,6 +21,31 @@ export interface TypeOptions<TType> extends Partial<TypeOptionsBase<TType>> {
|
|
|
20
21
|
* @type {Alias}
|
|
21
22
|
*/
|
|
22
23
|
alias?: Alias;
|
|
24
|
+
/**
|
|
25
|
+
* Default value for undefined ones.
|
|
26
|
+
*
|
|
27
|
+
* Used to set both serialized and deserialized default values and
|
|
28
|
+
* only when use default value option is true.
|
|
29
|
+
*
|
|
30
|
+
* @type {DefaultValue}
|
|
31
|
+
*/
|
|
32
|
+
defaultValue?: DefaultValue;
|
|
33
|
+
/**
|
|
34
|
+
* Serialized default value for undefined ones.
|
|
35
|
+
*
|
|
36
|
+
* Used only when use default value option is true.
|
|
37
|
+
*
|
|
38
|
+
* @type {DefaultValue}
|
|
39
|
+
*/
|
|
40
|
+
serializedDefaultValue?: DefaultValue;
|
|
41
|
+
/**
|
|
42
|
+
* Deserialized default value for undefined ones.
|
|
43
|
+
*
|
|
44
|
+
* Used only when use default value option is true.
|
|
45
|
+
*
|
|
46
|
+
* @type {DefaultValue}
|
|
47
|
+
*/
|
|
48
|
+
deserializedDefaultValue?: DefaultValue;
|
|
23
49
|
/**
|
|
24
50
|
* Discriminant.
|
|
25
51
|
*
|
|
@@ -50,4 +76,4 @@ export interface TypeOptions<TType> extends Partial<TypeOptionsBase<TType>> {
|
|
|
50
76
|
* @type {Map<PropertyName, PropertyOptions<any>>}
|
|
51
77
|
*/
|
|
52
78
|
propertyOptionsMap?: Map<PropertyName, PropertyOptions<any>>;
|
|
53
|
-
}
|
|
79
|
+
};
|
|
File without changes
|
package/type.d.ts
CHANGED
package/core/alias.d.ts
DELETED
package/core/custom-data.d.ts
DELETED
package/core/default-value.d.ts
DELETED
package/core/discriminant.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { TypeName } from './type-name';
|
|
2
|
-
/**
|
|
3
|
-
* Discriminant intends to describe a unique key for a polymorphic type which will be
|
|
4
|
-
* used during serialization and deserialization. Can be a type name, any string or number.
|
|
5
|
-
*
|
|
6
|
-
* @type {Discriminant}
|
|
7
|
-
*/
|
|
8
|
-
export declare type Discriminant = TypeName | string | number;
|
package/core/discriminator.d.ts
DELETED
package/core/factory.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injector } from './injector';
|
|
2
|
-
import { TypeContext } from './type-context';
|
|
3
|
-
/**
|
|
4
|
-
* Factory for building types.
|
|
5
|
-
*
|
|
6
|
-
* @type {Factory}
|
|
7
|
-
*/
|
|
8
|
-
export interface Factory {
|
|
9
|
-
/**
|
|
10
|
-
* Builds type described by provided type context.
|
|
11
|
-
*
|
|
12
|
-
* @param {TypeContext<TType>} typeContext Type context.
|
|
13
|
-
* @param {Injector} injector Injector.
|
|
14
|
-
*
|
|
15
|
-
* @returns {TType} Type instance described by provided type context.
|
|
16
|
-
*/
|
|
17
|
-
build<TType>(typeContext: TypeContext<TType>, injector: Injector): TType;
|
|
18
|
-
}
|