@loopback/openapi-v3 1.10.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/controller-spec.js +62 -31
  3. package/dist/controller-spec.js.map +1 -1
  4. package/dist/decorators/api.decorator.js +2 -2
  5. package/dist/decorators/api.decorator.js.map +1 -1
  6. package/dist/decorators/operation.decorator.js +2 -2
  7. package/dist/decorators/operation.decorator.js.map +1 -1
  8. package/dist/decorators/parameter.decorator.js +5 -4
  9. package/dist/decorators/parameter.decorator.js.map +1 -1
  10. package/dist/decorators/request-body.decorator.js +12 -8
  11. package/dist/decorators/request-body.decorator.js.map +1 -1
  12. package/dist/enhancers/index.d.ts +3 -0
  13. package/dist/enhancers/index.js +13 -0
  14. package/dist/enhancers/index.js.map +1 -0
  15. package/dist/enhancers/keys.d.ts +6 -0
  16. package/dist/enhancers/keys.js +12 -0
  17. package/dist/enhancers/keys.js.map +1 -0
  18. package/dist/enhancers/spec-enhancer.service.d.ts +73 -0
  19. package/dist/enhancers/spec-enhancer.service.js +135 -0
  20. package/dist/enhancers/spec-enhancer.service.js.map +1 -0
  21. package/dist/enhancers/types.d.ts +18 -0
  22. package/dist/enhancers/types.js +20 -0
  23. package/dist/enhancers/types.js.map +1 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +1 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/json-to-schema.js +16 -11
  28. package/dist/json-to-schema.js.map +1 -1
  29. package/dist/keys.d.ts +1 -1
  30. package/dist/keys.js +6 -10
  31. package/dist/keys.js.map +1 -1
  32. package/package.json +12 -11
  33. package/src/controller-spec.ts +53 -21
  34. package/src/decorators/api.decorator.ts +1 -1
  35. package/src/decorators/operation.decorator.ts +1 -1
  36. package/src/decorators/parameter.decorator.ts +2 -2
  37. package/src/decorators/request-body.decorator.ts +4 -4
  38. package/src/enhancers/index.ts +8 -0
  39. package/src/enhancers/keys.ts +14 -0
  40. package/src/enhancers/spec-enhancer.service.ts +121 -0
  41. package/src/enhancers/types.ts +30 -0
  42. package/src/index.ts +1 -0
  43. package/src/json-to-schema.ts +14 -8
  44. package/src/keys.ts +1 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,46 @@
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.12.0](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@1.11.0...@loopback/openapi-v3@1.12.0) (2020-01-27)
7
+
8
+
9
+ ### Features
10
+
11
+ * support x-ts-type in anyOf/allOf/oneOf/not ([28fcc54](https://github.com/strongloop/loopback-next/commit/28fcc545e42d4c5ae88215436b873a78a3fb6c8d))
12
+ * **openapi-v3:** add support for `anyOf` and `oneOf` on the `jsonToSchemaObject` utility ([72ba132](https://github.com/strongloop/loopback-next/commit/72ba1321a85112a3e085d62fe573f60f79d5c64c)), closes [#3524](https://github.com/strongloop/loopback-next/issues/3524)
13
+ * **repository-json-schema:** add title to filter schemas ([6105883](https://github.com/strongloop/loopback-next/commit/6105883967ca5853cc8990f423d9febd1eb07101))
14
+
15
+
16
+
17
+
18
+
19
+ # [1.11.0](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@1.10.3...@loopback/openapi-v3@1.11.0) (2020-01-07)
20
+
21
+
22
+ ### Features
23
+
24
+ * openapi spec contributor extension point ([9fee3f3](https://github.com/strongloop/loopback-next/commit/9fee3f342ff76d65d1899ddf1dbf7a257c85ea26))
25
+
26
+
27
+
28
+
29
+
30
+ ## [1.10.3](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@1.10.2...@loopback/openapi-v3@1.10.3) (2019-12-09)
31
+
32
+ **Note:** Version bump only for package @loopback/openapi-v3
33
+
34
+
35
+
36
+
37
+
38
+ ## [1.10.2](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@1.10.1...@loopback/openapi-v3@1.10.2) (2019-11-25)
39
+
40
+ **Note:** Version bump only for package @loopback/openapi-v3
41
+
42
+
43
+
44
+
45
+
6
46
  ## [1.10.1](https://github.com/strongloop/loopback-next/compare/@loopback/openapi-v3@1.10.0...@loopback/openapi-v3@1.10.1) (2019-11-12)
7
47
 
8
48
 
@@ -4,9 +4,9 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const context_1 = require("@loopback/context");
7
+ const core_1 = require("@loopback/core");
8
8
  const repository_json_schema_1 = require("@loopback/repository-json-schema");
9
- const _ = require("lodash");
9
+ const lodash_1 = require("lodash");
10
10
  const generate_schema_1 = require("./generate-schema");
11
11
  const json_to_schema_1 = require("./json-to-schema");
12
12
  const keys_1 = require("./keys");
@@ -18,17 +18,18 @@ exports.TS_TYPE_KEY = 'x-ts-type';
18
18
  * @param constructor - Controller class
19
19
  */
20
20
  function resolveControllerSpec(constructor) {
21
+ var _a, _b;
21
22
  debug(`Retrieving OpenAPI specification for controller ${constructor.name}`);
22
- let spec = context_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CLASS_KEY, constructor);
23
+ let spec = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CLASS_KEY, constructor);
23
24
  if (spec) {
24
25
  debug(' using class-level spec defined via @api()', spec);
25
- spec = context_1.DecoratorFactory.cloneDeep(spec);
26
+ spec = core_1.DecoratorFactory.cloneDeep(spec);
26
27
  }
27
28
  else {
28
29
  spec = { paths: {} };
29
30
  }
30
- let endpoints = context_1.MetadataInspector.getAllMethodMetadata(keys_1.OAI3Keys.METHODS_KEY, constructor.prototype) || {};
31
- endpoints = context_1.DecoratorFactory.cloneDeep(endpoints);
31
+ let endpoints = (_a = core_1.MetadataInspector.getAllMethodMetadata(keys_1.OAI3Keys.METHODS_KEY, constructor.prototype), (_a !== null && _a !== void 0 ? _a : {}));
32
+ endpoints = core_1.DecoratorFactory.cloneDeep(endpoints);
32
33
  for (const op in endpoints) {
33
34
  debug(' processing method %s', op);
34
35
  const endpoint = endpoints[op];
@@ -60,17 +61,17 @@ function resolveControllerSpec(constructor) {
60
61
  const responseObject = operationSpec.responses[code];
61
62
  if (types_1.isReferenceObject(responseObject))
62
63
  continue;
63
- const content = responseObject.content || {};
64
+ const content = (_b = responseObject.content, (_b !== null && _b !== void 0 ? _b : {}));
64
65
  for (const c in content) {
65
66
  debug(' processing response code %s with content-type %', code, c);
66
67
  processSchemaExtensions(spec, content[c].schema);
67
68
  }
68
69
  }
69
70
  debug(' processing parameters for method %s', op);
70
- let params = context_1.MetadataInspector.getAllParameterMetadata(keys_1.OAI3Keys.PARAMETERS_KEY, constructor.prototype, op);
71
+ let params = core_1.MetadataInspector.getAllParameterMetadata(keys_1.OAI3Keys.PARAMETERS_KEY, constructor.prototype, op);
71
72
  debug(' parameters for method %s: %j', op, params);
72
73
  if (params != null) {
73
- params = context_1.DecoratorFactory.cloneDeep(params);
74
+ params = core_1.DecoratorFactory.cloneDeep(params);
74
75
  /**
75
76
  * If a controller method uses dependency injection, the parameters
76
77
  * might be sparse. For example,
@@ -94,7 +95,7 @@ function resolveControllerSpec(constructor) {
94
95
  });
95
96
  }
96
97
  debug(' processing requestBody for method %s', op);
97
- let requestBodies = context_1.MetadataInspector.getAllParameterMetadata(keys_1.OAI3Keys.REQUEST_BODY_KEY, constructor.prototype, op);
98
+ let requestBodies = core_1.MetadataInspector.getAllParameterMetadata(keys_1.OAI3Keys.REQUEST_BODY_KEY, constructor.prototype, op);
98
99
  if (requestBodies != null)
99
100
  requestBodies = requestBodies.filter(p => p != null);
100
101
  let requestBody;
@@ -103,8 +104,10 @@ function resolveControllerSpec(constructor) {
103
104
  throw new Error('An operation should only have one parameter decorated by @requestBody');
104
105
  requestBody = requestBodies[0];
105
106
  debug(' requestBody for method %s: %j', op, requestBody);
107
+ /* istanbul ignore else */
106
108
  if (requestBody) {
107
109
  operationSpec.requestBody = requestBody;
110
+ /* istanbul ignore else */
108
111
  const content = requestBody.content || {};
109
112
  for (const mediaType in content) {
110
113
  processSchemaExtensions(spec, content[mediaType].schema);
@@ -133,9 +136,9 @@ function resolveControllerSpec(constructor) {
133
136
  debug(` adding ${endpointName}`, operationSpec);
134
137
  spec.paths[path][verb] = operationSpec;
135
138
  debug(` inferring schema object for method %s`, op);
136
- const opMetadata = context_1.MetadataInspector.getDesignTypeForMethod(constructor.prototype, op);
139
+ const opMetadata = core_1.MetadataInspector.getDesignTypeForMethod(constructor.prototype, op);
137
140
  const paramTypes = opMetadata.parameterTypes;
138
- const isComplexType = (ctor) => !_.includes([String, Number, Boolean, Array, Object], ctor);
141
+ const isComplexType = (ctor) => !lodash_1.includes([String, Number, Boolean, Array, Object], ctor);
139
142
  for (const p of paramTypes) {
140
143
  if (isComplexType(p)) {
141
144
  generateOpenAPISchema(spec, p);
@@ -144,6 +147,7 @@ function resolveControllerSpec(constructor) {
144
147
  }
145
148
  return spec;
146
149
  }
150
+ const SCHEMA_ARR_KEYS = ['allOf', 'anyOf', 'oneOf'];
147
151
  /**
148
152
  * Resolve the x-ts-type in the schema object
149
153
  * @param spec - Controller spec
@@ -155,25 +159,52 @@ function processSchemaExtensions(spec, schema) {
155
159
  return;
156
160
  assignRelatedSchemas(spec, schema.definitions);
157
161
  delete schema.definitions;
158
- if (types_1.isReferenceObject(schema))
159
- return;
160
- const tsType = schema[exports.TS_TYPE_KEY];
161
- debug(' %s => %o', exports.TS_TYPE_KEY, tsType);
162
- if (tsType) {
163
- schema = generate_schema_1.resolveSchema(tsType, schema);
164
- if (schema.$ref)
165
- generateOpenAPISchema(spec, tsType);
166
- // We don't want a Function type in the final spec.
167
- delete schema[exports.TS_TYPE_KEY];
168
- return;
162
+ /**
163
+ * check if we have been provided a `not`
164
+ * `not` is valid in many cases- here we're checking for
165
+ * `not: { schema: {'x-ts-type': SomeModel }}
166
+ */
167
+ if (schema.not) {
168
+ processSchemaExtensions(spec, schema.not);
169
169
  }
170
- if (schema.type === 'array') {
171
- processSchemaExtensions(spec, schema.items);
170
+ /**
171
+ * check for schema.allOf, schema.oneOf, schema.anyOf arrays first.
172
+ * You cannot provide BOTH a defnintion AND one of these keywords.
173
+ */
174
+ /* istanbul ignore else */
175
+ const hasOwn = (prop) => { var _a; return (_a = schema) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(prop); };
176
+ if (SCHEMA_ARR_KEYS.some(k => hasOwn(k))) {
177
+ SCHEMA_ARR_KEYS.forEach((k) => {
178
+ var _a;
179
+ /* istanbul ignore else */
180
+ if (((_a = schema) === null || _a === void 0 ? void 0 : _a[k]) && Array.isArray(schema[k])) {
181
+ schema[k].forEach((r) => {
182
+ processSchemaExtensions(spec, r);
183
+ });
184
+ }
185
+ });
172
186
  }
173
- else if (schema.type === 'object') {
174
- if (schema.properties) {
175
- for (const p in schema.properties) {
176
- processSchemaExtensions(spec, schema.properties[p]);
187
+ else {
188
+ if (types_1.isReferenceObject(schema))
189
+ return;
190
+ const tsType = schema[exports.TS_TYPE_KEY];
191
+ debug(' %s => %o', exports.TS_TYPE_KEY, tsType);
192
+ if (tsType) {
193
+ schema = generate_schema_1.resolveSchema(tsType, schema);
194
+ if (schema.$ref)
195
+ generateOpenAPISchema(spec, tsType);
196
+ // We don't want a Function type in the final spec.
197
+ delete schema[exports.TS_TYPE_KEY];
198
+ return;
199
+ }
200
+ if (schema.type === 'array') {
201
+ processSchemaExtensions(spec, schema.items);
202
+ }
203
+ else if (schema.type === 'object') {
204
+ if (schema.properties) {
205
+ for (const p in schema.properties) {
206
+ processSchemaExtensions(spec, schema.properties[p]);
207
+ }
177
208
  }
178
209
  }
179
210
  }
@@ -232,10 +263,10 @@ function assignRelatedSchemas(spec, definitions) {
232
263
  * @param constructor - Controller class
233
264
  */
234
265
  function getControllerSpec(constructor) {
235
- let spec = context_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CONTROLLER_SPEC_KEY, constructor, { ownMetadataOnly: true });
266
+ let spec = core_1.MetadataInspector.getClassMetadata(keys_1.OAI3Keys.CONTROLLER_SPEC_KEY, constructor, { ownMetadataOnly: true });
236
267
  if (!spec) {
237
268
  spec = resolveControllerSpec(constructor);
238
- context_1.MetadataInspector.defineMetadata(keys_1.OAI3Keys.CONTROLLER_SPEC_KEY.key, spec, constructor);
269
+ core_1.MetadataInspector.defineMetadata(keys_1.OAI3Keys.CONTROLLER_SPEC_KEY.key, spec, constructor);
239
270
  }
240
271
  return spec;
241
272
  }
@@ -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":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,yCAAmE;AACnE,6EAI0C;AAC1C,mCAAgC;AAChC,uDAAgD;AAChD,qDAA+D;AAC/D,iCAAgC;AAChC,mCAYiB;AAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,4CAA4C,CAAC,CAAC;AA8BhE,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC;;;GAGG;AACH,SAAS,qBAAqB,CAAC,WAAqB;;IAClD,KAAK,CAAC,mDAAmD,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAE7E,IAAI,IAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAC3C,eAAQ,CAAC,SAAS,EAClB,WAAW,CACZ,CAAC;IACF,IAAI,IAAI,EAAE;QACR,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,GAAG,uBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACzC;SAAM;QACL,IAAI,GAAG,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;KACpB;IAED,IAAI,SAAS,SACX,wBAAiB,CAAC,oBAAoB,CACpC,eAAQ,CAAC,WAAW,EACpB,WAAW,CAAC,SAAS,CACtB,uCAAI,EAAE,EAAA,CAAC;IAEV,SAAS,GAAG,uBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAClD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;QAC1B,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAK,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAK,CAAC;QAE5B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,wBAAwB;QACxB,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,IAAI,kBAAkB,CAAC;YACzD,MAAM,cAAc,GAAG,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;YAC5C,YAAY,GAAG,GAAG,cAAc,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC;SACtD;QAED,MAAM,eAAe,GAAG;YACtB,KAAK,EAAE;gBACL,WAAW,EAAE,mBAAmB,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE;aACzD;SACF,CAAC;QAEF,IAAI,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE;YAClB,oEAAoE;YACpE,aAAa,GAAG;gBACd,SAAS,EAAE,eAAe;aAC3B,CAAC;YACF,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;SAC/B;QACD,KAAK,CAAC,+BAA+B,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErD,KAAK,CAAC,oCAAoC,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAEzE,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,SAAS,EAAE;YAC1C,MAAM,cAAc,GAClB,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,yBAAiB,CAAC,cAAc,CAAC;gBAAE,SAAS;YAChD,MAAM,OAAO,SAAG,cAAc,CAAC,OAAO,uCAAI,EAAE,EAAA,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,KAAK,CAAC,mDAAmD,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpE,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAClD;SACF;QAED,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,GAAG,wBAAiB,CAAC,uBAAuB,CACpD,eAAQ,CAAC,cAAc,EACvB,WAAW,CAAC,SAAS,EACrB,EAAE,CACH,CAAC;QAEF,KAAK,CAAC,gCAAgC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,GAAG,uBAAgB,CAAC,SAAS,CAAoB,MAAM,CAAC,CAAC;YAC/D;;;;;;;;;;;eAWG;YACH,aAAa,CAAC,UAAU,GAAG,MAAM;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;iBACtB,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,kEAAkE;gBAClE,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;oBACnB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACnB;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;SACN;QAED,KAAK,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,aAAa,GAAG,wBAAiB,CAAC,uBAAuB,CAE3D,eAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAExD,IAAI,aAAa,IAAI,IAAI;YACvB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACvD,IAAI,WAA8B,CAAC;QAEnC,IAAI,aAAa,EAAE;YACjB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;YAEJ,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,iCAAiC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC1D,0BAA0B;YAC1B,IAAI,WAAW,EAAE;gBACf,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;gBAExC,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1C,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE;oBAC/B,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;iBAC1D;aACF;SACF;QAED,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QACvC,aAAa,CAAC,mBAAmB,CAAC;YAChC,aAAa,CAAC,mBAAmB,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;QAEzD,IAAI,aAAa,CAAC,WAAW,IAAI,IAAI,EAAE;YACrC,8DAA8D;YAC9D,wEAAwE;YACxE,0DAA0D;YAC1D,aAAa,CAAC,WAAW;gBACvB,aAAa,CAAC,mBAAmB,CAAC;oBAClC,GAAG;oBACH,aAAa,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;YAC1B,0DAA0D;YAC1D,KAAK,CAAC,gBAAgB,YAAY,iCAAiC,CAAC,CAAC;SACtE;QAED,KAAK,CAAC,YAAY,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;QAEvC,KAAK,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,wBAAiB,CAAC,sBAAsB,CACzD,WAAW,CAAC,SAAS,EACrB,EAAE,CACH,CAAC;QACF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC;QAE7C,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,EAAE,CACvC,CAAC,iBAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAE5D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC1B,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBACpB,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAChC;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,eAAe,GAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE9D;;;;GAIG;AACH,SAAS,uBAAuB,CAC9B,IAAoB,EACpB,MAAmE;IAEnE,KAAK,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,WAAW,CAAC;IAE1B;;;;OAIG;IACH,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;KAC3C;IAED;;;OAGG;IACH,0BAA0B;IAC1B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,wBAAC,MAAM,0CAAE,cAAc,CAAC,IAAI,IAAC,CAAC;IAE9D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACxC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;;YACpC,0BAA0B;YAC1B,IAAI,OAAA,MAAM,0CAAG,CAAC,MAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAqC,EAAE,EAAE;oBAC1D,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,yBAAiB,CAAC,MAAM,CAAC;YAAE,OAAO;QAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAW,CAAC,CAAC;QACnC,KAAK,CAAC,YAAY,EAAE,mBAAW,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,+BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,IAAI;gBAAE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErD,mDAAmD;YACnD,OAAO,MAAM,CAAC,mBAAW,CAAC,CAAC;YAC3B,OAAO;SACR;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YAC3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7C;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,MAAM,CAAC,UAAU,EAAE;gBACrB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;oBACjC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrD;aACF;SACF;KACF;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAoB,EAAE,MAAgB;IACnE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;KAC9B;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;QAC1C,qCAAqC;QACrC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QACxE,OAAO;KACR;IACD,MAAM,UAAU,GAAG,sCAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,mCAAkB,CAAC,UAAU,CAAC,CAAC;IAErD,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtD,OAAO,aAAa,CAAC,WAAW,CAAC;IAEjC,KAAK,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,IAAoB,EACpB,WAA2B;IAE3B,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,KAAK,CACH,iCAAiC,EACjC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CACxC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;KAC9B;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;QAC7B,qCAAqC;QACrC,IAAI,GAAG,IAAI,aAAa;YAAE,SAAS;QACnC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,KAAK,CAAC,2CAA2C,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACvE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;KACpC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,WAAqB;IACrD,IAAI,IAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAC3C,eAAQ,CAAC,mBAAmB,EAC5B,WAAW,EACX,EAAC,eAAe,EAAE,IAAI,EAAC,CACxB,CAAC;IACF,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC1C,wBAAiB,CAAC,cAAc,CAC9B,eAAQ,CAAC,mBAAmB,CAAC,GAAG,EAChC,IAAI,EACJ,WAAW,CACZ,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,8CAeC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,iBAAiB,CAC/B,SAAoC,EACpC,OAA8B;IAE9B,MAAM,UAAU,GAAG,yCAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,mCAAkB,CAAC,UAAU,CAAc,CAAC;AACrD,CAAC;AAND,8CAMC"}
@@ -4,7 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const context_1 = require("@loopback/context");
7
+ const core_1 = require("@loopback/core");
8
8
  const keys_1 = require("../keys");
9
9
  /**
10
10
  * Decorate the given Controller constructor with metadata describing
@@ -26,7 +26,7 @@ const keys_1 = require("../keys");
26
26
  *
27
27
  */
28
28
  function api(spec) {
29
- return context_1.ClassDecoratorFactory.createDecorator(keys_1.OAI3Keys.CLASS_KEY, spec, { decoratorName: '@api' });
29
+ return core_1.ClassDecoratorFactory.createDecorator(keys_1.OAI3Keys.CLASS_KEY, spec, { decoratorName: '@api' });
30
30
  }
31
31
  exports.api = api;
32
32
  //# sourceMappingURL=api.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.decorator.js","sourceRoot":"","sources":["../../src/decorators/api.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,+CAAwD;AAExD,kCAAiC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,GAAG,CAAC,IAAoB;IACtC,OAAO,+BAAqB,CAAC,eAAe,CAC1C,eAAQ,CAAC,SAAS,EAClB,IAAI,EACJ,EAAC,aAAa,EAAE,MAAM,EAAC,CACxB,CAAC;AACJ,CAAC;AAND,kBAMC"}
1
+ {"version":3,"file":"api.decorator.js","sourceRoot":"","sources":["../../src/decorators/api.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,yCAAqD;AAErD,kCAAiC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,GAAG,CAAC,IAAoB;IACtC,OAAO,4BAAqB,CAAC,eAAe,CAC1C,eAAQ,CAAC,SAAS,EAClB,IAAI,EACJ,EAAC,aAAa,EAAE,MAAM,EAAC,CACxB,CAAC;AACJ,CAAC;AAND,kBAMC"}
@@ -4,7 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const context_1 = require("@loopback/context");
7
+ const core_1 = require("@loopback/core");
8
8
  const keys_1 = require("../keys");
9
9
  /**
10
10
  * Expose a Controller method as a REST API operation
@@ -75,7 +75,7 @@ exports.del = del;
75
75
  * of this operation.
76
76
  */
77
77
  function operation(verb, path, spec) {
78
- return context_1.MethodDecoratorFactory.createDecorator(keys_1.OAI3Keys.METHODS_KEY, {
78
+ return core_1.MethodDecoratorFactory.createDecorator(keys_1.OAI3Keys.METHODS_KEY, {
79
79
  verb,
80
80
  path,
81
81
  spec,
@@ -1 +1 @@
1
- {"version":3,"file":"operation.decorator.js","sourceRoot":"","sources":["../../src/decorators/operation.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,+CAAyD;AAEzD,kCAAiC;AAGjC;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,IAAY,EAAE,IAAsB;IACvD,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,oBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,IAAsB;IACxD,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAFD,sBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,IAAsB;IAC1E,OAAO,gCAAsB,CAAC,eAAe,CAC3C,eAAQ,CAAC,WAAW,EACpB;QACE,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,EACD,EAAC,aAAa,EAAE,YAAY,EAAC,CAC9B,CAAC;AACJ,CAAC;AAVD,8BAUC"}
1
+ {"version":3,"file":"operation.decorator.js","sourceRoot":"","sources":["../../src/decorators/operation.decorator.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,yCAAsD;AAEtD,kCAAiC;AAGjC;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,IAAY,EAAE,IAAsB;IACvD,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,oBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,IAAsB;IACxD,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAFD,sBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB;IACtD,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,kBAEC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,IAAsB;IAC1E,OAAO,6BAAsB,CAAC,eAAe,CAC3C,eAAQ,CAAC,WAAW,EACpB;QACE,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,EACD,EAAC,aAAa,EAAE,YAAY,EAAC,CAC9B,CAAC;AACJ,CAAC;AAVD,8BAUC"}
@@ -4,7 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const context_1 = require("@loopback/context");
7
+ const core_1 = require("@loopback/core");
8
8
  const generate_schema_1 = require("../generate-schema");
9
9
  const keys_1 = require("../keys");
10
10
  const types_1 = require("../types");
@@ -28,10 +28,11 @@ const types_1 = require("../types");
28
28
  */
29
29
  function param(paramSpec) {
30
30
  return function (target, member, index) {
31
+ var _a;
31
32
  paramSpec = paramSpec || {};
32
33
  // Get the design time method parameter metadata
33
- const methodSig = context_1.MetadataInspector.getDesignTypeForMethod(target, member);
34
- const paramTypes = (methodSig && methodSig.parameterTypes) || [];
34
+ const methodSig = core_1.MetadataInspector.getDesignTypeForMethod(target, member);
35
+ const paramTypes = ((_a = methodSig) === null || _a === void 0 ? void 0 : _a.parameterTypes) || [];
35
36
  // Map design-time parameter type to the OpenAPI param type
36
37
  const paramType = paramTypes[index];
37
38
  if (paramType) {
@@ -52,7 +53,7 @@ function param(paramSpec) {
52
53
  throw new Error(`The parameter type is set to 'array' but the JavaScript type is ${paramType.name}`);
53
54
  }
54
55
  }
55
- context_1.ParameterDecoratorFactory.createDecorator(keys_1.OAI3Keys.PARAMETERS_KEY, paramSpec, { decoratorName: '@param' })(target, member, index);
56
+ core_1.ParameterDecoratorFactory.createDecorator(keys_1.OAI3Keys.PARAMETERS_KEY, paramSpec, { decoratorName: '@param' })(target, member, index);
56
57
  };
57
58
  }
58
59
  exports.param = param;
@@ -1 +1 @@
1
- {"version":3,"file":"parameter.decorator.js","sourceRoot":"","sources":["../../src/decorators/parameter.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter.decorator.js","sourceRoot":"","sources":["../../src/decorators/parameter.decorator.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@
3
3
  // Node module: @loopback/openapi-v3
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 context_1 = require("@loopback/context");
8
- const _ = require("lodash");
10
+ const core_1 = require("@loopback/core");
11
+ const lodash_1 = __importDefault(require("lodash"));
9
12
  const util_1 = require("util");
10
13
  const generate_schema_1 = require("../generate-schema");
11
14
  const keys_1 = require("../keys");
@@ -77,24 +80,25 @@ exports.REQUEST_BODY_INDEX = 'x-parameter-index';
77
80
  */
78
81
  function requestBody(requestBodySpec) {
79
82
  return function (target, member, index) {
83
+ var _a;
80
84
  debug('@requestBody() on %s.%s', target.constructor.name, member);
81
85
  debug(' parameter index: %s', index);
82
86
  /* istanbul ignore if */
83
87
  if (debug.enabled)
84
88
  debug(' options: %s', util_1.inspect(requestBodySpec, { depth: null }));
85
89
  // Use 'application/json' as default content if `requestBody` is undefined
86
- requestBodySpec = requestBodySpec || { content: {} };
87
- if (_.isEmpty(requestBodySpec.content))
90
+ requestBodySpec = (requestBodySpec !== null && requestBodySpec !== void 0 ? requestBodySpec : { content: {} });
91
+ if (lodash_1.default.isEmpty(requestBodySpec.content))
88
92
  requestBodySpec.content = { 'application/json': {} };
89
93
  // Get the design time method parameter metadata
90
- const methodSig = context_1.MetadataInspector.getDesignTypeForMethod(target, member);
91
- const paramTypes = (methodSig && methodSig.parameterTypes) || [];
94
+ const methodSig = core_1.MetadataInspector.getDesignTypeForMethod(target, member);
95
+ const paramTypes = ((_a = methodSig) === null || _a === void 0 ? void 0 : _a.parameterTypes) || [];
92
96
  const paramType = paramTypes[index];
93
97
  const schema = generate_schema_1.resolveSchema(paramType);
94
98
  /* istanbul ignore if */
95
99
  if (debug.enabled)
96
100
  debug(' inferred schema: %s', util_1.inspect(schema, { depth: null }));
97
- requestBodySpec.content = _.mapValues(requestBodySpec.content, c => {
101
+ requestBodySpec.content = lodash_1.default.mapValues(requestBodySpec.content, c => {
98
102
  if (!c.schema) {
99
103
  c.schema = schema;
100
104
  }
@@ -108,7 +112,7 @@ function requestBody(requestBodySpec) {
108
112
  /* istanbul ignore if */
109
113
  if (debug.enabled)
110
114
  debug(' final spec: ', util_1.inspect(requestBodySpec, { depth: null }));
111
- context_1.ParameterDecoratorFactory.createDecorator(keys_1.OAI3Keys.REQUEST_BODY_KEY, requestBodySpec, { decoratorName: '@requestBody' })(target, member, index);
115
+ core_1.ParameterDecoratorFactory.createDecorator(keys_1.OAI3Keys.REQUEST_BODY_KEY, requestBodySpec, { decoratorName: '@requestBody' })(target, member, index);
112
116
  };
113
117
  }
114
118
  exports.requestBody = requestBody;
@@ -1 +1 @@
1
- {"version":3,"file":"request-body.decorator.js","sourceRoot":"","sources":["../../src/decorators/request-body.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-body.decorator.js","sourceRoot":"","sources":["../../src/decorators/request-body.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './keys';
2
+ export * from './spec-enhancer.service';
3
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // Copyright IBM Corp. 2019. All Rights Reserved.
3
+ // Node module: @loopback/openapi-v3
4
+ // This file is licensed under the MIT License.
5
+ // License text available at https://opensource.org/licenses/MIT
6
+ function __export(m) {
7
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
8
+ }
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ __export(require("./keys"));
11
+ __export(require("./spec-enhancer.service"));
12
+ __export(require("./types"));
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enhancers/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;;AAEhE,4BAAuB;AACvB,6CAAwC;AACxC,6BAAwB"}
@@ -0,0 +1,6 @@
1
+ import { BindingKey } from '@loopback/core';
2
+ import { OASEnhancerService } from './spec-enhancer.service';
3
+ /**
4
+ * Strongly-typed binding key for SpecService
5
+ */
6
+ export declare const OAS_ENHANCER_SERVICE: BindingKey<OASEnhancerService>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // Copyright IBM Corp. 2019. All Rights Reserved.
3
+ // Node module: @loopback/openapi-v3
4
+ // This file is licensed under the MIT License.
5
+ // License text available at https://opensource.org/licenses/MIT
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const core_1 = require("@loopback/core");
8
+ /**
9
+ * Strongly-typed binding key for SpecService
10
+ */
11
+ exports.OAS_ENHANCER_SERVICE = core_1.BindingKey.create('services.SpecService');
12
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/enhancers/keys.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;AAEhE,yCAA0C;AAG1C;;GAEG;AACU,QAAA,oBAAoB,GAAG,iBAAU,CAAC,MAAM,CACnD,sBAAsB,CACvB,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { Getter } from '@loopback/core';
2
+ import { OpenApiSpec } from '../types';
3
+ import { OASEnhancer } from './types';
4
+ /**
5
+ * Options for the OpenAPI Spec enhancer extension point
6
+ */
7
+ export interface OASEnhancerServiceOptions {
8
+ }
9
+ /**
10
+ * An extension point for OpenAPI Spec enhancement
11
+ * This service is used for enhancing an OpenAPI spec by loading and applying one or more
12
+ * registered enhancers.
13
+ *
14
+ * A typical use of it would be generating the OpenAPI spec for the endpoints on a server
15
+ * in the `@loopback/rest` module.
16
+ */
17
+ export declare class OASEnhancerService {
18
+ /**
19
+ * Inject a getter function to fetch spec enhancers
20
+ */
21
+ private getEnhancers;
22
+ /**
23
+ * An extension point should be able to receive its options via dependency
24
+ * injection.
25
+ */
26
+ readonly options?: OASEnhancerServiceOptions | undefined;
27
+ constructor(
28
+ /**
29
+ * Inject a getter function to fetch spec enhancers
30
+ */
31
+ getEnhancers: Getter<OASEnhancer[]>,
32
+ /**
33
+ * An extension point should be able to receive its options via dependency
34
+ * injection.
35
+ */
36
+ options?: OASEnhancerServiceOptions | undefined);
37
+ private _spec;
38
+ /**
39
+ * Getter for `_spec`
40
+ */
41
+ get spec(): OpenApiSpec;
42
+ /**
43
+ * Setter for `_spec`
44
+ */
45
+ set spec(value: OpenApiSpec);
46
+ /**
47
+ * Find an enhancer by its name
48
+ * @param name The name of the enhancer you want to find
49
+ */
50
+ getEnhancerByName(name: string): Promise<OASEnhancer | undefined>;
51
+ /**
52
+ * Apply a given enhancer's merge function. Return the latest _spec.
53
+ * @param name The name of the enhancer you want to apply
54
+ */
55
+ applyEnhancerByName(name: string): Promise<OpenApiSpec>;
56
+ /**
57
+ * Generate OpenAPI spec by applying ALL registered enhancers
58
+ * TBD: load enhancers by group names
59
+ */
60
+ applyAllEnhancers(options?: {}): Promise<OpenApiSpec>;
61
+ }
62
+ /**
63
+ * The default merge function to patch the current OpenAPI spec.
64
+ * It leverages module `json-merge-patch`'s merge API to merge two json objects.
65
+ * It returns a new merged object without modifying the original one.
66
+ *
67
+ * A list of merging rules can be found in test file:
68
+ * https://github.com/pierreinglebert/json-merge-patch/blob/master/test/lib/merge.js
69
+ *
70
+ * @param currentSpec The original spec
71
+ * @param patchSpec The patch spec to be merged into the original spec
72
+ */
73
+ export declare function mergeOpenAPISpec(currentSpec: Partial<OpenApiSpec>, patchSpec: Partial<OpenApiSpec>): any;