@dipscope/type-manager 4.1.0 → 5.0.0-beta.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.
Files changed (133) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/{LICENSE.txt → LICENSE.md} +0 -0
  3. package/README.md +150 -324
  4. package/alias.d.ts +3 -7
  5. package/custom-data.d.ts +3 -8
  6. package/{core/default-value-resolver.d.ts → default-value-resolver.d.ts} +0 -0
  7. package/default-value.d.ts +4 -8
  8. package/discriminant.d.ts +5 -8
  9. package/discriminator.d.ts +3 -8
  10. package/factories/type-factory.d.ts +3 -3
  11. package/factory.d.ts +15 -8
  12. package/functions/get-own-reflect-metadata.d.ts +9 -0
  13. package/functions/get-reflect-metadata.d.ts +10 -0
  14. package/functions/get-words.d.ts +8 -0
  15. package/functions/index.d.ts +16 -0
  16. package/functions/is-arrow-function.d.ts +8 -0
  17. package/functions/is-ctor-function.d.ts +8 -0
  18. package/functions/is-data-view.d.ts +8 -0
  19. package/functions/is-float-32-array.d.ts +8 -0
  20. package/functions/is-float-64-array.d.ts +8 -0
  21. package/functions/is-int-16-array.d.ts +8 -0
  22. package/functions/is-int-32-array.d.ts +8 -0
  23. package/functions/is-int-8-array.d.ts +8 -0
  24. package/functions/is-uint-16-array.d.ts +8 -0
  25. package/functions/is-uint-32-array.d.ts +8 -0
  26. package/functions/is-uint-8-array.d.ts +8 -0
  27. package/functions/is-uint-8-clamped-array.d.ts +8 -0
  28. package/functions/name-of.d.ts +8 -0
  29. package/{core/generic-argument.d.ts → generic-argument.d.ts} +0 -0
  30. package/{core/generic-metadata.d.ts → generic-metadata.d.ts} +0 -0
  31. package/index.d.ts +39 -9
  32. package/index.js +1 -2
  33. package/{core/inject-index.d.ts → inject-index.d.ts} +0 -0
  34. package/{core/inject-metadata.d.ts → inject-metadata.d.ts} +0 -0
  35. package/{core/inject-options.d.ts → inject-options.d.ts} +2 -2
  36. package/inject.d.ts +2 -2
  37. package/injector.d.ts +13 -8
  38. package/injectors/singleton-injector.d.ts +2 -2
  39. package/{core/log-level.d.ts → log-level.d.ts} +0 -0
  40. package/{core/log.d.ts → log.d.ts} +41 -11
  41. package/{core/metadata.d.ts → metadata.d.ts} +0 -0
  42. package/naming-convention.d.ts +12 -8
  43. package/naming-conventions/camel-case-naming-convention.d.ts +1 -1
  44. package/naming-conventions/flat-case-naming-convention.d.ts +1 -1
  45. package/naming-conventions/flat-upper-case-naming-convention.d.ts +1 -1
  46. package/naming-conventions/kebab-case-naming-convention.d.ts +1 -1
  47. package/naming-conventions/kebab-upper-case-naming-convention.d.ts +1 -1
  48. package/naming-conventions/pascal-case-naming-convention.d.ts +1 -1
  49. package/naming-conventions/snake-case-naming-convention.d.ts +1 -1
  50. package/naming-conventions/snake-upper-case-naming-convention.d.ts +1 -1
  51. package/package.json +6 -3
  52. package/{core/property-metadata.d.ts → property-metadata.d.ts} +18 -0
  53. package/{core/property-name.d.ts → property-name.d.ts} +0 -0
  54. package/{core/property-options.d.ts → property-options.d.ts} +18 -2
  55. package/property.d.ts +3 -2
  56. package/{core/reference-callback.d.ts → reference-callback.d.ts} +1 -1
  57. package/reference-handler.d.ts +28 -8
  58. package/reference-handlers/direct-reference-handler.d.ts +11 -12
  59. package/reference-handlers/lead-reference-handler.d.ts +11 -12
  60. package/reference-handlers/path-reference-handler.d.ts +11 -12
  61. package/{core/reference-key.d.ts → reference-key.d.ts} +0 -0
  62. package/reference-value-getter.d.ts +7 -0
  63. package/reference-value-setter.d.ts +7 -0
  64. package/{core/reference-value.d.ts → reference-value.d.ts} +0 -0
  65. package/serializer-context-options.d.ts +43 -0
  66. package/{core/serializer-context.d.ts → serializer-context.d.ts} +110 -44
  67. package/serializer.d.ts +24 -8
  68. package/serializers/array-buffer-serializer.d.ts +3 -3
  69. package/serializers/array-serializer.d.ts +3 -3
  70. package/serializers/boolean-serializer.d.ts +3 -3
  71. package/serializers/data-view-serializer.d.ts +3 -3
  72. package/serializers/date-serializer.d.ts +3 -3
  73. package/serializers/float-32-array-serializer.d.ts +3 -3
  74. package/serializers/float-64-array-serializer.d.ts +3 -3
  75. package/serializers/int-16-array-serializer.d.ts +3 -3
  76. package/serializers/int-32-array-serializer.d.ts +3 -3
  77. package/serializers/int-8-array-serializer.d.ts +3 -3
  78. package/serializers/map-serializer.d.ts +15 -3
  79. package/serializers/number-serializer.d.ts +3 -3
  80. package/serializers/set-serializer.d.ts +3 -3
  81. package/serializers/string-serializer.d.ts +3 -3
  82. package/serializers/type-serializer.d.ts +3 -3
  83. package/serializers/uint-16-array-serializer.d.ts +3 -3
  84. package/serializers/uint-32-array-serializer.d.ts +3 -3
  85. package/serializers/uint-8-array-serializer.d.ts +3 -3
  86. package/serializers/uint-8-clamped-array-serializer.d.ts +3 -3
  87. package/{core/type-abstraction.d.ts → type-abstraction.d.ts} +0 -0
  88. package/{core/type-argument.d.ts → type-argument.d.ts} +0 -0
  89. package/{core/type-context-entry.d.ts → type-context-entry.d.ts} +0 -0
  90. package/{core/type-context.d.ts → type-context.d.ts} +0 -0
  91. package/{core/type-ctor.d.ts → type-ctor.d.ts} +0 -0
  92. package/{core/type-fn.d.ts → type-fn.d.ts} +0 -0
  93. package/{core/type-like.d.ts → type-like.d.ts} +0 -0
  94. package/type-manager-options.d.ts +5 -5
  95. package/type-manager.d.ts +10 -10
  96. package/{core/type-metadata-resolver.d.ts → type-metadata-resolver.d.ts} +0 -0
  97. package/{core/type-metadata-symbol.d.ts → type-metadata-symbol.d.ts} +0 -0
  98. package/{core/type-metadata.d.ts → type-metadata.d.ts} +24 -6
  99. package/{core/type-name.d.ts → type-name.d.ts} +0 -0
  100. package/{core/type-options-base.d.ts → type-options-base.d.ts} +9 -19
  101. package/{core/type-options.d.ts → type-options.d.ts} +28 -2
  102. package/{core/type-resolver.d.ts → type-resolver.d.ts} +0 -0
  103. package/type.d.ts +1 -1
  104. package/core/alias.d.ts +0 -6
  105. package/core/custom-data.d.ts +0 -6
  106. package/core/default-value.d.ts +0 -7
  107. package/core/discriminant.d.ts +0 -8
  108. package/core/discriminator.d.ts +0 -6
  109. package/core/factory.d.ts +0 -18
  110. package/core/fn.d.ts +0 -316
  111. package/core/index.d.ts +0 -44
  112. package/core/index.js +0 -2
  113. package/core/injector.d.ts +0 -16
  114. package/core/naming-convention.d.ts +0 -15
  115. package/core/reference-handler.d.ts +0 -32
  116. package/core/reference-value-initializer.d.ts +0 -8
  117. package/core/reference-value-resolver.d.ts +0 -8
  118. package/core/serializer-context-options.d.ts +0 -63
  119. package/core/serializer.d.ts +0 -27
  120. package/deserializable.d.ts +0 -11
  121. package/deserialized-default-value.d.ts +0 -11
  122. package/factories/index.js +0 -2
  123. package/injectable.d.ts +0 -10
  124. package/injectors/index.js +0 -2
  125. package/naming-conventions/index.js +0 -2
  126. package/preserve-discriminator.d.ts +0 -10
  127. package/reference-handlers/index.js +0 -2
  128. package/serializable.d.ts +0 -11
  129. package/serialized-default-value.d.ts +0 -11
  130. package/serializers/index.js +0 -2
  131. package/type-and-property.d.ts +0 -12
  132. package/use-default-value.d.ts +0 -10
  133. package/use-implicit-conversion.d.ts +0 -10
@@ -13,8 +13,8 @@ import { ReferenceCallback } from './reference-callback';
13
13
  import { ReferenceHandler } from './reference-handler';
14
14
  import { ReferenceKey } from './reference-key';
15
15
  import { ReferenceValue } from './reference-value';
16
- import { ReferenceValueInitializer } from './reference-value-initializer';
17
- import { ReferenceValueResolver } from './reference-value-resolver';
16
+ import { ReferenceValueGetter } from './reference-value-getter';
17
+ import { ReferenceValueSetter } from './reference-value-setter';
18
18
  import { Serializer } from './serializer';
19
19
  import { SerializerContextOptions } from './serializer-context-options';
20
20
  import { TypeFn } from './type-fn';
@@ -26,42 +26,102 @@ import { TypeMetadata } from './type-metadata';
26
26
  * @type {SerializerContext<TType>}
27
27
  */
28
28
  export declare class SerializerContext<TType> extends Metadata {
29
+ /**
30
+ * Serializer context root.
31
+ *
32
+ * This is a value passed to the root serializer.
33
+ *
34
+ * @type {any}
35
+ */
36
+ readonly $: any;
37
+ /**
38
+ * Reference map.
39
+ *
40
+ * Used to preserve object references.
41
+ *
42
+ * @type {WeakMap<ReferenceKey, ReferenceValue>}
43
+ */
44
+ readonly referenceMap: WeakMap<ReferenceKey, ReferenceValue>;
45
+ /**
46
+ * Reference callback map.
47
+ *
48
+ * Used to assign object references in a later time due to circular dependency.
49
+ *
50
+ * @type {WeakMap<ReferenceKey, Array<ReferenceCallback>>}
51
+ */
52
+ readonly referenceCallbackMap: WeakMap<ReferenceKey, Array<ReferenceCallback>>;
29
53
  /**
30
54
  * Serializer context options.
31
55
  *
32
56
  * @type {SerializerContext<TType>}
33
57
  */
34
58
  readonly serializerContextOptions: SerializerContextOptions<TType>;
59
+ /**
60
+ * Parent serializer context.
61
+ *
62
+ * Present when any serializer defines child context.
63
+ *
64
+ * @type {SerializerContext<any>}
65
+ */
66
+ readonly parentSerializerContext?: SerializerContext<any>;
35
67
  /**
36
68
  * Constructor.
37
69
  *
70
+ * @param {any} $ Serializer context root.
71
+ * @param {WeakMap<ReferenceKey, ReferenceValue>} referenceMap Reference map.
72
+ * @param {WeakMap<ReferenceKey, Array<ReferenceCallback>>} referenceCallbackMap Reference callback map.
38
73
  * @param {SerializerContextOptions<TType>} serializerContextOptions Serializer context options.
74
+ * @param {SerializerContext<any>} parentSerializerContext Parent serializer context.
75
+ */
76
+ constructor($: any, referenceMap: WeakMap<ReferenceKey, ReferenceValue>, referenceCallbackMap: WeakMap<ReferenceKey, Array<ReferenceCallback>>, serializerContextOptions: SerializerContextOptions<TType>, parentSerializerContext?: SerializerContext<any>);
77
+ /**
78
+ * Gets json path key.
79
+ *
80
+ * @returns {string|number} Json path key.
39
81
  */
40
- constructor(serializerContextOptions: SerializerContextOptions<TType>);
82
+ get jsonPathKey(): any;
41
83
  /**
42
- * Gets serializer context root.
84
+ * Gets reference value setter.
43
85
  *
44
- * @returns {any} Serializer context root.
86
+ * @returns {ReferenceValueSetter|undefined} Reference value setter or undefined if not present.
45
87
  */
46
- get $(): any;
88
+ get referenceValueSetter(): ReferenceValueSetter | undefined;
47
89
  /**
48
90
  * Gets custom data.
49
91
  *
50
92
  * @returns {CustomData} Custom data.
51
93
  */
52
94
  get customData(): CustomData;
95
+ /**
96
+ * Gets serialized null value.
97
+ *
98
+ * @returns {any|undefined} Resolved serialized null value or undefined.
99
+ */
100
+ get serializedNullValue(): any | undefined;
53
101
  /**
54
102
  * Gets serialized default value.
55
103
  *
56
104
  * @returns {any|undefined} Resolved serialized default value or undefined.
57
105
  */
58
106
  get serializedDefaultValue(): any | undefined;
107
+ /**
108
+ * Gets deserialized null value.
109
+ *
110
+ * @returns {any|undefined} Resolved deserialized null value or undefined.
111
+ */
112
+ get deserializedNullValue(): any | undefined;
59
113
  /**
60
114
  * Gets deserialized default value.
61
115
  *
62
116
  * @returns {any|undefined} Resolved deserialized default value or undefined.
63
117
  */
64
118
  get deserializedDefaultValue(): any | undefined;
119
+ /**
120
+ * Gets json path from serializer context root.
121
+ *
122
+ * @returns {string} Json path.
123
+ */
124
+ get jsonPath(): string;
65
125
  /**
66
126
  * Gets discriminant.
67
127
  *
@@ -122,12 +182,6 @@ export declare class SerializerContext<TType> extends Metadata {
122
182
  * @returns {NamingConvention|undefined} Naming convention or undefined.
123
183
  */
124
184
  get namingConvention(): NamingConvention | undefined;
125
- /**
126
- * Gets JSONPath from serializer context root.
127
- *
128
- * @returns {string} Path.
129
- */
130
- get path(): string;
131
185
  /**
132
186
  * Gets indicator if context is polymorphic.
133
187
  *
@@ -152,18 +206,6 @@ export declare class SerializerContext<TType> extends Metadata {
152
206
  * @returns {ReferenceHandler} Reference handler.
153
207
  */
154
208
  get referenceHandler(): ReferenceHandler;
155
- /**
156
- * Gets reference callback map.
157
- *
158
- * @returns {WeakMap<ReferenceKey, Array<ReferenceCallback>>} Reference callback map.
159
- */
160
- get referenceCallbackMap(): WeakMap<ReferenceKey, Array<ReferenceCallback>>;
161
- /**
162
- * Gets reference map.
163
- *
164
- * @returns {WeakMap<ReferenceKey, ReferenceValue>} Reference map.
165
- */
166
- get referenceMap(): WeakMap<ReferenceKey, ReferenceValue>;
167
209
  /**
168
210
  * Gets serializer.
169
211
  *
@@ -176,6 +218,12 @@ export declare class SerializerContext<TType> extends Metadata {
176
218
  * @returns {TypeMetadata<TType>} Type metadata.
177
219
  */
178
220
  get typeMetadata(): TypeMetadata<TType>;
221
+ /**
222
+ * Gets indicator if null value should be preserved.
223
+ *
224
+ * @returns {boolean} True when null value should be preserved. False otherwise.
225
+ */
226
+ get preserveNull(): boolean;
179
227
  /**
180
228
  * Gets indicator if default value should be used.
181
229
  *
@@ -210,26 +258,36 @@ export declare class SerializerContext<TType> extends Metadata {
210
258
  * May be called during serialization to define reference.
211
259
  *
212
260
  * @param {ReferenceKey} referenceKey Reference key.
213
- * @param {ReferenceValueInitializer} referenceValueInitializer Reference value initializer.
261
+ * @param {ReferenceValueGetter} referenceValueGetter Reference value getter.
214
262
  *
215
- * @returns {ReferenceValue|ReferenceValueResolver} Reference value or reference value resolver when circular dependency is detected.
263
+ * @returns {ReferenceValue} Reference value.
216
264
  */
217
- defineReference(referenceKey: ReferenceKey, referenceValueInitializer: ReferenceValueInitializer): ReferenceValue | ReferenceValueResolver;
265
+ defineReference(referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
218
266
  /**
219
267
  * Restores reference.
220
268
  *
221
269
  * May be called during deserialization to restore reference.
222
270
  *
223
271
  * @param {ReferenceKey} referenceKey Reference key.
224
- * @param {ReferenceValueInitializer} referenceValueInitializer Reference value initializer.
272
+ * @param {ReferenceValueGetter} referenceValueGetter Reference value getter.
273
+ *
274
+ * @returns {ReferenceValue} Reference value.
275
+ */
276
+ restoreReference(referenceKey: ReferenceKey, referenceValueGetter: ReferenceValueGetter): ReferenceValue;
277
+ /**
278
+ * Registers callback for provided reference key.
279
+ *
280
+ * May be called by reference handlers to register a callback resolver for a circular reference.
281
+ *
282
+ * @param {ReferenceKey} referenceKey Reference key.
225
283
  *
226
- * @returns {ReferenceValue|ReferenceValueResolver} Reference value or reference value resolver when circular dependency is detected.
284
+ * @returns {void}
227
285
  */
228
- restoreReference(referenceKey: ReferenceKey, referenceValueInitializer: ReferenceValueInitializer): ReferenceValue | ReferenceValueResolver;
286
+ registerReferenceCallback(referenceKey: ReferenceKey): void;
229
287
  /**
230
288
  * Pushes callback for provided reference key.
231
289
  *
232
- * Called by serializers during handling of circular references.
290
+ * Called by reference handlers during handling of circular references.
233
291
  *
234
292
  * @param {ReferenceKey} referenceKey Reference key.
235
293
  * @param {ReferenceCallback} referenceCallback Reference callback.
@@ -240,19 +298,27 @@ export declare class SerializerContext<TType> extends Metadata {
240
298
  /**
241
299
  * Resolves callbacks for provided reference key.
242
300
  *
243
- * Called by reference handlers when circular references can be resolved.
301
+ * May be called by reference handlers when circular references can be resolved.
244
302
  *
245
303
  * @param {ReferenceKey} referenceKey Reference key.
246
304
  *
247
305
  * @returns {void}
248
306
  */
249
307
  resolveReferenceCallbacks(referenceKey: ReferenceKey): void;
308
+ /**
309
+ * Defines serializer context options based on partial.
310
+ *
311
+ * @param {Partial<SerializerContextOptions<any>>} serializerContextOptions Partial serializer context options.
312
+ *
313
+ * @returns {SerializerContextOptions<any>} Complete serializer context options.
314
+ */
315
+ private defineSerializerContextOptions;
250
316
  /**
251
317
  * Defines child serializer context.
252
318
  *
253
- * Called by serializers on context change.
319
+ * Called by serializers on drill down.
254
320
  *
255
- * @param {Partial<SerializerContextOptions<any>>} childSerializerContextOptions Partial of serializer context options to override.
321
+ * @param {Partial<SerializerContextOptions<any>>} childSerializerContextOptions Child serializer context options.
256
322
  *
257
323
  * @returns {SerializerContext<any>} Child serializer context.
258
324
  */
@@ -267,6 +333,16 @@ export declare class SerializerContext<TType> extends Metadata {
267
333
  * @returns {SerializerContext<any>} Generic serializer context.
268
334
  */
269
335
  defineGenericSerializerContext(genericIndex: number): SerializerContext<any>;
336
+ /**
337
+ * Defines polymorphic serializer context.
338
+ *
339
+ * Called by serializers which work with polymorphic types.
340
+ *
341
+ * @param {TypeFn<any>|Record<string, any>} x Type function or record.
342
+ *
343
+ * @returns {SerializerContext<any>} Polymorphic serializer context.
344
+ */
345
+ definePolymorphicSerializerContext(x: TypeFn<any> | Record<string, any>): SerializerContext<any>;
270
346
  /**
271
347
  * Defines polymorphic serializer context by type function.
272
348
  *
@@ -283,14 +359,4 @@ export declare class SerializerContext<TType> extends Metadata {
283
359
  * @returns {SerializerContext<any>} Polymorphic serializer context.
284
360
  */
285
361
  private definePolymorphicSerializerContextByDiscriminant;
286
- /**
287
- * Defines polymorphic serializer context.
288
- *
289
- * Called by serializers which work with polymorphic types.
290
- *
291
- * @param {TypeFn<any>|Record<string, any>} x Type function or record.
292
- *
293
- * @returns {SerializerContext<any>} Polymorphic serializer context.
294
- */
295
- definePolymorphicSerializerContext(x: TypeFn<any> | Record<string, any>): SerializerContext<any>;
296
362
  }
package/serializer.d.ts CHANGED
@@ -1,11 +1,27 @@
1
- import { Serializer } from './core/serializer';
1
+ import { SerializerContext } from './serializer-context';
2
+ import { TypeLike } from './type-like';
2
3
  /**
3
- * Serializer decorator.
4
+ * Serializer.
4
5
  *
5
- * Used to define custom serializer for type and property.
6
- *
7
- * @param {Serializer<TType>} serializer Serializer.
8
- *
9
- * @returns {ClassDecorator&PropertyDecorator} Class and property decorator.
6
+ * @type {Serializer<TType>}
10
7
  */
11
- export declare function Serializer<TType>(serializer: Serializer<TType>): ClassDecorator & PropertyDecorator;
8
+ export interface Serializer<TType> {
9
+ /**
10
+ * Serializes provided value.
11
+ *
12
+ * @param {TypeLike<TType>} x Some value.
13
+ * @param {SerializerContext<TType>} serializerContext Serializer context.
14
+ *
15
+ * @returns {TypeLike<any>} Serialized value.
16
+ */
17
+ serialize(x: TypeLike<TType>, serializerContext: SerializerContext<TType>): TypeLike<any>;
18
+ /**
19
+ * Deserializes provided value.
20
+ *
21
+ * @param {TypeLike<any>} x Some value.
22
+ * @param {SerializerContext<TType>} serializerContext Serializer context.
23
+ *
24
+ * @returns {TypeLike<TType>} Deserialized value.
25
+ */
26
+ deserialize(x: TypeLike<any>, serializerContext: SerializerContext<TType>): TypeLike<TType>;
27
+ }
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Array buffer serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Array serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Boolean serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Data view serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Date serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Float 32 array serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Float 64 array serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Int 16 array serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Int 32 array serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Int 8 array serializer.
6
6
  *
@@ -1,12 +1,24 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Map serializer.
6
6
  *
7
7
  * @type {MapSerializer}
8
8
  */
9
9
  export declare class MapSerializer implements Serializer<Map<any, any>> {
10
+ /**
11
+ * Map serializer key.
12
+ *
13
+ * @type {string}
14
+ */
15
+ static readonly key: string;
16
+ /**
17
+ * Map serializer value.
18
+ *
19
+ * @type {string}
20
+ */
21
+ static readonly value: string;
10
22
  /**
11
23
  * Serializes provided value.
12
24
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Number serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
1
+ import { Serializer } from '../serializer';
2
+ import { SerializerContext } from '../serializer-context';
3
+ import { TypeLike } from '../type-like';
4
4
  /**
5
5
  * Set serializer.
6
6
  *
@@ -1,6 +1,6 @@
1
- import { Serializer } from '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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 '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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 '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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 '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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 '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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 '../core/serializer';
2
- import { SerializerContext } from '../core/serializer-context';
3
- import { TypeLike } from '../core/type-like';
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
@@ -1,12 +1,12 @@
1
- import { TypeFn } from './core';
2
- import { TypeOptions } from './core/type-options';
3
- import { TypeOptionsBase } from './core/type-options-base';
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 interface TypeManagerOptions {
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 './core/alias';
2
- import { TypeFn } from './core/type-fn';
3
- import { TypeLike } from './core/type-like';
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): 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): 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): 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): 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;