@loopback/metadata 1.3.7 → 1.4.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.
- package/CHANGELOG.md +42 -0
- package/README.md +108 -0
- package/dist/decorator-factory.d.ts +29 -0
- package/dist/decorator-factory.js +65 -5
- package/dist/decorator-factory.js.map +1 -1
- package/dist/inspector.js +21 -21
- package/dist/inspector.js.map +1 -1
- package/package.json +7 -7
- package/src/decorator-factory.ts +78 -3
- package/src/inspector.ts +22 -26
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,48 @@
|
|
|
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
|
+
# [1.4.0](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@1.3.10...@loopback/metadata@1.4.0) (2020-01-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* clarify the decorator application order ([ab0dc3d](https://github.com/strongloop/loopback-next/commit/ab0dc3d9f1dedb6b61ccf5b4d63854a4f9dfa814))
|
|
12
|
+
* ensure tests follow parameter patterns ([d9d8154](https://github.com/strongloop/loopback-next/commit/d9d815403b8b7c39aa71494f46b352c646324673))
|
|
13
|
+
* makes multi-decorator behavior more predictable ([0e00068](https://github.com/strongloop/loopback-next/commit/0e00068ccee12e004a2684afcf8bec5d651a9a20))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* adds MultiMethodDecoratorFactory ([bf6c787](https://github.com/strongloop/loopback-next/commit/bf6c7872bb8ce492b43ab8f57a641dcbb341e96e))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## [1.3.10](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@1.3.9...@loopback/metadata@1.3.10) (2020-01-07)
|
|
25
|
+
|
|
26
|
+
**Note:** Version bump only for package @loopback/metadata
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [1.3.9](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@1.3.8...@loopback/metadata@1.3.9) (2019-12-09)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @loopback/metadata
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [1.3.8](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@1.3.7...@loopback/metadata@1.3.8) (2019-11-25)
|
|
41
|
+
|
|
42
|
+
**Note:** Version bump only for package @loopback/metadata
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
6
48
|
## [1.3.7](https://github.com/strongloop/loopback-next/compare/@loopback/metadata@1.3.6...@loopback/metadata@1.3.7) (2019-11-12)
|
|
7
49
|
|
|
8
50
|
**Note:** Version bump only for package @loopback/metadata
|
package/README.md
CHANGED
|
@@ -87,6 +87,114 @@ class MyController {
|
|
|
87
87
|
}
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
+
### To create a decorator that can be used multiple times on a single method
|
|
91
|
+
|
|
92
|
+
Instead of a single immutable object to be merged, the
|
|
93
|
+
`MethodMultiDecoratorFactory` reduced parameters into a flat array of items.
|
|
94
|
+
When fetching the metadata later, you will receive it as an array.
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
import {MethodMultiDecoratorFactory} from '@loopback/metadata';
|
|
98
|
+
|
|
99
|
+
function myMultiMethodDecorator(spec: object): MethodDecorator {
|
|
100
|
+
return MethodMultiDecoratorFactory.createDecorator<object>(
|
|
101
|
+
'metadata-key-for-my-method-multi-decorator',
|
|
102
|
+
spec,
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Now, you can use it multiple times on a method:
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
class MyController {
|
|
111
|
+
@myMultiMethodDecorator({x: 1})
|
|
112
|
+
@myMultiMethodDecorator({y: 2})
|
|
113
|
+
@myMultiMethodDecorator({z: 3})
|
|
114
|
+
public point() {}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
class MyOtherController {
|
|
118
|
+
@myMultiMethodDecorator([{x: 1}, {y: 2}, {z: 3}])
|
|
119
|
+
public point() {}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
And when you access this data:
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
const arrayOfSpecs = MetadataInspector.getMethodMetadata<object>(
|
|
127
|
+
'metadata-key-for-my-method-multi-decorator',
|
|
128
|
+
constructor.prototype,
|
|
129
|
+
op,
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
// [{z: 3}, {y: 2}, {x: 1}]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Typescript
|
|
136
|
+
[applies decorators in reverse order](https://www.typescriptlang.org/docs/handbook/decorators.html)
|
|
137
|
+
per class, from the parent down. The metadata array resurned by `getOwnMetadata`
|
|
138
|
+
will be in this order:
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
class Parent {
|
|
142
|
+
@myMultiMethodDecorator('A') // second
|
|
143
|
+
@myMultiMethodDecorator('B') // first
|
|
144
|
+
public greet() {}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
class Child extends Parent {
|
|
148
|
+
@myMultiMethodDecorator(['C', 'D']) // [third, fourth]
|
|
149
|
+
public greet() {}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
class Grandchild extends Child {
|
|
153
|
+
@myMultiMethodDecorator('E') // sixth
|
|
154
|
+
@myMultiMethodDecorator('F') // fifth
|
|
155
|
+
public greet() {}
|
|
156
|
+
}
|
|
157
|
+
// getMethodMetadata = ['B', 'A', 'C', 'D', 'F', 'E']
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
You can also create a decorator that takes an object that can contain an array:
|
|
161
|
+
|
|
162
|
+
```ts
|
|
163
|
+
interface Point {
|
|
164
|
+
x?: number;
|
|
165
|
+
y?: number;
|
|
166
|
+
z?: number;
|
|
167
|
+
}
|
|
168
|
+
interface GeometryMetadata {
|
|
169
|
+
points: Point[];
|
|
170
|
+
}
|
|
171
|
+
function geometry(...points: Point[]): MethodDecorator {
|
|
172
|
+
return MethodMultiDecoratorFactory.createDecorator<GeometryMetadata>(
|
|
173
|
+
'metadata-key-for-my-method-multi-decorator',
|
|
174
|
+
points,
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
class MyGeoController {
|
|
179
|
+
@geometry({x: 1})
|
|
180
|
+
@geometry({x: 2}, {y: 3})
|
|
181
|
+
@geometry({z: 5})
|
|
182
|
+
public abstract() {}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const arrayOfSpecs = MetadataInspector.getMethodMetadata<GeometryMetadata>(
|
|
186
|
+
'metadata-key-for-my-method-multi-decorator',
|
|
187
|
+
constructor.prototype,
|
|
188
|
+
op,
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
// [
|
|
192
|
+
// { points: [{x: 1}]},
|
|
193
|
+
// { points: [{x:2}, {y:3}]},
|
|
194
|
+
// { points: [{z: 5}]},
|
|
195
|
+
// ]
|
|
196
|
+
```
|
|
197
|
+
|
|
90
198
|
### To create a property decorator
|
|
91
199
|
|
|
92
200
|
```ts
|
|
@@ -260,3 +260,32 @@ export declare class MethodParameterDecoratorFactory<T> extends DecoratorFactory
|
|
|
260
260
|
*/
|
|
261
261
|
static createDecorator<T>(key: MetadataKey<T, MethodDecorator>, spec: T, options?: DecoratorOptions): MethodDecorator;
|
|
262
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Factory for an append-array of method-level decorators
|
|
265
|
+
* The @response metadata for a method is an array.
|
|
266
|
+
* Each item in the array should be a single value, containing
|
|
267
|
+
* a response code and a single spec or Model. This should allow:
|
|
268
|
+
* ```ts
|
|
269
|
+
* @response(200, MyFirstModel)
|
|
270
|
+
* @response(403, [NotAuthorizedReasonOne, NotAuthorizedReasonTwo])
|
|
271
|
+
* @response(404, NotFoundOne)
|
|
272
|
+
* @response(404, NotFoundTwo)
|
|
273
|
+
* @response(409, {schema: {}})
|
|
274
|
+
* public async myMethod() {}
|
|
275
|
+
* ```
|
|
276
|
+
*
|
|
277
|
+
* In the case that a ResponseObject is passed, it becomes the
|
|
278
|
+
* default for description/content, and if possible, further Models are
|
|
279
|
+
* incorporated as a `oneOf: []` array.
|
|
280
|
+
*
|
|
281
|
+
* In the case that a ReferenceObject is passed, it and it alone is used, since
|
|
282
|
+
* references can be external and we cannot `oneOf` their content.
|
|
283
|
+
*
|
|
284
|
+
* The factory creates and updates an array of items T[], and the getter
|
|
285
|
+
* provides the values as that array.
|
|
286
|
+
*/
|
|
287
|
+
export declare class MethodMultiDecoratorFactory<T> extends MethodDecoratorFactory<T[]> {
|
|
288
|
+
protected mergeWithInherited(inheritedMetadata: MetadataMap<T[]>, target: Object, methodName?: string): MetadataMap<T[]>;
|
|
289
|
+
protected mergeWithOwn(ownMetadata: MetadataMap<T[]>, target: Object, methodName?: string, methodDescriptor?: TypedPropertyDescriptor<any> | number): MetadataMap<T[]>;
|
|
290
|
+
private _mergeArray;
|
|
291
|
+
}
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
// Node module: @loopback/metadata
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
6
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const
|
|
8
|
-
const
|
|
10
|
+
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
12
|
const reflect_1 = require("./reflect");
|
|
10
|
-
const debug =
|
|
13
|
+
const debug = debug_1.default('loopback:metadata:decorator');
|
|
11
14
|
/**
|
|
12
15
|
* Base factory class for decorator functions
|
|
13
16
|
*
|
|
@@ -39,6 +42,7 @@ class DecoratorFactory {
|
|
|
39
42
|
* `{allowInheritance: true}` if not provided
|
|
40
43
|
*/
|
|
41
44
|
constructor(key, spec, options = {}) {
|
|
45
|
+
var _a;
|
|
42
46
|
this.key = key;
|
|
43
47
|
this.spec = spec;
|
|
44
48
|
this.options = options;
|
|
@@ -47,7 +51,7 @@ class DecoratorFactory {
|
|
|
47
51
|
cloneInputSpec: true,
|
|
48
52
|
}, options);
|
|
49
53
|
const defaultDecoratorName = this.constructor.name.replace(/Factory$/, '');
|
|
50
|
-
this.decoratorName = this.options.decoratorName
|
|
54
|
+
this.decoratorName = (_a = this.options.decoratorName, (_a !== null && _a !== void 0 ? _a : defaultDecoratorName));
|
|
51
55
|
if (this.options.cloneInputSpec) {
|
|
52
56
|
this.spec = DecoratorFactory.cloneDeep(spec);
|
|
53
57
|
}
|
|
@@ -255,7 +259,7 @@ class DecoratorFactory {
|
|
|
255
259
|
static cloneDeep(val) {
|
|
256
260
|
if (typeof val !== 'object')
|
|
257
261
|
return val;
|
|
258
|
-
return
|
|
262
|
+
return lodash_1.default.cloneDeepWith(val, v => {
|
|
259
263
|
if (typeof v !== 'object')
|
|
260
264
|
return v;
|
|
261
265
|
if (v == null)
|
|
@@ -506,4 +510,60 @@ class MethodParameterDecoratorFactory extends DecoratorFactory {
|
|
|
506
510
|
}
|
|
507
511
|
}
|
|
508
512
|
exports.MethodParameterDecoratorFactory = MethodParameterDecoratorFactory;
|
|
513
|
+
/**
|
|
514
|
+
* Factory for an append-array of method-level decorators
|
|
515
|
+
* The @response metadata for a method is an array.
|
|
516
|
+
* Each item in the array should be a single value, containing
|
|
517
|
+
* a response code and a single spec or Model. This should allow:
|
|
518
|
+
* ```ts
|
|
519
|
+
* @response(200, MyFirstModel)
|
|
520
|
+
* @response(403, [NotAuthorizedReasonOne, NotAuthorizedReasonTwo])
|
|
521
|
+
* @response(404, NotFoundOne)
|
|
522
|
+
* @response(404, NotFoundTwo)
|
|
523
|
+
* @response(409, {schema: {}})
|
|
524
|
+
* public async myMethod() {}
|
|
525
|
+
* ```
|
|
526
|
+
*
|
|
527
|
+
* In the case that a ResponseObject is passed, it becomes the
|
|
528
|
+
* default for description/content, and if possible, further Models are
|
|
529
|
+
* incorporated as a `oneOf: []` array.
|
|
530
|
+
*
|
|
531
|
+
* In the case that a ReferenceObject is passed, it and it alone is used, since
|
|
532
|
+
* references can be external and we cannot `oneOf` their content.
|
|
533
|
+
*
|
|
534
|
+
* The factory creates and updates an array of items T[], and the getter
|
|
535
|
+
* provides the values as that array.
|
|
536
|
+
*/
|
|
537
|
+
class MethodMultiDecoratorFactory extends MethodDecoratorFactory {
|
|
538
|
+
mergeWithInherited(inheritedMetadata, target, methodName) {
|
|
539
|
+
inheritedMetadata = inheritedMetadata || {};
|
|
540
|
+
inheritedMetadata[methodName] = this._mergeArray(inheritedMetadata[methodName], this.withTarget(this.spec, target));
|
|
541
|
+
return inheritedMetadata;
|
|
542
|
+
}
|
|
543
|
+
mergeWithOwn(ownMetadata, target, methodName, methodDescriptor) {
|
|
544
|
+
ownMetadata = ownMetadata || {};
|
|
545
|
+
ownMetadata[methodName] = this._mergeArray(ownMetadata[methodName], this.withTarget(this.spec, target));
|
|
546
|
+
return ownMetadata;
|
|
547
|
+
}
|
|
548
|
+
_mergeArray(result, methodMeta) {
|
|
549
|
+
if (!result) {
|
|
550
|
+
if (Array.isArray(methodMeta)) {
|
|
551
|
+
result = methodMeta;
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
result = [methodMeta];
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
if (Array.isArray(methodMeta)) {
|
|
559
|
+
result.push(...methodMeta);
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
result.push(methodMeta);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
return result;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
exports.MethodMultiDecoratorFactory = MethodMultiDecoratorFactory;
|
|
509
569
|
//# sourceMappingURL=decorator-factory.js.map
|
|
@@ -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
|
@@ -23,8 +23,8 @@ class MetadataInspector {
|
|
|
23
23
|
* @param options - Options for inspection
|
|
24
24
|
*/
|
|
25
25
|
static getClassMetadata(key, target, options) {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var _a;
|
|
27
|
+
return ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
28
28
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -45,8 +45,8 @@ class MetadataInspector {
|
|
|
45
45
|
* @param options - Options for inspection
|
|
46
46
|
*/
|
|
47
47
|
static getAllMethodMetadata(key, target, options) {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
var _a;
|
|
49
|
+
return ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
50
50
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -59,11 +59,11 @@ class MetadataInspector {
|
|
|
59
59
|
* @param options - Options for inspection
|
|
60
60
|
*/
|
|
61
61
|
static getMethodMetadata(key, target, methodName, options) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
var _a, _b;
|
|
63
|
+
methodName = (methodName !== null && methodName !== void 0 ? methodName : '');
|
|
64
|
+
const meta = ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
65
65
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
66
|
-
return meta
|
|
66
|
+
return (_b = meta) === null || _b === void 0 ? void 0 : _b[methodName];
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Get the metadata associated with the given key for all properties of the
|
|
@@ -73,8 +73,8 @@ class MetadataInspector {
|
|
|
73
73
|
* @param options - Options for inspection
|
|
74
74
|
*/
|
|
75
75
|
static getAllPropertyMetadata(key, target, options) {
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
var _a;
|
|
77
|
+
return ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
78
78
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
@@ -87,10 +87,10 @@ class MetadataInspector {
|
|
|
87
87
|
* @param options - Options for inspection
|
|
88
88
|
*/
|
|
89
89
|
static getPropertyMetadata(key, target, propertyName, options) {
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
var _a, _b;
|
|
91
|
+
const meta = ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
92
92
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
93
|
-
return meta
|
|
93
|
+
return (_b = meta) === null || _b === void 0 ? void 0 : _b[propertyName];
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
96
|
* Get the metadata associated with the given key for all parameters of a
|
|
@@ -102,11 +102,11 @@ class MetadataInspector {
|
|
|
102
102
|
* @param options - Options for inspection
|
|
103
103
|
*/
|
|
104
104
|
static getAllParameterMetadata(key, target, methodName, options) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
var _a, _b;
|
|
106
|
+
methodName = (methodName !== null && methodName !== void 0 ? methodName : '');
|
|
107
|
+
const meta = ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
108
108
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
109
|
-
return meta
|
|
109
|
+
return (_b = meta) === null || _b === void 0 ? void 0 : _b[methodName];
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* Get the metadata associated with the given key for a parameter of a given
|
|
@@ -119,12 +119,12 @@ class MetadataInspector {
|
|
|
119
119
|
* @param options - Options for inspection
|
|
120
120
|
*/
|
|
121
121
|
static getParameterMetadata(key, target, methodName, index, options) {
|
|
122
|
+
var _a, _b, _c;
|
|
122
123
|
methodName = methodName || '';
|
|
123
|
-
const meta = options
|
|
124
|
-
? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
124
|
+
const meta = ((_a = options) === null || _a === void 0 ? void 0 : _a.ownMetadataOnly) ? reflect_1.Reflector.getOwnMetadata(key.toString(), target)
|
|
125
125
|
: reflect_1.Reflector.getMetadata(key.toString(), target);
|
|
126
|
-
const params = meta
|
|
127
|
-
return params
|
|
126
|
+
const params = (_b = meta) === null || _b === void 0 ? void 0 : _b[methodName];
|
|
127
|
+
return (_c = params) === null || _c === void 0 ? void 0 : _c[index];
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Get TypeScript design time type for a property
|
package/dist/inspector.js.map
CHANGED
|
@@ -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,MAAa,iBAAiB;IAW5B;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,GAAmC,EACnC,MAAgB,EAChB,OAA2B
|
|
1
|
+
{"version":3,"file":"inspector.js","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/metadata",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "LoopBack's metadata utilities for reflection and decoration",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=8.9"
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"reflect-metadata": "^0.1.13"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@loopback/build": "^
|
|
27
|
-
"@loopback/eslint-config": "^
|
|
28
|
-
"@loopback/testlab": "^1.
|
|
26
|
+
"@loopback/build": "^3.1.0",
|
|
27
|
+
"@loopback/eslint-config": "^5.0.2",
|
|
28
|
+
"@loopback/testlab": "^1.10.2",
|
|
29
29
|
"@types/debug": "^4.1.5",
|
|
30
|
-
"@types/lodash": "^4.14.
|
|
31
|
-
"@types/node": "^10.17.
|
|
30
|
+
"@types/lodash": "^4.14.149",
|
|
31
|
+
"@types/node": "^10.17.13"
|
|
32
32
|
},
|
|
33
33
|
"keywords": [
|
|
34
34
|
"LoopBack",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
52
52
|
"directory": "packages/metadata"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "d08f135a0d1040edc61497739a8d86a866e4e29a"
|
|
55
55
|
}
|
package/src/decorator-factory.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import debugModule from 'debug';
|
|
7
|
+
import _ from 'lodash';
|
|
8
8
|
import {Reflector} from './reflect';
|
|
9
9
|
import {DecoratorType, MetadataKey, MetadataMap} from './types';
|
|
10
10
|
const debug = debugModule('loopback:metadata:decorator');
|
|
@@ -91,7 +91,7 @@ export class DecoratorFactory<
|
|
|
91
91
|
options,
|
|
92
92
|
);
|
|
93
93
|
const defaultDecoratorName = this.constructor.name.replace(/Factory$/, '');
|
|
94
|
-
this.decoratorName = this.options.decoratorName
|
|
94
|
+
this.decoratorName = this.options.decoratorName ?? defaultDecoratorName;
|
|
95
95
|
if (this.options.cloneInputSpec) {
|
|
96
96
|
this.spec = DecoratorFactory.cloneDeep(spec);
|
|
97
97
|
}
|
|
@@ -789,3 +789,78 @@ export class MethodParameterDecoratorFactory<T> extends DecoratorFactory<
|
|
|
789
789
|
);
|
|
790
790
|
}
|
|
791
791
|
}
|
|
792
|
+
|
|
793
|
+
/**
|
|
794
|
+
* Factory for an append-array of method-level decorators
|
|
795
|
+
* The @response metadata for a method is an array.
|
|
796
|
+
* Each item in the array should be a single value, containing
|
|
797
|
+
* a response code and a single spec or Model. This should allow:
|
|
798
|
+
* ```ts
|
|
799
|
+
* @response(200, MyFirstModel)
|
|
800
|
+
* @response(403, [NotAuthorizedReasonOne, NotAuthorizedReasonTwo])
|
|
801
|
+
* @response(404, NotFoundOne)
|
|
802
|
+
* @response(404, NotFoundTwo)
|
|
803
|
+
* @response(409, {schema: {}})
|
|
804
|
+
* public async myMethod() {}
|
|
805
|
+
* ```
|
|
806
|
+
*
|
|
807
|
+
* In the case that a ResponseObject is passed, it becomes the
|
|
808
|
+
* default for description/content, and if possible, further Models are
|
|
809
|
+
* incorporated as a `oneOf: []` array.
|
|
810
|
+
*
|
|
811
|
+
* In the case that a ReferenceObject is passed, it and it alone is used, since
|
|
812
|
+
* references can be external and we cannot `oneOf` their content.
|
|
813
|
+
*
|
|
814
|
+
* The factory creates and updates an array of items T[], and the getter
|
|
815
|
+
* provides the values as that array.
|
|
816
|
+
*/
|
|
817
|
+
export class MethodMultiDecoratorFactory<T> extends MethodDecoratorFactory<
|
|
818
|
+
T[]
|
|
819
|
+
> {
|
|
820
|
+
protected mergeWithInherited(
|
|
821
|
+
inheritedMetadata: MetadataMap<T[]>,
|
|
822
|
+
target: Object,
|
|
823
|
+
methodName?: string,
|
|
824
|
+
) {
|
|
825
|
+
inheritedMetadata = inheritedMetadata || {};
|
|
826
|
+
|
|
827
|
+
inheritedMetadata[methodName!] = this._mergeArray(
|
|
828
|
+
inheritedMetadata[methodName!],
|
|
829
|
+
this.withTarget(this.spec, target),
|
|
830
|
+
);
|
|
831
|
+
|
|
832
|
+
return inheritedMetadata;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
protected mergeWithOwn(
|
|
836
|
+
ownMetadata: MetadataMap<T[]>,
|
|
837
|
+
target: Object,
|
|
838
|
+
methodName?: string,
|
|
839
|
+
methodDescriptor?: TypedPropertyDescriptor<any> | number,
|
|
840
|
+
) {
|
|
841
|
+
ownMetadata = ownMetadata || {};
|
|
842
|
+
ownMetadata[methodName!] = this._mergeArray(
|
|
843
|
+
ownMetadata[methodName!],
|
|
844
|
+
this.withTarget(this.spec, target),
|
|
845
|
+
);
|
|
846
|
+
return ownMetadata;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
private _mergeArray(result: T[], methodMeta: T | T[]) {
|
|
850
|
+
if (!result) {
|
|
851
|
+
if (Array.isArray(methodMeta)) {
|
|
852
|
+
result = methodMeta;
|
|
853
|
+
} else {
|
|
854
|
+
result = [methodMeta];
|
|
855
|
+
}
|
|
856
|
+
} else {
|
|
857
|
+
if (Array.isArray(methodMeta)) {
|
|
858
|
+
result.push(...methodMeta);
|
|
859
|
+
} else {
|
|
860
|
+
result.push(methodMeta);
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
return result;
|
|
865
|
+
}
|
|
866
|
+
}
|
package/src/inspector.ts
CHANGED
|
@@ -58,7 +58,7 @@ export class MetadataInspector {
|
|
|
58
58
|
target: Function,
|
|
59
59
|
options?: InspectionOptions,
|
|
60
60
|
): T | undefined {
|
|
61
|
-
return options
|
|
61
|
+
return options?.ownMetadataOnly
|
|
62
62
|
? Reflector.getOwnMetadata(key.toString(), target)
|
|
63
63
|
: Reflector.getMetadata(key.toString(), target);
|
|
64
64
|
}
|
|
@@ -91,7 +91,7 @@ export class MetadataInspector {
|
|
|
91
91
|
target: Object,
|
|
92
92
|
options?: InspectionOptions,
|
|
93
93
|
): MetadataMap<T> | undefined {
|
|
94
|
-
return options
|
|
94
|
+
return options?.ownMetadataOnly
|
|
95
95
|
? Reflector.getOwnMetadata(key.toString(), target)
|
|
96
96
|
: Reflector.getMetadata(key.toString(), target);
|
|
97
97
|
}
|
|
@@ -111,12 +111,11 @@ export class MetadataInspector {
|
|
|
111
111
|
methodName?: string,
|
|
112
112
|
options?: InspectionOptions,
|
|
113
113
|
): T | undefined {
|
|
114
|
-
methodName = methodName
|
|
115
|
-
const meta: MetadataMap<T> =
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return meta && meta[methodName];
|
|
114
|
+
methodName = methodName ?? '';
|
|
115
|
+
const meta: MetadataMap<T> = options?.ownMetadataOnly
|
|
116
|
+
? Reflector.getOwnMetadata(key.toString(), target)
|
|
117
|
+
: Reflector.getMetadata(key.toString(), target);
|
|
118
|
+
return meta?.[methodName];
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
/**
|
|
@@ -131,7 +130,7 @@ export class MetadataInspector {
|
|
|
131
130
|
target: Object,
|
|
132
131
|
options?: InspectionOptions,
|
|
133
132
|
): MetadataMap<T> | undefined {
|
|
134
|
-
return options
|
|
133
|
+
return options?.ownMetadataOnly
|
|
135
134
|
? Reflector.getOwnMetadata(key.toString(), target)
|
|
136
135
|
: Reflector.getMetadata(key.toString(), target);
|
|
137
136
|
}
|
|
@@ -151,11 +150,10 @@ export class MetadataInspector {
|
|
|
151
150
|
propertyName: string,
|
|
152
151
|
options?: InspectionOptions,
|
|
153
152
|
): T | undefined {
|
|
154
|
-
const meta: MetadataMap<T> =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return meta && meta[propertyName];
|
|
153
|
+
const meta: MetadataMap<T> = options?.ownMetadataOnly
|
|
154
|
+
? Reflector.getOwnMetadata(key.toString(), target)
|
|
155
|
+
: Reflector.getMetadata(key.toString(), target);
|
|
156
|
+
return meta?.[propertyName];
|
|
159
157
|
}
|
|
160
158
|
|
|
161
159
|
/**
|
|
@@ -173,12 +171,11 @@ export class MetadataInspector {
|
|
|
173
171
|
methodName?: string,
|
|
174
172
|
options?: InspectionOptions,
|
|
175
173
|
): T[] | undefined {
|
|
176
|
-
methodName = methodName
|
|
177
|
-
const meta: MetadataMap<T[]> =
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
return meta && meta[methodName];
|
|
174
|
+
methodName = methodName ?? '';
|
|
175
|
+
const meta: MetadataMap<T[]> = options?.ownMetadataOnly
|
|
176
|
+
? Reflector.getOwnMetadata(key.toString(), target)
|
|
177
|
+
: Reflector.getMetadata(key.toString(), target);
|
|
178
|
+
return meta?.[methodName];
|
|
182
179
|
}
|
|
183
180
|
|
|
184
181
|
/**
|
|
@@ -199,12 +196,11 @@ export class MetadataInspector {
|
|
|
199
196
|
options?: InspectionOptions,
|
|
200
197
|
): T | undefined {
|
|
201
198
|
methodName = methodName || '';
|
|
202
|
-
const meta: MetadataMap<T[]> =
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
return params && params[index];
|
|
199
|
+
const meta: MetadataMap<T[]> = options?.ownMetadataOnly
|
|
200
|
+
? Reflector.getOwnMetadata(key.toString(), target)
|
|
201
|
+
: Reflector.getMetadata(key.toString(), target);
|
|
202
|
+
const params = meta?.[methodName];
|
|
203
|
+
return params?.[index];
|
|
208
204
|
}
|
|
209
205
|
|
|
210
206
|
/**
|