@loopback/openapi-v3 3.4.2 → 3.4.6
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 +38 -0
- package/dist/build-responses-from-metadata.js +1 -3
- package/dist/build-responses-from-metadata.js.map +1 -1
- package/dist/controller-spec.js +6 -7
- package/dist/controller-spec.js.map +1 -1
- package/dist/decorators/response.decorator.js +1 -2
- package/dist/decorators/response.decorator.js.map +1 -1
- package/dist/enhancers/spec-enhancer.service.js +72 -75
- package/dist/enhancers/spec-enhancer.service.js.map +1 -1
- package/package.json +18 -18
- package/src/build-responses-from-metadata.ts +1 -3
- package/src/controller-spec.ts +2 -5
- package/src/decorators/response.decorator.ts +1 -2
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
|
+
## [3.4.6](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.5...@loopback/openapi-v3@3.4.6) (2020-07-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **repository-json-schema:** added type 'object' to model json schema ([5c5f9ef](https://github.com/strongloop/loopback-next/commit/5c5f9efcfdea7788503d74610e7ce64f31abc7cd)), closes [#3804](https://github.com/strongloop/loopback-next/issues/3804)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [3.4.5](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.4...@loopback/openapi-v3@3.4.5) (2020-06-30)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @loopback/openapi-v3
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [3.4.4](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.3...@loopback/openapi-v3@3.4.4) (2020-06-23)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [3.4.3](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.2...@loopback/openapi-v3@3.4.3) (2020-06-11)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @loopback/openapi-v3
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
## [3.4.2](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@3.4.1...@loopback/openapi-v3@3.4.2) (2020-05-28)
|
|
7
45
|
|
|
8
46
|
**Note:** Version bump only for package @loopback/openapi-v3
|
|
@@ -9,7 +9,7 @@ const core_1 = require("@loopback/core");
|
|
|
9
9
|
const repository_1 = require("@loopback/repository");
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
11
|
function isModel(c) {
|
|
12
|
-
return c
|
|
12
|
+
return (c === null || c === void 0 ? void 0 : c.prototype) instanceof repository_1.Model;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Reducer which builds the operation responses
|
|
@@ -91,11 +91,9 @@ function buildMapsFromMetadata(metadata) {
|
|
|
91
91
|
const responseRef = builder.get(r.responseCode);
|
|
92
92
|
const codeRef = responseRef === null || responseRef === void 0 ? void 0 : responseRef.content;
|
|
93
93
|
if (codeRef === null || codeRef === void 0 ? void 0 : codeRef.has(r.contentType)) {
|
|
94
|
-
// eslint-disable-next-line no-unused-expressions
|
|
95
94
|
(_a = codeRef.get(r.contentType)) === null || _a === void 0 ? void 0 : _a.push(r.responseModelOrSpec);
|
|
96
95
|
}
|
|
97
96
|
else {
|
|
98
|
-
// eslint-disable-next-line no-unused-expressions
|
|
99
97
|
codeRef === null || codeRef === void 0 ? void 0 : codeRef.set(r.contentType, [r.responseModelOrSpec]);
|
|
100
98
|
}
|
|
101
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-responses-from-metadata.js","sourceRoot":"","sources":["../src/build-responses-from-metadata.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAgD;AAChD,qDAA2C;AAe3C,8DAA8D;AAC9D,SAAS,OAAO,CAAkB,CAAM;IACtC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"build-responses-from-metadata.js","sourceRoot":"","sources":["../src/build-responses-from-metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/controller-spec.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.TS_TYPE_KEY = 'x-ts-type';
|
|
|
20
20
|
* @param constructor - Controller class
|
|
21
21
|
*/
|
|
22
22
|
function resolveControllerSpec(constructor) {
|
|
23
|
-
var _a, _b, _c, _d;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f;
|
|
24
24
|
debug(`Retrieving OpenAPI specification for controller ${constructor.name}`);
|
|
25
25
|
let spec = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CLASS_KEY, constructor);
|
|
26
26
|
if (spec) {
|
|
@@ -47,8 +47,7 @@ function resolveControllerSpec(constructor) {
|
|
|
47
47
|
}
|
|
48
48
|
/* istanbul ignore else */
|
|
49
49
|
if (classTags) {
|
|
50
|
-
if (spec.paths[path][method].tags
|
|
51
|
-
spec.paths[path][method].tags.length) {
|
|
50
|
+
if ((_a = spec.paths[path][method].tags) === null || _a === void 0 ? void 0 : _a.length) {
|
|
52
51
|
spec.paths[path][method].tags = spec.paths[path][method].tags.concat(classTags.tags);
|
|
53
52
|
}
|
|
54
53
|
else {
|
|
@@ -58,7 +57,7 @@ function resolveControllerSpec(constructor) {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
|
-
let endpoints = (
|
|
60
|
+
let endpoints = (_b = core_1.MetadataInspector.getAllMethodMetadata(keys_1.OAI3Keys.METHODS_KEY, constructor.prototype)) !== null && _b !== void 0 ? _b : {};
|
|
62
61
|
endpoints = core_1.DecoratorFactory.cloneDeep(endpoints);
|
|
63
62
|
for (const op in endpoints) {
|
|
64
63
|
debug(' processing method %s', op);
|
|
@@ -106,7 +105,7 @@ function resolveControllerSpec(constructor) {
|
|
|
106
105
|
operationSpec.tags = classTags.tags;
|
|
107
106
|
}
|
|
108
107
|
if (methodTags) {
|
|
109
|
-
if (operationSpec.tags
|
|
108
|
+
if ((_c = operationSpec.tags) === null || _c === void 0 ? void 0 : _c.length) {
|
|
110
109
|
operationSpec.tags = operationSpec.tags.concat(methodTags.tags);
|
|
111
110
|
}
|
|
112
111
|
else {
|
|
@@ -116,7 +115,7 @@ function resolveControllerSpec(constructor) {
|
|
|
116
115
|
debug(' operation for method %s: %j', op, endpoint);
|
|
117
116
|
debug(' spec responses for method %s: %o', op, operationSpec.responses);
|
|
118
117
|
// Prescedence: method decorator > class decorator > operationSpec > undefined
|
|
119
|
-
const deprecationSpec = (
|
|
118
|
+
const deprecationSpec = (_e = (_d = isMethodDeprecated !== null && isMethodDeprecated !== void 0 ? isMethodDeprecated : isClassDeprecated) !== null && _d !== void 0 ? _d : operationSpec.deprecated) !== null && _e !== void 0 ? _e : false;
|
|
120
119
|
if (deprecationSpec) {
|
|
121
120
|
operationSpec.deprecated = true;
|
|
122
121
|
}
|
|
@@ -124,7 +123,7 @@ function resolveControllerSpec(constructor) {
|
|
|
124
123
|
const responseObject = operationSpec.responses[code];
|
|
125
124
|
if (types_1.isReferenceObject(responseObject))
|
|
126
125
|
continue;
|
|
127
|
-
const content = (
|
|
126
|
+
const content = (_f = responseObject.content) !== null && _f !== void 0 ? _f : {};
|
|
128
127
|
for (const c in content) {
|
|
129
128
|
debug(' processing response code %s with content-type %', code, c);
|
|
130
129
|
processSchemaExtensions(spec, content[c].schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-spec.js","sourceRoot":"","sources":["../src/controller-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-spec.js","sourceRoot":"","sources":["../src/controller-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,7 @@ const http_status_1 = tslib_1.__importDefault(require("http-status"));
|
|
|
11
11
|
const keys_1 = require("../keys");
|
|
12
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
13
|
function isResponseObject(c) {
|
|
14
|
-
|
|
15
|
-
return !!c && c.hasOwnProperty('content') && !!c.content;
|
|
14
|
+
return !!(c === null || c === void 0 ? void 0 : c.hasOwnProperty('content')) && !!c.content;
|
|
16
15
|
}
|
|
17
16
|
function buildDecoratorReducer(responseCode, description, contentType = 'application/json') {
|
|
18
17
|
const decoratorItemReducer = (r, m) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.decorator.js","sourceRoot":"","sources":["../../src/decorators/response.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA2D;AAC3D,sEAAqC;AAOrC,kCAAiC;AAOjC,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,CAAM;IAC9B,
|
|
1
|
+
{"version":3,"file":"response.decorator.js","sourceRoot":"","sources":["../../src/decorators/response.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA2D;AAC3D,sEAAqC;AAOrC,kCAAiC;AAOjC,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,CAAM;IAC9B,OAAO,CAAC,EAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAAoB,EACpB,WAAmB,EACnB,WAAW,GAAG,kBAAkB;IAEhC,MAAM,oBAAoB,GAAG,CAC3B,CAA4B,EAC5B,CAAsB,EACtB,EAAE;;QACF,iDAAiD;QACjD,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,OAAC,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;;gBACxC,CAAC,CAAC,IAAI,CAAC;oBACL,YAAY;oBACZ,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAEhB;oBACnB,WAAW,EAAE,EAAE;oBACf,WAAW,QAAE,CAAC,CAAC,WAAW,mCAAI,WAAW;iBAC1C,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,CAAC,CAAC,IAAI,CAAC;gBACL,YAAY;gBACZ,mBAAmB,EAAE,CAAC;gBACtB,kDAAkD;gBAClD,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,QAAQ,CACtB,YAAoB,EACpB,GAAG,mBAA0C;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAgC,CAAC;IAEvE,OAAO,kCAA2B,CAAC,eAAe,CAChD,eAAQ,CAAC,mBAAmB,EAC5B,mBAAmB,CAAC,MAAM,CACxB,qBAAqB,CAAC,YAAY,EAAE,qBAAU,CAAC,UAAU,CAAW,CAAC,EACrE,EAAE,CACH,EACD,EAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAC,CACtD,CAAC;AACJ,CAAC;AAdD,4BAcC;AAED,WAAiB,QAAQ;IACvB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,aAAI,GAAG,CAAC,GAAG,UAAoB,EAAE,EAAE;QAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,UAAU,GAAG,CAAC,0BAA0B,CAAC,CAAC;SAC3C;QACD,MAAM,mBAAmB,GAAwB;YAC/C,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC1B,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBAC/B,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC,EA1CgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0CxB"}
|
|
@@ -21,83 +21,80 @@ const debug = debug_1.default('loopback:openapi:spec-enhancer');
|
|
|
21
21
|
* A typical use of it would be generating the OpenAPI spec for the endpoints on a server
|
|
22
22
|
* in the `@loopback/rest` module.
|
|
23
23
|
*/
|
|
24
|
-
let OASEnhancerService =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (_.isEmpty(enhancers))
|
|
85
|
-
return this._spec;
|
|
86
|
-
for (const e of enhancers) {
|
|
87
|
-
this._spec = e.modifySpec(this._spec);
|
|
88
|
-
}
|
|
89
|
-
debug(`Spec enhancer service, generated spec: ${util_1.inspect(this._spec)}`);
|
|
24
|
+
let OASEnhancerService = class OASEnhancerService {
|
|
25
|
+
constructor(
|
|
26
|
+
/**
|
|
27
|
+
* Inject a getter function to fetch spec enhancers
|
|
28
|
+
*/
|
|
29
|
+
getEnhancers,
|
|
30
|
+
/**
|
|
31
|
+
* An extension point should be able to receive its options via dependency
|
|
32
|
+
* injection.
|
|
33
|
+
*/
|
|
34
|
+
options) {
|
|
35
|
+
this.getEnhancers = getEnhancers;
|
|
36
|
+
this.options = options;
|
|
37
|
+
this._spec = {
|
|
38
|
+
openapi: '3.0.0',
|
|
39
|
+
info: {
|
|
40
|
+
title: 'LoopBack Application',
|
|
41
|
+
version: '1.0.0',
|
|
42
|
+
},
|
|
43
|
+
paths: {},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Getter for `_spec`
|
|
48
|
+
*/
|
|
49
|
+
get spec() {
|
|
50
|
+
return this._spec;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Setter for `_spec`
|
|
54
|
+
*/
|
|
55
|
+
set spec(value) {
|
|
56
|
+
this._spec = value;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Find an enhancer by its name
|
|
60
|
+
* @param name The name of the enhancer you want to find
|
|
61
|
+
*/
|
|
62
|
+
async getEnhancerByName(name) {
|
|
63
|
+
// Get the latest list of enhancers
|
|
64
|
+
const enhancers = await this.getEnhancers();
|
|
65
|
+
return enhancers.find(e => e.name === name);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Apply a given enhancer's merge function. Return the latest _spec.
|
|
69
|
+
* @param name The name of the enhancer you want to apply
|
|
70
|
+
*/
|
|
71
|
+
async applyEnhancerByName(name) {
|
|
72
|
+
const enhancer = await this.getEnhancerByName(name);
|
|
73
|
+
if (enhancer)
|
|
74
|
+
this._spec = enhancer.modifySpec(this._spec);
|
|
75
|
+
return this._spec;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Generate OpenAPI spec by applying ALL registered enhancers
|
|
79
|
+
* TBD: load enhancers by group names
|
|
80
|
+
*/
|
|
81
|
+
async applyAllEnhancers(options = {}) {
|
|
82
|
+
const enhancers = await this.getEnhancers();
|
|
83
|
+
if (_.isEmpty(enhancers))
|
|
90
84
|
return this._spec;
|
|
85
|
+
for (const e of enhancers) {
|
|
86
|
+
this._spec = e.modifySpec(this._spec);
|
|
91
87
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
88
|
+
debug(`Spec enhancer service, generated spec: ${util_1.inspect(this._spec)}`);
|
|
89
|
+
return this._spec;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
OASEnhancerService = tslib_1.__decorate([
|
|
93
|
+
core_1.extensionPoint(keys_1.OASEnhancerBindings.OAS_ENHANCER_EXTENSION_POINT_NAME),
|
|
94
|
+
tslib_1.__param(0, core_1.extensions()),
|
|
95
|
+
tslib_1.__param(1, core_1.config()),
|
|
96
|
+
tslib_1.__metadata("design:paramtypes", [Function, Object])
|
|
97
|
+
], OASEnhancerService);
|
|
101
98
|
exports.OASEnhancerService = OASEnhancerService;
|
|
102
99
|
/**
|
|
103
100
|
* The default merge function to patch the current OpenAPI spec.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-enhancer.service.js","sourceRoot":"","sources":["../../src/enhancers/spec-enhancer.service.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA0E;AAC1E,0DAAgC;AAChC,kDAA4B;AAC5B,+BAA6B;AAE7B,iCAA2C;AAE3C,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEnD,MAAM,KAAK,GAAG,eAAW,CAAC,gCAAgC,CAAC,CAAC;AAS5D;;;;;;;GAOG;AAEH
|
|
1
|
+
{"version":3,"file":"spec-enhancer.service.js","sourceRoot":"","sources":["../../src/enhancers/spec-enhancer.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/openapi-v3",
|
|
3
|
-
"version": "3.4.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.4.6",
|
|
4
|
+
"description": "Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications",
|
|
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
|
"dependencies": {
|
|
11
|
-
"@loopback/core": "^2.
|
|
12
|
-
"@loopback/repository-json-schema": "^2.4.
|
|
11
|
+
"@loopback/core": "^2.9.2",
|
|
12
|
+
"@loopback/repository-json-schema": "^2.4.7",
|
|
13
13
|
"debug": "^4.1.1",
|
|
14
14
|
"http-status": "^1.4.2",
|
|
15
15
|
"json-merge-patch": "^1.0.0",
|
|
16
|
-
"lodash": "^4.17.
|
|
17
|
-
"openapi3-ts": "^1.
|
|
16
|
+
"lodash": "^4.17.19",
|
|
17
|
+
"openapi3-ts": "^1.4.0",
|
|
18
18
|
"tslib": "^2.0.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@loopback/build": "^
|
|
22
|
-
"@loopback/eslint-config": "^8.0.
|
|
23
|
-
"@loopback/openapi-spec-builder": "^2.1.
|
|
24
|
-
"@loopback/repository": "^2.
|
|
25
|
-
"@loopback/testlab": "^3.1
|
|
21
|
+
"@loopback/build": "^6.1.1",
|
|
22
|
+
"@loopback/eslint-config": "^8.0.4",
|
|
23
|
+
"@loopback/openapi-spec-builder": "^2.1.10",
|
|
24
|
+
"@loopback/repository": "^2.10.0",
|
|
25
|
+
"@loopback/testlab": "^3.2.1",
|
|
26
26
|
"@types/debug": "^4.1.5",
|
|
27
27
|
"@types/http-status": "^1.1.2",
|
|
28
28
|
"@types/json-merge-patch": "0.0.5",
|
|
29
|
-
"@types/lodash": "^4.14.
|
|
30
|
-
"@types/node": "^10.17.
|
|
29
|
+
"@types/lodash": "^4.14.157",
|
|
30
|
+
"@types/node": "^10.17.27"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "lb-tsc",
|
|
@@ -41,6 +41,9 @@
|
|
|
41
41
|
"author": "IBM Corp.",
|
|
42
42
|
"copyright.owner": "IBM Corp.",
|
|
43
43
|
"license": "MIT",
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
44
47
|
"keywords": [
|
|
45
48
|
"Swagger",
|
|
46
49
|
"OpenAPI Spec",
|
|
@@ -52,13 +55,10 @@
|
|
|
52
55
|
"src",
|
|
53
56
|
"!*/__tests__"
|
|
54
57
|
],
|
|
55
|
-
"publishConfig": {
|
|
56
|
-
"access": "public"
|
|
57
|
-
},
|
|
58
58
|
"repository": {
|
|
59
59
|
"type": "git",
|
|
60
60
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
61
61
|
"directory": "packages/openapi-v3"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "5538896411bb56467ae52670a29d1aec1690be74"
|
|
64
64
|
}
|
|
@@ -21,7 +21,7 @@ declare type ResponseMap = Map<
|
|
|
21
21
|
|
|
22
22
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
23
|
function isModel<T extends Model>(c: any): c is T {
|
|
24
|
-
return c
|
|
24
|
+
return c?.prototype instanceof Model;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -118,10 +118,8 @@ function buildMapsFromMetadata(
|
|
|
118
118
|
const codeRef = responseRef?.content;
|
|
119
119
|
|
|
120
120
|
if (codeRef?.has(r.contentType)) {
|
|
121
|
-
// eslint-disable-next-line no-unused-expressions
|
|
122
121
|
codeRef.get(r.contentType)?.push(r.responseModelOrSpec);
|
|
123
122
|
} else {
|
|
124
|
-
// eslint-disable-next-line no-unused-expressions
|
|
125
123
|
codeRef?.set(r.contentType, [r.responseModelOrSpec]);
|
|
126
124
|
}
|
|
127
125
|
} else {
|
package/src/controller-spec.ts
CHANGED
|
@@ -106,10 +106,7 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
106
106
|
}
|
|
107
107
|
/* istanbul ignore else */
|
|
108
108
|
if (classTags) {
|
|
109
|
-
if (
|
|
110
|
-
spec.paths[path][method].tags &&
|
|
111
|
-
spec.paths[path][method].tags.length
|
|
112
|
-
) {
|
|
109
|
+
if (spec.paths[path][method].tags?.length) {
|
|
113
110
|
spec.paths[path][method].tags = spec.paths[path][
|
|
114
111
|
method
|
|
115
112
|
].tags.concat(classTags.tags);
|
|
@@ -194,7 +191,7 @@ function resolveControllerSpec(constructor: Function): ControllerSpec {
|
|
|
194
191
|
}
|
|
195
192
|
|
|
196
193
|
if (methodTags) {
|
|
197
|
-
if (operationSpec.tags
|
|
194
|
+
if (operationSpec.tags?.length) {
|
|
198
195
|
operationSpec.tags = operationSpec.tags.concat(methodTags.tags);
|
|
199
196
|
} else {
|
|
200
197
|
operationSpec.tags = methodTags.tags;
|
|
@@ -20,8 +20,7 @@ interface ResponseWithContent extends ResponseObject {
|
|
|
20
20
|
}
|
|
21
21
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
22
|
function isResponseObject(c: any): c is ResponseWithContent {
|
|
23
|
-
|
|
24
|
-
return !!c && c.hasOwnProperty('content') && !!c.content;
|
|
23
|
+
return !!c?.hasOwnProperty('content') && !!c.content;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
function buildDecoratorReducer(
|