@loopback/metadata 2.1.6 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.2.3](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@2.2.2...@loopback/metadata@2.2.3) (2020-07-20)
7
+
8
+ **Note:** Version bump only for package @loopback/metadata
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@2.2.1...@loopback/metadata@2.2.2) (2020-06-30)
15
+
16
+ **Note:** Version bump only for package @loopback/metadata
17
+
18
+
19
+
20
+
21
+
22
+ ## [2.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@2.2.0...@loopback/metadata@2.2.1) (2020-06-23)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
28
+
29
+
30
+
31
+
32
+
33
+ # [2.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@2.1.6...@loopback/metadata@2.2.0) (2020-06-11)
34
+
35
+
36
+ ### Features
37
+
38
+ * **context:** improve error reporting with more contextual information ([2a30484](https://github.com/strongloop/loopback-next/commit/2a30484f90b08803f14669524f8eb64c35031da9))
39
+
40
+
41
+
42
+
43
+
6
44
  ## [2.1.6](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@2.1.5...@loopback/metadata@2.1.6) (2020-05-28)
7
45
 
8
46
  **Note:** Version bump only for package @loopback/metadata
@@ -32,274 +32,272 @@ const debug = debug_1.default('loopback:metadata:decorator');
32
32
  * class MyController {}
33
33
  * ```
34
34
  */
35
- let DecoratorFactory = /** @class */ (() => {
36
- class DecoratorFactory {
37
- /**
38
- * Construct a new class decorator factory
39
- * @param key - Metadata key
40
- * @param spec - Metadata object from the decorator function
41
- * @param options - Options for the decorator. Default to
42
- * `{allowInheritance: true}` if not provided
43
- */
44
- constructor(key, spec, options = {}) {
45
- var _a;
46
- this.key = key;
47
- this.spec = spec;
48
- this.options = options;
49
- this.options = Object.assign({
50
- allowInheritance: true,
51
- cloneInputSpec: true,
52
- }, options);
53
- const defaultDecoratorName = this.constructor.name.replace(/Factory$/, '');
54
- this.decoratorName = (_a = this.options.decoratorName) !== null && _a !== void 0 ? _a : defaultDecoratorName;
55
- if (this.options.cloneInputSpec) {
56
- this.spec = DecoratorFactory.cloneDeep(spec);
57
- }
35
+ class DecoratorFactory {
36
+ /**
37
+ * Construct a new class decorator factory
38
+ * @param key - Metadata key
39
+ * @param spec - Metadata object from the decorator function
40
+ * @param options - Options for the decorator. Default to
41
+ * `{allowInheritance: true}` if not provided
42
+ */
43
+ constructor(key, spec, options = {}) {
44
+ var _a;
45
+ this.key = key;
46
+ this.spec = spec;
47
+ this.options = options;
48
+ this.options = Object.assign({
49
+ allowInheritance: true,
50
+ cloneInputSpec: true,
51
+ }, options);
52
+ const defaultDecoratorName = this.constructor.name.replace(/Factory$/, '');
53
+ this.decoratorName = (_a = this.options.decoratorName) !== null && _a !== void 0 ? _a : defaultDecoratorName;
54
+ if (this.options.cloneInputSpec) {
55
+ this.spec = DecoratorFactory.cloneDeep(spec);
58
56
  }
59
- allowInheritance() {
60
- return !!(this.options && this.options.allowInheritance);
57
+ }
58
+ allowInheritance() {
59
+ var _a;
60
+ return !!((_a = this.options) === null || _a === void 0 ? void 0 : _a.allowInheritance);
61
+ }
62
+ /**
63
+ * Inherit metadata from base classes. By default, this method merges base
64
+ * metadata into the spec if `allowInheritance` is set to `true`. To customize
65
+ * the behavior, this method can be overridden by sub classes.
66
+ *
67
+ * @param inheritedMetadata - Metadata from base classes for the member
68
+ */
69
+ inherit(inheritedMetadata) {
70
+ if (!this.allowInheritance())
71
+ return this.spec;
72
+ if (inheritedMetadata == null)
73
+ return this.spec;
74
+ if (this.spec == null)
75
+ return inheritedMetadata;
76
+ if (typeof inheritedMetadata !== 'object')
77
+ return this.spec;
78
+ if (Array.isArray(inheritedMetadata) || Array.isArray(this.spec)) {
79
+ // For arrays, we don't merge
80
+ return this.spec;
61
81
  }
62
- /**
63
- * Inherit metadata from base classes. By default, this method merges base
64
- * metadata into the spec if `allowInheritance` is set to `true`. To customize
65
- * the behavior, this method can be overridden by sub classes.
66
- *
67
- * @param inheritedMetadata - Metadata from base classes for the member
68
- */
69
- inherit(inheritedMetadata) {
70
- if (!this.allowInheritance())
71
- return this.spec;
72
- if (inheritedMetadata == null)
73
- return this.spec;
74
- if (this.spec == null)
75
- return inheritedMetadata;
76
- if (typeof inheritedMetadata !== 'object')
77
- return this.spec;
78
- if (Array.isArray(inheritedMetadata) || Array.isArray(this.spec)) {
79
- // For arrays, we don't merge
80
- return this.spec;
81
- }
82
- return Object.assign(inheritedMetadata, this.spec);
82
+ return Object.assign(inheritedMetadata, this.spec);
83
+ }
84
+ /**
85
+ * Get the qualified name of a decoration target. For example:
86
+ * ```
87
+ * class MyClass
88
+ * MyClass.constructor[0] // First parameter of the constructor
89
+ * MyClass.myStaticProperty
90
+ * MyClass.myStaticMethod()
91
+ * MyClass.myStaticMethod[0] // First parameter of the myStaticMethod
92
+ * MyClass.prototype.myProperty
93
+ * MyClass.prototype.myMethod()
94
+ * MyClass.prototype.myMethod[1] // Second parameter of myMethod
95
+ * ```
96
+ * @param target - Class or prototype of a class
97
+ * @param member - Optional property/method name
98
+ * @param descriptorOrIndex - Optional method descriptor or parameter index
99
+ */
100
+ static getTargetName(target, member, descriptorOrIndex) {
101
+ let name = target instanceof Function
102
+ ? target.name
103
+ : `${target.constructor.name}.prototype`;
104
+ if (member == null && descriptorOrIndex == null) {
105
+ return `class ${name}`;
83
106
  }
84
- /**
85
- * Get the qualified name of a decoration target. For example:
86
- * ```
87
- * class MyClass
88
- * MyClass.constructor[0] // First parameter of the constructor
89
- * MyClass.myStaticProperty
90
- * MyClass.myStaticMethod()
91
- * MyClass.myStaticMethod[0] // First parameter of the myStaticMethod
92
- * MyClass.prototype.myProperty
93
- * MyClass.prototype.myMethod()
94
- * MyClass.prototype.myMethod[1] // Second parameter of myMethod
95
- * ```
96
- * @param target - Class or prototype of a class
97
- * @param member - Optional property/method name
98
- * @param descriptorOrIndex - Optional method descriptor or parameter index
99
- */
100
- static getTargetName(target, member, descriptorOrIndex) {
101
- let name = target instanceof Function
102
- ? target.name
103
- : `${target.constructor.name}.prototype`;
104
- if (member == null && descriptorOrIndex == null) {
105
- return `class ${name}`;
106
- }
107
- if (member == null)
108
- member = 'constructor';
109
- const memberAccessor = typeof member === 'symbol' ? '[' + member.toString() + ']' : '.' + member;
110
- if (typeof descriptorOrIndex === 'number') {
111
- // Parameter
112
- name = `${name}${memberAccessor}[${descriptorOrIndex}]`;
113
- }
114
- else if (descriptorOrIndex != null) {
115
- name = `${name}${memberAccessor}()`;
116
- }
117
- else {
118
- name = `${name}${memberAccessor}`;
119
- }
120
- return name;
107
+ if (member == null || member === '')
108
+ member = 'constructor';
109
+ const memberAccessor = typeof member === 'symbol' ? '[' + member.toString() + ']' : '.' + member;
110
+ if (typeof descriptorOrIndex === 'number') {
111
+ // Parameter
112
+ name = `${name}${memberAccessor}[${descriptorOrIndex}]`;
121
113
  }
122
- /**
123
- * Get the number of parameters for a given constructor or method
124
- * @param target - Class or the prototype
125
- * @param member - Method name
126
- */
127
- static getNumberOfParameters(target, member) {
128
- if (typeof target === 'function' && !member) {
129
- // constructor
130
- return target.length;
131
- }
132
- else {
133
- // target[member] is a function
134
- const method = target[member];
135
- return method.length;
136
- }
114
+ else if (descriptorOrIndex != null) {
115
+ name = `${name}${memberAccessor}()`;
137
116
  }
138
- /**
139
- * Set a reference to the target class or prototype for a given spec if
140
- * it's an object
141
- * @param spec - Metadata spec
142
- * @param target - Target of the decoration. It is a class or the prototype of
143
- * a class.
144
- */
145
- withTarget(spec, target) {
146
- if (typeof spec === 'object' && spec != null) {
147
- // Add a hidden property for the `target`
148
- Object.defineProperty(spec, DecoratorFactory.TARGET, {
149
- value: target,
150
- enumerable: false,
151
- // Make sure it won't be redefined on the same object
152
- configurable: false,
153
- });
154
- }
155
- return spec;
117
+ else {
118
+ name = `${name}${memberAccessor}`;
156
119
  }
157
- /**
158
- * Get the optional decoration target of a given spec
159
- * @param spec - Metadata spec
160
- */
161
- getTarget(spec) {
162
- if (typeof spec === 'object' && spec != null) {
163
- const specWithTarget = spec;
164
- return specWithTarget[DecoratorFactory.TARGET];
165
- }
166
- else {
167
- return undefined;
168
- }
120
+ return name;
121
+ }
122
+ /**
123
+ * Get the number of parameters for a given constructor or method
124
+ * @param target - Class or the prototype
125
+ * @param member - Method name
126
+ */
127
+ static getNumberOfParameters(target, member) {
128
+ if (typeof target === 'function' && !member) {
129
+ // constructor
130
+ return target.length;
169
131
  }
170
- /**
171
- * This method is called by the default implementation of the decorator
172
- * function to merge the spec argument from the decoration with the inherited
173
- * metadata for a class, all properties, all methods, or all method
174
- * parameters that are decorated by this decorator.
175
- *
176
- * It MUST be overridden by subclasses to process inherited metadata.
177
- *
178
- * @param inheritedMetadata - Metadata inherited from the base classes
179
- * @param target - Decoration target
180
- * @param member - Optional property or method
181
- * @param descriptorOrIndex - Optional parameter index or method descriptor
182
- */
183
- mergeWithInherited(inheritedMetadata, target, member, descriptorOrIndex) {
184
- throw new Error(`mergeWithInherited() is not implemented for ${this.decoratorName}`);
132
+ else {
133
+ // target[member] is a function
134
+ const method = target[member];
135
+ return method.length;
185
136
  }
186
- /**
187
- * This method is called by the default implementation of the decorator
188
- * function to merge the spec argument from the decoration with the own
189
- * metadata for a class, all properties, all methods, or all method
190
- * parameters that are decorated by this decorator.
191
- *
192
- * It MUST be overridden by subclasses to process own metadata.
193
- *
194
- * @param ownMetadata - Own Metadata exists locally on the target
195
- * @param target - Decoration target
196
- * @param member - Optional property or method
197
- * @param descriptorOrIndex - Optional parameter index or method descriptor
198
- */
199
- mergeWithOwn(ownMetadata, target, member, descriptorOrIndex) {
200
- throw new Error(`mergeWithOwn() is not implemented for ${this.decoratorName}`);
137
+ }
138
+ /**
139
+ * Set a reference to the target class or prototype for a given spec if
140
+ * it's an object
141
+ * @param spec - Metadata spec
142
+ * @param target - Target of the decoration. It is a class or the prototype of
143
+ * a class.
144
+ */
145
+ withTarget(spec, target) {
146
+ if (typeof spec === 'object' && spec != null) {
147
+ // Add a hidden property for the `target`
148
+ Object.defineProperty(spec, DecoratorFactory.TARGET, {
149
+ value: target,
150
+ enumerable: false,
151
+ // Make sure it won't be redefined on the same object
152
+ configurable: false,
153
+ });
201
154
  }
202
- /**
203
- * Create an error to report if the decorator is applied to the target more
204
- * than once
205
- * @param target - Decoration target
206
- * @param member - Optional property or method
207
- * @param descriptorOrIndex - Optional parameter index or method descriptor
208
- */
209
- duplicateDecorationError(target, member, descriptorOrIndex) {
210
- const targetName = DecoratorFactory.getTargetName(target, member, descriptorOrIndex);
211
- return new Error(`${this.decoratorName} cannot be applied more than once on ${targetName}`);
155
+ return spec;
156
+ }
157
+ /**
158
+ * Get the optional decoration target of a given spec
159
+ * @param spec - Metadata spec
160
+ */
161
+ getTarget(spec) {
162
+ if (typeof spec === 'object' && spec != null) {
163
+ const specWithTarget = spec;
164
+ return specWithTarget[DecoratorFactory.TARGET];
212
165
  }
213
- /**
214
- * Create a decorator function of the given type. Each sub class MUST
215
- * implement this method.
216
- */
217
- create() {
218
- throw new Error(`create() is not implemented for ${this.decoratorName}`);
166
+ else {
167
+ return undefined;
219
168
  }
220
- /**
221
- * Base implementation of the decorator function
222
- * @param target - Decorator target
223
- * @param member - Optional property or method
224
- * @param descriptorOrIndex - Optional method descriptor or parameter index
225
- */
226
- decorate(target, member, descriptorOrIndex) {
227
- const targetName = DecoratorFactory.getTargetName(target, member, descriptorOrIndex);
228
- let meta = reflect_1.Reflector.getOwnMetadata(this.key, target);
229
- if (meta == null && this.allowInheritance()) {
230
- // Clone the base metadata so that it won't be accidentally
231
- // mutated by sub classes
232
- meta = DecoratorFactory.cloneDeep(reflect_1.Reflector.getMetadata(this.key, target));
233
- meta = this.mergeWithInherited(meta, target, member, descriptorOrIndex);
234
- /* istanbul ignore if */
235
- if (debug.enabled) {
236
- debug('%s: %j', targetName, meta);
237
- }
238
- reflect_1.Reflector.defineMetadata(this.key, meta, target);
239
- }
240
- else {
241
- meta = this.mergeWithOwn(meta, target, member, descriptorOrIndex);
242
- /* istanbul ignore if */
243
- if (debug.enabled) {
244
- debug('%s: %j', targetName, meta);
245
- }
246
- reflect_1.Reflector.defineMetadata(this.key, meta, target);
169
+ }
170
+ /**
171
+ * This method is called by the default implementation of the decorator
172
+ * function to merge the spec argument from the decoration with the inherited
173
+ * metadata for a class, all properties, all methods, or all method
174
+ * parameters that are decorated by this decorator.
175
+ *
176
+ * It MUST be overridden by subclasses to process inherited metadata.
177
+ *
178
+ * @param inheritedMetadata - Metadata inherited from the base classes
179
+ * @param target - Decoration target
180
+ * @param member - Optional property or method
181
+ * @param descriptorOrIndex - Optional parameter index or method descriptor
182
+ */
183
+ mergeWithInherited(inheritedMetadata, target, member, descriptorOrIndex) {
184
+ throw new Error(`mergeWithInherited() is not implemented for ${this.decoratorName}`);
185
+ }
186
+ /**
187
+ * This method is called by the default implementation of the decorator
188
+ * function to merge the spec argument from the decoration with the own
189
+ * metadata for a class, all properties, all methods, or all method
190
+ * parameters that are decorated by this decorator.
191
+ *
192
+ * It MUST be overridden by subclasses to process own metadata.
193
+ *
194
+ * @param ownMetadata - Own Metadata exists locally on the target
195
+ * @param target - Decoration target
196
+ * @param member - Optional property or method
197
+ * @param descriptorOrIndex - Optional parameter index or method descriptor
198
+ */
199
+ mergeWithOwn(ownMetadata, target, member, descriptorOrIndex) {
200
+ throw new Error(`mergeWithOwn() is not implemented for ${this.decoratorName}`);
201
+ }
202
+ /**
203
+ * Create an error to report if the decorator is applied to the target more
204
+ * than once
205
+ * @param target - Decoration target
206
+ * @param member - Optional property or method
207
+ * @param descriptorOrIndex - Optional parameter index or method descriptor
208
+ */
209
+ duplicateDecorationError(target, member, descriptorOrIndex) {
210
+ const targetName = DecoratorFactory.getTargetName(target, member, descriptorOrIndex);
211
+ return new Error(`${this.decoratorName} cannot be applied more than once on ${targetName}`);
212
+ }
213
+ /**
214
+ * Create a decorator function of the given type. Each sub class MUST
215
+ * implement this method.
216
+ */
217
+ create() {
218
+ throw new Error(`create() is not implemented for ${this.decoratorName}`);
219
+ }
220
+ /**
221
+ * Base implementation of the decorator function
222
+ * @param target - Decorator target
223
+ * @param member - Optional property or method
224
+ * @param descriptorOrIndex - Optional method descriptor or parameter index
225
+ */
226
+ decorate(target, member, descriptorOrIndex) {
227
+ const targetName = DecoratorFactory.getTargetName(target, member, descriptorOrIndex);
228
+ let meta = reflect_1.Reflector.getOwnMetadata(this.key, target);
229
+ if (meta == null && this.allowInheritance()) {
230
+ // Clone the base metadata so that it won't be accidentally
231
+ // mutated by sub classes
232
+ meta = DecoratorFactory.cloneDeep(reflect_1.Reflector.getMetadata(this.key, target));
233
+ meta = this.mergeWithInherited(meta, target, member, descriptorOrIndex);
234
+ /* istanbul ignore if */
235
+ if (debug.enabled) {
236
+ debug('%s: %j', targetName, meta);
247
237
  }
238
+ reflect_1.Reflector.defineMetadata(this.key, meta, target);
248
239
  }
249
- /**
250
- * Create a decorator function
251
- * @param key - Metadata key
252
- * @param spec - Metadata object from the decorator function
253
- * @param options - Options for the decorator
254
- */
255
- static _createDecorator(key, spec, options) {
256
- const inst = new this(key.toString(), spec, options);
257
- return inst.create();
258
- }
259
- static cloneDeep(val) {
260
- if (typeof val !== 'object')
261
- return val;
262
- return lodash_1.default.cloneDeepWith(val, v => {
263
- if (typeof v !== 'object')
264
- return v;
265
- if (v == null)
266
- return v;
267
- if (v.constructor != null &&
268
- !DecoratorFactory._cloneableTypes.includes(v.constructor)) {
269
- // Do not clone instances of classes/constructors, such as Date
270
- return v;
271
- }
272
- return undefined;
273
- });
240
+ else {
241
+ meta = this.mergeWithOwn(meta, target, member, descriptorOrIndex);
242
+ /* istanbul ignore if */
243
+ if (debug.enabled) {
244
+ debug('%s: %j', targetName, meta);
245
+ }
246
+ reflect_1.Reflector.defineMetadata(this.key, meta, target);
274
247
  }
275
248
  }
276
249
  /**
277
- * A constant to reference the target of a decoration
250
+ * Create a decorator function
251
+ * @param key - Metadata key
252
+ * @param spec - Metadata object from the decorator function
253
+ * @param options - Options for the decorator
278
254
  */
279
- DecoratorFactory.TARGET = '__decoratorTarget';
280
- // See https://github.com/lodash/lodash/blob/master/.internal/baseClone.js
281
- DecoratorFactory._cloneableTypes = [
282
- Object,
283
- Array,
284
- Set,
285
- Map,
286
- RegExp,
287
- Date,
288
- Buffer,
289
- ArrayBuffer,
290
- Float32Array,
291
- Float64Array,
292
- Int8Array,
293
- Int16Array,
294
- Int32Array,
295
- Uint8Array,
296
- Uint8ClampedArray,
297
- Uint16Array,
298
- Uint32Array,
299
- ];
300
- return DecoratorFactory;
301
- })();
255
+ static _createDecorator(key, spec, options) {
256
+ const inst = new this(key.toString(), spec, options);
257
+ return inst.create();
258
+ }
259
+ static cloneDeep(val) {
260
+ if (typeof val !== 'object')
261
+ return val;
262
+ return lodash_1.default.cloneDeepWith(val, v => {
263
+ if (typeof v !== 'object')
264
+ return v;
265
+ if (v == null)
266
+ return v;
267
+ if (v.constructor != null &&
268
+ !DecoratorFactory._cloneableTypes.includes(v.constructor)) {
269
+ // Do not clone instances of classes/constructors, such as Date
270
+ return v;
271
+ }
272
+ return undefined;
273
+ });
274
+ }
275
+ }
302
276
  exports.DecoratorFactory = DecoratorFactory;
277
+ /**
278
+ * A constant to reference the target of a decoration
279
+ */
280
+ DecoratorFactory.TARGET = '__decoratorTarget';
281
+ // See https://github.com/lodash/lodash/blob/master/.internal/baseClone.js
282
+ DecoratorFactory._cloneableTypes = [
283
+ Object,
284
+ Array,
285
+ Set,
286
+ Map,
287
+ RegExp,
288
+ Date,
289
+ Buffer,
290
+ ArrayBuffer,
291
+ Float32Array,
292
+ Float64Array,
293
+ Int8Array,
294
+ Int16Array,
295
+ Int32Array,
296
+ Uint8Array,
297
+ Uint8ClampedArray,
298
+ Uint16Array,
299
+ Uint32Array,
300
+ ];
303
301
  /**
304
302
  * Factory for class decorators
305
303
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-factory.js","sourceRoot":"","sources":["../src/decorator-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator-factory.js","sourceRoot":"","sources":["../src/decorator-factory.ts"],"names":[],"mappings":"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"}
package/dist/inspector.js CHANGED
@@ -16,145 +16,142 @@ const TSReflector = new reflect_1.NamespacedReflect();
16
16
  /**
17
17
  * Inspector for metadata applied by decorators
18
18
  */
19
- let MetadataInspector = /** @class */ (() => {
20
- class MetadataInspector {
21
- /**
22
- * Get the metadata associated with the given key for a given class
23
- * @param key - Metadata key
24
- * @param target - Class that contains the metadata
25
- * @param options - Options for inspection
26
- */
27
- static getClassMetadata(key, target, options) {
28
- return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
29
- : reflect_1.Reflector.getMetadata(key.toString(), target);
30
- }
31
- /**
32
- * Define metadata for the given target
33
- * @param key - Metadata key
34
- * @param value - Metadata value
35
- * @param target - Target for the metadata
36
- * @param member - Optional property or method name
37
- */
38
- static defineMetadata(key, value, target, member) {
39
- reflect_1.Reflector.defineMetadata(key.toString(), value, target, member);
40
- }
41
- /**
42
- * Get the metadata associated with the given key for all methods of the
43
- * target class or prototype
44
- * @param key - Metadata key
45
- * @param target - Class for static methods or prototype for instance methods
46
- * @param options - Options for inspection
47
- */
48
- static getAllMethodMetadata(key, target, options) {
49
- return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
50
- : reflect_1.Reflector.getMetadata(key.toString(), target);
51
- }
52
- /**
53
- * Get the metadata associated with the given key for a given method of the
54
- * target class or prototype
55
- * @param key - Metadata key
56
- * @param target - Class for static methods or prototype for instance methods
57
- * @param methodName - Method name. If not present, default to '' to use
58
- * the constructor
59
- * @param options - Options for inspection
60
- */
61
- static getMethodMetadata(key, target, methodName, options) {
62
- methodName = methodName !== null && methodName !== void 0 ? methodName : '';
63
- const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
64
- : reflect_1.Reflector.getMetadata(key.toString(), target);
65
- return meta === null || meta === void 0 ? void 0 : meta[methodName];
66
- }
67
- /**
68
- * Get the metadata associated with the given key for all properties of the
69
- * target class or prototype
70
- * @param key - Metadata key
71
- * @param target - Class for static methods or prototype for instance methods
72
- * @param options - Options for inspection
73
- */
74
- static getAllPropertyMetadata(key, target, options) {
75
- return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
76
- : reflect_1.Reflector.getMetadata(key.toString(), target);
77
- }
78
- /**
79
- * Get the metadata associated with the given key for a given property of the
80
- * target class or prototype
81
- * @param key - Metadata key
82
- * @param target - Class for static properties or prototype for instance
83
- * properties
84
- * @param propertyName - Property name
85
- * @param options - Options for inspection
86
- */
87
- static getPropertyMetadata(key, target, propertyName, options) {
88
- const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
89
- : reflect_1.Reflector.getMetadata(key.toString(), target);
90
- return meta === null || meta === void 0 ? void 0 : meta[propertyName];
91
- }
92
- /**
93
- * Get the metadata associated with the given key for all parameters of a
94
- * given method
95
- * @param key - Metadata key
96
- * @param target - Class for static methods or prototype for instance methods
97
- * @param methodName - Method name. If not present, default to '' to use
98
- * the constructor
99
- * @param options - Options for inspection
100
- */
101
- static getAllParameterMetadata(key, target, methodName, options) {
102
- methodName = methodName !== null && methodName !== void 0 ? methodName : '';
103
- const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
104
- : reflect_1.Reflector.getMetadata(key.toString(), target);
105
- return meta === null || meta === void 0 ? void 0 : meta[methodName];
106
- }
107
- /**
108
- * Get the metadata associated with the given key for a parameter of a given
109
- * method by index
110
- * @param key - Metadata key
111
- * @param target - Class for static methods or prototype for instance methods
112
- * @param methodName - Method name. If not present, default to '' to use
113
- * the constructor
114
- * @param index - Index of the parameter, starting with 0
115
- * @param options - Options for inspection
116
- */
117
- static getParameterMetadata(key, target, methodName, index, options) {
118
- methodName = methodName || '';
119
- const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
120
- : reflect_1.Reflector.getMetadata(key.toString(), target);
121
- const params = meta === null || meta === void 0 ? void 0 : meta[methodName];
122
- return params === null || params === void 0 ? void 0 : params[index];
123
- }
124
- /**
125
- * Get TypeScript design time type for a property
126
- * @param target - Class or prototype
127
- * @param propertyName - Property name
128
- */
129
- static getDesignTypeForProperty(target, propertyName) {
130
- return TSReflector.getMetadata('design:type', target, propertyName);
131
- }
132
- /**
133
- * Get TypeScript design time type for a method
134
- * @param target - Class or prototype
135
- * @param methodName - Method name
136
- */
137
- static getDesignTypeForMethod(target, methodName) {
138
- const type = TSReflector.getMetadata('design:type', target, methodName);
139
- const parameterTypes = TSReflector.getMetadata('design:paramtypes', target, methodName);
140
- const returnType = TSReflector.getMetadata('design:returntype', target, methodName);
141
- return {
142
- type,
143
- parameterTypes,
144
- returnType,
145
- };
146
- }
19
+ class MetadataInspector {
20
+ /**
21
+ * Get the metadata associated with the given key for a given class
22
+ * @param key - Metadata key
23
+ * @param target - Class that contains the metadata
24
+ * @param options - Options for inspection
25
+ */
26
+ static getClassMetadata(key, target, options) {
27
+ return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
28
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
29
+ }
30
+ /**
31
+ * Define metadata for the given target
32
+ * @param key - Metadata key
33
+ * @param value - Metadata value
34
+ * @param target - Target for the metadata
35
+ * @param member - Optional property or method name
36
+ */
37
+ static defineMetadata(key, value, target, member) {
38
+ reflect_1.Reflector.defineMetadata(key.toString(), value, target, member);
39
+ }
40
+ /**
41
+ * Get the metadata associated with the given key for all methods of the
42
+ * target class or prototype
43
+ * @param key - Metadata key
44
+ * @param target - Class for static methods or prototype for instance methods
45
+ * @param options - Options for inspection
46
+ */
47
+ static getAllMethodMetadata(key, target, options) {
48
+ return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
49
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
147
50
  }
148
51
  /**
149
- * Expose Reflector, which is a wrapper of `Reflect` and it uses `loopback`
150
- * as the namespace prefix for all metadata keys
52
+ * Get the metadata associated with the given key for a given method of the
53
+ * target class or prototype
54
+ * @param key - Metadata key
55
+ * @param target - Class for static methods or prototype for instance methods
56
+ * @param methodName - Method name. If not present, default to '' to use
57
+ * the constructor
58
+ * @param options - Options for inspection
151
59
  */
152
- MetadataInspector.Reflector = reflect_1.Reflector;
60
+ static getMethodMetadata(key, target, methodName, options) {
61
+ methodName = methodName !== null && methodName !== void 0 ? methodName : '';
62
+ const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
63
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
64
+ return meta === null || meta === void 0 ? void 0 : meta[methodName];
65
+ }
66
+ /**
67
+ * Get the metadata associated with the given key for all properties of the
68
+ * target class or prototype
69
+ * @param key - Metadata key
70
+ * @param target - Class for static methods or prototype for instance methods
71
+ * @param options - Options for inspection
72
+ */
73
+ static getAllPropertyMetadata(key, target, options) {
74
+ return (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
75
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
76
+ }
77
+ /**
78
+ * Get the metadata associated with the given key for a given property of the
79
+ * target class or prototype
80
+ * @param key - Metadata key
81
+ * @param target - Class for static properties or prototype for instance
82
+ * properties
83
+ * @param propertyName - Property name
84
+ * @param options - Options for inspection
85
+ */
86
+ static getPropertyMetadata(key, target, propertyName, options) {
87
+ const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
88
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
89
+ return meta === null || meta === void 0 ? void 0 : meta[propertyName];
90
+ }
153
91
  /**
154
- * Expose the reflector for TypeScript design-time metadata
92
+ * Get the metadata associated with the given key for all parameters of a
93
+ * given method
94
+ * @param key - Metadata key
95
+ * @param target - Class for static methods or prototype for instance methods
96
+ * @param methodName - Method name. If not present, default to '' to use
97
+ * the constructor
98
+ * @param options - Options for inspection
155
99
  */
156
- MetadataInspector.DesignTimeReflector = TSReflector;
157
- return MetadataInspector;
158
- })();
100
+ static getAllParameterMetadata(key, target, methodName, options) {
101
+ methodName = methodName !== null && methodName !== void 0 ? methodName : '';
102
+ const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
103
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
104
+ return meta === null || meta === void 0 ? void 0 : meta[methodName];
105
+ }
106
+ /**
107
+ * Get the metadata associated with the given key for a parameter of a given
108
+ * method by index
109
+ * @param key - Metadata key
110
+ * @param target - Class for static methods or prototype for instance methods
111
+ * @param methodName - Method name. If not present, default to '' to use
112
+ * the constructor
113
+ * @param index - Index of the parameter, starting with 0
114
+ * @param options - Options for inspection
115
+ */
116
+ static getParameterMetadata(key, target, methodName, index, options) {
117
+ methodName = methodName || '';
118
+ const meta = (options === null || options === void 0 ? void 0 : options.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
119
+ : reflect_1.Reflector.getMetadata(key.toString(), target);
120
+ const params = meta === null || meta === void 0 ? void 0 : meta[methodName];
121
+ return params === null || params === void 0 ? void 0 : params[index];
122
+ }
123
+ /**
124
+ * Get TypeScript design time type for a property
125
+ * @param target - Class or prototype
126
+ * @param propertyName - Property name
127
+ */
128
+ static getDesignTypeForProperty(target, propertyName) {
129
+ return TSReflector.getMetadata('design:type', target, propertyName);
130
+ }
131
+ /**
132
+ * Get TypeScript design time type for a method
133
+ * @param target - Class or prototype
134
+ * @param methodName - Method name
135
+ */
136
+ static getDesignTypeForMethod(target, methodName) {
137
+ const type = TSReflector.getMetadata('design:type', target, methodName);
138
+ const parameterTypes = TSReflector.getMetadata('design:paramtypes', target, methodName);
139
+ const returnType = TSReflector.getMetadata('design:returntype', target, methodName);
140
+ return {
141
+ type,
142
+ parameterTypes,
143
+ returnType,
144
+ };
145
+ }
146
+ }
159
147
  exports.MetadataInspector = MetadataInspector;
148
+ /**
149
+ * Expose Reflector, which is a wrapper of `Reflect` and it uses `loopback`
150
+ * as the namespace prefix for all metadata keys
151
+ */
152
+ MetadataInspector.Reflector = reflect_1.Reflector;
153
+ /**
154
+ * Expose the reflector for TypeScript design-time metadata
155
+ */
156
+ MetadataInspector.DesignTimeReflector = TSReflector;
160
157
  //# sourceMappingURL=inspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,kCAAkC;AAClC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,uCAAuD;AAQvD;;;;;GAKG;AACH,MAAM,WAAW,GAAG,IAAI,2BAAiB,EAAE,CAAC;AAgB5C;;GAEG;AACH;IAAA,MAAa,iBAAiB;QAW5B;;;;;WAKG;QACH,MAAM,CAAC,gBAAgB,CACrB,GAAmC,EACnC,MAAgB,EAChB,OAA2B;YAE3B,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAC7B,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,cAAc,CACnB,GAAkC,EAClC,KAAQ,EACR,MAAc,EACd,MAAe;YAEf,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,oBAAoB,CACzB,GAAoC,EACpC,MAAc,EACd,OAA2B;YAE3B,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAC7B,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,CAAC,iBAAiB,CACtB,GAAoC,EACpC,MAAc,EACd,UAAmB,EACnB,OAA2B;YAE3B,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAmB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACnD,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,UAAU,EAAE;QAC5B,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,sBAAsB,CAC3B,GAAsC,EACtC,MAAc,EACd,OAA2B;YAE3B,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAC7B,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,CAAC,mBAAmB,CACxB,GAAsC,EACtC,MAAc,EACd,YAAoB,EACpB,OAA2B;YAE3B,MAAM,IAAI,GAAmB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACnD,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,YAAY,EAAE;QAC9B,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,CAAC,uBAAuB,CAC5B,GAAuC,EACvC,MAAc,EACd,UAAmB,EACnB,OAA2B;YAE3B,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAqB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACrD,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,UAAU,EAAE;QAC5B,CAAC;QAED;;;;;;;;;WASG;QACH,MAAM,CAAC,oBAAoB,CACzB,GAAuC,EACvC,MAAc,EACd,UAAkB,EAClB,KAAa,EACb,OAA2B;YAE3B,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAqB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACrD,CAAC,CAAC,mBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,UAAU,CAAC,CAAC;YAClC,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,EAAE;QACzB,CAAC;QAED;;;;WAIG;QACH,MAAM,CAAC,wBAAwB,CAC7B,MAAc,EACd,YAAoB;YAEpB,OAAO,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC;QAED;;;;WAIG;QACH,MAAM,CAAC,sBAAsB,CAC3B,MAAc,EACd,UAAkB;YAElB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACxE,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAC5C,mBAAmB,EACnB,MAAM,EACN,UAAU,CACX,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CACxC,mBAAmB,EACnB,MAAM,EACN,UAAU,CACX,CAAC;YACF,OAAO;gBACL,IAAI;gBACJ,cAAc;gBACd,UAAU;aACX,CAAC;QACJ,CAAC;;IA3MD;;;OAGG;IACa,2BAAS,GAAG,mBAAS,CAAC;IACtC;;OAEG;IACa,qCAAmB,GAAG,WAAW,CAAC;IAoMpD,wBAAC;KAAA;AA7MY,8CAAiB"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@loopback/metadata",
3
- "version": "2.1.6",
4
- "description": "LoopBack's metadata utilities for reflection and decoration",
3
+ "version": "2.2.3",
4
+ "description": "Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "engines": {
8
- "node": ">=10"
8
+ "node": ">=10.16"
9
9
  },
10
10
  "scripts": {
11
11
  "acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
@@ -19,19 +19,22 @@
19
19
  "author": "IBM Corp.",
20
20
  "copyright.owner": "IBM Corp.",
21
21
  "license": "MIT",
22
+ "publishConfig": {
23
+ "access": "public"
24
+ },
22
25
  "dependencies": {
23
26
  "debug": "^4.1.1",
24
- "lodash": "^4.17.15",
27
+ "lodash": "^4.17.19",
25
28
  "reflect-metadata": "^0.1.13",
26
29
  "tslib": "^2.0.0"
27
30
  },
28
31
  "devDependencies": {
29
- "@loopback/build": "^5.4.2",
30
- "@loopback/eslint-config": "^8.0.0",
31
- "@loopback/testlab": "^3.1.6",
32
+ "@loopback/build": "^6.1.1",
33
+ "@loopback/eslint-config": "^8.0.4",
34
+ "@loopback/testlab": "^3.2.1",
32
35
  "@types/debug": "^4.1.5",
33
- "@types/lodash": "^4.14.153",
34
- "@types/node": "^10.17.24"
36
+ "@types/lodash": "^4.14.157",
37
+ "@types/node": "^10.17.27"
35
38
  },
36
39
  "keywords": [
37
40
  "LoopBack",
@@ -44,13 +47,10 @@
44
47
  "src",
45
48
  "!*/__tests__"
46
49
  ],
47
- "publishConfig": {
48
- "access": "public"
49
- },
50
50
  "repository": {
51
51
  "type": "git",
52
52
  "url": "https://github.com/strongloop/loopback-next.git",
53
53
  "directory": "packages/metadata"
54
54
  },
55
- "gitHead": "64afb3616e94b96703524aba8be722efefa7c2c5"
55
+ "gitHead": "5538896411bb56467ae52670a29d1aec1690be74"
56
56
  }
@@ -98,7 +98,7 @@ export class DecoratorFactory<
98
98
  }
99
99
 
100
100
  protected allowInheritance(): boolean {
101
- return !!(this.options && this.options.allowInheritance);
101
+ return !!this.options?.allowInheritance;
102
102
  }
103
103
 
104
104
  /**
@@ -148,7 +148,7 @@ export class DecoratorFactory<
148
148
  if (member == null && descriptorOrIndex == null) {
149
149
  return `class ${name}`;
150
150
  }
151
- if (member == null) member = 'constructor';
151
+ if (member == null || member === '') member = 'constructor';
152
152
 
153
153
  const memberAccessor =
154
154
  typeof member === 'symbol' ? '[' + member.toString() + ']' : '.' + member;