@alterior/annotations 3.6.4 → 3.7.5

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 (43) hide show
  1. package/dist/annotations.d.ts +0 -52
  2. package/dist/annotations.d.ts.map +1 -1
  3. package/dist/annotations.js +1 -62
  4. package/dist/annotations.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/mutator.d.ts +54 -0
  10. package/dist/mutator.d.ts.map +1 -0
  11. package/dist/mutator.js +78 -0
  12. package/dist/mutator.js.map +1 -0
  13. package/dist/mutator.test.d.ts +2 -0
  14. package/dist/mutator.test.d.ts.map +1 -0
  15. package/dist/mutator.test.js.map +1 -0
  16. package/dist/sealed.d.ts +2 -2
  17. package/dist/sealed.d.ts.map +1 -1
  18. package/dist/sealed.js +3 -3
  19. package/dist/sealed.js.map +1 -1
  20. package/dist.esm/annotations.d.ts +0 -52
  21. package/dist.esm/annotations.d.ts.map +1 -1
  22. package/dist.esm/annotations.js +0 -60
  23. package/dist.esm/annotations.js.map +1 -1
  24. package/dist.esm/index.d.ts +1 -0
  25. package/dist.esm/index.d.ts.map +1 -1
  26. package/dist.esm/index.js +1 -0
  27. package/dist.esm/index.js.map +1 -1
  28. package/dist.esm/mutator.d.ts +54 -0
  29. package/dist.esm/mutator.d.ts.map +1 -0
  30. package/dist.esm/mutator.js +74 -0
  31. package/dist.esm/mutator.js.map +1 -0
  32. package/dist.esm/mutator.test.d.ts +2 -0
  33. package/dist.esm/mutator.test.d.ts.map +1 -0
  34. package/dist.esm/mutator.test.js.map +1 -0
  35. package/dist.esm/sealed.d.ts +2 -2
  36. package/dist.esm/sealed.d.ts.map +1 -1
  37. package/dist.esm/sealed.js +1 -1
  38. package/dist.esm/sealed.js.map +1 -1
  39. package/package.json +3 -3
  40. package/src/annotations.ts +0 -62
  41. package/src/index.ts +1 -0
  42. package/src/mutator.ts +82 -0
  43. package/src/sealed.ts +2 -1
@@ -65,58 +65,6 @@ export interface MutatorDefinition {
65
65
  invoke: (site: DecoratorSite) => void;
66
66
  options?: AnnotationDecoratorOptions<void>;
67
67
  }
68
- /**
69
- * Mutators are a way to define "mutation decorators" which in some way change the value
70
- * of the elements they are applied to, as opposed to "annotation decorators", which primarily
71
- * attach metadata.
72
- *
73
- * Create a mutator with Mutator.create().
74
- */
75
- export declare class Mutator {
76
- /**
77
- * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
78
- * Use `Mutator.define()` instead.
79
- */
80
- static create(mutator: (target: DecoratorSite, ...args: any[]) => void, options?: AnnotationDecoratorOptions<void>): AnnotationDecorator<any[]>;
81
- /**
82
- * Define a new mutation decorator (mutator).
83
- * This should be called and returned from a
84
- * function definition. For example:
85
- *
86
- ```
87
- function Name() {
88
- return Mutator.define({
89
- invoke(site) {
90
- // ...
91
- }
92
- })
93
- }
94
- ```
95
- *
96
- * The `invoke()` function takes a DecoratorSite object which describes the particular
97
- * invocation that is being run, and importantly, access to the property descriptor
98
- * for the property being defined. If you wish to completely replace (or wrap) the
99
- * default value of the property or method you are replacing, set the `value`
100
- * property of the property descriptor with `site.propertyDescriptor.value`
101
- *
102
- * For example:
103
- * ```
104
- export function RunTwice() {
105
- return Mutator.create(
106
- site => {
107
- let prop = site.propertyDescriptor;
108
- let original = prop.value;
109
- let replacement = function(...args) {
110
- original.apply(this, args);
111
- original.apply(this, args);
112
- }
113
- prop.value = replacement;
114
- }
115
- )
116
- * ```
117
- */
118
- static define(definition: MutatorDefinition): (target: any, ...args: any[]) => void;
119
- }
120
68
  /**
121
69
  * Represents a metadata annotation which can be applied to classes,
122
70
  * constructor parameters, methods, properties, or method parameters
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /// <reference types="reflect-metadata" />
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Label = exports.LabelAnnotation = exports.Annotations = exports.Annotation = exports.Mutator = exports.MetadataName = exports.AnnotationTargetError = exports.METHOD_PARAMETER_ANNOTATIONS_KEY = exports.PROPERTY_ANNOTATIONS_KEY = exports.CONSTRUCTOR_PARAMETERS_ANNOTATIONS_KEY = exports.ANNOTATIONS_KEY = void 0;
4
+ exports.Label = exports.LabelAnnotation = exports.Annotations = exports.Annotation = exports.MetadataName = exports.AnnotationTargetError = exports.METHOD_PARAMETER_ANNOTATIONS_KEY = exports.PROPERTY_ANNOTATIONS_KEY = exports.CONSTRUCTOR_PARAMETERS_ANNOTATIONS_KEY = exports.ANNOTATIONS_KEY = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  /**
7
7
  * @alterior/annotations
@@ -174,67 +174,6 @@ function MetadataName(name) {
174
174
  return target => Object.defineProperty(target, '$metadataName', { value: name });
175
175
  }
176
176
  exports.MetadataName = MetadataName;
177
- /**
178
- * Mutators are a way to define "mutation decorators" which in some way change the value
179
- * of the elements they are applied to, as opposed to "annotation decorators", which primarily
180
- * attach metadata.
181
- *
182
- * Create a mutator with Mutator.create().
183
- */
184
- class Mutator {
185
- /**
186
- * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
187
- * Use `Mutator.define()` instead.
188
- */
189
- static create(mutator, options) {
190
- return Annotation.decorator(Object.assign({}, options || {}, {
191
- factory: (target, ...args) => {
192
- mutator(target, ...args);
193
- }
194
- }));
195
- }
196
- /**
197
- * Define a new mutation decorator (mutator).
198
- * This should be called and returned from a
199
- * function definition. For example:
200
- *
201
- ```
202
- function Name() {
203
- return Mutator.define({
204
- invoke(site) {
205
- // ...
206
- }
207
- })
208
- }
209
- ```
210
- *
211
- * The `invoke()` function takes a DecoratorSite object which describes the particular
212
- * invocation that is being run, and importantly, access to the property descriptor
213
- * for the property being defined. If you wish to completely replace (or wrap) the
214
- * default value of the property or method you are replacing, set the `value`
215
- * property of the property descriptor with `site.propertyDescriptor.value`
216
- *
217
- * For example:
218
- * ```
219
- export function RunTwice() {
220
- return Mutator.create(
221
- site => {
222
- let prop = site.propertyDescriptor;
223
- let original = prop.value;
224
- let replacement = function(...args) {
225
- original.apply(this, args);
226
- original.apply(this, args);
227
- }
228
- prop.value = replacement;
229
- }
230
- )
231
- * ```
232
- */
233
- static define(definition) {
234
- return this.create(definition.invoke, definition.options)();
235
- }
236
- }
237
- exports.Mutator = Mutator;
238
177
  /**
239
178
  * Represents a metadata annotation which can be applied to classes,
240
179
  * constructor parameters, methods, properties, or method parameters
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './annotations';
2
+ export * from './mutator';
2
3
  export * from './sealed';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -2,5 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./annotations"), exports);
5
+ tslib_1.__exportStar(require("./mutator"), exports);
5
6
  tslib_1.__exportStar(require("./sealed"), exports);
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,oDAA0B;AAC1B,mDAAyB"}
@@ -0,0 +1,54 @@
1
+ import { DecoratorSite, AnnotationDecoratorOptions, MutatorDefinition, AnnotationDecorator } from './annotations';
2
+ /**
3
+ * Mutators are a way to define "mutation decorators" which in some way change the value
4
+ * of the elements they are applied to, as opposed to "annotation decorators", which primarily
5
+ * attach metadata.
6
+ *
7
+ * Create a mutator with Mutator.create().
8
+ */
9
+ export declare class Mutator {
10
+ /**
11
+ * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
12
+ * Use `Mutator.define()` instead.
13
+ */
14
+ static create<Args extends any[]>(mutator: (target: DecoratorSite, ...args: Args) => void, options?: AnnotationDecoratorOptions<void>): AnnotationDecorator<Args>;
15
+ /**
16
+ * Define a new mutation decorator (mutator).
17
+ * This should be called and returned from a
18
+ * function definition. For example:
19
+ *
20
+ ```
21
+ function Name() {
22
+ return Mutator.define({
23
+ invoke(site) {
24
+ // ...
25
+ }
26
+ })
27
+ }
28
+ ```
29
+ *
30
+ * The `invoke()` function takes a DecoratorSite object which describes the particular
31
+ * invocation that is being run, and importantly, access to the property descriptor
32
+ * for the property being defined. If you wish to completely replace (or wrap) the
33
+ * default value of the property or method you are replacing, set the `value`
34
+ * property of the property descriptor with `site.propertyDescriptor.value`
35
+ *
36
+ * For example:
37
+ * ```
38
+ export function RunTwice() {
39
+ return Mutator.create(
40
+ site => {
41
+ let prop = site.propertyDescriptor;
42
+ let original = prop.value;
43
+ let replacement = function(...args) {
44
+ original.apply(this, args);
45
+ original.apply(this, args);
46
+ }
47
+ prop.value = replacement;
48
+ }
49
+ )
50
+ * ```
51
+ */
52
+ static define(definition: MutatorDefinition): (target: any, ...args: any[]) => void;
53
+ }
54
+ //# sourceMappingURL=mutator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAc,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE9H;;;;;;GAMG;AAEH,qBAAa,OAAO;IAChB;;;OAGG;WACW,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,EACnC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,EACvD,OAAO,CAAC,EAAE,0BAA0B,CAAC,IAAI,CAAC,GAC3C,mBAAmB,CAAC,IAAI,CAAC;IAsB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;WACW,MAAM,CAAC,UAAU,EAAE,iBAAiB;CAGrD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mutator = void 0;
4
+ const common_1 = require("@alterior/common");
5
+ const annotations_1 = require("./annotations");
6
+ /**
7
+ * Mutators are a way to define "mutation decorators" which in some way change the value
8
+ * of the elements they are applied to, as opposed to "annotation decorators", which primarily
9
+ * attach metadata.
10
+ *
11
+ * Create a mutator with Mutator.create().
12
+ */
13
+ class Mutator {
14
+ /**
15
+ * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
16
+ * Use `Mutator.define()` instead.
17
+ */
18
+ static create(mutator, options) {
19
+ return annotations_1.Annotation.decorator(Object.assign({}, options || {}, {
20
+ factory: (target, ...args) => {
21
+ let paramNames;
22
+ let orig = target.propertyDescriptor.value;
23
+ if (typeof orig === 'function') {
24
+ paramNames = (0, common_1.getParameterNames)(target.propertyDescriptor.value);
25
+ }
26
+ mutator(target, ...args);
27
+ let replacement = target.propertyDescriptor.value;
28
+ if (orig !== replacement && paramNames !== undefined && !Object.hasOwn(replacement, '__parameterNames')) {
29
+ Object.defineProperty(replacement, '__parameterNames', {
30
+ value: paramNames
31
+ });
32
+ }
33
+ }
34
+ }));
35
+ }
36
+ /**
37
+ * Define a new mutation decorator (mutator).
38
+ * This should be called and returned from a
39
+ * function definition. For example:
40
+ *
41
+ ```
42
+ function Name() {
43
+ return Mutator.define({
44
+ invoke(site) {
45
+ // ...
46
+ }
47
+ })
48
+ }
49
+ ```
50
+ *
51
+ * The `invoke()` function takes a DecoratorSite object which describes the particular
52
+ * invocation that is being run, and importantly, access to the property descriptor
53
+ * for the property being defined. If you wish to completely replace (or wrap) the
54
+ * default value of the property or method you are replacing, set the `value`
55
+ * property of the property descriptor with `site.propertyDescriptor.value`
56
+ *
57
+ * For example:
58
+ * ```
59
+ export function RunTwice() {
60
+ return Mutator.create(
61
+ site => {
62
+ let prop = site.propertyDescriptor;
63
+ let original = prop.value;
64
+ let replacement = function(...args) {
65
+ original.apply(this, args);
66
+ original.apply(this, args);
67
+ }
68
+ prop.value = replacement;
69
+ }
70
+ )
71
+ * ```
72
+ */
73
+ static define(definition) {
74
+ return this.create(definition.invoke, definition.options)();
75
+ }
76
+ }
77
+ exports.Mutator = Mutator;
78
+ //# sourceMappingURL=mutator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.js","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AACrD,+CAA8H;AAE9H;;;;;;GAMG;AAEH,MAAa,OAAO;IAChB;;;OAGG;IACI,MAAM,CAAC,MAAM,CAChB,OAAuD,EACvD,OAA0C;QAE1C,OAAoC,wBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE;YACtF,OAAO,EAAE,CAAC,MAAqB,EAAE,GAAG,IAAU,EAAE,EAAE;gBAC9C,IAAI,UAAgC,CAAC;gBACrC,IAAI,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAE3C,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;oBAC5B,UAAU,GAAG,IAAA,0BAAiB,EAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBACnE;gBAED,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAEzB,IAAI,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAClD,IAAI,IAAI,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE;oBACrG,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE;wBACnD,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;iBACN;YACL,CAAC;SACJ,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,MAAM,CAAC,MAAM,CAAC,UAA6B;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,CAAC;CACJ;AAtED,0BAsEC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mutator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.d.ts","sourceRoot":"","sources":["../src/mutator.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.js","sourceRoot":"","sources":["../src/mutator.test.ts"],"names":[],"mappings":";AAAA,0CAA0C;;;AAE1C,6CAAqD;AACrD,+BAA8B;AAC9B,mCAA+B;AAC/B,uCAAoC;AAEpC,IAAA,cAAK,EAAC,QAAQ,CAAC,EAAE;IACb,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE;QAC5B,MAAM,QAAQ,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,IAAI,WAAW,GAAG,UAAU,GAAG,IAAI;gBAC/B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAA;YACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAChC,MAAM,OAAO;gBAAb;oBACI,UAAK,GAAG,CAAC,CAAC;gBAKd,CAAC;gBAHG,IAAI;oBACA,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;aACJ;YAJG;gBAAC,QAAQ,EAAE;;;;+CAGV;YAGL,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;YAE7B,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO;gBAAb;oBACI,UAAK,GAAG,CAAC,CAAC;gBAOd,CAAC;gBAHG,IAAI;oBACA,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;aACJ;YALG;gBAAC,QAAQ,EAAE;gBACV,QAAQ,EAAE;;;;+CAGV;YAGL,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;YAE7B,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO;gBAAb;oBACI,UAAK,GAAG,CAAC,CAAC;gBAMd,CAAC;gBAHG,IAAI,CAAC,MAAc,EAAE,IAAY;oBAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;aACJ;YAJG;gBAAC,QAAQ,EAAE;;;;+CAGV;YAGL,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAA,aAAM,EAAC,IAAA,0BAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC1D,MAAM,OAAO;gBAAb;oBACI,UAAK,GAAG,CAAC,CAAC;gBAMd,CAAC;gBAHG,IAAI,CAAC,MAAc,EAAE,IAAY;oBAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;aACJ;YALG;gBAAC,QAAQ,EAAE;gBACV,QAAQ,EAAE;;;;+CAGV;YAGL,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAA,aAAM,EAAC,IAAA,0BAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC3D,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpC,IAAI,MAAM,GAAG,IAAA,0BAAiB,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,cAAa,CAAC,CAAA;gBAC9C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO;gBAET,IAAI,CAAC,MAAc,EAAE,IAAY;gBACjC,CAAC;aACJ;YAHG;gBAAC,SAAS,EAAE;;;;+CAEX;YAGL,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAA,aAAM,EAAC,IAAA,0BAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/dist/sealed.d.ts CHANGED
@@ -5,9 +5,9 @@ import { AnnotationDecorator } from "./annotations";
5
5
  /**
6
6
  * Seal a class and its instances.
7
7
  */
8
- export declare const Sealed: AnnotationDecorator<any[]>;
8
+ export declare const Sealed: AnnotationDecorator<[]>;
9
9
  /**
10
10
  * Freeze a class and its instances.
11
11
  */
12
- export declare const Frozen: AnnotationDecorator<any[]>;
12
+ export declare const Frozen: AnnotationDecorator<[]>;
13
13
  //# sourceMappingURL=sealed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealed.d.ts","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAW,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,MAAM,4BAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,4BAGlB,CAAC"}
1
+ {"version":3,"file":"sealed.d.ts","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,MAAM,yBAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,yBAGlB,CAAC"}
package/dist/sealed.js CHANGED
@@ -4,13 +4,13 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Frozen = exports.Sealed = void 0;
7
- const annotations_1 = require("./annotations");
7
+ const mutator_1 = require("./mutator");
8
8
  /**
9
9
  * Seal a class and its instances.
10
10
  */
11
- exports.Sealed = annotations_1.Mutator.create(site => [site.target, site.target.prototype].forEach(x => Object.seal(x)), { validTargets: ['class'] });
11
+ exports.Sealed = mutator_1.Mutator.create(site => [site.target, site.target.prototype].forEach(x => Object.seal(x)), { validTargets: ['class'] });
12
12
  /**
13
13
  * Freeze a class and its instances.
14
14
  */
15
- exports.Frozen = annotations_1.Mutator.create(site => [site.target, site.target.prototype].forEach(x => Object.freeze(x)), { validTargets: ['class'] });
15
+ exports.Frozen = mutator_1.Mutator.create(site => [site.target, site.target.prototype].forEach(x => Object.freeze(x)), { validTargets: ['class'] });
16
16
  //# sourceMappingURL=sealed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealed.js","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA6D;AAE7D;;GAEG;AACU,QAAA,MAAM,GAAG,qBAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACzE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC;AAEF;;GAEG;AACU,QAAA,MAAM,GAAG,qBAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3E,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC"}
1
+ {"version":3,"file":"sealed.js","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uCAAoC;AAEpC;;GAEG;AACU,QAAA,MAAM,GAAG,iBAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACzE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC;AAEF;;GAEG;AACU,QAAA,MAAM,GAAG,iBAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3E,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC"}
@@ -65,58 +65,6 @@ export interface MutatorDefinition {
65
65
  invoke: (site: DecoratorSite) => void;
66
66
  options?: AnnotationDecoratorOptions<void>;
67
67
  }
68
- /**
69
- * Mutators are a way to define "mutation decorators" which in some way change the value
70
- * of the elements they are applied to, as opposed to "annotation decorators", which primarily
71
- * attach metadata.
72
- *
73
- * Create a mutator with Mutator.create().
74
- */
75
- export declare class Mutator {
76
- /**
77
- * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
78
- * Use `Mutator.define()` instead.
79
- */
80
- static create(mutator: (target: DecoratorSite, ...args: any[]) => void, options?: AnnotationDecoratorOptions<void>): AnnotationDecorator<any[]>;
81
- /**
82
- * Define a new mutation decorator (mutator).
83
- * This should be called and returned from a
84
- * function definition. For example:
85
- *
86
- ```
87
- function Name() {
88
- return Mutator.define({
89
- invoke(site) {
90
- // ...
91
- }
92
- })
93
- }
94
- ```
95
- *
96
- * The `invoke()` function takes a DecoratorSite object which describes the particular
97
- * invocation that is being run, and importantly, access to the property descriptor
98
- * for the property being defined. If you wish to completely replace (or wrap) the
99
- * default value of the property or method you are replacing, set the `value`
100
- * property of the property descriptor with `site.propertyDescriptor.value`
101
- *
102
- * For example:
103
- * ```
104
- export function RunTwice() {
105
- return Mutator.create(
106
- site => {
107
- let prop = site.propertyDescriptor;
108
- let original = prop.value;
109
- let replacement = function(...args) {
110
- original.apply(this, args);
111
- original.apply(this, args);
112
- }
113
- prop.value = replacement;
114
- }
115
- )
116
- * ```
117
- */
118
- static define(definition: MutatorDefinition): (target: any, ...args: any[]) => void;
119
- }
120
68
  /**
121
69
  * Represents a metadata annotation which can be applied to classes,
122
70
  * constructor parameters, methods, properties, or method parameters
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,aAAa,CAAC,EAAG,MAAM,CAAC;CAC3B;AAMD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,sCAAsC,mBAAmB,CAAC;AACvE,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,gCAAgC,4BAA4B,CAAC;AAE1E;;;GAGG;AACH,UAAU,qBAAqB,CAAC,KAAK,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE;IACtE,KAAK,GAAG,IAAI,EAAG,EAAE,GAAI,KAAK,CAAC;IAC3B,eAAe,QAAG;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,EAAE,SAAS,GAAG,EAAE;IACjD,CAAC,GAAG,IAAI,EAAG,EAAE,GAAI,CAAC,MAAM,KAAA,EAAE,GAAG,IAAI,OAAA,KAAK,IAAI,CAAC;IAC3C,CAAC,GAAG,IAAI,EAAG,EAAE,GAAI,CAAC,MAAM,KAAA,KAAK,IAAI,CAAC;IAClC,CAAC,GAAG,IAAI,EAAG,EAAE,GAAI,CAAC,MAAM,KAAA,EAAE,WAAW,EAAG,MAAM,KAAK,IAAI,CAAC;IACxD,CAAC,GAAG,IAAI,EAAG,EAAE,GAAI,CAAC,MAAM,KAAA,EAAE,WAAW,EAAG,MAAM,EAAE,UAAU,EAAG,kBAAkB,KAAK,IAAI,CAAC;IACzF,CAAC,GAAG,IAAI,EAAG,EAAE,GAAI,CAAC,MAAM,KAAA,EAAE,WAAW,EAAG,MAAM,EAAE,KAAK,EAAG,MAAM,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IACrD,MAAM,EAAG,GAAG,CAAC;IACb,WAAW,CAAC,EAAG,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAG,kBAAkB,CAAC;IACzC,KAAK,CAAC,EAAG,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B,CAAC,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,GAAG,EAAE;IACpE,OAAO,CAAC,EAAG,CAAC,MAAM,EAAG,aAAa,EAAE,GAAG,IAAI,EAAG,EAAE,KAAK,KAAK,GAAG,IAAI,CAAC;IAClE,YAAY,CAAC,EAAG,CAAC,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC;IAClE,aAAa,CAAC,EAAG,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;gBAC5C,eAAe,KAAA,EAAE,WAAW,EAAG,MAAM,EAAE,cAAc,EAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAG,MAAM;IAQ/F,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,eAAe,CAAY;IAEnC,IAAI,WAAW,IAAK,MAAM,CAEzB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED,IAAI,eAAe,IAAI,QAAQ,CAE9B;CACJ;AAkKD,wBAAgB,YAAY,CAAC,IAAI,EAAG,MAAM,wBAEzC;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAG,aAAa,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,UAAW,YAAW,WAAW;gBAEtC,KAAK,CAAC,EAAG,GAAG;IAahB,QAAQ,CAAC,aAAa,EAAG,MAAM,CAAC;IAEhC,QAAQ;IAIR,MAAM,CAAC,eAAe,IAAI,MAAM;IAOhC;;;;;;;;;OASG;WACW,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC1D,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EAClC,OAAO,CAAC,EAAG,0BAA0B,CAAC,CAAC,EAAE,EAAE,CAAC;IAUhD;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAG,GAAG,GAAG,IAAI;IAIvC;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,GAAG,IAAI;IAIzD;;;;OAIG;IACI,aAAa,CAAC,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,GAAG,IAAI;IAIvD;;;;;OAKG;IACI,gBAAgB,CAAC,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,EAAE,KAAK,EAAG,MAAM,GAAG,IAAI;IAI1E;;;;;OAKG;IACI,2BAA2B,CAAC,MAAM,EAAG,GAAG,EAAE,KAAK,EAAG,MAAM,GAAG,IAAI;IAItE;;;;;;OAMG;WACW,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EACvD,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,WAAW,EAAG,WAAW,EAAE,GAC3B,CAAC,EAAE;IAMP;;;;;;OAMG;WACW,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC/D,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,GACX,CAAC,EAAE;IAMN;;;;;;;OAOG;WACW,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC5D,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,GACX,CAAC;IAIJ;;;;;;;;OAQG;WACW,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAChE,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,EACV,UAAU,EAAG,MAAM,GACpB,CAAC,EAAE;IAMN;;;;;;;;OAQG;WACW,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC7D,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,EACV,UAAU,EAAG,MAAM,GACpB,CAAC;IAIJ;;;;;;;;OAQG;WACW,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAClE,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,EACV,YAAY,EAAG,MAAM,GACtB,CAAC,EAAE;IAMN;;;;;;;;OAQG;WACW,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC/D,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,EACV,YAAY,EAAG,MAAM,GACtB,CAAC;IAIJ;;;;;;;;OAQG;WACW,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EACpE,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,EACV,UAAU,EAAG,MAAM,GACpB,CAAC,EAAE,EAAE;IAMR;;;;;;;;OAQG;WACW,8BAA8B,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,GAAG,EAAE,EAC/E,IAAI,EAAG,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACnC,IAAI,EAAG,GAAG,GACX,CAAC,EAAE,EAAE;CAYX;AAED;;GAEG;AACH,qBAAa,WAAW;IAEpB;;;;OAIG;WACW,oBAAoB,CAAC,IAAI,EAAG,QAAQ,EAAE,EAAE,EAAG,QAAQ;IAKjE;;;OAGG;WACW,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,EAAE,MAAM,EAAG,GAAG,GAAG,CAAC;IAclF;;;;OAIG;WACW,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,EAAE,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,GAAG,CAAC;IAcpG;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,EAAE,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,GAAG,CAAC;IAelG;;;;;OAKG;WACW,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,EAAE,MAAM,EAAG,GAAG,EAAE,IAAI,EAAG,MAAM,EAAE,KAAK,EAAG,MAAM,GAAG,CAAC;IAarH;;;;;OAKG;WACW,2BAA2B,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,EAAE,MAAM,EAAG,GAAG,EAAE,KAAK,EAAG,MAAM,GAAG,CAAC;IA0BjH;;;;;OAKG;WACW,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAG,CAAC,GAAG,CAAC;IAO7D;;;;;OAKG;WACW,mBAAmB,CAAC,MAAM,EAAG,GAAG,GAAG,WAAW,EAAE;IAK9D;;;;;OAKG;WACW,oBAAoB,CAAC,MAAM,EAAG,GAAG,EAAE,UAAU,EAAG,MAAM,EAAE,QAAQ,GAAG,OAAe,GAAG,WAAW,EAAE;IAKhH;;;;;OAKG;WACW,sBAAsB,CAAC,MAAM,EAAG,GAAG,EAAE,UAAU,EAAG,MAAM,EAAE,QAAQ,GAAG,OAAe,GAAG,WAAW,EAAE;IAKlH;;;;;;;;OAQG;WACW,uBAAuB,CAAC,IAAI,EAAG,GAAG,EAAE,UAAU,EAAG,MAAM,EAAE,QAAQ,GAAG,OAAe,GAAG,WAAW,EAAE,EAAE;IAKnH;;;;;;OAMG;WACW,kCAAkC,CAAC,IAAI,EAAG,GAAG,GAAG,WAAW,EAAE,EAAE;IAK7E;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAiB9B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAMtC;;;OAGG;WACW,wBAAwB,CAAC,MAAM,EAAG,MAAM,EAAE,aAAa,CAAC,EAAG,MAAM,CAAC,MAAM,EAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAC,WAAW,EAAE,CAAC;IAgBpI,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAM/C,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAQzC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAIvC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;;OAGG;WACW,yBAAyB,CAAC,MAAM,EAAG,MAAM,EAAE,aAAa,CAAC,EAAG,MAAM,CAAC,MAAM,EAAC,WAAW,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAC,WAAW,EAAE,EAAE,CAAC;IA2BzI,OAAO,CAAC,MAAM,CAAC,iCAAiC;IAMhD,OAAO,CAAC,MAAM,CAAC,0BAA0B;IASzC,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAQjD,OAAO,CAAC,MAAM,CAAC,uCAAuC;IAMtD,OAAO,CAAC,MAAM,CAAC,+BAA+B;CAGjD;AAED;;;GAGG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC/B,QAAQ,CAAC,IAAI,EAAG,MAAM;gBAAb,IAAI,EAAG,MAAM;CAGrC;AAED,eAAO,MAAM,KAAK,qCAA8B,CAAC"}
@@ -169,66 +169,6 @@ function makeDecorator(ctor, options) {
169
169
  export function MetadataName(name) {
170
170
  return target => Object.defineProperty(target, '$metadataName', { value: name });
171
171
  }
172
- /**
173
- * Mutators are a way to define "mutation decorators" which in some way change the value
174
- * of the elements they are applied to, as opposed to "annotation decorators", which primarily
175
- * attach metadata.
176
- *
177
- * Create a mutator with Mutator.create().
178
- */
179
- export class Mutator {
180
- /**
181
- * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
182
- * Use `Mutator.define()` instead.
183
- */
184
- static create(mutator, options) {
185
- return Annotation.decorator(Object.assign({}, options || {}, {
186
- factory: (target, ...args) => {
187
- mutator(target, ...args);
188
- }
189
- }));
190
- }
191
- /**
192
- * Define a new mutation decorator (mutator).
193
- * This should be called and returned from a
194
- * function definition. For example:
195
- *
196
- ```
197
- function Name() {
198
- return Mutator.define({
199
- invoke(site) {
200
- // ...
201
- }
202
- })
203
- }
204
- ```
205
- *
206
- * The `invoke()` function takes a DecoratorSite object which describes the particular
207
- * invocation that is being run, and importantly, access to the property descriptor
208
- * for the property being defined. If you wish to completely replace (or wrap) the
209
- * default value of the property or method you are replacing, set the `value`
210
- * property of the property descriptor with `site.propertyDescriptor.value`
211
- *
212
- * For example:
213
- * ```
214
- export function RunTwice() {
215
- return Mutator.create(
216
- site => {
217
- let prop = site.propertyDescriptor;
218
- let original = prop.value;
219
- let replacement = function(...args) {
220
- original.apply(this, args);
221
- original.apply(this, args);
222
- }
223
- prop.value = replacement;
224
- }
225
- )
226
- * ```
227
- */
228
- static define(definition) {
229
- return this.create(definition.invoke, definition.options)();
230
- }
231
- }
232
172
  /**
233
173
  * Represents a metadata annotation which can be applied to classes,
234
174
  * constructor parameters, methods, properties, or method parameters
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './annotations';
2
+ export * from './mutator';
2
3
  export * from './sealed';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist.esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './annotations';
2
+ export * from './mutator';
2
3
  export * from './sealed';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { DecoratorSite, AnnotationDecoratorOptions, MutatorDefinition, AnnotationDecorator } from './annotations';
2
+ /**
3
+ * Mutators are a way to define "mutation decorators" which in some way change the value
4
+ * of the elements they are applied to, as opposed to "annotation decorators", which primarily
5
+ * attach metadata.
6
+ *
7
+ * Create a mutator with Mutator.create().
8
+ */
9
+ export declare class Mutator {
10
+ /**
11
+ * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
12
+ * Use `Mutator.define()` instead.
13
+ */
14
+ static create<Args extends any[]>(mutator: (target: DecoratorSite, ...args: Args) => void, options?: AnnotationDecoratorOptions<void>): AnnotationDecorator<Args>;
15
+ /**
16
+ * Define a new mutation decorator (mutator).
17
+ * This should be called and returned from a
18
+ * function definition. For example:
19
+ *
20
+ ```
21
+ function Name() {
22
+ return Mutator.define({
23
+ invoke(site) {
24
+ // ...
25
+ }
26
+ })
27
+ }
28
+ ```
29
+ *
30
+ * The `invoke()` function takes a DecoratorSite object which describes the particular
31
+ * invocation that is being run, and importantly, access to the property descriptor
32
+ * for the property being defined. If you wish to completely replace (or wrap) the
33
+ * default value of the property or method you are replacing, set the `value`
34
+ * property of the property descriptor with `site.propertyDescriptor.value`
35
+ *
36
+ * For example:
37
+ * ```
38
+ export function RunTwice() {
39
+ return Mutator.create(
40
+ site => {
41
+ let prop = site.propertyDescriptor;
42
+ let original = prop.value;
43
+ let replacement = function(...args) {
44
+ original.apply(this, args);
45
+ original.apply(this, args);
46
+ }
47
+ prop.value = replacement;
48
+ }
49
+ )
50
+ * ```
51
+ */
52
+ static define(definition: MutatorDefinition): (target: any, ...args: any[]) => void;
53
+ }
54
+ //# sourceMappingURL=mutator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAc,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE9H;;;;;;GAMG;AAEH,qBAAa,OAAO;IAChB;;;OAGG;WACW,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,EACnC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,EACvD,OAAO,CAAC,EAAE,0BAA0B,CAAC,IAAI,CAAC,GAC3C,mBAAmB,CAAC,IAAI,CAAC;IAsB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;WACW,MAAM,CAAC,UAAU,EAAE,iBAAiB;CAGrD"}
@@ -0,0 +1,74 @@
1
+ import { getParameterNames } from '@alterior/common';
2
+ import { Annotation } from './annotations';
3
+ /**
4
+ * Mutators are a way to define "mutation decorators" which in some way change the value
5
+ * of the elements they are applied to, as opposed to "annotation decorators", which primarily
6
+ * attach metadata.
7
+ *
8
+ * Create a mutator with Mutator.create().
9
+ */
10
+ export class Mutator {
11
+ /**
12
+ * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
13
+ * Use `Mutator.define()` instead.
14
+ */
15
+ static create(mutator, options) {
16
+ return Annotation.decorator(Object.assign({}, options || {}, {
17
+ factory: (target, ...args) => {
18
+ let paramNames;
19
+ let orig = target.propertyDescriptor.value;
20
+ if (typeof orig === 'function') {
21
+ paramNames = getParameterNames(target.propertyDescriptor.value);
22
+ }
23
+ mutator(target, ...args);
24
+ let replacement = target.propertyDescriptor.value;
25
+ if (orig !== replacement && paramNames !== undefined && !Object.hasOwn(replacement, '__parameterNames')) {
26
+ Object.defineProperty(replacement, '__parameterNames', {
27
+ value: paramNames
28
+ });
29
+ }
30
+ }
31
+ }));
32
+ }
33
+ /**
34
+ * Define a new mutation decorator (mutator).
35
+ * This should be called and returned from a
36
+ * function definition. For example:
37
+ *
38
+ ```
39
+ function Name() {
40
+ return Mutator.define({
41
+ invoke(site) {
42
+ // ...
43
+ }
44
+ })
45
+ }
46
+ ```
47
+ *
48
+ * The `invoke()` function takes a DecoratorSite object which describes the particular
49
+ * invocation that is being run, and importantly, access to the property descriptor
50
+ * for the property being defined. If you wish to completely replace (or wrap) the
51
+ * default value of the property or method you are replacing, set the `value`
52
+ * property of the property descriptor with `site.propertyDescriptor.value`
53
+ *
54
+ * For example:
55
+ * ```
56
+ export function RunTwice() {
57
+ return Mutator.create(
58
+ site => {
59
+ let prop = site.propertyDescriptor;
60
+ let original = prop.value;
61
+ let replacement = function(...args) {
62
+ original.apply(this, args);
63
+ original.apply(this, args);
64
+ }
65
+ prop.value = replacement;
66
+ }
67
+ )
68
+ * ```
69
+ */
70
+ static define(definition) {
71
+ return this.create(definition.invoke, definition.options)();
72
+ }
73
+ }
74
+ //# sourceMappingURL=mutator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.js","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAA6C,UAAU,EAA0C,MAAM,eAAe,CAAC;AAE9H;;;;;;GAMG;AAEH,MAAM,OAAO,OAAO;IAChB;;;OAGG;IACI,MAAM,CAAC,MAAM,CAChB,OAAuD,EACvD,OAA0C;QAE1C,OAAoC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE;YACtF,OAAO,EAAE,CAAC,MAAqB,EAAE,GAAG,IAAU,EAAE,EAAE;gBAC9C,IAAI,UAAgC,CAAC;gBACrC,IAAI,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAE3C,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;oBAC5B,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBACnE;gBAED,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAEzB,IAAI,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAClD,IAAI,IAAI,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE;oBACrG,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE;wBACnD,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;iBACN;YACL,CAAC;SACJ,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,MAAM,CAAC,MAAM,CAAC,UAA6B;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mutator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.d.ts","sourceRoot":"","sources":["../src/mutator.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.js","sourceRoot":"","sources":["../src/mutator.test.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ import { AnnotationDecorator } from "./annotations";
5
5
  /**
6
6
  * Seal a class and its instances.
7
7
  */
8
- export declare const Sealed: AnnotationDecorator<any[]>;
8
+ export declare const Sealed: AnnotationDecorator<[]>;
9
9
  /**
10
10
  * Freeze a class and its instances.
11
11
  */
12
- export declare const Frozen: AnnotationDecorator<any[]>;
12
+ export declare const Frozen: AnnotationDecorator<[]>;
13
13
  //# sourceMappingURL=sealed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealed.d.ts","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAW,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,MAAM,4BAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,4BAGlB,CAAC"}
1
+ {"version":3,"file":"sealed.d.ts","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,MAAM,yBAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,yBAGlB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * (C) 2017-2019 William Lahti
3
3
  */
4
- import { Mutator } from "./annotations";
4
+ import { Mutator } from './mutator';
5
5
  /**
6
6
  * Seal a class and its instances.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sealed.js","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACzE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3E,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC"}
1
+ {"version":3,"file":"sealed.js","sourceRoot":"","sources":["../src/sealed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACzE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAChC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3E,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/annotations",
3
- "version": "3.6.4",
3
+ "version": "3.7.5",
4
4
  "description": "Create and interact with Typescript metadata decorators",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -37,7 +37,7 @@
37
37
  "docs": "typedoc ."
38
38
  },
39
39
  "dependencies": {
40
- "@alterior/common": "^3.6.4",
40
+ "@alterior/common": "^3.7.5",
41
41
  "tslib": "^2.3.1"
42
42
  },
43
43
  "devDependencies": {
@@ -46,5 +46,5 @@
46
46
  "swagger-editor-dist": "^3.9.0"
47
47
  },
48
48
  "lernaKick": "1",
49
- "gitHead": "cc4137f515a8c28d15b04882a41d7c718be577fa"
49
+ "gitHead": "0d2c79f629c42e3faae334d915d500b2d839cc03"
50
50
  }
@@ -260,68 +260,6 @@ export interface MutatorDefinition {
260
260
  options?: AnnotationDecoratorOptions<void>;
261
261
  }
262
262
 
263
- /**
264
- * Mutators are a way to define "mutation decorators" which in some way change the value
265
- * of the elements they are applied to, as opposed to "annotation decorators", which primarily
266
- * attach metadata.
267
- *
268
- * Create a mutator with Mutator.create().
269
- */
270
- export class Mutator {
271
- /**
272
- * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
273
- * Use `Mutator.define()` instead.
274
- */
275
- public static create(mutator : (target : DecoratorSite, ...args) => void, options? : AnnotationDecoratorOptions<void>) {
276
- return Annotation.decorator(Object.assign({}, options || {}, {
277
- factory: (target, ...args) => {
278
- mutator(target, ...args);
279
- }
280
- }));
281
- }
282
-
283
- /**
284
- * Define a new mutation decorator (mutator).
285
- * This should be called and returned from a
286
- * function definition. For example:
287
- *
288
- ```
289
- function Name() {
290
- return Mutator.define({
291
- invoke(site) {
292
- // ...
293
- }
294
- })
295
- }
296
- ```
297
- *
298
- * The `invoke()` function takes a DecoratorSite object which describes the particular
299
- * invocation that is being run, and importantly, access to the property descriptor
300
- * for the property being defined. If you wish to completely replace (or wrap) the
301
- * default value of the property or method you are replacing, set the `value`
302
- * property of the property descriptor with `site.propertyDescriptor.value`
303
- *
304
- * For example:
305
- * ```
306
- export function RunTwice() {
307
- return Mutator.create(
308
- site => {
309
- let prop = site.propertyDescriptor;
310
- let original = prop.value;
311
- let replacement = function(...args) {
312
- original.apply(this, args);
313
- original.apply(this, args);
314
- }
315
- prop.value = replacement;
316
- }
317
- )
318
- * ```
319
- */
320
- public static define(definition : MutatorDefinition) {
321
- return this.create(definition.invoke, definition.options)();
322
- }
323
- }
324
-
325
263
  /**
326
264
  * Represents a metadata annotation which can be applied to classes,
327
265
  * constructor parameters, methods, properties, or method parameters
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './annotations';
2
+ export * from './mutator';
2
3
  export * from './sealed';
package/src/mutator.ts ADDED
@@ -0,0 +1,82 @@
1
+ import { getParameterNames } from '@alterior/common';
2
+ import { DecoratorSite, AnnotationDecoratorOptions, Annotation, MutatorDefinition, AnnotationDecorator } from './annotations';
3
+
4
+ /**
5
+ * Mutators are a way to define "mutation decorators" which in some way change the value
6
+ * of the elements they are applied to, as opposed to "annotation decorators", which primarily
7
+ * attach metadata.
8
+ *
9
+ * Create a mutator with Mutator.create().
10
+ */
11
+
12
+ export class Mutator {
13
+ /**
14
+ * Low-level method to ceate a new mutation decorator (mutator) based on the given function.
15
+ * Use `Mutator.define()` instead.
16
+ */
17
+ public static create<Args extends any[]>(
18
+ mutator: (target: DecoratorSite, ...args: Args) => void,
19
+ options?: AnnotationDecoratorOptions<void>
20
+ ): AnnotationDecorator<Args> {
21
+ return <AnnotationDecorator<any[]>> Annotation.decorator(Object.assign({}, options || {}, {
22
+ factory: (target: DecoratorSite, ...args: Args) => {
23
+ let paramNames: string[] | undefined;
24
+ let orig = target.propertyDescriptor.value;
25
+
26
+ if (typeof orig === 'function') {
27
+ paramNames = getParameterNames(target.propertyDescriptor.value);
28
+ }
29
+
30
+ mutator(target, ...args);
31
+
32
+ let replacement = target.propertyDescriptor.value;
33
+ if (orig !== replacement && paramNames !== undefined && !Object.hasOwn(replacement, '__parameterNames')) {
34
+ Object.defineProperty(replacement, '__parameterNames', {
35
+ value: paramNames
36
+ });
37
+ }
38
+ }
39
+ }));
40
+ }
41
+
42
+ /**
43
+ * Define a new mutation decorator (mutator).
44
+ * This should be called and returned from a
45
+ * function definition. For example:
46
+ *
47
+ ```
48
+ function Name() {
49
+ return Mutator.define({
50
+ invoke(site) {
51
+ // ...
52
+ }
53
+ })
54
+ }
55
+ ```
56
+ *
57
+ * The `invoke()` function takes a DecoratorSite object which describes the particular
58
+ * invocation that is being run, and importantly, access to the property descriptor
59
+ * for the property being defined. If you wish to completely replace (or wrap) the
60
+ * default value of the property or method you are replacing, set the `value`
61
+ * property of the property descriptor with `site.propertyDescriptor.value`
62
+ *
63
+ * For example:
64
+ * ```
65
+ export function RunTwice() {
66
+ return Mutator.create(
67
+ site => {
68
+ let prop = site.propertyDescriptor;
69
+ let original = prop.value;
70
+ let replacement = function(...args) {
71
+ original.apply(this, args);
72
+ original.apply(this, args);
73
+ }
74
+ prop.value = replacement;
75
+ }
76
+ )
77
+ * ```
78
+ */
79
+ public static define(definition: MutatorDefinition) {
80
+ return this.create(definition.invoke, definition.options)();
81
+ }
82
+ }
package/src/sealed.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  * (C) 2017-2019 William Lahti
3
3
  */
4
4
 
5
- import { Mutator, AnnotationDecorator } from "./annotations";
5
+ import { AnnotationDecorator } from "./annotations";
6
+ import { Mutator } from './mutator';
6
7
 
7
8
  /**
8
9
  * Seal a class and its instances.