@dipscope/type-manager 6.0.0 → 7.0.0-beta.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +35 -21
  3. package/dist/es2015/custom-context.js +58 -0
  4. package/dist/es2015/custom-context.js.map +1 -0
  5. package/dist/es2015/custom-key.js +8 -0
  6. package/dist/es2015/custom-key.js.map +1 -0
  7. package/dist/es2015/custom-option.js +2 -0
  8. package/dist/es2015/custom-option.js.map +1 -0
  9. package/dist/es2015/custom-value-resolver.js +2 -0
  10. package/dist/es2015/custom-value-resolver.js.map +1 -0
  11. package/dist/es2015/custom-value.js +2 -0
  12. package/dist/es2015/custom-value.js.map +1 -0
  13. package/dist/es2015/index.js +6 -2
  14. package/dist/es2015/index.js.map +1 -1
  15. package/dist/es2015/inject-metadata.js +1 -1
  16. package/dist/es2015/inject-metadata.js.map +1 -1
  17. package/dist/es2015/metadata.js +7 -7
  18. package/dist/es2015/metadata.js.map +1 -1
  19. package/dist/es2015/property-metadata.js +30 -20
  20. package/dist/es2015/property-metadata.js.map +1 -1
  21. package/dist/es2015/serializer-context.js +4 -17
  22. package/dist/es2015/serializer-context.js.map +1 -1
  23. package/dist/es2015/type-context.js +6 -0
  24. package/dist/es2015/type-context.js.map +1 -1
  25. package/dist/es2015/type-internals.js +2 -0
  26. package/dist/es2015/type-internals.js.map +1 -0
  27. package/dist/es2015/type-manager.js +34 -28
  28. package/dist/es2015/type-manager.js.map +1 -1
  29. package/dist/es2015/type-metadata.js +36 -21
  30. package/dist/es2015/type-metadata.js.map +1 -1
  31. package/dist/es5/custom-context.js +94 -0
  32. package/dist/es5/custom-context.js.map +1 -0
  33. package/dist/es5/custom-key.js +10 -0
  34. package/dist/es5/custom-key.js.map +1 -0
  35. package/dist/es5/custom-option.js +2 -0
  36. package/dist/es5/custom-option.js.map +1 -0
  37. package/dist/es5/custom-value-resolver.js +2 -0
  38. package/dist/es5/custom-value-resolver.js.map +1 -0
  39. package/dist/es5/custom-value.js +2 -0
  40. package/dist/es5/custom-value.js.map +1 -0
  41. package/dist/es5/index.js +6 -2
  42. package/dist/es5/index.js.map +1 -1
  43. package/dist/es5/inject-metadata.js +1 -1
  44. package/dist/es5/inject-metadata.js.map +1 -1
  45. package/dist/es5/metadata.js +7 -7
  46. package/dist/es5/metadata.js.map +1 -1
  47. package/dist/es5/property-metadata.js +34 -20
  48. package/dist/es5/property-metadata.js.map +1 -1
  49. package/dist/es5/serializer-context.js +4 -21
  50. package/dist/es5/serializer-context.js.map +1 -1
  51. package/dist/es5/type-context.js +6 -0
  52. package/dist/es5/type-context.js.map +1 -1
  53. package/dist/es5/type-internals.js +2 -0
  54. package/dist/es5/type-internals.js.map +1 -0
  55. package/dist/es5/type-manager.js +34 -28
  56. package/dist/es5/type-manager.js.map +1 -1
  57. package/dist/es5/type-metadata.js +40 -21
  58. package/dist/es5/type-metadata.js.map +1 -1
  59. package/dist/types/custom-context.d.ts +89 -0
  60. package/dist/types/custom-context.d.ts.map +1 -0
  61. package/dist/types/custom-key.d.ts +29 -0
  62. package/dist/types/custom-key.d.ts.map +1 -0
  63. package/dist/types/custom-option.d.ts +11 -0
  64. package/dist/types/custom-option.d.ts.map +1 -0
  65. package/dist/types/custom-value-resolver.d.ts +7 -0
  66. package/dist/types/custom-value-resolver.d.ts.map +1 -0
  67. package/dist/types/custom-value.d.ts +7 -0
  68. package/dist/types/custom-value.d.ts.map +1 -0
  69. package/dist/types/index.d.ts +6 -2
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/inject-internals.d.ts +4 -4
  72. package/dist/types/inject-internals.d.ts.map +1 -1
  73. package/dist/types/inject-metadata.d.ts +3 -3
  74. package/dist/types/inject-metadata.d.ts.map +1 -1
  75. package/dist/types/metadata.d.ts +6 -7
  76. package/dist/types/metadata.d.ts.map +1 -1
  77. package/dist/types/property-internals.d.ts +11 -4
  78. package/dist/types/property-internals.d.ts.map +1 -1
  79. package/dist/types/property-metadata.d.ts +17 -10
  80. package/dist/types/property-metadata.d.ts.map +1 -1
  81. package/dist/types/property-options.d.ts +4 -4
  82. package/dist/types/property-options.d.ts.map +1 -1
  83. package/dist/types/serializer-context.d.ts +0 -7
  84. package/dist/types/serializer-context.d.ts.map +1 -1
  85. package/dist/types/type-context.d.ts +12 -0
  86. package/dist/types/type-context.d.ts.map +1 -1
  87. package/dist/types/type-internals.d.ts +15 -0
  88. package/dist/types/type-internals.d.ts.map +1 -0
  89. package/dist/types/type-manager.d.ts +17 -1
  90. package/dist/types/type-manager.d.ts.map +1 -1
  91. package/dist/types/type-metadata.d.ts +30 -12
  92. package/dist/types/type-metadata.d.ts.map +1 -1
  93. package/dist/types/type-options-base.d.ts +4 -4
  94. package/dist/types/type-options-base.d.ts.map +1 -1
  95. package/dist/umd/index.js +1 -1
  96. package/dist/umd/index.js.map +1 -1
  97. package/package.json +1 -1
  98. package/dist/es2015/custom-data.js +0 -2
  99. package/dist/es2015/custom-data.js.map +0 -1
  100. package/dist/es2015/type-metadata-extractor.js +0 -2
  101. package/dist/es2015/type-metadata-extractor.js.map +0 -1
  102. package/dist/es5/custom-data.js +0 -2
  103. package/dist/es5/custom-data.js.map +0 -1
  104. package/dist/es5/type-metadata-extractor.js +0 -2
  105. package/dist/es5/type-metadata-extractor.js.map +0 -1
  106. package/dist/types/custom-data.d.ts +0 -7
  107. package/dist/types/custom-data.d.ts.map +0 -1
  108. package/dist/types/type-metadata-extractor.d.ts +0 -9
  109. package/dist/types/type-metadata-extractor.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [7.0.0] - 2023-??-??
9
+
10
+ ### Added
11
+
12
+ - Strongly typed custom options.
13
+ - Performance improvements when using custom options.
14
+
15
+ ### Removed
16
+
17
+ - Old custom data option.
18
+
19
+ ### Migrating from previous version
20
+
21
+ - Replace old custom data configurations with newly introduced strongly typed custom options.
22
+
8
23
  ## [6.0.0] - 2023-03-22
9
24
 
10
25
  ### Added
package/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  ![GitHub](https://img.shields.io/github/license/dipscope/TypeManager.TS) ![NPM](https://img.shields.io/npm/v/@dipscope/type-manager) ![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)
4
4
 
5
- Type manager is a parsing package for `TypeScript` which will help you to transform JSON strings or plain objects into `JavaScript` object instances. It supports [decorators](https://www.typescriptlang.org/docs/handbook/decorators.html) or declarative configuration and allows you to configure parsing of your or 3rd party classes easily.
5
+ Type manager is a superb parsing package for `TypeScript` which will help you to transform JSON strings or plain objects directly into class instances. No more need for unsafe `JSON.parse` and `JSON.stringify` functions. Forget about manual mapping and limitations. We support data transformations, circular references, naming conventions, generic and polymorphic types. Parsing never was so fun and easy.
6
+
7
+ Configuration can be done using [decorators](https://www.typescriptlang.org/docs/handbook/decorators.html) or declarative configuration for your or 3rd party classes.
6
8
 
7
9
  We recommend to use our [official website](https://dipscope.com/type-manager/what-issues-it-solves) to navigate through available features. You can also use the latest documentation described below.
8
10
 
@@ -680,14 +682,20 @@ Alias defined for a property declares that property name differs from one specif
680
682
  This option can be used to provide any custom data for type or property.
681
683
 
682
684
  ```typescript
683
- import { Type, Property } from '@dipscope/type-manager';
685
+ import { Type, Property, CustomKey } from '@dipscope/type-manager';
686
+
687
+ const rankKey = new CustomKey<number>('rank');
688
+ const orderKey = new CustomKey<number>('order');
684
689
 
685
690
  @Type({
686
- customData: { rank: 1 }
691
+ customOptions: [
692
+ [rankKey, 1],
693
+ [orderKey, 2]
694
+ ]
687
695
  })
688
696
  export class User
689
697
  {
690
- @Property(String, { customData: { order: 1 } }) public name: string;
698
+ @Property(String, { customOptions: [[orderKey, 3]]}) public name: string;
691
699
  }
692
700
  ```
693
701
 
@@ -910,14 +918,14 @@ By default null values are preserved. You can set it to `false` per type, proper
910
918
  This option can be used both on type and property to specify how references to the same objects should be handled during serialization and deserialization.
911
919
 
912
920
  ```typescript
913
- import { Type, Property, DirectReferenceHandler, LeadReferenceHandler } from '@dipscope/type-manager';
921
+ import { Type, Property, CircularReferenceHandler, PlainReferenceHandler } from '@dipscope/type-manager';
914
922
 
915
923
  @Type({
916
- referenceHandler: new DirectReferenceHandler()
924
+ referenceHandler: new CircularReferenceHandler()
917
925
  })
918
926
  export class User
919
927
  {
920
- @Property(String, { referenceHandler: new LeadReferenceHandler() }) public name: string;
928
+ @Property(String, { referenceHandler: new PlainReferenceHandler() }) public name: string;
921
929
  }
922
930
  ```
923
931
 
@@ -1517,17 +1525,22 @@ Our goal is to cover as much use cases as possible without making you to write a
1517
1525
 
1518
1526
  ### Defining custom data
1519
1527
 
1520
- You can attach you custom metadata to our decorators using `customData` option available on `Type` and `Property`.
1528
+ You can attach you custom metadata to our decorators using `customOptions` option available on `Type` and `Property`.
1521
1529
 
1522
1530
  ```typescript
1523
- import { Type, Property } from '@dipscope/type-manager';
1531
+ import { Type, Property, CustomKey } from '@dipscope/type-manager';
1532
+
1533
+ const rankKey = new CustomKey<number>('rank');
1534
+ const priorityKey = new CustomKey<number>('priority');
1524
1535
 
1525
1536
  @Type({
1526
- customData: { rank: 1 }
1537
+ customOptions: [
1538
+ [rankKey, 1]
1539
+ ]
1527
1540
  })
1528
1541
  class User
1529
1542
  {
1530
- @Property(String, { customData: { priority: 10 } }) public name: string;
1543
+ @Property(String, { customOptions: [[priorityKey, 10]] }) public name: string;
1531
1544
  }
1532
1545
  ```
1533
1546
 
@@ -1537,13 +1550,15 @@ This allows you to get it later in serializers, factories, injectors or your cod
1537
1550
  import { TypeManager } from '@dipscope/type-manager';
1538
1551
 
1539
1552
  const userMetadata = TypeManager.extractTypeMetadata(User);
1540
- const customData = userMetadata.customData;
1553
+ const typeCustomContext = userMetadata.customContext;
1554
+ const rank = customContext.get(rankKey);
1541
1555
 
1542
1556
  // Do something with type custom data...
1543
1557
 
1544
1558
  for (const propertyMetadata of userMetadata.propertyMetadataMap.values())
1545
1559
  {
1546
- const propertyCustomData = propertyMetadata.customData;
1560
+ const propertyCustomContext = propertyMetadata.customContext;
1561
+ const priority = propertyCustomContext.get(priorityKey);
1547
1562
 
1548
1563
  // Do something with property custom data...
1549
1564
  }
@@ -1707,13 +1722,12 @@ export class CustomTypeFactory extends TypeFactory
1707
1722
 
1708
1723
  // Resolve custom data.
1709
1724
  const typeMetadata = typeContext.typeMetadata;
1710
- const customData = typeMetadata.customData;
1725
+ const customContext = typeMetadata.customContext;
1711
1726
 
1712
- // Process custom data.
1713
- for (const propertyName in customData)
1714
- {
1715
- type[propertyName] = customData[propertyName];
1716
- }
1727
+ // Get rank based on key.
1728
+ const rank = customContext.get(rankKey);
1729
+
1730
+ // Process custom data...
1717
1731
 
1718
1732
  return type;
1719
1733
  }
@@ -1726,7 +1740,7 @@ When you are finished with definitions there are two possible ways to register a
1726
1740
  import { Type, Factory } from '@dipscope/type-manager';
1727
1741
 
1728
1742
  @Type({
1729
- customData: { rank: 1 },
1743
+ customOptions: [[rankKey, 1]]
1730
1744
  factory: new CustomTypeFactory()
1731
1745
  })
1732
1746
  export class User
@@ -1742,7 +1756,7 @@ import { TypeManager } from '@dipscope/type-manager';
1742
1756
 
1743
1757
  // Overriding only for user type.
1744
1758
  TypeManager.applyTypeOptions(User, {
1745
- customData: { rank: 1 },
1759
+ customOptions: [[rankKey, 1]],
1746
1760
  factory: new CustomTypeFactory()
1747
1761
  });
1748
1762
 
@@ -0,0 +1,58 @@
1
+ import { isNil, isUndefined } from 'lodash';
2
+ export class CustomContext {
3
+ constructor(customOptions = new Array()) {
4
+ this.customValueMap = new Map();
5
+ this.customOptions = this.constructCustomOptions(customOptions);
6
+ this.configure(customOptions);
7
+ return;
8
+ }
9
+ constructCustomOptions(customOptions) {
10
+ const customValueMap = new Map();
11
+ for (const [customKey, customValue] of customOptions) {
12
+ customValueMap.set(customKey, customValue);
13
+ }
14
+ customOptions.splice(0, customOptions.length);
15
+ for (const [customKey, customValue] of customValueMap.entries()) {
16
+ customOptions.push([customKey, customValue]);
17
+ }
18
+ return customOptions;
19
+ }
20
+ set(customKey, customValue) {
21
+ const customOptions = this.customOptions;
22
+ this.customValueMap.set(customKey, customValue);
23
+ for (let i = 0; i < customOptions.length; i++) {
24
+ if (customOptions[i][0] === customKey) {
25
+ customOptions[i][1] = customValue;
26
+ return this;
27
+ }
28
+ }
29
+ customOptions.push([customKey, customValue]);
30
+ return this;
31
+ }
32
+ get(customKey) {
33
+ let customValue = this.customValueMap.get(customKey);
34
+ if (isUndefined(customValue) && !isNil(customKey.customValueResolver)) {
35
+ customValue = customKey.customValueResolver();
36
+ }
37
+ return customValue;
38
+ }
39
+ has(customKey) {
40
+ return this.customValueMap.has(customKey);
41
+ }
42
+ keys() {
43
+ return this.customValueMap.keys();
44
+ }
45
+ values() {
46
+ return this.customValueMap.values();
47
+ }
48
+ entries() {
49
+ return this.customValueMap.entries();
50
+ }
51
+ configure(customOptions) {
52
+ for (const [customKey, customValue] of customOptions) {
53
+ this.set(customKey, customValue);
54
+ }
55
+ return this;
56
+ }
57
+ }
58
+ //# sourceMappingURL=custom-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-context.js","sourceRoot":"","sources":["../../src/custom-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAU5C,MAAM,OAAO,aAAa;IAqBtB,YAAmB,gBAAqC,IAAI,KAAK,EAAgB;QAPjE,mBAAc,GAAqC,IAAI,GAAG,EAA+B,CAAC;QAStG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO;IACX,CAAC;IAUO,sBAAsB,CAAC,aAAkC;QAE7D,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;QAE9D,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,aAAa,EACpD;YACI,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC9C;QAED,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAC/D;YACI,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;SAChD;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAUM,GAAG,CAAe,SAAkC,EAAE,WAAyB;QAElF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAC7C;YACI,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EACrC;gBACI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;gBAElC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,GAAG,CAAe,SAAkC;QAEvD,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACrE;YACI,WAAW,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;SACjD;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IASM,GAAG,CAAe,SAAkC;QAEvD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAOM,IAAI;QAEP,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAOM,MAAM;QAET,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAOM,OAAO;QAEV,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IASM,SAAS,CAAC,aAAkC;QAE/C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,aAAa,EACpD;YACI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ export class CustomKey {
2
+ constructor(description, customValueResolver) {
3
+ this.description = description;
4
+ this.customValueResolver = customValueResolver;
5
+ return;
6
+ }
7
+ }
8
+ //# sourceMappingURL=custom-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-key.js","sourceRoot":"","sources":["../../src/custom-key.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,SAAS;IAsBlB,YAAmB,WAAmB,EAAE,mBAAuD;QAE3F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,OAAO;IACX,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-option.js","sourceRoot":"","sources":["../../src/custom-option.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-value-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-value-resolver.js","sourceRoot":"","sources":["../../src/custom-value-resolver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-value.js","sourceRoot":"","sources":["../../src/custom-value.ts"],"names":[],"mappings":""}
@@ -8,7 +8,11 @@ export * from './reference-handlers';
8
8
  export * from './serializers';
9
9
  export * from './alias';
10
10
  export * from './any';
11
- export * from './custom-data';
11
+ export * from './custom-context';
12
+ export * from './custom-key';
13
+ export * from './custom-option';
14
+ export * from './custom-value-resolver';
15
+ export * from './custom-value';
12
16
  export * from './default-value-resolver';
13
17
  export * from './default-value';
14
18
  export * from './discriminant';
@@ -52,9 +56,9 @@ export * from './type-context';
52
56
  export * from './type-ctor';
53
57
  export * from './type-fn';
54
58
  export * from './type-like';
59
+ export * from './type-internals';
55
60
  export * from './type-manager-options';
56
61
  export * from './type-manager';
57
- export * from './type-metadata-extractor';
58
62
  export * from './type-metadata-resolver';
59
63
  export * from './type-metadata-symbol';
60
64
  export * from './type-metadata';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -5,7 +5,7 @@ import { Unknown } from './unknown';
5
5
  export class InjectMetadata extends Metadata {
6
6
  constructor(declaringTypeMetadata, injectIndex, injectOptions) {
7
7
  var _a;
8
- super(declaringTypeMetadata.typeMetadataExtractor, declaringTypeMetadata.typeFnMap);
8
+ super(declaringTypeMetadata.typeManager);
9
9
  this.declaringTypeMetadata = declaringTypeMetadata;
10
10
  this.reflectTypeFn = ((_a = getOwnReflectMetadata('design:paramtypes', declaringTypeMetadata.typeFn)) !== null && _a !== void 0 ? _a : new Array())[injectIndex];
11
11
  this.injectIndex = injectIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-metadata.js","sourceRoot":"","sources":["../../src/inject-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject-metadata.js","sourceRoot":"","sources":["../../src/inject-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,OAAO,cAAsC,SAAQ,QAAQ;IA8C/D,YACI,qBAAmD,EACnD,WAAwB,EACxB,aAAmC;;QAGnC,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAEzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,CAAC,MAAA,qBAAqB,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,MAAM,CAAC,mCAAI,IAAI,KAAK,EAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3I,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO;IACX,CAAC;IAOD,IAAW,GAAG;QAEV,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;IAClC,CAAC;IAOD,IAAW,MAAM;QAEb,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IACrC,CAAC;IAOD,IAAW,oBAAoB;QAE3B,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC;IACrD,CAAC;IAOD,IAAW,YAAY;QAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAsB,CAAC;QAEzC,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EACrC;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,yGAAyG,CAAC,CAAC;SACxL;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAUO,sBAAsB,CAAC,aAAmC;;QAE9D,aAAa,CAAC,MAAM,GAAG,MAAA,aAAa,CAAC,MAAM,mCAAI,IAAI,CAAC,aAAa,CAAC;QAElE,OAAO,aAAa,CAAC;IACzB,CAAC;IAOO,wBAAwB;QAE5B,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;QAEvE,OAAO,eAAe,CAAC;IAC3B,CAAC;IASM,MAAM,CAAC,GAAuB;QAEjC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QAE7B,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,SAAS,CAAC,MAAiC;QAE9C,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,aAAa,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEvG,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,SAAS,CAAC,aAAmC;QAEhD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EACnC;YACI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EACtC;YACI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -2,9 +2,9 @@ import { isArray, isNil, isString } from 'lodash';
2
2
  import { isArrowFunction } from './functions/is-arrow-function';
3
3
  import { Unknown } from './unknown';
4
4
  export class Metadata {
5
- constructor(typeMetadataExtractor, typeFnMap) {
6
- this.typeMetadataExtractor = typeMetadataExtractor;
7
- this.typeFnMap = typeFnMap;
5
+ constructor(typeManager) {
6
+ this.typeManager = typeManager;
7
+ this.typeFnMap = typeManager.typeFnMap;
8
8
  return;
9
9
  }
10
10
  defineTypeMetadataResolver(typeArgument) {
@@ -21,7 +21,7 @@ export class Metadata {
21
21
  }
22
22
  resolveTypeMetadataUsingUnknownTypeFn() {
23
23
  const typeFn = Unknown;
24
- return this.typeMetadataExtractor(typeFn);
24
+ return this.typeManager.extractTypeMetadata(typeFn);
25
25
  }
26
26
  resolveTypeMetadataUsingAlias(typeArgument) {
27
27
  const alias = typeArgument;
@@ -29,15 +29,15 @@ export class Metadata {
29
29
  if (isNil(typeFn)) {
30
30
  throw new Error(`Cannot resolve type metadata for provided type alias: ${alias}. This is usually caused by invalid configuration.`);
31
31
  }
32
- return this.typeMetadataExtractor(typeFn);
32
+ return this.typeManager.extractTypeMetadata(typeFn);
33
33
  }
34
34
  resolveTypeMetadataUsingTypeFn(typeArgument) {
35
35
  const typeFn = typeArgument;
36
- return this.typeMetadataExtractor(typeFn);
36
+ return this.typeManager.extractTypeMetadata(typeFn);
37
37
  }
38
38
  resolveTypeMetadataUsingTypeResolver(typeArgument) {
39
39
  const typeResolver = typeArgument;
40
- return this.typeMetadataExtractor(typeResolver());
40
+ return this.typeManager.extractTypeMetadata(typeResolver());
41
41
  }
42
42
  defineGenericStructures(genericArguments) {
43
43
  const genericStructures = new Array();
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAWhE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,OAAO,QAAQ;IAsBjB,YACI,qBAAiD,EACjD,SAAkC;QAGlC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,OAAO;IACX,CAAC;IASM,0BAA0B,CAAC,YAA+B;QAE7D,IAAI,KAAK,CAAC,YAAY,CAAC,EACvB;YACI,OAAO,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChE;QAED,IAAI,QAAQ,CAAC,YAAY,CAAC,EAC1B;YACI,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxD;QAED,IAAI,eAAe,CAAC,YAAY,CAAC,EACjC;YACI,OAAO,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAOO,qCAAqC;QAEzC,MAAM,MAAM,GAAG,OAAsB,CAAC;QAEtC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IASO,6BAA6B,CAAC,YAA+B;QAEjE,MAAM,KAAK,GAAG,YAAqB,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,MAAM,CAAC,EACjB;YACI,MAAM,IAAI,KAAK,CAAC,yDAAyD,KAAK,oDAAoD,CAAC,CAAC;SACvI;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IASO,8BAA8B,CAAC,YAA+B;QAElE,MAAM,MAAM,GAAG,YAA2B,CAAC;QAE3C,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IASO,oCAAoC,CAAC,YAA+B;QAExE,MAAM,YAAY,GAAG,YAAiC,CAAC;QAEvD,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IASM,uBAAuB,CAAC,gBAA6C;QAExE,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAyB,CAAC;QAE7D,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAC9C;YACI,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC5F,MAAM,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAwB,CAAC;YAElH,iBAAiB,CAAC,IAAI,CAAC;gBACnB,mBAAmB;gBACnB,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,CAAC;aACxD,CAAC,CAAC;SACN;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IASM,8BAA8B,CAAC,iBAA+C;QAEjF,MAAM,wBAAwB,GAAG,IAAI,KAAK,EAAgC,CAAC;QAE3E,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAChD;YACI,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAErD,wBAAwB,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC;gBACpD,IAAI,CAAC,8BAA8B,CAAC,wBAAwB,CAAC;aAChE,CAAC,CAAC;SACN;QAED,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAUM,sBAAsB,CACzB,iBAA+C,EAC/C,wBAA6D;QAG7D,MAAM,gBAAgB,GAAG,IAAI,KAAK,EAAwB,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EACjD;YACI,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,+BAA+B,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,gBAAgB,CAAC,IAAI,CAAC;gBAClB,uBAAuB,CAAC,mBAAmB,CAAC;gBAC5C,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,+BAA+B,CAAC;aACzF,CAAC,CAAC;SACN;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { isFunction, isNil, isUndefined, merge } from 'lodash';
1
+ import { isFunction, isNil, isUndefined } from 'lodash';
2
+ import { CustomContext } from './custom-context';
2
3
  import { getReflectMetadata } from './functions/get-reflect-metadata';
3
4
  import { Metadata } from './metadata';
4
5
  export class PropertyMetadata extends Metadata {
5
6
  constructor(declaringTypeMetadata, propertyName, propertyOptions) {
6
- super(declaringTypeMetadata.typeMetadataExtractor, declaringTypeMetadata.typeFnMap);
7
+ super(declaringTypeMetadata.typeManager);
7
8
  this.declaringTypeMetadata = declaringTypeMetadata;
8
9
  this.propertyName = propertyName;
9
10
  this.reflectTypeFn = getReflectMetadata('design:type', declaringTypeMetadata.typeFn.prototype, propertyName);
@@ -15,17 +16,17 @@ export class PropertyMetadata extends Metadata {
15
16
  get alias() {
16
17
  return this.propertyOptions.alias;
17
18
  }
18
- get customData() {
19
- const customData = {};
20
- const typeCustomData = this.typeMetadata.customData;
21
- const propertyCustomData = this.propertyOptions.customData;
22
- if (!isNil(typeCustomData)) {
23
- merge(customData, typeCustomData);
24
- }
25
- if (!isNil(propertyCustomData)) {
26
- merge(customData, propertyCustomData);
19
+ get customOptions() {
20
+ return this.propertyOptions.customOptions;
21
+ }
22
+ get customContext() {
23
+ let customContext = this.propertyInternals.customContext;
24
+ if (isNil(customContext)) {
25
+ this.propertyOptions.customOptions = new Array();
26
+ this.propertyInternals.customContext = new CustomContext(this.propertyOptions.customOptions);
27
+ customContext = this.propertyInternals.customContext;
27
28
  }
28
- return customData;
29
+ return customContext;
29
30
  }
30
31
  get serializedNullValue() {
31
32
  if (this.preserveNull) {
@@ -37,7 +38,10 @@ export class PropertyMetadata extends Metadata {
37
38
  var _a, _b;
38
39
  if (this.useDefaultValue) {
39
40
  const serializedDefaultValue = (_b = (_a = this.propertyOptions.defaultValue) !== null && _a !== void 0 ? _a : this.propertyOptions.serializedDefaultValue) !== null && _b !== void 0 ? _b : this.typeMetadata.serializedDefaultValue;
40
- return isFunction(serializedDefaultValue) ? serializedDefaultValue() : serializedDefaultValue;
41
+ const defaultValue = isFunction(serializedDefaultValue)
42
+ ? serializedDefaultValue()
43
+ : serializedDefaultValue;
44
+ return defaultValue;
41
45
  }
42
46
  return undefined;
43
47
  }
@@ -51,7 +55,10 @@ export class PropertyMetadata extends Metadata {
51
55
  var _a, _b;
52
56
  if (this.useDefaultValue) {
53
57
  const deserializedDefaultValue = (_b = (_a = this.propertyOptions.defaultValue) !== null && _a !== void 0 ? _a : this.propertyOptions.deserializedDefaultValue) !== null && _b !== void 0 ? _b : this.typeMetadata.deserializedDefaultValue;
54
- return isFunction(deserializedDefaultValue) ? deserializedDefaultValue() : deserializedDefaultValue;
58
+ const defaultValue = isFunction(deserializedDefaultValue)
59
+ ? deserializedDefaultValue()
60
+ : deserializedDefaultValue;
61
+ return defaultValue;
55
62
  }
56
63
  return undefined;
57
64
  }
@@ -134,16 +141,19 @@ export class PropertyMetadata extends Metadata {
134
141
  }
135
142
  constructPropertyInternals() {
136
143
  const typeMetadataResolver = this.defineTypeMetadataResolver(this.propertyOptions.typeArgument);
137
- const propertyInternals = { typeMetadataResolver: typeMetadataResolver };
144
+ const customOptions = this.propertyOptions.customOptions;
145
+ const customContext = isNil(customOptions) ? undefined : new CustomContext(customOptions);
146
+ const propertyInternals = { typeMetadataResolver: typeMetadataResolver, customContext: customContext };
138
147
  return propertyInternals;
139
148
  }
140
149
  hasAlias(alias) {
141
150
  this.propertyOptions.alias = alias;
142
151
  return this;
143
152
  }
144
- hasCustomData(customData) {
145
- var _a;
146
- this.propertyOptions.customData = merge((_a = this.propertyOptions.customData) !== null && _a !== void 0 ? _a : {}, customData !== null && customData !== void 0 ? customData : {});
153
+ hasCustomOptions(customOptions) {
154
+ if (!isNil(customOptions)) {
155
+ this.customContext.configure(customOptions);
156
+ }
147
157
  return this;
148
158
  }
149
159
  hasDefaultValue(defaultValue) {
@@ -211,8 +221,8 @@ export class PropertyMetadata extends Metadata {
211
221
  if (!isUndefined(propertyOptions.alias)) {
212
222
  this.hasAlias(propertyOptions.alias);
213
223
  }
214
- if (!isUndefined(propertyOptions.customData)) {
215
- this.hasCustomData(propertyOptions.customData);
224
+ if (!isUndefined(propertyOptions.customOptions)) {
225
+ this.hasCustomOptions(propertyOptions.customOptions);
216
226
  }
217
227
  if (!isUndefined(propertyOptions.defaultValue)) {
218
228
  this.hasDefaultValue(propertyOptions.defaultValue);
@@ -1 +1 @@
1
- {"version":3,"file":"property-metadata.js","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-metadata.js","sourceRoot":"","sources":["../../src/property-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { isNil, isNumber, isUndefined, merge } from 'lodash';
1
+ import { isNil, isNumber, isUndefined } from 'lodash';
2
2
  import { isCtorFunction } from './functions/is-ctor-function';
3
3
  import { Metadata } from './metadata';
4
4
  export class SerializerContext extends Metadata {
5
5
  constructor($, referenceMap, referenceCallbackMap, serializerContextOptions, parentSerializerContext) {
6
- super(serializerContextOptions.typeMetadata.typeMetadataExtractor, serializerContextOptions.typeMetadata.typeFnMap);
6
+ super(serializerContextOptions.typeMetadata.typeManager);
7
7
  this.$ = $;
8
8
  this.referenceMap = referenceMap,
9
9
  this.referenceCallbackMap = referenceCallbackMap;
@@ -17,19 +17,6 @@ export class SerializerContext extends Metadata {
17
17
  get referenceValueSetter() {
18
18
  return this.serializerContextOptions.referenceValueSetter;
19
19
  }
20
- get customData() {
21
- var _a;
22
- const customData = {};
23
- const typeCustomData = this.typeMetadata.customData;
24
- const propertyCustomData = (_a = this.propertyMetadata) === null || _a === void 0 ? void 0 : _a.customData;
25
- if (!isNil(typeCustomData)) {
26
- merge(customData, typeCustomData);
27
- }
28
- if (!isNil(propertyCustomData)) {
29
- merge(customData, propertyCustomData);
30
- }
31
- return customData;
32
- }
33
20
  get serializedNullValue() {
34
21
  if (this.preserveNull) {
35
22
  return null;
@@ -230,14 +217,14 @@ export class SerializerContext extends Metadata {
230
217
  if (isNil(discriminant)) {
231
218
  throw new Error(`${this.jsonPath}: cannot define discriminant of polymorphic type. This is usually caused by invalid configuration.`);
232
219
  }
233
- const typeMetadata = this.typeMetadataExtractor(typeFn);
220
+ const typeMetadata = this.typeManager.extractTypeMetadata(typeFn);
234
221
  const serializerContextOptions = this.defineSerializerContextOptions(this.serializerContextOptions);
235
222
  serializerContextOptions.typeMetadata = typeMetadata;
236
223
  return new SerializerContext(this.$, this.referenceMap, this.referenceCallbackMap, serializerContextOptions, this.parentSerializerContext);
237
224
  }
238
225
  definePolymorphicSerializerContextByDiscriminant(record) {
239
226
  for (const [typeCtor, discriminant] of this.discriminantMap) {
240
- const typeMetadata = this.typeMetadataExtractor(typeCtor);
227
+ const typeMetadata = this.typeManager.extractTypeMetadata(typeCtor);
241
228
  if (record[typeMetadata.discriminator] === discriminant) {
242
229
  const serializerContextOptions = this.defineSerializerContextOptions(this.serializerContextOptions);
243
230
  serializerContextOptions.typeMetadata = typeMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer-context.js","sourceRoot":"","sources":["../../src/serializer-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAM9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoBtC,MAAM,OAAO,iBAAyB,SAAQ,QAAQ;IAsDlD,YACI,CAAM,EACN,YAA+C,EAC/C,oBAAiE,EACjE,wBAAyD,EACzD,uBAAgD;QAGhD,KAAK,CACD,wBAAwB,CAAC,YAAY,CAAC,qBAAqB,EAC3D,wBAAwB,CAAC,YAAY,CAAC,SAAS,CAClD,CAAC;QAEF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,YAAY,GAAG,YAAY;YAChC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QAEvD,OAAO;IACX,CAAC;IAOD,IAAW,WAAW;QAElB,OAAO,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACrD,CAAC;IAOD,IAAW,oBAAoB;QAE3B,OAAO,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,CAAC;IAC9D,CAAC;IAOD,IAAW,UAAU;;QAEjB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;QACpD,MAAM,kBAAkB,GAAG,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,CAAC;QAE7D,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAC1B;YACI,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC9B;YACI,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;SACzC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAOD,IAAW,mBAAmB;QAE1B,IAAI,IAAI,CAAC,YAAY,EACrB;YACI,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAOD,IAAW,sBAAsB;;QAE7B,IAAI,IAAI,CAAC,eAAe,EACxB;YACI,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,sBAAsB,mCAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;SACpG;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAOD,IAAW,qBAAqB;QAE5B,IAAI,IAAI,CAAC,YAAY,EACrB;YACI,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IAOD,IAAW,wBAAwB;;QAE/B,IAAI,IAAI,CAAC,eAAe,EACxB;YACI,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,wBAAwB,mCAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;SACxG;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAOD,IAAW,QAAQ;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAE7D,IAAI,KAAK,CAAC,uBAAuB,CAAC,EAClC;YACI,OAAO,WAAW,CAAC;SACtB;QAED,IAAI,QAAQ,CAAC,WAAW,CAAC,EACzB;YACI,OAAO,GAAG,uBAAuB,CAAC,QAAQ,IAAI,WAAW,GAAG,CAAC;SAChE;QAED,OAAO,GAAG,uBAAuB,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC;IACnE,CAAC;IAOD,IAAW,YAAY;QAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IAC1C,CAAC;IAOD,IAAW,eAAe;QAEtB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC7C,CAAC;IAOD,IAAW,aAAa;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IAC3C,CAAC;IAOD,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACrC,CAAC;IAOD,IAAW,iBAAiB;QAExB,OAAO,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;IAC3D,CAAC;IAOD,IAAW,wBAAwB;QAE/B,OAAO,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAAC;IAClE,CAAC;IAOD,IAAW,gBAAgB;QAEvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAE/D,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAC/D;YACI,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;IACpF,CAAC;IAOD,IAAW,QAAQ;QAEf,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACtC,CAAC;IAOD,IAAW,GAAG;QAEV,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;IACjC,CAAC;IAOD,IAAW,IAAI;QAEX,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAChC;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;SACrC;QAED,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC3G,CAAC;IAOD,IAAW,gBAAgB;;QAEvB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,gBAAgB,mCAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IACzF,CAAC;IAOD,IAAW,WAAW;QAElB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACzC,CAAC;IAOD,IAAW,gBAAgB;QAEvB,OAAO,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IAOD,IAAW,qBAAqB;QAE5B,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IACnD,CAAC;IAOD,IAAW,gBAAgB;;QAEvB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,gBAAgB,mCAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IACzF,CAAC;IAOD,IAAW,UAAU;;QAEjB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,mCAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IAC7E,CAAC;IAOD,IAAW,YAAY;QAEnB,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC;IACtD,CAAC;IAOD,IAAW,YAAY;;QAEnB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,YAAY,mCAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IACjF,CAAC;IAOD,IAAW,eAAe;;QAEtB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,eAAe,mCAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IACvF,CAAC;IAOD,IAAW,qBAAqB;;QAE5B,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,qBAAqB,mCAAI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IACnG,CAAC;IASM,SAAS,CAAC,CAAkB;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IASM,WAAW,CAAC,CAAgB;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAYM,eAAe,CAAC,YAA0B,EAAE,oBAA0C;QAEzF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAClF,CAAC;IAYM,gBAAgB,CAAC,YAA0B,EAAE,oBAA0C;QAE1F,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACnF,CAAC;IAWM,yBAAyB,CAAC,YAA0B;QAEvD,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEvD,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAC/B;YACI,OAAO;SACV;QAED,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE;YAE1C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE3D,oBAAoB,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO;IACX,CAAC;IAYM,qBAAqB,CAAC,YAA0B,EAAE,iBAAoC;QAEzF,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAErE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAC7B;YACI,kBAAkB,GAAG,EAAE,CAAC;YAExB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;SACnE;QAED,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3C,OAAO;IACX,CAAC;IAWM,yBAAyB,CAAC,YAA0B;QAEvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAC7B;YACI,OAAO;SACV;QAED,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAClD;YACI,iBAAiB,EAAE,CAAC;SACvB;QAED,OAAO;IACX,CAAC;IASO,8BAA8B,CAAC,wBAAgE;;QAEnG,OAAO;YACH,WAAW,EAAE,MAAA,wBAAwB,CAAC,WAAW,mCAAI,IAAI,CAAC,wBAAwB,CAAC,WAAW;YAC9F,YAAY,EAAE,MAAA,wBAAwB,CAAC,YAAY,mCAAI,IAAI,CAAC,wBAAwB,CAAC,YAAY;YACjG,iBAAiB,EAAE,MAAA,wBAAwB,CAAC,iBAAiB,mCAAI,IAAI,CAAC,wBAAwB,CAAC,iBAAiB;YAChH,wBAAwB,EAAE,MAAA,wBAAwB,CAAC,wBAAwB,mCAAI,IAAI,CAAC,wBAAwB,CAAC,wBAAwB;YACrI,gBAAgB,EAAE,MAAA,wBAAwB,CAAC,gBAAgB,mCAAI,IAAI,CAAC,wBAAwB,CAAC,gBAAgB;YAC7G,oBAAoB,EAAE,MAAA,wBAAwB,CAAC,oBAAoB,mCAAI,IAAI,CAAC,wBAAwB,CAAC,oBAAoB;SAC5H,CAAC;IACN,CAAC;IAWM,4BAA4B,CAAC,6BAAqE;QAErG,MAAM,uBAAuB,GAAG,KAAK,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;QACvH,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,CAAC;QAEpG,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IAC1I,CAAC;IAWM,8BAA8B,CAAC,YAAoB;QAEtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAE/D,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAC/D;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,qFAAqF,CAAC,CAAC;SAC1H;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAEvE,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,EAC7D;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,8CAA8C,YAAY,oDAAoD,CAAC,CAAC;SACnJ;QAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,+BAA+B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;QACtE,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEpG,wBAAwB,CAAC,YAAY,GAAG,YAAY,CAAC;QACrD,wBAAwB,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;QACtE,wBAAwB,CAAC,wBAAwB,GAAG,+BAA+B,CAAC;QACpF,wBAAwB,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAEtD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/I,CAAC;IAWM,kCAAkC,CAAC,CAAoC;QAE1E,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC;IASO,0CAA0C,CAAC,MAAmB;QAElE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC,YAAY,CAAC,EACvB;YACI,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,oGAAoG,CAAC,CAAC;SACzI;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEpG,wBAAwB,CAAC,YAAY,GAAG,YAAY,CAAC;QAErD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/I,CAAC;IASO,gDAAgD,CAAC,MAA2B;QAEhF,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,eAAe,EAC3D;YACI,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,YAAY,EACvD;gBACI,MAAM,wBAAwB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAEpG,wBAAwB,CAAC,YAAY,GAAG,YAAY,CAAC;gBAErD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAC9I;SACJ;QAED,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,oGAAoG,CAAC,CAAC;IAC1I,CAAC;IASM,cAAc,CAAC,WAA4B;QAE9C,IAAI,CAAC,wBAAwB,CAAC,WAAW,GAAG,WAAW,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,uBAAuB,CAAC,oBAA0C;QAErE,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAE1E,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,oBAAoB,CAAC,iBAA2D;QAEnF,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAEpE,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,2BAA2B,CAAC,wBAAyE;QAExG,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAElF,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,mBAAmB,CAAC,gBAA0D;QAEjF,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAElE,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,eAAe,CAAC,YAAiC;QAEpD,IAAI,CAAC,wBAAwB,CAAC,YAAY,GAAG,YAAY,CAAC;QAE1D,OAAO,IAAI,CAAC;IAChB,CAAC;IASM,SAAS,CAAC,wBAAyD;QAEtE,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,EACtD;YACI,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;SAC7D;QAED,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,EAC/D;YACI,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EAC5D;YACI,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,EACnE;YACI,IAAI,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;SACvF;QAED,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EAC3D;YACI,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,EACvD;YACI,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"serializer-context.js","sourceRoot":"","sources":["../../src/serializer-context.ts"],"names":[],"mappings":"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"}