@loopback/repository-json-schema 2.4.2 → 2.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 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.4.6](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.5...@loopback/repository-json-schema@2.4.6) (2020-06-30)
7
+
8
+ **Note:** Version bump only for package @loopback/repository-json-schema
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.4.5](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.4...@loopback/repository-json-schema@2.4.5) (2020-06-23)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
20
+
21
+
22
+
23
+
24
+
25
+ ## [2.4.4](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.3...@loopback/repository-json-schema@2.4.4) (2020-06-11)
26
+
27
+ **Note:** Version bump only for package @loopback/repository-json-schema
28
+
29
+
30
+
31
+
32
+
33
+ ## [2.4.3](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.2...@loopback/repository-json-schema@2.4.3) (2020-05-28)
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * array decorator ([08ba68d](https://github.com/strongloop/loopback-next/commit/08ba68d34d23919db23f3aaecc3dc97dc1d09763))
39
+
40
+
41
+
42
+
43
+
6
44
  ## [2.4.2](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.1...@loopback/repository-json-schema@2.4.2) (2020-05-20)
7
45
 
8
46
  **Note:** Version bump only for package @loopback/repository-json-schema
@@ -1,4 +1,4 @@
1
- import { PropertyDefinition, RelationMetadata } from '@loopback/repository';
1
+ import { PropertyDefinition, PropertyType, RelationMetadata } from '@loopback/repository';
2
2
  import { JsonSchema } from './index';
3
3
  export interface JsonSchemaOptions<T extends object> {
4
4
  /**
@@ -115,7 +115,7 @@ export declare function stringTypeToWrapper(type: string | Function): Function;
115
115
  * Determines whether a given string or constructor is array type or not
116
116
  * @param type - Type as string or wrapper
117
117
  */
118
- export declare function isArrayType(type: string | Function): boolean;
118
+ export declare function isArrayType(type: string | Function | PropertyType): boolean;
119
119
  /**
120
120
  * Converts property metadata into a JSON property definition
121
121
  * @param meta
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.modelToJsonSchema = exports.getNavigationalPropertyForRelation = exports.metaToJsonProperty = exports.isArrayType = exports.stringTypeToWrapper = exports.getJsonSchemaRef = exports.getJsonSchema = exports.buildModelCacheKey = void 0;
8
8
  const tslib_1 = require("tslib");
9
- const context_1 = require("@loopback/context");
9
+ const core_1 = require("@loopback/core");
10
10
  const repository_1 = require("@loopback/repository");
11
11
  const debug_1 = tslib_1.__importDefault(require("debug"));
12
12
  const util_1 = require("util");
@@ -35,7 +35,7 @@ exports.buildModelCacheKey = buildModelCacheKey;
35
35
  function getJsonSchema(ctor, options) {
36
36
  // In the near future the metadata will be an object with
37
37
  // different titles as keys
38
- const cached = context_1.MetadataInspector.getClassMetadata(keys_1.JSON_SCHEMA_KEY, ctor);
38
+ const cached = core_1.MetadataInspector.getClassMetadata(keys_1.JSON_SCHEMA_KEY, ctor);
39
39
  const key = buildModelCacheKey(options);
40
40
  let schema = cached === null || cached === void 0 ? void 0 : cached[key];
41
41
  if (!schema) {
@@ -48,7 +48,7 @@ function getJsonSchema(ctor, options) {
48
48
  }
49
49
  else {
50
50
  // Define new metadata and set in cache
51
- context_1.MetadataInspector.defineMetadata(keys_1.JSON_SCHEMA_KEY.key, { [key]: schema }, ctor);
51
+ core_1.MetadataInspector.defineMetadata(keys_1.JSON_SCHEMA_KEY.key, { [key]: schema }, ctor);
52
52
  }
53
53
  }
54
54
  return schema;
@@ -161,8 +161,9 @@ function metaToJsonProperty(meta) {
161
161
  let result;
162
162
  let propertyType = meta.type;
163
163
  if (isArrayType(propertyType) && meta.itemType) {
164
- if (Array.isArray(meta.itemType)) {
165
- throw new Error('itemType as an array is not supported');
164
+ if (isArrayType(meta.itemType) && !meta.jsonSchema) {
165
+ throw new Error('You must provide the "jsonSchema" field when define ' +
166
+ 'a nested array property');
166
167
  }
167
168
  result = { type: 'array', items: propDef };
168
169
  propertyType = meta.itemType;
@@ -235,14 +236,15 @@ function buildSchemaTitle(ctor, meta, options) {
235
236
  * @param options json schema options
236
237
  */
237
238
  function getTitleSuffix(options = {}) {
239
+ var _a, _b;
238
240
  let suffix = '';
239
- if (options.optional && options.optional.length) {
241
+ if ((_a = options.optional) === null || _a === void 0 ? void 0 : _a.length) {
240
242
  suffix += `Optional_${options.optional.join('-')}_`;
241
243
  }
242
244
  else if (options.partial) {
243
245
  suffix += 'Partial';
244
246
  }
245
- if (options.exclude && options.exclude.length) {
247
+ if ((_b = options.exclude) === null || _b === void 0 ? void 0 : _b.length) {
246
248
  suffix += `Excluding_${options.exclude.join('-')}_`;
247
249
  }
248
250
  if (options.includeRelations) {
@@ -300,7 +302,7 @@ function getDescriptionSuffix(typeName, rawOptions = {}) {
300
302
  * @param ctor - Constructor of class to convert from
301
303
  */
302
304
  function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
303
- var _a, _b, _c, _d, _e, _f;
305
+ var _a, _b, _c, _d, _e, _f, _g;
304
306
  const options = { ...jsonSchemaOptions };
305
307
  options.visited = (_a = options.visited) !== null && _a !== void 0 ? _a : {};
306
308
  options.optional = (_b = options.optional) !== null && _b !== void 0 ? _b : [];
@@ -332,7 +334,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
332
334
  result.description = descriptionSuffix;
333
335
  }
334
336
  for (const p in meta.properties) {
335
- if (options.exclude && options.exclude.includes(p)) {
337
+ if ((_c = options.exclude) === null || _c === void 0 ? void 0 : _c.includes(p)) {
336
338
  debug('Property % is excluded by %s', p, options.exclude);
337
339
  continue;
338
340
  }
@@ -340,7 +342,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
340
342
  // Circular import of model classes can lead to this situation
341
343
  throw new Error(`Property ${ctor.name}.${p} does not have "type" in its definition`);
342
344
  }
343
- result.properties = (_c = result.properties) !== null && _c !== void 0 ? _c : {};
345
+ result.properties = (_d = result.properties) !== null && _d !== void 0 ? _d : {};
344
346
  result.properties[p] = result.properties[p] || {};
345
347
  const metaProperty = Object.assign({}, meta.properties[p]);
346
348
  // populating "properties" key
@@ -348,7 +350,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
348
350
  // handling 'required' metadata
349
351
  const optional = options.optional.includes(p);
350
352
  if (metaProperty.required && !(partial || optional)) {
351
- result.required = (_d = result.required) !== null && _d !== void 0 ? _d : [];
353
+ result.required = (_e = result.required) !== null && _e !== void 0 ? _e : [];
352
354
  result.required.push(p);
353
355
  }
354
356
  // populating JSON Schema 'definitions'
@@ -376,7 +378,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
376
378
  // JSONSchema6Definition allows both boolean and JSONSchema6 types
377
379
  if (typeof result.properties[p] !== 'boolean') {
378
380
  const prop = result.properties[p];
379
- const propTitle = (_e = propSchema.title) !== null && _e !== void 0 ? _e : referenceType.name;
381
+ const propTitle = (_f = propSchema.title) !== null && _f !== void 0 ? _f : referenceType.name;
380
382
  const targetRef = { $ref: `#/definitions/${propTitle}` };
381
383
  if (prop.type === 'array' && prop.items) {
382
384
  // Update $ref for array type
@@ -392,7 +394,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
392
394
  debug(' additionalProperties?', result.additionalProperties);
393
395
  if (options.includeRelations) {
394
396
  for (const r in meta.relations) {
395
- result.properties = (_f = result.properties) !== null && _f !== void 0 ? _f : {};
397
+ result.properties = (_g = result.properties) !== null && _g !== void 0 ? _g : {};
396
398
  const relMeta = meta.relations[r];
397
399
  const targetType = repository_1.resolveType(relMeta.target);
398
400
  // `title` is the unique identity of a schema,
@@ -413,7 +415,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
413
415
  if (!schema || !Object.keys(schema).length)
414
416
  return;
415
417
  // promote nested definition to the top level
416
- if (result !== schema && schema.definitions) {
418
+ if (result !== (schema === null || schema === void 0 ? void 0 : schema.definitions)) {
417
419
  for (const key in schema.definitions) {
418
420
  if (key === title)
419
421
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../src/build-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../src/build-schema.ts"],"names":[],"mappings":"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"}
@@ -17,14 +17,11 @@ const repository_1 = require("@loopback/repository");
17
17
  * @param modelCtor - The model constructor to build the filter schema for.
18
18
  */
19
19
  function getScopeFilterJsonSchemaFor(modelCtor, options = {}) {
20
- let EmptyModel = /** @class */ (() => {
21
- let EmptyModel = class EmptyModel extends repository_1.Model {
22
- };
23
- EmptyModel = tslib_1.__decorate([
24
- repository_1.model({ settings: { strict: false } })
25
- ], EmptyModel);
26
- return EmptyModel;
27
- })();
20
+ let EmptyModel = class EmptyModel extends repository_1.Model {
21
+ };
22
+ EmptyModel = tslib_1.__decorate([
23
+ repository_1.model({ settings: { strict: false } })
24
+ ], EmptyModel);
28
25
  const schema = {
29
26
  ...getFilterJsonSchemaFor(EmptyModel, { setTitle: false }),
30
27
  ...(options.setTitle !== false && {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAAqE;AAkBrE;;;;;;;;GAQG;AACH,SAAgB,2BAA2B,CACzC,SAAuB,EACvB,UAA+B,EAAE;IAGjC;QAAA,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,kBAAK;SAAG,CAAA;QAA3B,UAAU;YADf,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;WAC7B,UAAU,CAAiB;QAAD,iBAAC;SAAA;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,sBAAsB,CAAC,UAAU,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,cAAc;SAC5C,CAAC;KACH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kEAeC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CACpC,SAAuB,EACvB,UAA+B,EAAE;;IAEjC,IAAI,QAAkB,CAAC;IACvB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;QACvC,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,QAAQ,SAAG,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;KAClC;IACD,MAAM,UAAU,GAA0C;QACxD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;SACX;QAED,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,CAAC;SAChB;QAED,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;SACX;QAED,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF;KACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,UAAU,CAAC,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAChC,UAAU,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAChE;IAED,6BAA6B;IAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACxB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,SAAS;SACvC,CAAC;QACF,UAAU;QACV,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,8BAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE5D,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjD,MAAM,CAAC,UAAW,CAAC,OAAO,GAAG;YAC3B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;gBAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,gBAAgB;aAC9C,CAAC;YACF,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;oBAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,sBAAsB;iBACpD,CAAC;gBACF,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,+DAA+D;oBAC/D,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBAC1B,iEAAiE;oBACjE,KAAK,EAAE,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC;iBACvD;aACF;SACF,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhFD,wDAgFC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,SAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,cAAc;SAC5C,CAAC;QACF,IAAI,EAAE,QAAQ;QACd,qEAAqE;QACrE,8DAA8D;QAC9D,oBAAoB,EAAE,IAAI;KAC3B,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,sDAeC;AAED;;;;;GAKG;AAEH,SAAgB,sBAAsB,CACpC,SAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,SAAS;SACvC,CAAC;QACF,IAAI,EAAE,QAAQ;QAEd,UAAU,EAAE,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;SACvB,CAAC,CAAC,CACJ;QACD,oBAAoB,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK;KACrE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,wDAoBC"}
1
+ {"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAAqE;AAkBrE;;;;;;;;GAQG;AACH,SAAgB,2BAA2B,CACzC,SAAuB,EACvB,UAA+B,EAAE;IAGjC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,kBAAK;KAAG,CAAA;IAA3B,UAAU;QADf,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;OAC7B,UAAU,CAAiB;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,sBAAsB,CAAC,UAAU,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,cAAc;SAC5C,CAAC;KACH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kEAeC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CACpC,SAAuB,EACvB,UAA+B,EAAE;;IAEjC,IAAI,QAAkB,CAAC;IACvB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;QACvC,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,QAAQ,SAAG,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;KAClC;IACD,MAAM,UAAU,GAA0C;QACxD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;SACX;QAED,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,CAAC;SAChB;QAED,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;SACX;QAED,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF;KACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,UAAU,CAAC,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAChC,UAAU,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAChE;IAED,6BAA6B;IAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACxB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,SAAS;SACvC,CAAC;QACF,UAAU;QACV,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,8BAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE5D,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjD,MAAM,CAAC,UAAW,CAAC,OAAO,GAAG;YAC3B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;gBAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,gBAAgB;aAC9C,CAAC;YACF,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;oBAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,sBAAsB;iBACpD,CAAC;gBACF,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,+DAA+D;oBAC/D,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBAC1B,iEAAiE;oBACjE,KAAK,EAAE,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC;iBACvD;aACF;SACF,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhFD,wDAgFC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,SAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,cAAc;SAC5C,CAAC;QACF,IAAI,EAAE,QAAQ;QACd,qEAAqE;QACrE,8DAA8D;QAC9D,oBAAoB,EAAE,IAAI;KAC3B,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,sDAeC;AAED;;;;;GAKG;AAEH,SAAgB,sBAAsB,CACpC,SAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAe;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI;YAChC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,SAAS;SACvC,CAAC;QACF,IAAI,EAAE,QAAQ;QAEd,UAAU,EAAE,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;SACvB,CAAC,CAAC,CACJ;QACD,oBAAoB,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK;KACrE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,wDAoBC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright IBM Corp. 2018. All Rights Reserved.
2
+ // Copyright IBM Corp. 2018,2020. All Rights Reserved.
3
3
  // Node module: @loopback/repository-json-schema
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE;;;;;;;;;GASG;AAEH,mDAAuD;AAAnC,mGAAA,KAAK,OAAA;AACzB,yDAA+B;AAC/B,+DAAqC;AACrC,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE;;;;;;;;;GASG;AAEH,mDAAuD;AAAnC,mGAAA,KAAK,OAAA;AACzB,yDAA+B;AAC/B,+DAAqC;AACrC,iDAAuB"}
package/dist/keys.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MetadataAccessor } from '@loopback/metadata';
1
+ import { MetadataAccessor } from '@loopback/core';
2
2
  import { JsonSchema } from './index';
3
3
  /**
4
4
  * Metadata key used to set or retrieve repository JSON Schema
package/dist/keys.js CHANGED
@@ -5,9 +5,9 @@
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.JSON_SCHEMA_KEY = void 0;
8
- const metadata_1 = require("@loopback/metadata");
8
+ const core_1 = require("@loopback/core");
9
9
  /**
10
10
  * Metadata key used to set or retrieve repository JSON Schema
11
11
  */
12
- exports.JSON_SCHEMA_KEY = metadata_1.MetadataAccessor.create('loopback:json-schema');
12
+ exports.JSON_SCHEMA_KEY = core_1.MetadataAccessor.create('loopback:json-schema');
13
13
  //# sourceMappingURL=keys.js.map
package/dist/keys.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE,iDAAoD;AAGpD;;GAEG;AACU,QAAA,eAAe,GAAG,2BAAgB,CAAC,MAAM,CAGpD,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAgD;AAGhD;;GAEG;AACU,QAAA,eAAe,GAAG,uBAAgB,CAAC,MAAM,CAGpD,sBAAsB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@loopback/repository-json-schema",
3
- "version": "2.4.2",
3
+ "version": "2.4.6",
4
4
  "description": "Converts TS classes into JSON Schemas using TypeScript's reflection API",
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
  "build": "lb-tsc",
@@ -15,29 +15,29 @@
15
15
  "verify": "npm pack && tar xf loopback-json-schema*.tgz && tree package && npm run clean"
16
16
  },
17
17
  "author": "IBM Corp.",
18
+ "copyright.owner": "IBM Corp.",
18
19
  "license": "MIT",
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
19
23
  "keywords": [
20
24
  "LoopBack",
21
25
  "TypeScript",
22
26
  "JSON Schema"
23
27
  ],
24
- "publishConfig": {
25
- "access": "public"
26
- },
27
28
  "dependencies": {
28
- "@loopback/context": "^3.8.1",
29
- "@loopback/metadata": "^2.1.5",
30
- "@loopback/repository": "^2.5.1",
31
- "@types/json-schema": "^7.0.4",
29
+ "@loopback/core": "^2.9.1",
30
+ "@loopback/repository": "^2.9.0",
31
+ "@types/json-schema": "^7.0.5",
32
32
  "debug": "^4.1.1",
33
33
  "tslib": "^2.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@loopback/build": "^5.4.1",
37
- "@loopback/eslint-config": "^7.0.1",
38
- "@loopback/testlab": "^3.1.5",
36
+ "@loopback/build": "^6.1.0",
37
+ "@loopback/eslint-config": "^8.0.3",
38
+ "@loopback/testlab": "^3.2.0",
39
39
  "@types/debug": "^4.1.5",
40
- "@types/node": "^10.17.24",
40
+ "@types/node": "^10.17.26",
41
41
  "ajv": "^6.12.2"
42
42
  },
43
43
  "files": [
@@ -51,5 +51,5 @@
51
51
  "url": "https://github.com/strongloop/loopback-next.git",
52
52
  "directory": "packages/repository-json-schema"
53
53
  },
54
- "gitHead": "62aea854bf85c5a5995b59e6908fe5409f7eea96"
54
+ "gitHead": "b89db3d3b8be6a36e63e91c2331d217fda7538de"
55
55
  }
@@ -3,13 +3,14 @@
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 {MetadataInspector} from '@loopback/context';
6
+ import {MetadataInspector} from '@loopback/core';
7
7
  import {
8
8
  isBuiltinType,
9
9
  ModelDefinition,
10
10
  ModelMetadataHelper,
11
11
  Null,
12
12
  PropertyDefinition,
13
+ PropertyType,
13
14
  RelationMetadata,
14
15
  resolveType,
15
16
  } from '@loopback/repository';
@@ -242,7 +243,7 @@ export function stringTypeToWrapper(type: string | Function): Function {
242
243
  * Determines whether a given string or constructor is array type or not
243
244
  * @param type - Type as string or wrapper
244
245
  */
245
- export function isArrayType(type: string | Function) {
246
+ export function isArrayType(type: string | Function | PropertyType) {
246
247
  return type === Array || type === 'array';
247
248
  }
248
249
 
@@ -256,8 +257,11 @@ export function metaToJsonProperty(meta: PropertyDefinition): JsonSchema {
256
257
  let propertyType = meta.type as string | Function;
257
258
 
258
259
  if (isArrayType(propertyType) && meta.itemType) {
259
- if (Array.isArray(meta.itemType)) {
260
- throw new Error('itemType as an array is not supported');
260
+ if (isArrayType(meta.itemType) && !meta.jsonSchema) {
261
+ throw new Error(
262
+ 'You must provide the "jsonSchema" field when define ' +
263
+ 'a nested array property',
264
+ );
261
265
  }
262
266
  result = {type: 'array', items: propDef};
263
267
  propertyType = meta.itemType as string | Function;
@@ -338,12 +342,12 @@ function buildSchemaTitle<T extends object>(
338
342
  function getTitleSuffix<T extends object>(options: JsonSchemaOptions<T> = {}) {
339
343
  let suffix = '';
340
344
 
341
- if (options.optional && options.optional.length) {
345
+ if (options.optional?.length) {
342
346
  suffix += `Optional_${options.optional.join('-')}_`;
343
347
  } else if (options.partial) {
344
348
  suffix += 'Partial';
345
349
  }
346
- if (options.exclude && options.exclude.length) {
350
+ if (options.exclude?.length) {
347
351
  suffix += `Excluding_${options.exclude.join('-')}_`;
348
352
  }
349
353
  if (options.includeRelations) {
@@ -459,7 +463,7 @@ export function modelToJsonSchema<T extends object>(
459
463
  }
460
464
 
461
465
  for (const p in meta.properties) {
462
- if (options.exclude && options.exclude.includes(p as keyof T)) {
466
+ if (options.exclude?.includes(p as keyof T)) {
463
467
  debug('Property % is excluded by %s', p, options.exclude);
464
468
  continue;
465
469
  }
@@ -558,7 +562,7 @@ export function modelToJsonSchema<T extends object>(
558
562
  if (!schema || !Object.keys(schema).length) return;
559
563
 
560
564
  // promote nested definition to the top level
561
- if (result !== schema && schema.definitions) {
565
+ if (result !== schema?.definitions) {
562
566
  for (const key in schema.definitions) {
563
567
  if (key === title) continue;
564
568
  result.definitions = result.definitions ?? {};
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Copyright IBM Corp. 2018. All Rights Reserved.
1
+ // Copyright IBM Corp. 2018,2020. All Rights Reserved.
2
2
  // Node module: @loopback/repository-json-schema
3
3
  // This file is licensed under the MIT License.
4
4
  // License text available at https://opensource.org/licenses/MIT
package/src/keys.ts CHANGED
@@ -3,7 +3,7 @@
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 {MetadataAccessor} from '@loopback/metadata';
6
+ import {MetadataAccessor} from '@loopback/core';
7
7
  import {JsonSchema} from './index';
8
8
 
9
9
  /**