@takeshape/schema 8.115.0 → 8.118.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.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EASb,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAkdnF,oBAAY,sBAAsB,GAC9B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC1D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,yBAAyB,CAuBzE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,sBAAsB,CAAC;CAClF;AACD,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CACnE;AAqKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAqB9F;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAgBnE;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAQpE;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAQlE;AAqBD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAarF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EASb,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAwcnF,oBAAY,sBAAsB,GAC9B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC1D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,yBAAyB,CAuBzE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,sBAAsB,CAAC;CAClF;AACD,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CACnE;AAqKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAqB9F;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAgBnE;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAQpE;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAQlE;AAqBD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAarF"}
package/dist/validate.js CHANGED
@@ -56,6 +56,8 @@ var _metaSchemaV = _interopRequireDefault(require("./schemas/project-schema/meta
56
56
 
57
57
  var _util = require("@takeshape/util");
58
58
 
59
+ var _forOwn = _interopRequireDefault(require("lodash/forOwn"));
60
+
59
61
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
60
62
 
61
63
  function findDuplicates(items) {
@@ -336,7 +338,7 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
336
338
  return errors;
337
339
  }
338
340
 
339
- function validateIndexedShapes(projectSchema, additionalShapeNames) {
341
+ function validateIndexedShapes(projectSchema) {
340
342
  let errors = [];
341
343
 
342
344
  if ((0, _gt.default)((0, _coerce2.default)(projectSchema.schemaVersion) ?? _versions.LEGACY_SCHEMA_VERSION, '3.12.0')) {
@@ -345,17 +347,9 @@ function validateIndexedShapes(projectSchema, additionalShapeNames) {
345
347
  } = projectSchema;
346
348
 
347
349
  if (indexedShapes) {
348
- for (const shapeName in indexedShapes) {
349
- if (projectSchema.shapes[shapeName] === undefined && !additionalShapeNames.includes(shapeName)) {
350
- errors.push({
351
- path: ['indexedShapes', shapeName],
352
- type: 'notFound',
353
- message: `Invalid shape "${shapeName}"`
354
- });
355
- } else {
356
- errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, indexedShapes[shapeName]));
357
- }
358
- }
350
+ (0, _forOwn.default)(indexedShapes, (config, shapeName) => {
351
+ errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, config));
352
+ });
359
353
  }
360
354
  }
361
355
 
@@ -567,7 +561,7 @@ function validateV3X(version, obj, options) {
567
561
  const namespaceShapes = (0, _schemaUtil.getAllNamespaceShapes)(schema);
568
562
  const additionalShapeNames = (options !== null && options !== void 0 && options.additionalShapeNames ? builtInShapeNames.concat(options.additionalShapeNames) : builtInShapeNames).concat(namespaceShapes);
569
563
  const additionalModelShapeIds = options !== null && options !== void 0 && options.additionalModelShapeIds ? builtInModelShapeIds.concat(options.additionalModelShapeIds) : builtInModelShapeIds;
570
- errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema, additionalShapeNames));
564
+ errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema));
571
565
  const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
572
566
 
573
567
  if (suppressErrorPaths) {
package/es/validate.js CHANGED
@@ -21,6 +21,7 @@ import { enumerateOneOfKeys, isUnionSchema } from './unions';
21
21
  import { isEnumLikeSchema } from './enum';
22
22
  import metaSchemaV3_9_0 from './schemas/project-schema/meta-schema-v3.9.0.json';
23
23
  import { isIntegerLike } from '@takeshape/util';
24
+ import forOwn from 'lodash/forOwn';
24
25
 
25
26
  function findDuplicates(items) {
26
27
  const seen = {};
@@ -300,7 +301,7 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
300
301
  return errors;
301
302
  }
302
303
 
303
- function validateIndexedShapes(projectSchema, additionalShapeNames) {
304
+ function validateIndexedShapes(projectSchema) {
304
305
  let errors = [];
305
306
 
306
307
  if (gt(coerce(projectSchema.schemaVersion) ?? LEGACY_SCHEMA_VERSION, '3.12.0')) {
@@ -309,17 +310,9 @@ function validateIndexedShapes(projectSchema, additionalShapeNames) {
309
310
  } = projectSchema;
310
311
 
311
312
  if (indexedShapes) {
312
- for (const shapeName in indexedShapes) {
313
- if (projectSchema.shapes[shapeName] === undefined && !additionalShapeNames.includes(shapeName)) {
314
- errors.push({
315
- path: ['indexedShapes', shapeName],
316
- type: 'notFound',
317
- message: `Invalid shape "${shapeName}"`
318
- });
319
- } else {
320
- errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, indexedShapes[shapeName]));
321
- }
322
- }
313
+ forOwn(indexedShapes, (config, shapeName) => {
314
+ errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, config));
315
+ });
323
316
  }
324
317
  }
325
318
 
@@ -529,7 +522,7 @@ function validateV3X(version, obj, options) {
529
522
  const namespaceShapes = getAllNamespaceShapes(schema);
530
523
  const additionalShapeNames = (options !== null && options !== void 0 && options.additionalShapeNames ? builtInShapeNames.concat(options.additionalShapeNames) : builtInShapeNames).concat(namespaceShapes);
531
524
  const additionalModelShapeIds = options !== null && options !== void 0 && options.additionalModelShapeIds ? builtInModelShapeIds.concat(options.additionalModelShapeIds) : builtInModelShapeIds;
532
- errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema, additionalShapeNames));
525
+ errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema));
533
526
  const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
534
527
 
535
528
  if (suppressErrorPaths) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/schema",
3
- "version": "8.115.0",
3
+ "version": "8.118.0",
4
4
  "description": "TakeShape Schema",
5
5
  "homepage": "https://www.takeshape.io",
6
6
  "repository": {
@@ -21,9 +21,9 @@
21
21
  "examples"
22
22
  ],
23
23
  "dependencies": {
24
- "@takeshape/errors": "8.115.0",
25
- "@takeshape/json-schema": "8.115.0",
26
- "@takeshape/util": "8.115.0",
24
+ "@takeshape/errors": "8.118.0",
25
+ "@takeshape/json-schema": "8.118.0",
26
+ "@takeshape/util": "8.118.0",
27
27
  "ajv": "^8.10.0",
28
28
  "ajv-formats": "^2.1.1",
29
29
  "blueimp-md5": "^2.10.0",