@dipscope/type-manager 4.1.0 → 4.1.1
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 +197 -197
- package/{LICENSE.txt → LICENSE.md} +201 -201
- package/README.md +2037 -2020
- package/alias.d.ts +10 -10
- package/core/alias.d.ts +6 -6
- package/core/custom-data.d.ts +6 -6
- package/core/default-value-resolver.d.ts +7 -7
- package/core/default-value.d.ts +7 -7
- package/core/discriminant.d.ts +8 -8
- package/core/discriminator.d.ts +6 -6
- package/core/factory.d.ts +18 -18
- package/core/fn.d.ts +316 -316
- package/core/generic-argument.d.ts +7 -7
- package/core/generic-metadata.d.ts +7 -7
- package/core/index.d.ts +44 -44
- package/core/index.js +1 -1
- package/core/index.js.map +1 -0
- package/core/inject-index.d.ts +6 -6
- package/core/inject-metadata.d.ts +72 -72
- package/core/inject-options.d.ts +22 -22
- package/core/injector.d.ts +16 -16
- package/core/log-level.d.ts +11 -11
- package/core/log.d.ts +65 -65
- package/core/metadata.d.ts +42 -42
- package/core/naming-convention.d.ts +15 -15
- package/core/property-metadata.d.ts +178 -178
- package/core/property-name.d.ts +6 -6
- package/core/property-options.d.ts +100 -100
- package/core/reference-callback.d.ts +7 -7
- package/core/reference-handler.d.ts +32 -32
- package/core/reference-key.d.ts +6 -6
- package/core/reference-value-initializer.d.ts +8 -8
- package/core/reference-value-resolver.d.ts +8 -8
- package/core/reference-value.d.ts +6 -6
- package/core/serializer-context-options.d.ts +63 -63
- package/core/serializer-context.d.ts +296 -296
- package/core/serializer.d.ts +27 -27
- package/core/type-abstraction.d.ts +8 -8
- package/core/type-argument.d.ts +9 -9
- package/core/type-context-entry.d.ts +36 -36
- package/core/type-context.d.ts +58 -58
- package/core/type-ctor.d.ts +6 -6
- package/core/type-fn.d.ts +8 -8
- package/core/type-like.d.ts +7 -7
- package/core/type-metadata-resolver.d.ts +8 -8
- package/core/type-metadata-symbol.d.ts +6 -6
- package/core/type-metadata.d.ts +304 -304
- package/core/type-name.d.ts +6 -6
- package/core/type-options-base.d.ts +100 -100
- package/core/type-options.d.ts +53 -53
- package/core/type-resolver.d.ts +7 -7
- package/custom-data.d.ts +11 -11
- package/default-value.d.ts +11 -11
- package/deserializable.d.ts +11 -11
- package/deserialized-default-value.d.ts +11 -11
- package/discriminant.d.ts +11 -11
- package/discriminator.d.ts +11 -11
- package/factories/index.d.ts +1 -1
- package/factories/index.js +1 -1
- package/factories/index.js.map +1 -0
- package/factories/type-factory.d.ts +19 -19
- package/factory.d.ts +11 -11
- package/index.d.ts +24 -24
- package/index.js +1 -1
- package/index.js.map +1 -0
- package/inject.d.ts +10 -10
- package/injectable.d.ts +10 -10
- package/injector.d.ts +11 -11
- package/injectors/index.d.ts +1 -1
- package/injectors/index.js +1 -1
- package/injectors/index.js.map +1 -0
- package/injectors/singleton-injector.d.ts +31 -31
- package/naming-convention.d.ts +11 -11
- 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/index.js +1 -1
- package/naming-conventions/index.js.map +1 -0
- 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 +48 -48
- package/preserve-discriminator.d.ts +10 -10
- package/property.d.ts +12 -12
- package/reference-handler.d.ts +11 -11
- package/reference-handlers/direct-reference-handler.d.ts +33 -33
- package/reference-handlers/index.d.ts +3 -3
- package/reference-handlers/index.js +1 -1
- package/reference-handlers/index.js.map +1 -0
- package/reference-handlers/lead-reference-handler.d.ts +34 -34
- package/reference-handlers/path-reference-handler.d.ts +56 -56
- package/serializable.d.ts +11 -11
- package/serialized-default-value.d.ts +11 -11
- package/serializer.d.ts +11 -11
- 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/index.js +1 -1
- package/serializers/index.js.map +1 -0
- 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 -28
- 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-and-property.d.ts +12 -12
- package/type-manager-options.d.ts +24 -24
- package/type-manager.d.ts +331 -331
- package/type.d.ts +9 -9
- package/use-default-value.d.ts +10 -10
- package/use-implicit-conversion.d.ts +10 -10
package/core/type-metadata.d.ts
CHANGED
|
@@ -1,304 +1,304 @@
|
|
|
1
|
-
import { Alias } from './alias';
|
|
2
|
-
import { CustomData } from './custom-data';
|
|
3
|
-
import { Discriminant } from './discriminant';
|
|
4
|
-
import { Discriminator } from './discriminator';
|
|
5
|
-
import { Factory } from './factory';
|
|
6
|
-
import { GenericArgument } from './generic-argument';
|
|
7
|
-
import { GenericMetadata } from './generic-metadata';
|
|
8
|
-
import { InjectIndex } from './inject-index';
|
|
9
|
-
import { InjectMetadata } from './inject-metadata';
|
|
10
|
-
import { InjectOptions } from './inject-options';
|
|
11
|
-
import { Injector } from './injector';
|
|
12
|
-
import { Log } from './log';
|
|
13
|
-
import { Metadata } from './metadata';
|
|
14
|
-
import { NamingConvention } from './naming-convention';
|
|
15
|
-
import { PropertyMetadata } from './property-metadata';
|
|
16
|
-
import { PropertyName } from './property-name';
|
|
17
|
-
import { PropertyOptions } from './property-options';
|
|
18
|
-
import { ReferenceHandler } from './reference-handler';
|
|
19
|
-
import { Serializer } from './serializer';
|
|
20
|
-
import { TypeFn } from './type-fn';
|
|
21
|
-
import { TypeMetadataResolver } from './type-metadata-resolver';
|
|
22
|
-
import { TypeName } from './type-name';
|
|
23
|
-
import { TypeOptions } from './type-options';
|
|
24
|
-
import { TypeOptionsBase } from './type-options-base';
|
|
25
|
-
/**
|
|
26
|
-
* Main class used to describe a certain type.
|
|
27
|
-
*
|
|
28
|
-
* @type {TypeMetadata<TType>}
|
|
29
|
-
*/
|
|
30
|
-
export declare class TypeMetadata<TType> extends Metadata {
|
|
31
|
-
/**
|
|
32
|
-
* Parent type metadata.
|
|
33
|
-
*
|
|
34
|
-
* @type {TypeMetadata<any>}
|
|
35
|
-
*/
|
|
36
|
-
readonly parentTypeMetadata?: TypeMetadata<any>;
|
|
37
|
-
/**
|
|
38
|
-
* Type name.
|
|
39
|
-
*
|
|
40
|
-
* Defined at runtime based on the constructor function.
|
|
41
|
-
*
|
|
42
|
-
* @type {TypeName}
|
|
43
|
-
*/
|
|
44
|
-
readonly typeName: TypeName;
|
|
45
|
-
/**
|
|
46
|
-
* Type function.
|
|
47
|
-
*
|
|
48
|
-
* @type {TypeFn<TType>}
|
|
49
|
-
*/
|
|
50
|
-
readonly typeFn: TypeFn<TType>;
|
|
51
|
-
/**
|
|
52
|
-
* Type options used by default.
|
|
53
|
-
*
|
|
54
|
-
* @type {TypeOptionsBase<TType>}
|
|
55
|
-
*/
|
|
56
|
-
readonly typeOptionsBase: TypeOptionsBase<TType>;
|
|
57
|
-
/**
|
|
58
|
-
* Type options.
|
|
59
|
-
*
|
|
60
|
-
* @type {TypeOptions<TType>}
|
|
61
|
-
*/
|
|
62
|
-
readonly typeOptions: TypeOptions<TType>;
|
|
63
|
-
/**
|
|
64
|
-
* Children type metadatas.
|
|
65
|
-
*
|
|
66
|
-
* @type {Map<TypeFn<TType>, TypeMetadata<any>>}
|
|
67
|
-
*/
|
|
68
|
-
readonly childrenTypeMetadatas: Map<TypeFn<any>, TypeMetadata<any>>;
|
|
69
|
-
/**
|
|
70
|
-
* Discriminant map.
|
|
71
|
-
*
|
|
72
|
-
* @type {Map<TypeFn<any>, Discriminant>}
|
|
73
|
-
*/
|
|
74
|
-
readonly discriminantMap: Map<TypeFn<any>, Discriminant>;
|
|
75
|
-
/**
|
|
76
|
-
* Properties defined for a type.
|
|
77
|
-
*
|
|
78
|
-
* @type {Map<PropertyName, PropertyMetadata<TType, any>>}
|
|
79
|
-
*/
|
|
80
|
-
readonly propertyMetadataMap: Map<PropertyName, PropertyMetadata<TType, any>>;
|
|
81
|
-
/**
|
|
82
|
-
* Injections defined for a type.
|
|
83
|
-
*
|
|
84
|
-
* @type {Map<InjectIndex, InjectMetadata<TType, any>>}
|
|
85
|
-
*/
|
|
86
|
-
readonly injectMetadataMap: Map<InjectIndex, InjectMetadata<TType, any>>;
|
|
87
|
-
/**
|
|
88
|
-
* Constructor.
|
|
89
|
-
*
|
|
90
|
-
* @param {TypeMetadataResolver<any>} typeMetadataResolver Type metadata resolver.
|
|
91
|
-
* @param {TypeFn<any>} typeFn Type function.
|
|
92
|
-
* @param {TypeOptionsBase<TType>} typeOptionsBase Type options used by default.
|
|
93
|
-
* @param {TypeOptions<TType>} typeOptions Type options.
|
|
94
|
-
* @param {TypeMetadata<any>} parentTypeMetadata Parent type metadata.
|
|
95
|
-
*/
|
|
96
|
-
constructor(typeMetadataResolver: TypeMetadataResolver<any>, typeFn: TypeFn<TType>, typeOptionsBase: TypeOptionsBase<TType>, typeOptions: TypeOptions<TType>, parentTypeMetadata?: TypeMetadata<any>);
|
|
97
|
-
/**
|
|
98
|
-
* Gets alias.
|
|
99
|
-
*
|
|
100
|
-
* @returns {Alias|undefined} Alias or undefined.
|
|
101
|
-
*/
|
|
102
|
-
get alias(): Alias | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Gets custom data.
|
|
105
|
-
*
|
|
106
|
-
* @returns {CustomData} Custom data.
|
|
107
|
-
*/
|
|
108
|
-
get customData(): CustomData;
|
|
109
|
-
/**
|
|
110
|
-
* Gets serialized default value.
|
|
111
|
-
*
|
|
112
|
-
* @returns {any|undefined} Resolved serialized default value or undefined.
|
|
113
|
-
*/
|
|
114
|
-
get serializedDefaultValue(): any | undefined;
|
|
115
|
-
/**
|
|
116
|
-
* Gets deserialized default value.
|
|
117
|
-
*
|
|
118
|
-
* @returns {any|undefined} Resolved deserialized default value or undefined.
|
|
119
|
-
*/
|
|
120
|
-
get deserializedDefaultValue(): any | undefined;
|
|
121
|
-
/**
|
|
122
|
-
* Gets discriminant.
|
|
123
|
-
*
|
|
124
|
-
* @returns {Discriminant} Discriminant.
|
|
125
|
-
*/
|
|
126
|
-
get discriminant(): Discriminant;
|
|
127
|
-
/**
|
|
128
|
-
* Gets discriminator.
|
|
129
|
-
*
|
|
130
|
-
* @returns {Discriminator} Discriminator.
|
|
131
|
-
*/
|
|
132
|
-
get discriminator(): Discriminator;
|
|
133
|
-
/**
|
|
134
|
-
* Gets factory.
|
|
135
|
-
*
|
|
136
|
-
* @returns {Factory} Factory.
|
|
137
|
-
*/
|
|
138
|
-
get factory(): Factory;
|
|
139
|
-
/**
|
|
140
|
-
* Gets generic arguments.
|
|
141
|
-
*
|
|
142
|
-
* @returns {Array<GenericArgument<any>>|undefined} Generic arguments or undefined.
|
|
143
|
-
*/
|
|
144
|
-
get genericArguments(): Array<GenericArgument<any>> | undefined;
|
|
145
|
-
/**
|
|
146
|
-
* Gets generic metadatas.
|
|
147
|
-
*
|
|
148
|
-
* @returns {Array<GenericMetadata<any>>|undefined} Generic metadatas.
|
|
149
|
-
*/
|
|
150
|
-
get genericMetadatas(): Array<GenericMetadata<any>> | undefined;
|
|
151
|
-
/**
|
|
152
|
-
* Gets injectable value.
|
|
153
|
-
*
|
|
154
|
-
* @returns {boolean|undefined} Injectable indicator or undefined.
|
|
155
|
-
*/
|
|
156
|
-
get injectable(): boolean | undefined;
|
|
157
|
-
/**
|
|
158
|
-
* Gets injector.
|
|
159
|
-
*
|
|
160
|
-
* @returns {Injector} Injector.
|
|
161
|
-
*/
|
|
162
|
-
get injector(): Injector;
|
|
163
|
-
/**
|
|
164
|
-
* Gets log.
|
|
165
|
-
*
|
|
166
|
-
* @returns {Log} Log instance.
|
|
167
|
-
*/
|
|
168
|
-
get log(): Log;
|
|
169
|
-
/**
|
|
170
|
-
* Gets naming convention.
|
|
171
|
-
*
|
|
172
|
-
* @returns {NamingConvention|undefined} Naming convention or undefined.
|
|
173
|
-
*/
|
|
174
|
-
get namingConvention(): NamingConvention | undefined;
|
|
175
|
-
/**
|
|
176
|
-
* Gets indicator if current type metadata is polymorphic.
|
|
177
|
-
*
|
|
178
|
-
* @returns {boolean} True when type metadata is polymorphic. False otherwise.
|
|
179
|
-
*/
|
|
180
|
-
get polymorphic(): boolean;
|
|
181
|
-
/**
|
|
182
|
-
* Gets indicator if discriminator should be preserved.
|
|
183
|
-
*
|
|
184
|
-
* @returns {boolean} True when discriminator should be preserved. False otherwise.
|
|
185
|
-
*/
|
|
186
|
-
get preserveDiscriminator(): boolean;
|
|
187
|
-
/**
|
|
188
|
-
* Gets reference handler.
|
|
189
|
-
*
|
|
190
|
-
* @returns {ReferenceHandler} Reference handler.
|
|
191
|
-
*/
|
|
192
|
-
get referenceHandler(): ReferenceHandler;
|
|
193
|
-
/**
|
|
194
|
-
* Gets serializer.
|
|
195
|
-
*
|
|
196
|
-
* @returns {Serializer<TType>} Serializer.
|
|
197
|
-
*/
|
|
198
|
-
get serializer(): Serializer<TType>;
|
|
199
|
-
/**
|
|
200
|
-
* Gets indicator if default value should be used.
|
|
201
|
-
*
|
|
202
|
-
* @returns {boolean} True when type should use default value. False otherwise.
|
|
203
|
-
*/
|
|
204
|
-
get useDefaultValue(): boolean;
|
|
205
|
-
/**
|
|
206
|
-
* Gets indicator if implicit conversion should be used.
|
|
207
|
-
*
|
|
208
|
-
* @returns {boolean} True when type should use implicit conversion. False otherwise.
|
|
209
|
-
*/
|
|
210
|
-
get useImplicitConversion(): boolean;
|
|
211
|
-
/**
|
|
212
|
-
* Gets property options map.
|
|
213
|
-
*
|
|
214
|
-
* @returns {Map<PropertyName, PropertyOptions<any>>} Property options map.
|
|
215
|
-
*/
|
|
216
|
-
get propertyOptionsMap(): Map<PropertyName, PropertyOptions<any>>;
|
|
217
|
-
/**
|
|
218
|
-
* Gets inject options map.
|
|
219
|
-
*
|
|
220
|
-
* @returns {Map<InjectIndex, InjectOptions<any>>} Inject options map.
|
|
221
|
-
*/
|
|
222
|
-
get injectOptionsMap(): Map<InjectIndex, InjectOptions<any>>;
|
|
223
|
-
/**
|
|
224
|
-
* Derives parent type metadata properties.
|
|
225
|
-
*
|
|
226
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
227
|
-
*/
|
|
228
|
-
private deriveParentTypeMetadataProperties;
|
|
229
|
-
/**
|
|
230
|
-
* Reflects inject metadata.
|
|
231
|
-
*
|
|
232
|
-
* Used to configure inject metadata based on reflect metadata as inject decorators may be omitted.
|
|
233
|
-
*
|
|
234
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
235
|
-
*/
|
|
236
|
-
reflectInjectMetadata(): TypeMetadata<TType>;
|
|
237
|
-
/**
|
|
238
|
-
* Provides discriminant.
|
|
239
|
-
*
|
|
240
|
-
* @param {TypeFn<any>} typeFn Type function.
|
|
241
|
-
* @param {Discriminant} discriminant Discriminant.
|
|
242
|
-
*
|
|
243
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
244
|
-
*/
|
|
245
|
-
private provideDiscriminant;
|
|
246
|
-
/**
|
|
247
|
-
* Configures discriminant.
|
|
248
|
-
*
|
|
249
|
-
* @param {Discriminant} discriminant Discriminant.
|
|
250
|
-
*
|
|
251
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
252
|
-
*/
|
|
253
|
-
private configureDiscriminant;
|
|
254
|
-
/**
|
|
255
|
-
* Configures custom data.
|
|
256
|
-
*
|
|
257
|
-
* @param {CustomData} customData Custom data.
|
|
258
|
-
*
|
|
259
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
260
|
-
*/
|
|
261
|
-
private configureCustomData;
|
|
262
|
-
/**
|
|
263
|
-
* Configures certain property metadata.
|
|
264
|
-
*
|
|
265
|
-
* @param {PropertyName} propertyName Property name.
|
|
266
|
-
* @param {PropertyOptions<TPropertyType>} propertyOptions Property options.
|
|
267
|
-
*
|
|
268
|
-
* @returns {PropertyMetadata<TType, TPropertyType>} Configured property metadata.
|
|
269
|
-
*/
|
|
270
|
-
configurePropertyMetadata<TPropertyType>(propertyName: PropertyName, propertyOptions: PropertyOptions<TPropertyType>): PropertyMetadata<TType, TPropertyType>;
|
|
271
|
-
/**
|
|
272
|
-
* Configures certain inject metadata.
|
|
273
|
-
*
|
|
274
|
-
* @param {InjectIndex} injectIndex Inject index.
|
|
275
|
-
* @param {InjectOptions<TInjectType>} injectOptions Inject options.
|
|
276
|
-
*
|
|
277
|
-
* @returns {InjectMetadata<TType, TInjectType>} Configured inject metadata.
|
|
278
|
-
*/
|
|
279
|
-
configureInjectMetadata<TInjectType>(injectIndex: InjectIndex, injectOptions: InjectOptions<TInjectType>): InjectMetadata<TType, TInjectType>;
|
|
280
|
-
/**
|
|
281
|
-
* Configures property metadata map.
|
|
282
|
-
*
|
|
283
|
-
* @param {Map<PropertyName, PropertyOptions<TPropertyType>>} propertyOptionsMap Property options map.
|
|
284
|
-
*
|
|
285
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
286
|
-
*/
|
|
287
|
-
configurePropertyMetadataMap<TPropertyType>(propertyOptionsMap: Map<PropertyName, PropertyOptions<TPropertyType>>): TypeMetadata<TType>;
|
|
288
|
-
/**
|
|
289
|
-
* Configures inject metadata map.
|
|
290
|
-
*
|
|
291
|
-
* @param {Map<InjectIndex, InjectOptions<TInjectType>>} injectOptionsMap Inject options map.
|
|
292
|
-
*
|
|
293
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
294
|
-
*/
|
|
295
|
-
configureInjectMetadataMap<TInjectType>(injectOptionsMap: Map<InjectIndex, InjectOptions<TInjectType>>): TypeMetadata<TType>;
|
|
296
|
-
/**
|
|
297
|
-
* Configures type metadata based on provided options.
|
|
298
|
-
*
|
|
299
|
-
* @param {TypeOptions<TType>} typeOptions Type options.
|
|
300
|
-
*
|
|
301
|
-
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
302
|
-
*/
|
|
303
|
-
configure(typeOptions: TypeOptions<TType>): TypeMetadata<TType>;
|
|
304
|
-
}
|
|
1
|
+
import { Alias } from './alias';
|
|
2
|
+
import { CustomData } from './custom-data';
|
|
3
|
+
import { Discriminant } from './discriminant';
|
|
4
|
+
import { Discriminator } from './discriminator';
|
|
5
|
+
import { Factory } from './factory';
|
|
6
|
+
import { GenericArgument } from './generic-argument';
|
|
7
|
+
import { GenericMetadata } from './generic-metadata';
|
|
8
|
+
import { InjectIndex } from './inject-index';
|
|
9
|
+
import { InjectMetadata } from './inject-metadata';
|
|
10
|
+
import { InjectOptions } from './inject-options';
|
|
11
|
+
import { Injector } from './injector';
|
|
12
|
+
import { Log } from './log';
|
|
13
|
+
import { Metadata } from './metadata';
|
|
14
|
+
import { NamingConvention } from './naming-convention';
|
|
15
|
+
import { PropertyMetadata } from './property-metadata';
|
|
16
|
+
import { PropertyName } from './property-name';
|
|
17
|
+
import { PropertyOptions } from './property-options';
|
|
18
|
+
import { ReferenceHandler } from './reference-handler';
|
|
19
|
+
import { Serializer } from './serializer';
|
|
20
|
+
import { TypeFn } from './type-fn';
|
|
21
|
+
import { TypeMetadataResolver } from './type-metadata-resolver';
|
|
22
|
+
import { TypeName } from './type-name';
|
|
23
|
+
import { TypeOptions } from './type-options';
|
|
24
|
+
import { TypeOptionsBase } from './type-options-base';
|
|
25
|
+
/**
|
|
26
|
+
* Main class used to describe a certain type.
|
|
27
|
+
*
|
|
28
|
+
* @type {TypeMetadata<TType>}
|
|
29
|
+
*/
|
|
30
|
+
export declare class TypeMetadata<TType> extends Metadata {
|
|
31
|
+
/**
|
|
32
|
+
* Parent type metadata.
|
|
33
|
+
*
|
|
34
|
+
* @type {TypeMetadata<any>}
|
|
35
|
+
*/
|
|
36
|
+
readonly parentTypeMetadata?: TypeMetadata<any>;
|
|
37
|
+
/**
|
|
38
|
+
* Type name.
|
|
39
|
+
*
|
|
40
|
+
* Defined at runtime based on the constructor function.
|
|
41
|
+
*
|
|
42
|
+
* @type {TypeName}
|
|
43
|
+
*/
|
|
44
|
+
readonly typeName: TypeName;
|
|
45
|
+
/**
|
|
46
|
+
* Type function.
|
|
47
|
+
*
|
|
48
|
+
* @type {TypeFn<TType>}
|
|
49
|
+
*/
|
|
50
|
+
readonly typeFn: TypeFn<TType>;
|
|
51
|
+
/**
|
|
52
|
+
* Type options used by default.
|
|
53
|
+
*
|
|
54
|
+
* @type {TypeOptionsBase<TType>}
|
|
55
|
+
*/
|
|
56
|
+
readonly typeOptionsBase: TypeOptionsBase<TType>;
|
|
57
|
+
/**
|
|
58
|
+
* Type options.
|
|
59
|
+
*
|
|
60
|
+
* @type {TypeOptions<TType>}
|
|
61
|
+
*/
|
|
62
|
+
readonly typeOptions: TypeOptions<TType>;
|
|
63
|
+
/**
|
|
64
|
+
* Children type metadatas.
|
|
65
|
+
*
|
|
66
|
+
* @type {Map<TypeFn<TType>, TypeMetadata<any>>}
|
|
67
|
+
*/
|
|
68
|
+
readonly childrenTypeMetadatas: Map<TypeFn<any>, TypeMetadata<any>>;
|
|
69
|
+
/**
|
|
70
|
+
* Discriminant map.
|
|
71
|
+
*
|
|
72
|
+
* @type {Map<TypeFn<any>, Discriminant>}
|
|
73
|
+
*/
|
|
74
|
+
readonly discriminantMap: Map<TypeFn<any>, Discriminant>;
|
|
75
|
+
/**
|
|
76
|
+
* Properties defined for a type.
|
|
77
|
+
*
|
|
78
|
+
* @type {Map<PropertyName, PropertyMetadata<TType, any>>}
|
|
79
|
+
*/
|
|
80
|
+
readonly propertyMetadataMap: Map<PropertyName, PropertyMetadata<TType, any>>;
|
|
81
|
+
/**
|
|
82
|
+
* Injections defined for a type.
|
|
83
|
+
*
|
|
84
|
+
* @type {Map<InjectIndex, InjectMetadata<TType, any>>}
|
|
85
|
+
*/
|
|
86
|
+
readonly injectMetadataMap: Map<InjectIndex, InjectMetadata<TType, any>>;
|
|
87
|
+
/**
|
|
88
|
+
* Constructor.
|
|
89
|
+
*
|
|
90
|
+
* @param {TypeMetadataResolver<any>} typeMetadataResolver Type metadata resolver.
|
|
91
|
+
* @param {TypeFn<any>} typeFn Type function.
|
|
92
|
+
* @param {TypeOptionsBase<TType>} typeOptionsBase Type options used by default.
|
|
93
|
+
* @param {TypeOptions<TType>} typeOptions Type options.
|
|
94
|
+
* @param {TypeMetadata<any>} parentTypeMetadata Parent type metadata.
|
|
95
|
+
*/
|
|
96
|
+
constructor(typeMetadataResolver: TypeMetadataResolver<any>, typeFn: TypeFn<TType>, typeOptionsBase: TypeOptionsBase<TType>, typeOptions: TypeOptions<TType>, parentTypeMetadata?: TypeMetadata<any>);
|
|
97
|
+
/**
|
|
98
|
+
* Gets alias.
|
|
99
|
+
*
|
|
100
|
+
* @returns {Alias|undefined} Alias or undefined.
|
|
101
|
+
*/
|
|
102
|
+
get alias(): Alias | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Gets custom data.
|
|
105
|
+
*
|
|
106
|
+
* @returns {CustomData} Custom data.
|
|
107
|
+
*/
|
|
108
|
+
get customData(): CustomData;
|
|
109
|
+
/**
|
|
110
|
+
* Gets serialized default value.
|
|
111
|
+
*
|
|
112
|
+
* @returns {any|undefined} Resolved serialized default value or undefined.
|
|
113
|
+
*/
|
|
114
|
+
get serializedDefaultValue(): any | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Gets deserialized default value.
|
|
117
|
+
*
|
|
118
|
+
* @returns {any|undefined} Resolved deserialized default value or undefined.
|
|
119
|
+
*/
|
|
120
|
+
get deserializedDefaultValue(): any | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* Gets discriminant.
|
|
123
|
+
*
|
|
124
|
+
* @returns {Discriminant} Discriminant.
|
|
125
|
+
*/
|
|
126
|
+
get discriminant(): Discriminant;
|
|
127
|
+
/**
|
|
128
|
+
* Gets discriminator.
|
|
129
|
+
*
|
|
130
|
+
* @returns {Discriminator} Discriminator.
|
|
131
|
+
*/
|
|
132
|
+
get discriminator(): Discriminator;
|
|
133
|
+
/**
|
|
134
|
+
* Gets factory.
|
|
135
|
+
*
|
|
136
|
+
* @returns {Factory} Factory.
|
|
137
|
+
*/
|
|
138
|
+
get factory(): Factory;
|
|
139
|
+
/**
|
|
140
|
+
* Gets generic arguments.
|
|
141
|
+
*
|
|
142
|
+
* @returns {Array<GenericArgument<any>>|undefined} Generic arguments or undefined.
|
|
143
|
+
*/
|
|
144
|
+
get genericArguments(): Array<GenericArgument<any>> | undefined;
|
|
145
|
+
/**
|
|
146
|
+
* Gets generic metadatas.
|
|
147
|
+
*
|
|
148
|
+
* @returns {Array<GenericMetadata<any>>|undefined} Generic metadatas.
|
|
149
|
+
*/
|
|
150
|
+
get genericMetadatas(): Array<GenericMetadata<any>> | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Gets injectable value.
|
|
153
|
+
*
|
|
154
|
+
* @returns {boolean|undefined} Injectable indicator or undefined.
|
|
155
|
+
*/
|
|
156
|
+
get injectable(): boolean | undefined;
|
|
157
|
+
/**
|
|
158
|
+
* Gets injector.
|
|
159
|
+
*
|
|
160
|
+
* @returns {Injector} Injector.
|
|
161
|
+
*/
|
|
162
|
+
get injector(): Injector;
|
|
163
|
+
/**
|
|
164
|
+
* Gets log.
|
|
165
|
+
*
|
|
166
|
+
* @returns {Log} Log instance.
|
|
167
|
+
*/
|
|
168
|
+
get log(): Log;
|
|
169
|
+
/**
|
|
170
|
+
* Gets naming convention.
|
|
171
|
+
*
|
|
172
|
+
* @returns {NamingConvention|undefined} Naming convention or undefined.
|
|
173
|
+
*/
|
|
174
|
+
get namingConvention(): NamingConvention | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* Gets indicator if current type metadata is polymorphic.
|
|
177
|
+
*
|
|
178
|
+
* @returns {boolean} True when type metadata is polymorphic. False otherwise.
|
|
179
|
+
*/
|
|
180
|
+
get polymorphic(): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Gets indicator if discriminator should be preserved.
|
|
183
|
+
*
|
|
184
|
+
* @returns {boolean} True when discriminator should be preserved. False otherwise.
|
|
185
|
+
*/
|
|
186
|
+
get preserveDiscriminator(): boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Gets reference handler.
|
|
189
|
+
*
|
|
190
|
+
* @returns {ReferenceHandler} Reference handler.
|
|
191
|
+
*/
|
|
192
|
+
get referenceHandler(): ReferenceHandler;
|
|
193
|
+
/**
|
|
194
|
+
* Gets serializer.
|
|
195
|
+
*
|
|
196
|
+
* @returns {Serializer<TType>} Serializer.
|
|
197
|
+
*/
|
|
198
|
+
get serializer(): Serializer<TType>;
|
|
199
|
+
/**
|
|
200
|
+
* Gets indicator if default value should be used.
|
|
201
|
+
*
|
|
202
|
+
* @returns {boolean} True when type should use default value. False otherwise.
|
|
203
|
+
*/
|
|
204
|
+
get useDefaultValue(): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Gets indicator if implicit conversion should be used.
|
|
207
|
+
*
|
|
208
|
+
* @returns {boolean} True when type should use implicit conversion. False otherwise.
|
|
209
|
+
*/
|
|
210
|
+
get useImplicitConversion(): boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Gets property options map.
|
|
213
|
+
*
|
|
214
|
+
* @returns {Map<PropertyName, PropertyOptions<any>>} Property options map.
|
|
215
|
+
*/
|
|
216
|
+
get propertyOptionsMap(): Map<PropertyName, PropertyOptions<any>>;
|
|
217
|
+
/**
|
|
218
|
+
* Gets inject options map.
|
|
219
|
+
*
|
|
220
|
+
* @returns {Map<InjectIndex, InjectOptions<any>>} Inject options map.
|
|
221
|
+
*/
|
|
222
|
+
get injectOptionsMap(): Map<InjectIndex, InjectOptions<any>>;
|
|
223
|
+
/**
|
|
224
|
+
* Derives parent type metadata properties.
|
|
225
|
+
*
|
|
226
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
227
|
+
*/
|
|
228
|
+
private deriveParentTypeMetadataProperties;
|
|
229
|
+
/**
|
|
230
|
+
* Reflects inject metadata.
|
|
231
|
+
*
|
|
232
|
+
* Used to configure inject metadata based on reflect metadata as inject decorators may be omitted.
|
|
233
|
+
*
|
|
234
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
235
|
+
*/
|
|
236
|
+
reflectInjectMetadata(): TypeMetadata<TType>;
|
|
237
|
+
/**
|
|
238
|
+
* Provides discriminant.
|
|
239
|
+
*
|
|
240
|
+
* @param {TypeFn<any>} typeFn Type function.
|
|
241
|
+
* @param {Discriminant} discriminant Discriminant.
|
|
242
|
+
*
|
|
243
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
244
|
+
*/
|
|
245
|
+
private provideDiscriminant;
|
|
246
|
+
/**
|
|
247
|
+
* Configures discriminant.
|
|
248
|
+
*
|
|
249
|
+
* @param {Discriminant} discriminant Discriminant.
|
|
250
|
+
*
|
|
251
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
252
|
+
*/
|
|
253
|
+
private configureDiscriminant;
|
|
254
|
+
/**
|
|
255
|
+
* Configures custom data.
|
|
256
|
+
*
|
|
257
|
+
* @param {CustomData} customData Custom data.
|
|
258
|
+
*
|
|
259
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
260
|
+
*/
|
|
261
|
+
private configureCustomData;
|
|
262
|
+
/**
|
|
263
|
+
* Configures certain property metadata.
|
|
264
|
+
*
|
|
265
|
+
* @param {PropertyName} propertyName Property name.
|
|
266
|
+
* @param {PropertyOptions<TPropertyType>} propertyOptions Property options.
|
|
267
|
+
*
|
|
268
|
+
* @returns {PropertyMetadata<TType, TPropertyType>} Configured property metadata.
|
|
269
|
+
*/
|
|
270
|
+
configurePropertyMetadata<TPropertyType>(propertyName: PropertyName, propertyOptions: PropertyOptions<TPropertyType>): PropertyMetadata<TType, TPropertyType>;
|
|
271
|
+
/**
|
|
272
|
+
* Configures certain inject metadata.
|
|
273
|
+
*
|
|
274
|
+
* @param {InjectIndex} injectIndex Inject index.
|
|
275
|
+
* @param {InjectOptions<TInjectType>} injectOptions Inject options.
|
|
276
|
+
*
|
|
277
|
+
* @returns {InjectMetadata<TType, TInjectType>} Configured inject metadata.
|
|
278
|
+
*/
|
|
279
|
+
configureInjectMetadata<TInjectType>(injectIndex: InjectIndex, injectOptions: InjectOptions<TInjectType>): InjectMetadata<TType, TInjectType>;
|
|
280
|
+
/**
|
|
281
|
+
* Configures property metadata map.
|
|
282
|
+
*
|
|
283
|
+
* @param {Map<PropertyName, PropertyOptions<TPropertyType>>} propertyOptionsMap Property options map.
|
|
284
|
+
*
|
|
285
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
286
|
+
*/
|
|
287
|
+
configurePropertyMetadataMap<TPropertyType>(propertyOptionsMap: Map<PropertyName, PropertyOptions<TPropertyType>>): TypeMetadata<TType>;
|
|
288
|
+
/**
|
|
289
|
+
* Configures inject metadata map.
|
|
290
|
+
*
|
|
291
|
+
* @param {Map<InjectIndex, InjectOptions<TInjectType>>} injectOptionsMap Inject options map.
|
|
292
|
+
*
|
|
293
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
294
|
+
*/
|
|
295
|
+
configureInjectMetadataMap<TInjectType>(injectOptionsMap: Map<InjectIndex, InjectOptions<TInjectType>>): TypeMetadata<TType>;
|
|
296
|
+
/**
|
|
297
|
+
* Configures type metadata based on provided options.
|
|
298
|
+
*
|
|
299
|
+
* @param {TypeOptions<TType>} typeOptions Type options.
|
|
300
|
+
*
|
|
301
|
+
* @returns {TypeMetadata<TType>} Current instance of type metadata.
|
|
302
|
+
*/
|
|
303
|
+
configure(typeOptions: TypeOptions<TType>): TypeMetadata<TType>;
|
|
304
|
+
}
|
package/core/type-name.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type to explicitly define a type name within a source code.
|
|
3
|
-
*
|
|
4
|
-
* @type {TypeName}
|
|
5
|
-
*/
|
|
6
|
-
export declare type TypeName = string;
|
|
1
|
+
/**
|
|
2
|
+
* Type to explicitly define a type name within a source code.
|
|
3
|
+
*
|
|
4
|
+
* @type {TypeName}
|
|
5
|
+
*/
|
|
6
|
+
export declare type TypeName = string;
|