@dipscope/type-manager 8.2.1 → 8.3.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 (97) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +145 -83
  3. package/dist/es2015/constants/index.js +1 -0
  4. package/dist/es2015/constants/index.js.map +1 -1
  5. package/dist/es2015/constants/property-interceptor.js +2 -0
  6. package/dist/es2015/constants/property-interceptor.js.map +1 -0
  7. package/dist/es2015/functions/get-property-metadata.js +15 -0
  8. package/dist/es2015/functions/get-property-metadata.js.map +1 -0
  9. package/dist/es2015/functions/index.js +1 -0
  10. package/dist/es2015/functions/index.js.map +1 -1
  11. package/dist/es2015/index.js +4 -0
  12. package/dist/es2015/index.js.map +1 -1
  13. package/dist/es2015/property-interceptor-symbol.js +2 -0
  14. package/dist/es2015/property-interceptor-symbol.js.map +1 -0
  15. package/dist/es2015/property-interceptor.js +2 -0
  16. package/dist/es2015/property-interceptor.js.map +1 -0
  17. package/dist/es2015/property-metadata.js +105 -1
  18. package/dist/es2015/property-metadata.js.map +1 -1
  19. package/dist/es2015/property-states/resolved-property-state.js +3 -1
  20. package/dist/es2015/property-states/resolved-property-state.js.map +1 -1
  21. package/dist/es2015/property-states/unresolved-property-state.js +16 -0
  22. package/dist/es2015/property-states/unresolved-property-state.js.map +1 -1
  23. package/dist/es2015/property.js +8 -1
  24. package/dist/es2015/property.js.map +1 -1
  25. package/dist/es2015/type-manager-state.js +6 -0
  26. package/dist/es2015/type-manager-state.js.map +1 -0
  27. package/dist/es2015/type-manager.js +19 -4
  28. package/dist/es2015/type-manager.js.map +1 -1
  29. package/dist/es2015/type-metadata-symbol.js.map +1 -1
  30. package/dist/es2015/type-primitive.js +2 -0
  31. package/dist/es2015/type-primitive.js.map +1 -0
  32. package/dist/es5/constants/index.js +1 -0
  33. package/dist/es5/constants/index.js.map +1 -1
  34. package/dist/es5/constants/property-interceptor.js +2 -0
  35. package/dist/es5/constants/property-interceptor.js.map +1 -0
  36. package/dist/es5/functions/get-property-metadata.js +15 -0
  37. package/dist/es5/functions/get-property-metadata.js.map +1 -0
  38. package/dist/es5/functions/index.js +1 -0
  39. package/dist/es5/functions/index.js.map +1 -1
  40. package/dist/es5/index.js +4 -0
  41. package/dist/es5/index.js.map +1 -1
  42. package/dist/es5/property-interceptor-symbol.js +2 -0
  43. package/dist/es5/property-interceptor-symbol.js.map +1 -0
  44. package/dist/es5/property-interceptor.js +2 -0
  45. package/dist/es5/property-interceptor.js.map +1 -0
  46. package/dist/es5/property-metadata.js +105 -1
  47. package/dist/es5/property-metadata.js.map +1 -1
  48. package/dist/es5/property-states/resolved-property-state.js +3 -1
  49. package/dist/es5/property-states/resolved-property-state.js.map +1 -1
  50. package/dist/es5/property-states/unresolved-property-state.js +24 -0
  51. package/dist/es5/property-states/unresolved-property-state.js.map +1 -1
  52. package/dist/es5/property.js +8 -1
  53. package/dist/es5/property.js.map +1 -1
  54. package/dist/es5/type-manager-state.js +6 -0
  55. package/dist/es5/type-manager-state.js.map +1 -0
  56. package/dist/es5/type-manager.js +21 -4
  57. package/dist/es5/type-manager.js.map +1 -1
  58. package/dist/es5/type-metadata-symbol.js.map +1 -1
  59. package/dist/es5/type-primitive.js +2 -0
  60. package/dist/es5/type-primitive.js.map +1 -0
  61. package/dist/types/constants/index.d.ts +1 -0
  62. package/dist/types/constants/index.d.ts.map +1 -1
  63. package/dist/types/constants/property-interceptor.d.ts +8 -0
  64. package/dist/types/constants/property-interceptor.d.ts.map +1 -0
  65. package/dist/types/functions/get-property-metadata.d.ts +15 -0
  66. package/dist/types/functions/get-property-metadata.d.ts.map +1 -0
  67. package/dist/types/functions/index.d.ts +1 -0
  68. package/dist/types/functions/index.d.ts.map +1 -1
  69. package/dist/types/index.d.ts +4 -0
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/property-decorator.d.ts +1 -1
  72. package/dist/types/property-decorator.d.ts.map +1 -1
  73. package/dist/types/property-interceptor-symbol.d.ts +7 -0
  74. package/dist/types/property-interceptor-symbol.d.ts.map +1 -0
  75. package/dist/types/property-interceptor.d.ts +11 -0
  76. package/dist/types/property-interceptor.d.ts.map +1 -0
  77. package/dist/types/property-metadata.d.ts +29 -0
  78. package/dist/types/property-metadata.d.ts.map +1 -1
  79. package/dist/types/property-options.d.ts +13 -0
  80. package/dist/types/property-options.d.ts.map +1 -1
  81. package/dist/types/property-state.d.ts +13 -0
  82. package/dist/types/property-state.d.ts.map +1 -1
  83. package/dist/types/property-states/resolved-property-state.d.ts +16 -1
  84. package/dist/types/property-states/resolved-property-state.d.ts.map +1 -1
  85. package/dist/types/property-states/unresolved-property-state.d.ts +13 -0
  86. package/dist/types/property-states/unresolved-property-state.d.ts.map +1 -1
  87. package/dist/types/property.d.ts.map +1 -1
  88. package/dist/types/type-manager-state.d.ts +7 -0
  89. package/dist/types/type-manager-state.d.ts.map +1 -0
  90. package/dist/types/type-manager.d.ts +15 -0
  91. package/dist/types/type-manager.d.ts.map +1 -1
  92. package/dist/types/type-metadata-symbol.d.ts.map +1 -1
  93. package/dist/types/type-primitive.d.ts +9 -0
  94. package/dist/types/type-primitive.d.ts.map +1 -0
  95. package/dist/umd/index.js +1 -1
  96. package/dist/umd/index.js.map +1 -1
  97. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ 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
+ ## [8.3.0] - 2025-12-31
9
+
10
+ ### Added
11
+
12
+ - Get/set interceptors for properties to react or transform values on access.
13
+
8
14
  ## [8.2.1] - 2025-06-08
9
15
 
10
16
  ### Changed
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TypeManager.TS
2
2
 
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)
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
5
  ## What is TypeManager?
6
6
 
@@ -139,25 +139,27 @@ If you like or are using this project, please give it a star. Thanks!
139
139
  * [Inject decorator](#inject-decorator)
140
140
  * [Defining decorator options](#defining-decorator-options)
141
141
  * [Alias option](#alias-option)
142
+ * [After deserialize callback option](#after-deserialize-callback-option)
143
+ * [Before serialize callback option](#before-serialize-callback-option)
142
144
  * [Custom data option](#custom-data-option)
143
145
  * [Default value option](#default-value-option)
144
146
  * [Deserializable option](#deserializable-option)
145
- * [Before serialize callback option](#before-serialize-callback-option)
146
- * [After deserialize callback option](#after-deserialize-callback-option)
147
147
  * [Discriminant option](#discriminant-option)
148
148
  * [Discriminator option](#discriminator-option)
149
149
  * [Factory option](#factory-option)
150
+ * [Get interceptor option](#get-interceptor-option)
150
151
  * [Injectable option](#injectable-option)
151
152
  * [Injector option](#injector-option)
152
153
  * [Naming convention option](#naming-convention-option)
154
+ * [Parent type arguments option](#parent-type-arguments-option)
153
155
  * [Preserve discriminator option](#preserve-discriminator-option)
154
156
  * [Preserve null option](#preserve-null-option)
155
157
  * [Reference handler option](#reference-handler-option)
156
158
  * [Serializable option](#serializable-option)
157
159
  * [Serializer option](#serializer-option)
160
+ * [Set interceptor option](#set-interceptor-option)
158
161
  * [Use default value option](#use-default-value-option)
159
162
  * [Use implicit conversion option](#use-implicit-conversion-option)
160
- * [Parent type arguments option](#parent-type-arguments-option)
161
163
  * [Defining configuration manually](#defining-configuration-manually)
162
164
  * [Configuring global options](#configuring-global-options)
163
165
  * [Configuring options per type](#configuring-options-per-type)
@@ -676,6 +678,54 @@ Alias defined for a class can be used later for resolving property types. Note t
676
678
 
677
679
  Alias defined for a property declares that property name differs from one specified in JSON. In our case `username` will be used instead of `name` during JSON serialization and deserialization.
678
680
 
681
+ ### After deserialize callback option
682
+
683
+ This option can be used to specify the callback to invoke when deserialization is completed.
684
+
685
+ ```typescript
686
+ import { Type, Property } from '@dipscope/type-manager';
687
+
688
+ @Type({
689
+ afterDeserializeCallback: 'initializeAfterDeserialization'
690
+ })
691
+ export class User
692
+ {
693
+ @Property(String) public name: string;
694
+
695
+ public initializeAfterDeserialization(): void
696
+ {
697
+ // This method will be called after deserialization is complete.
698
+ console.log(`User object with name ${this.name} has been successfully deserialized...`);
699
+ }
700
+ }
701
+ ```
702
+
703
+ After the `User` instance is reconstructed, the `initializeAfterDeserialization` method will run automatically. This hook is ideal for re-establishing transient state (for example, reconnecting object references, initializing runtime-only fields, or validating integrity of the newly created object).
704
+
705
+ ### Before serialize callback option
706
+
707
+ This option can be used to specify the callback to invoke before serialization starts.
708
+
709
+ ```typescript
710
+ import { Type, Property } from '@dipscope/type-manager';
711
+
712
+ @Type({
713
+ beforeSerializeCallback: 'prepareForSerialization'
714
+ })
715
+ export class User
716
+ {
717
+ @Property(String) public name: string;
718
+
719
+ public prepareForSerialization(): void
720
+ {
721
+ // This method will be called before serialization begins.
722
+ console.log(`Preparing User object with name ${this.name} before serialization...`);
723
+ }
724
+ }
725
+ ```
726
+
727
+ The `prepareForSerialization` method will be automatically invoked by the type manager just before serialization of the `User` instance. Use this hook to perform any last-minute adjustments such as setting default values, trimming strings, or calculating derived properties before the data is emitted.
728
+
679
729
  ### Custom data option
680
730
 
681
731
  This option can be used to provide any custom data for type or property.
@@ -749,54 +799,6 @@ export class User
749
799
 
750
800
  By default all properties are deserializable.
751
801
 
752
- ### Before serialize callback option
753
-
754
- This option can be used to specify the callback to invoke before serialization starts.
755
-
756
- ```typescript
757
- import { Type, Property } from '@dipscope/type-manager';
758
-
759
- @Type({
760
- beforeSerializeCallback: 'prepareForSerialization'
761
- })
762
- export class User
763
- {
764
- @Property(String) public name: string;
765
-
766
- public prepareForSerialization(): void
767
- {
768
- // This method will be called before serialization begins.
769
- console.log(`Preparing User object with name ${this.name} before serialization...`);
770
- }
771
- }
772
- ```
773
-
774
- The `prepareForSerialization` method will be automatically invoked by the type manager just before serialization of the `User` instance. Use this hook to perform any last-minute adjustments such as setting default values, trimming strings, or calculating derived properties before the data is emitted.
775
-
776
- ### After deserialize callback option
777
-
778
- This option can be used to specify the callback to invoke when deserialization is completed.
779
-
780
- ```typescript
781
- import { Type, Property } from '@dipscope/type-manager';
782
-
783
- @Type({
784
- afterDeserializeCallback: 'initializeAfterDeserialization'
785
- })
786
- export class User
787
- {
788
- @Property(String) public name: string;
789
-
790
- public initializeAfterDeserialization(): void
791
- {
792
- // This method will be called after deserialization is complete.
793
- console.log(`User object with name ${this.name} has been successfully deserialized...`);
794
- }
795
- }
796
- ```
797
-
798
- After the `User` instance is reconstructed, the `initializeAfterDeserialization` method will run automatically. This hook is ideal for re-establishing transient state (for example, reconnecting object references, initializing runtime-only fields, or validating integrity of the newly created object).
799
-
800
802
  ### Discriminant option
801
803
 
802
804
  This option is used to define a custom discriminant for a type which is later used during serialization and deserialization of polymorphic types.
@@ -851,6 +853,32 @@ export class User
851
853
 
852
854
  This may be useful in cases when you want to init some special application specific properties. Read more about [defining custom factory](#defining-custom-factory) in a separate section.
853
855
 
856
+ ### Get interceptor option
857
+
858
+ This option defines a callback that will be invoked whenever the decorated property is **read**. It can be used to transform or react to the returned value before it is exposed.
859
+
860
+ ```typescript
861
+ import { Type, Property } from '@dipscope/type-manager';
862
+
863
+ @Type()
864
+ export class User
865
+ {
866
+ @Property(Number, {
867
+ getInterceptor: value => value + 1
868
+ })
869
+ public get score(): number
870
+ {
871
+ // Original getter result.
872
+ return 10;
873
+ }
874
+ }
875
+
876
+ const user = new User();
877
+ console.log(user.score); // 11 (transformed by getInterceptor)
878
+ ```
879
+
880
+ The `getInterceptor` receives the **original value** and must return the **final value**. This is useful for applying computed transformations, formatting, or reacting to read access at runtime.
881
+
854
882
  ### Injectable option
855
883
 
856
884
  This option is used to register a type in dependency injection container.
@@ -924,6 +952,37 @@ export class User
924
952
 
925
953
  In most cases this is not required and the common use case is to specify naming strategy globally instead. You can read more about [configuring naming convention](#configuring-naming-convention) in a separate section.
926
954
 
955
+ ### Parent type arguments option
956
+
957
+ When type implements interfaces which represent other classes this information got lost during `TypeScript` compilation process and there is no way to extract it. This option can be used to provide such information for a `TypeManager` to be used during serialization and deserialization.
958
+
959
+ ```typescript
960
+ import { Type, Property } from '@dipscope/type-manager';
961
+
962
+ @Type()
963
+ export abstract class Entity
964
+ {
965
+ @Property(String) public id?: string;
966
+ }
967
+
968
+ @Type()
969
+ export abstract class UserStatus extends Entity
970
+ {
971
+ @Property(String) public title?: string;
972
+ }
973
+
974
+ @Type({
975
+ parentTypeArguments: [UserStatus]
976
+ })
977
+ export class ActiveUserStatus extends Entity implements UserStatus
978
+ {
979
+ @Property(String) public title?: string;
980
+ @Property(Boolean) public active?: boolean;
981
+ }
982
+ ```
983
+
984
+ Note that usually only implemented classes should be specified as direct parents are already known to a `TypeManager`. However even if we specify both - it will work properly.
985
+
927
986
  ### Preserve discriminator option
928
987
 
929
988
  This option defines if discriminator should be preserved in objects during serialization and deserialization.
@@ -1012,6 +1071,40 @@ export class User
1012
1071
 
1013
1072
  Custom serializer should be an implementation of `Serializer` interface. You can read more about [creating a custom serializer](#defining-custom-serializer) in a separate section.
1014
1073
 
1074
+ ### Set interceptor option
1075
+
1076
+ This option defines a callback that will be invoked whenever a value is **assigned** to the decorated property. It can be used to validate, transform, sanitize, or react to incoming values.
1077
+
1078
+ ```typescript
1079
+ import { Type, Property } from '@dipscope/type-manager';
1080
+
1081
+ @Type()
1082
+ export class User
1083
+ {
1084
+ private userScore = 0;
1085
+
1086
+ @Property(Number, {
1087
+ setInterceptor: value => Math.max(0, value)
1088
+ })
1089
+ public set score(value: number)
1090
+ {
1091
+ // The intercepted value is forwarded here.
1092
+ this.userScore = value;
1093
+ }
1094
+
1095
+ public get score(): number
1096
+ {
1097
+ return this.userScore;
1098
+ }
1099
+ }
1100
+
1101
+ const user = new User();
1102
+ user.score = -5; // setInterceptor forces 0.
1103
+ console.log(user.score); // 0
1104
+ ```
1105
+
1106
+ The `setInterceptor` receives the **incoming value** and must return the **processed value** to be applied. This hook is ideal for ensuring data integrity, enforcing constraints, mapping input values, or triggering additional behavior at the moment of assignment.
1107
+
1015
1108
  ### Use default value option
1016
1109
 
1017
1110
  This option enables or disables using default value per type or property.
@@ -1046,37 +1139,6 @@ export class User
1046
1139
 
1047
1140
  With this any value which can be converted to `String` will be converted properly. Such behaviour works for other built in serializers and supported for custom ones. By default implicit conversion is turned off. You can enable it using `useImplicitConversion` option per type and property or enable globally using `TypeManager` configure method.
1048
1141
 
1049
- ### Parent type arguments option
1050
-
1051
- When type implements interfaces which represent other classes this information got lost during `TypeScript` compilation process and there is no way to extract it. This option can be used to provide such information for a `TypeManager` to be used during serialization and deserialization.
1052
-
1053
- ```typescript
1054
- import { Type, Property } from '@dipscope/type-manager';
1055
-
1056
- @Type()
1057
- export abstract class Entity
1058
- {
1059
- @Property(String) public id?: string;
1060
- }
1061
-
1062
- @Type()
1063
- export abstract class UserStatus extends Entity
1064
- {
1065
- @Property(String) public title?: string;
1066
- }
1067
-
1068
- @Type({
1069
- parentTypeArguments: [UserStatus]
1070
- })
1071
- export class ActiveUserStatus extends Entity implements UserStatus
1072
- {
1073
- @Property(String) public title?: string;
1074
- @Property(Boolean) public active?: boolean;
1075
- }
1076
- ```
1077
-
1078
- Note that usually only implemented classes should be specified as direct parents are already known to a `TypeManager`. However even if we specify both - it will work properly.
1079
-
1080
1142
  ## Defining configuration manually
1081
1143
 
1082
1144
  There are circumstances when decorators cannot be used or you don't want to. For example you are using a 3rd party package and cannot decorate classes from it. Another use case when you want to configure some options globally. In such scenarios you can define the complete configuration through special configure methods.
@@ -2,4 +2,5 @@ export * from './default-value-resolver';
2
2
  export * from './empty-array';
3
3
  export * from './empty-map';
4
4
  export * from './null-value-resolver';
5
+ export * from './property-interceptor';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const PROPERTY_INTERCEPTOR = (propertyValue) => propertyValue;
2
+ //# sourceMappingURL=property-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-interceptor.js","sourceRoot":"","sources":["../../../src/constants/property-interceptor.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,aAAkB,EAAE,EAAE,CAAC,aAAa,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { TYPE_MANAGER_STATE } from '../type-manager-state';
2
+ export function getPropertyMetadata(typeFn, propertyName) {
3
+ var _a;
4
+ const prototype = typeFn.prototype;
5
+ const activeSymbol = TYPE_MANAGER_STATE.activeSymbol;
6
+ const staticSymbol = TYPE_MANAGER_STATE.staticSymbol;
7
+ const typeMetadata = ((_a = prototype[activeSymbol]) !== null && _a !== void 0 ? _a : prototype[staticSymbol]);
8
+ if (typeMetadata === undefined) {
9
+ return undefined;
10
+ }
11
+ const propertyMetadataMap = typeMetadata.typeState.propertyMetadataMap;
12
+ const propertyMetadata = propertyMetadataMap.get(propertyName);
13
+ return propertyMetadata;
14
+ }
15
+ //# sourceMappingURL=get-property-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-property-metadata.js","sourceRoot":"","sources":["../../../src/functions/get-property-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAa3D,MAAM,UAAU,mBAAmB,CAC/B,MAAgC,EAChC,YAAoB;;IAGpB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;IACrD,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;IACrD,MAAM,YAAY,GAAG,CAAC,MAAA,SAAS,CAAC,YAAY,CAAC,mCAAI,SAAS,CAAC,YAAY,CAAC,CAAmC,CAAC;IAE5G,IAAI,YAAY,KAAK,SAAS,EAC9B;QACI,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,mBAAmB,GAAG,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;IACvE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/D,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './get-own-reflect-metadata';
2
+ export * from './get-property-metadata';
2
3
  export * from './get-reflect-metadata';
3
4
  export * from './get-words';
4
5
  export * from './json-parse';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -44,6 +44,8 @@ export * from './property-extension-metadata-ctor-set-key';
44
44
  export * from './property-extension-metadata-ctor';
45
45
  export * from './property-extension-metadata';
46
46
  export * from './property-extension-options';
47
+ export * from './property-interceptor-symbol';
48
+ export * from './property-interceptor';
47
49
  export * from './property-metadata';
48
50
  export * from './property-name';
49
51
  export * from './property-options';
@@ -73,12 +75,14 @@ export * from './type-extension-options';
73
75
  export * from './type-fn';
74
76
  export * from './type-like';
75
77
  export * from './type-manager-options';
78
+ export * from './type-manager-state';
76
79
  export * from './type-manager';
77
80
  export * from './type-metadata-symbol';
78
81
  export * from './type-metadata';
79
82
  export * from './type-name';
80
83
  export * from './type-options-base';
81
84
  export * from './type-options';
85
+ export * from './type-primitive';
82
86
  export * from './type-resolver';
83
87
  export * from './type-scope';
84
88
  export * from './type-state';
@@ -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,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,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,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,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,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,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,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const PROPERTY_INTERCEPTOR_SYMBOL = Symbol.for('$DSPropertyInterceptor');
2
+ //# sourceMappingURL=property-interceptor-symbol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-interceptor-symbol.js","sourceRoot":"","sources":["../../src/property-interceptor-symbol.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,2BAA2B,GAAkB,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=property-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-interceptor.js","sourceRoot":"","sources":["../../src/property-interceptor.ts"],"names":[],"mappings":""}
@@ -2,9 +2,12 @@ import { DEFAULT_VALUE_RESOLVER } from './constants/default-value-resolver';
2
2
  import { EMPTY_ARRAY } from './constants/empty-array';
3
3
  import { EMPTY_MAP } from './constants/empty-map';
4
4
  import { NULL_VALUE_RESOLVER } from './constants/null-value-resolver';
5
+ import { PROPERTY_INTERCEPTOR } from './constants/property-interceptor';
6
+ import { getPropertyMetadata } from './functions/get-property-metadata';
5
7
  import { getReflectMetadata } from './functions/get-reflect-metadata';
6
8
  import { Metadata } from './metadata';
7
9
  import { PROPERTY_EXTENSION_METADATA_CTOR_SET_KEY } from './property-extension-metadata-ctor-set-key';
10
+ import { PROPERTY_INTERCEPTOR_SYMBOL } from './property-interceptor-symbol';
8
11
  import { ResolvedPropertyState } from './property-states/resolved-property-state';
9
12
  import { UnresolvedPropertyState } from './property-states/unresolved-property-state';
10
13
  export class PropertyMetadata extends Metadata {
@@ -179,7 +182,13 @@ export class PropertyMetadata extends Metadata {
179
182
  const serializer = propertyOptions.serializer === undefined
180
183
  ? typeState.serializer
181
184
  : propertyOptions.serializer;
182
- const resolvedPropertyState = new ResolvedPropertyState(this, alias, customValueMap, serializedNullValueResolver, serializedDefaultValueResolver, deserializedNullValueResolver, deserializedDefaultValueResolver, serializedPropertyName, deserializedPropertyName, serializable, deserializable, genericArguments, genericMetadatas, namingConvention, referenceHandler, serializer, typeArgument, typeMetadata, preserveNull, useDefaultValue, useImplicitConversion);
185
+ const getInterceptor = propertyOptions.getInterceptor === undefined
186
+ ? PROPERTY_INTERCEPTOR
187
+ : propertyOptions.getInterceptor;
188
+ const setInterceptor = propertyOptions.setInterceptor === undefined
189
+ ? PROPERTY_INTERCEPTOR
190
+ : propertyOptions.setInterceptor;
191
+ const resolvedPropertyState = new ResolvedPropertyState(this, alias, customValueMap, serializedNullValueResolver, serializedDefaultValueResolver, deserializedNullValueResolver, deserializedDefaultValueResolver, serializedPropertyName, deserializedPropertyName, serializable, deserializable, genericArguments, genericMetadatas, namingConvention, referenceHandler, serializer, typeArgument, typeMetadata, preserveNull, useDefaultValue, useImplicitConversion, getInterceptor, setInterceptor);
183
192
  this.currentPropertyState = resolvedPropertyState;
184
193
  return resolvedPropertyState;
185
194
  }
@@ -322,6 +331,95 @@ export class PropertyMetadata extends Metadata {
322
331
  this.currentPropertyState = new UnresolvedPropertyState(this);
323
332
  return this;
324
333
  }
334
+ hasGetInterceptor(getInterceptor) {
335
+ if (getInterceptor !== undefined) {
336
+ this.definePropertyInterceptors();
337
+ }
338
+ this.propertyOptions.getInterceptor = getInterceptor;
339
+ this.currentPropertyState = new UnresolvedPropertyState(this);
340
+ return this;
341
+ }
342
+ hasSetInterceptor(setInterceptor) {
343
+ if (setInterceptor !== undefined) {
344
+ this.definePropertyInterceptors();
345
+ }
346
+ this.propertyOptions.setInterceptor = setInterceptor;
347
+ this.currentPropertyState = new UnresolvedPropertyState(this);
348
+ return this;
349
+ }
350
+ definePropertyInterceptors() {
351
+ var _a, _b, _c;
352
+ const propertyName = this.propertyName;
353
+ const propertyInterceptorSet = this.definePropertyInterceptorSet();
354
+ const propertyInterceptorSymbolKey = Symbol.keyFor(PROPERTY_INTERCEPTOR_SYMBOL);
355
+ const propertyKey = `${propertyInterceptorSymbolKey}.${propertyName}`;
356
+ if (propertyInterceptorSet.has(propertyKey)) {
357
+ return;
358
+ }
359
+ propertyInterceptorSet.add(propertyKey);
360
+ const propertySymbol = Symbol.for(propertyKey);
361
+ const typeFn = this.declaringTypeMetadata.typeFn;
362
+ const prototype = typeFn.prototype;
363
+ const propertyDescriptor = (_a = Object.getOwnPropertyDescriptor(prototype, propertyName)) !== null && _a !== void 0 ? _a : {};
364
+ const configurable = (_b = propertyDescriptor.configurable) !== null && _b !== void 0 ? _b : true;
365
+ const enumerable = (_c = propertyDescriptor.enumerable) !== null && _c !== void 0 ? _c : true;
366
+ const originalGet = propertyDescriptor.get;
367
+ const originalSet = propertyDescriptor.set;
368
+ if (propertyDescriptor.value !== undefined) {
369
+ prototype[propertySymbol] = propertyDescriptor.value;
370
+ }
371
+ Object.defineProperty(prototype, propertyName, {
372
+ enumerable: enumerable,
373
+ configurable: configurable,
374
+ get() {
375
+ const propertyMetadata = getPropertyMetadata(typeFn, propertyName);
376
+ if (propertyMetadata === undefined) {
377
+ if (originalGet !== undefined && originalGet !== null) {
378
+ return originalGet.call(this);
379
+ }
380
+ return this[propertySymbol];
381
+ }
382
+ if (originalGet !== undefined && originalGet !== null) {
383
+ return propertyMetadata.propertyState.getInterceptor(originalGet.call(this), this, propertyMetadata);
384
+ }
385
+ return propertyMetadata.propertyState.getInterceptor(this[propertySymbol], this, propertyMetadata);
386
+ },
387
+ set(value) {
388
+ const propertyMetadata = getPropertyMetadata(typeFn, propertyName);
389
+ if (propertyMetadata === undefined) {
390
+ if (originalSet !== undefined && originalSet !== null) {
391
+ originalSet.call(this, value);
392
+ return;
393
+ }
394
+ this[propertySymbol] = value;
395
+ return;
396
+ }
397
+ if (originalSet !== undefined && originalSet !== null) {
398
+ originalSet.call(this, propertyMetadata.propertyState.setInterceptor(value, this, propertyMetadata));
399
+ return;
400
+ }
401
+ this[propertySymbol] = propertyMetadata.propertyState.setInterceptor(value, this, propertyMetadata);
402
+ return;
403
+ }
404
+ });
405
+ return;
406
+ }
407
+ definePropertyInterceptorSet() {
408
+ const propertyInterceptorSymbol = PROPERTY_INTERCEPTOR_SYMBOL;
409
+ const typeFn = this.declaringTypeMetadata.typeFn;
410
+ const prototype = typeFn.prototype;
411
+ const propertyInterceptorSetDefined = prototype.hasOwnProperty(propertyInterceptorSymbol);
412
+ const propertyInterceptorSet = propertyInterceptorSetDefined ? prototype[propertyInterceptorSymbol] : new Set();
413
+ if (!propertyInterceptorSetDefined) {
414
+ Object.defineProperty(prototype, propertyInterceptorSymbol, {
415
+ enumerable: false,
416
+ configurable: true,
417
+ writable: false,
418
+ value: propertyInterceptorSet
419
+ });
420
+ }
421
+ return propertyInterceptorSet;
422
+ }
325
423
  configure(propertyOptions) {
326
424
  if (propertyOptions.alias !== undefined) {
327
425
  this.hasAlias(propertyOptions.alias);
@@ -368,6 +466,12 @@ export class PropertyMetadata extends Metadata {
368
466
  if (propertyOptions.useImplicitConversion !== undefined) {
369
467
  this.shouldUseImplicitConversion(propertyOptions.useImplicitConversion);
370
468
  }
469
+ if (propertyOptions.getInterceptor !== undefined) {
470
+ this.hasGetInterceptor(propertyOptions.getInterceptor);
471
+ }
472
+ if (propertyOptions.setInterceptor !== undefined) {
473
+ this.hasSetInterceptor(propertyOptions.setInterceptor);
474
+ }
371
475
  return this;
372
476
  }
373
477
  }
@@ -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,5 +1,5 @@
1
1
  export class ResolvedPropertyState {
2
- constructor(propertyMetadata, alias, customValueMap, serializedNullValueResolver, serializedDefaultValueResolver, deserializedNullValueResolver, deserializedDefaultValueResolver, serializedPropertyName, deserializedPropertyName, serializable, deserializable, genericArguments, genericMetadatas, namingConvention, referenceHandler, serializer, typeArgument, typeMetadata, preserveNull, useDefaultValue, useImplicitConversion) {
2
+ constructor(propertyMetadata, alias, customValueMap, serializedNullValueResolver, serializedDefaultValueResolver, deserializedNullValueResolver, deserializedDefaultValueResolver, serializedPropertyName, deserializedPropertyName, serializable, deserializable, genericArguments, genericMetadatas, namingConvention, referenceHandler, serializer, typeArgument, typeMetadata, preserveNull, useDefaultValue, useImplicitConversion, getInterceptor, setInterceptor) {
3
3
  this.propertyMetadata = propertyMetadata;
4
4
  this.alias = alias;
5
5
  this.customValueMap = customValueMap;
@@ -21,6 +21,8 @@ export class ResolvedPropertyState {
21
21
  this.preserveNull = preserveNull;
22
22
  this.useDefaultValue = useDefaultValue;
23
23
  this.useImplicitConversion = useImplicitConversion;
24
+ this.getInterceptor = getInterceptor;
25
+ this.setInterceptor = setInterceptor;
24
26
  return;
25
27
  }
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-property-state.js","sourceRoot":"","sources":["../../../src/property-states/resolved-property-state.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,qBAAqB;IA8K9B,YACI,gBAA6D,EAC7D,KAAsB,EACtB,cAAwD,EACxD,2BAA8C,EAC9C,8BAAoD,EACpD,6BAAgD,EAChD,gCAAsD,EACtD,sBAAoC,EACpC,wBAAsC,EACtC,YAAqB,EACrB,cAAuB,EACvB,gBAAqD,EACrD,gBAAqD,EACrD,gBAA4C,EAC5C,gBAAkC,EAClC,UAA+B,EAC/B,YAAmC,EACnC,YAAmC,EACnC,YAAqB,EACrB,eAAwB,EACxB,qBAA8B;QAG9B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAC;QACrE,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QACnE,IAAI,CAAC,gCAAgC,GAAG,gCAAgC,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QAEnD,OAAO;IACX,CAAC;CACJ"}
1
+ {"version":3,"file":"resolved-property-state.js","sourceRoot":"","sources":["../../../src/property-states/resolved-property-state.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,qBAAqB;IA8L9B,YACI,gBAA6D,EAC7D,KAAsB,EACtB,cAAwD,EACxD,2BAA8C,EAC9C,8BAAoD,EACpD,6BAAgD,EAChD,gCAAsD,EACtD,sBAAoC,EACpC,wBAAsC,EACtC,YAAqB,EACrB,cAAuB,EACvB,gBAAqD,EACrD,gBAAqD,EACrD,gBAA4C,EAC5C,gBAAkC,EAClC,UAA+B,EAC/B,YAAmC,EACnC,YAAmC,EACnC,YAAqB,EACrB,eAAwB,EACxB,qBAA8B,EAC9B,cAA8D,EAC9D,cAA8D;QAG9D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAC;QACrE,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QACnE,IAAI,CAAC,gCAAgC,GAAG,gCAAgC,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,OAAO;IACX,CAAC;CACJ"}