@takeshape/schema 9.94.1 → 9.94.10

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.
@@ -21,13 +21,17 @@ export declare function getServiceInfo(projectSchema: ProjectSchemaJSON, shape:
21
21
  export declare function pathBetween(fromShape: ShapeJSON, toShape: ShapeJSON, projectSchema: ProjectSchemaJSON, depthLimit?: number): string[];
22
22
  type ShapeModelInfo = Pick<ShapeJSON, 'name' | 'model'>;
23
23
  export declare function getShapeQueriesAndMutations(shapes: ShapeModelInfo | ShapeModelInfo[]): Pick<ProjectSchemaJSON, 'queries' | 'mutations'>;
24
- export type BuiltinPropertiesSet = 'model' | 'indexed' | 'none';
25
- export declare function getBuiltinPropertiesSet(shape: ShapeJSON): BuiltinPropertiesSet;
26
- export declare function getBuiltinProperties(shapeId: string, builtinPropertiesSet: BuiltinPropertiesSet, apiVersion?: string): Record<string, PropertySchema>;
24
+ export declare function getCommonBuiltInProperties(shape: Pick<ShapeJSON, 'id'>): Record<string, PropertySchema>;
25
+ export declare function getModelBuiltInProperties(projectSchema: Partial<Pick<ProjectSchemaJSON, 'apiVersion' | 'workflows'>>, shape: Pick<ShapeJSON, 'id' | 'workflow'>): Record<string, PropertySchema>;
27
26
  /**
28
27
  * Return all the built in property names,
29
28
  */
30
- export declare const getBuiltinPropertyNames: (builtinPropertiesSet: BuiltinPropertiesSet, apiVersion?: string) => Set<string>;
29
+ export declare function getBuiltInPropertyNames(profile?: BuiltInPropertiesProfile): Set<string>;
30
+ export declare enum BuiltInPropertiesProfile {
31
+ Model = 0,
32
+ Cached = 1,
33
+ None = 2
34
+ }
31
35
  export declare function applyBuiltinPropertiesToShape(projectSchema: ProjectSchemaJSON, shape: ShapeJSON): ShapeJSON;
32
36
  /**
33
37
  * Get all built-in shapes that are depended on by the given project schema.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SERVICE_OBJECT_PATTERN_NAME = void 0;
6
+ exports.SERVICE_OBJECT_PATTERN_NAME = exports.BuiltInPropertiesProfile = void 0;
7
7
  exports.applyBuiltinPropertiesToShape = applyBuiltinPropertiesToShape;
8
8
  exports.applyDefaultsToSchema = applyDefaultsToSchema;
9
9
  exports.arraySchemaKeys = void 0;
@@ -25,14 +25,14 @@ exports.getAllRefsInShapes = getAllRefsInShapes;
25
25
  exports.getArgsReference = getArgsReference;
26
26
  exports.getArgsReferenceWithPath = getArgsReferenceWithPath;
27
27
  exports.getArgsShapeSchema = getArgsShapeSchema;
28
- exports.getBuiltinProperties = getBuiltinProperties;
29
- exports.getBuiltinPropertiesSet = getBuiltinPropertiesSet;
30
- exports.getBuiltinPropertyNames = void 0;
28
+ exports.getBuiltInPropertyNames = getBuiltInPropertyNames;
31
29
  exports.getBuiltinsUsed = getBuiltinsUsed;
30
+ exports.getCommonBuiltInProperties = getCommonBuiltInProperties;
32
31
  exports.getDefaultMutationName = void 0;
33
32
  exports.getFirstMapping = getFirstMapping;
34
33
  exports.getFullyQualifiedShapeName = getFullyQualifiedShapeName;
35
34
  exports.getGeneratorVersion = getGeneratorVersion;
35
+ exports.getModelBuiltInProperties = getModelBuiltInProperties;
36
36
  exports.getNamespacedShapeNameList = getNamespacedShapeNameList;
37
37
  exports.getPropertyService = getPropertyService;
38
38
  exports.getQueriesShape = getQueriesShape;
@@ -64,7 +64,6 @@ exports.visitSchemaProperties = visitSchemaProperties;
64
64
  exports.visitShapeProperties = visitShapeProperties;
65
65
  var _find = _interopRequireDefault(require("lodash/find"));
66
66
  var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
67
- var _omitBy = _interopRequireDefault(require("lodash/omitBy"));
68
67
  var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
69
68
  var _isObject = _interopRequireDefault(require("lodash/isObject"));
70
69
  var _curry = _interopRequireDefault(require("lodash/fp/curry"));
@@ -305,36 +304,43 @@ function getShapeQueriesAndMutations(shapes) {
305
304
  mutations
306
305
  };
307
306
  }
308
- function getBuiltinPropertiesSet(shape) {
309
- if (isModelShape(shape)) {
310
- return 'model';
311
- }
312
- if (isCachedShape(shape)) {
313
- return 'indexed';
314
- }
315
- return 'none';
316
- }
317
- function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = _versions.CURRENT_API_VERSION) {
318
- if (builtinPropertiesSet === 'none') {
319
- return {};
320
- }
321
- const commonFields = {
307
+ function getCommonBuiltInProperties(shape) {
308
+ return {
309
+ _id: {
310
+ title: 'Id',
311
+ type: 'string'
312
+ },
322
313
  _shapeId: {
323
314
  type: 'string',
324
315
  title: 'Shape Id',
325
- enum: [shapeId]
326
- },
316
+ enum: [shape.id]
317
+ }
318
+ };
319
+ }
320
+
321
+ /**
322
+ * Get properties necessary for cached / remote data to work with the TSSearchable interface.
323
+ */
324
+ function getCachedBuiltInProperties(projectSchema, shape, properties) {
325
+ var _shape$cache, _properties$idField;
326
+ const idField = ((_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.idField) ?? 'id';
327
+
328
+ // TODO Implement `searchSummary` and `_shapeId` here, and remove `getRemoteShapeTSSearchableFields`
329
+ return {
327
330
  _id: {
328
331
  title: 'Id',
329
- type: 'string'
332
+ type: 'string',
333
+ ...properties._id,
334
+ ...((_properties$idField = properties[idField]) !== null && _properties$idField !== void 0 && _properties$idField['@mapping'] ? {
335
+ '@mapping': properties[idField]['@mapping']
336
+ } : {})
330
337
  }
331
338
  };
332
- if (builtinPropertiesSet === 'indexed') {
333
- return commonFields;
334
- }
335
- const showV1Deprecation = apiVersion !== '1';
336
- return {
337
- ...commonFields,
339
+ }
340
+ function getModelBuiltInProperties(projectSchema, shape) {
341
+ const apiVersion = projectSchema.apiVersion ?? _versions.CURRENT_API_VERSION;
342
+ const showDeprecationReason = apiVersion !== '1';
343
+ const properties = {
338
344
  _version: {
339
345
  title: 'Version',
340
346
  type: 'integer'
@@ -382,37 +388,78 @@ function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = _versi
382
388
  _enabled: {
383
389
  title: 'Enabled',
384
390
  type: 'boolean',
385
- '@deprecationReason': showV1Deprecation ? 'Use _status instead' : undefined
391
+ '@deprecationReason': showDeprecationReason ? 'Use _status instead' : undefined
386
392
  },
387
393
  _enabledAt: {
388
394
  title: 'Enabled Date',
389
395
  type: 'string',
390
396
  format: 'date-time',
391
- '@deprecationReason': showV1Deprecation ? 'Use a custom date field instead' : undefined
397
+ '@deprecationReason': showDeprecationReason ? 'Use a custom date field instead' : undefined
392
398
  }
393
399
  };
400
+ if ((0, _apiVersion.workflowsEnabled)(apiVersion)) {
401
+ return {
402
+ ...properties,
403
+ _status: {
404
+ ...(projectSchema.workflows && (0, _workflows.getStatusField)(projectSchema.workflows, shape))
405
+ }
406
+ };
407
+ }
408
+ return properties;
394
409
  }
395
410
 
396
411
  /**
397
412
  * Return all the built in property names,
398
413
  */
399
- const getBuiltinPropertyNames = (builtinPropertiesSet, apiVersion = _versions.CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltinProperties('shape-id', builtinPropertiesSet, apiVersion)), (0, _apiVersion.workflowsEnabled)(apiVersion) ? '_status' : undefined].filter(_util.isDefined));
400
- exports.getBuiltinPropertyNames = getBuiltinPropertyNames;
414
+ function getBuiltInPropertyNames(profile = BuiltInPropertiesProfile.Model) {
415
+ const fakeShape = {
416
+ id: 'shape-id'
417
+ };
418
+ let keys = [...Object.keys(getCommonBuiltInProperties(fakeShape))];
419
+ if (profile === BuiltInPropertiesProfile.Model) {
420
+ keys = [...keys, ...Object.keys(getModelBuiltInProperties({}, fakeShape))];
421
+ }
422
+ return new Set(keys);
423
+ }
424
+ let BuiltInPropertiesProfile = /*#__PURE__*/function (BuiltInPropertiesProfile) {
425
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Model"] = 0] = "Model";
426
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Cached"] = 1] = "Cached";
427
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["None"] = 2] = "None";
428
+ return BuiltInPropertiesProfile;
429
+ }({});
430
+ /**
431
+ * Get the profile to use for loading built-in properties
432
+ */
433
+ exports.BuiltInPropertiesProfile = BuiltInPropertiesProfile;
434
+ function getBuiltInPropertiesProfile(shape) {
435
+ if (isModelShape(shape)) {
436
+ return BuiltInPropertiesProfile.Model;
437
+ }
438
+ if (isCachedShape(shape)) {
439
+ return BuiltInPropertiesProfile.Cached;
440
+ }
441
+ return BuiltInPropertiesProfile.None;
442
+ }
401
443
  function applyBuiltinPropertiesToShape(projectSchema, shape) {
402
- const builtinSet = getBuiltinPropertiesSet(shape);
403
- if (builtinSet === 'none') {
444
+ const profile = getBuiltInPropertiesProfile(shape);
445
+ if (profile === BuiltInPropertiesProfile.None) {
404
446
  return shape;
405
447
  }
448
+ const {
449
+ properties
450
+ } = (0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema, ['shapes', shape.name]);
451
+ const commonProperties = getCommonBuiltInProperties(shape);
452
+ const modelProperties = profile === BuiltInPropertiesProfile.Model ? getModelBuiltInProperties(projectSchema, shape) : undefined;
453
+ const cachedProperties = profile === BuiltInPropertiesProfile.Cached ? getCachedBuiltInProperties(projectSchema, shape, properties) : undefined;
406
454
  return {
407
455
  ...shape,
408
456
  schema: {
409
457
  ...shape.schema,
410
458
  properties: {
411
- ...(0, _omitBy.default)((0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema, ['shapes', shape.name]).properties, (_, name) => name.startsWith('_')),
412
- ...getBuiltinProperties(shape.id, builtinSet, projectSchema.apiVersion),
413
- ...(builtinSet === 'model' && (0, _apiVersion.workflowsEnabled)(projectSchema.apiVersion) && {
414
- _status: (0, _workflows.getStatusField)(projectSchema.workflows, shape)
415
- })
459
+ ...properties,
460
+ ...commonProperties,
461
+ ...modelProperties,
462
+ ...cachedProperties
416
463
  }
417
464
  }
418
465
  };
@@ -506,8 +553,8 @@ function isModelShape(shape) {
506
553
  return Boolean(shape.model);
507
554
  }
508
555
  function isCachedShape(shape) {
509
- var _shape$cache;
510
- return ((_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.enabled) === true && shape.loaders !== undefined;
556
+ var _shape$cache2;
557
+ return ((_shape$cache2 = shape.cache) === null || _shape$cache2 === void 0 ? void 0 : _shape$cache2.enabled) === true && shape.loaders !== undefined;
511
558
  }
512
559
  function getArgsReference(projectSchema, argsSchema) {
513
560
  const args = (0, _util2.getArgs)(argsSchema);
@@ -7,7 +7,7 @@ export interface StepContext {
7
7
  }
8
8
  export declare function statusFallback(workflow: Workflow, enabled: boolean): WorkflowStep;
9
9
  export declare function findWorkflowStep(workflow: Workflow, keyOrName: string): StepContext | undefined;
10
- export declare function getStatusField(workflows: WorkflowMap, shape: ShapeJSON): PropertySchema;
10
+ export declare function getStatusField(workflows: WorkflowMap, shape: Pick<ShapeJSON, 'workflow'>): PropertySchema;
11
11
  export type WorkflowComparisonOperatorKey = 'lt' | 'lte' | 'gte' | 'gt' | 'eq' | 'in';
12
12
  export declare function getStepRange(steps: WorkflowStep[], index: number, op: WorkflowComparisonOperatorKey): WorkflowStep[];
13
13
  export declare function getWorkflowStepKeys(workflow: Workflow, stepKey: string, op: WorkflowComparisonOperatorKey): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAGnH,eAAO,MAAM,eAAe,EAAE,QAmB7B,CAAC;AAEF,wBAAgB,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAQvF;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAG/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAOvF;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,6BAA6B,GAAG,YAAY,EAAE,CASpH;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,6BAA6B,GAAG,MAAM,EAAE,CAQpH;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE5D"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAGnH,eAAO,MAAM,eAAe,EAAE,QAmB7B,CAAC;AAEF,wBAAgB,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAQvF;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAG/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,cAAc,CAOzG;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,6BAA6B,GAAG,YAAY,EAAE,CASpH;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,6BAA6B,GAAG,MAAM,EAAE,CAQpH;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE5D"}
package/es/schema-util.js CHANGED
@@ -1,12 +1,11 @@
1
1
  import find from 'lodash/find';
2
2
  import mapValues from 'lodash/mapValues';
3
- import omitBy from 'lodash/omitBy';
4
3
  import keyBy from 'lodash/keyBy';
5
4
  import isObject from 'lodash/isObject';
6
5
  import curry from 'lodash/fp/curry';
7
6
  import orderBy from 'lodash/fp/orderBy';
8
7
  import uniq from 'lodash/uniq';
9
- import { deepClone, isDefined, visit, pascalCase, ensureArray } from '@takeshape/util';
8
+ import { deepClone, visit, pascalCase, ensureArray } from '@takeshape/util';
10
9
  import { defaultWorkflow, getStatusField } from './workflows';
11
10
  import { CURRENT_API_VERSION, CURRENT_SCHEMA_VERSION } from './versions';
12
11
  import { workflowsEnabled } from './api-version';
@@ -232,36 +231,43 @@ export function getShapeQueriesAndMutations(shapes) {
232
231
  mutations
233
232
  };
234
233
  }
235
- export function getBuiltinPropertiesSet(shape) {
236
- if (isModelShape(shape)) {
237
- return 'model';
238
- }
239
- if (isCachedShape(shape)) {
240
- return 'indexed';
241
- }
242
- return 'none';
243
- }
244
- export function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = CURRENT_API_VERSION) {
245
- if (builtinPropertiesSet === 'none') {
246
- return {};
247
- }
248
- const commonFields = {
234
+ export function getCommonBuiltInProperties(shape) {
235
+ return {
236
+ _id: {
237
+ title: 'Id',
238
+ type: 'string'
239
+ },
249
240
  _shapeId: {
250
241
  type: 'string',
251
242
  title: 'Shape Id',
252
- enum: [shapeId]
253
- },
243
+ enum: [shape.id]
244
+ }
245
+ };
246
+ }
247
+
248
+ /**
249
+ * Get properties necessary for cached / remote data to work with the TSSearchable interface.
250
+ */
251
+ function getCachedBuiltInProperties(projectSchema, shape, properties) {
252
+ var _shape$cache, _properties$idField;
253
+ const idField = ((_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.idField) ?? 'id';
254
+
255
+ // TODO Implement `searchSummary` and `_shapeId` here, and remove `getRemoteShapeTSSearchableFields`
256
+ return {
254
257
  _id: {
255
258
  title: 'Id',
256
- type: 'string'
259
+ type: 'string',
260
+ ...properties._id,
261
+ ...((_properties$idField = properties[idField]) !== null && _properties$idField !== void 0 && _properties$idField['@mapping'] ? {
262
+ '@mapping': properties[idField]['@mapping']
263
+ } : {})
257
264
  }
258
265
  };
259
- if (builtinPropertiesSet === 'indexed') {
260
- return commonFields;
261
- }
262
- const showV1Deprecation = apiVersion !== '1';
263
- return {
264
- ...commonFields,
266
+ }
267
+ export function getModelBuiltInProperties(projectSchema, shape) {
268
+ const apiVersion = projectSchema.apiVersion ?? CURRENT_API_VERSION;
269
+ const showDeprecationReason = apiVersion !== '1';
270
+ const properties = {
265
271
  _version: {
266
272
  title: 'Version',
267
273
  type: 'integer'
@@ -309,36 +315,78 @@ export function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion =
309
315
  _enabled: {
310
316
  title: 'Enabled',
311
317
  type: 'boolean',
312
- '@deprecationReason': showV1Deprecation ? 'Use _status instead' : undefined
318
+ '@deprecationReason': showDeprecationReason ? 'Use _status instead' : undefined
313
319
  },
314
320
  _enabledAt: {
315
321
  title: 'Enabled Date',
316
322
  type: 'string',
317
323
  format: 'date-time',
318
- '@deprecationReason': showV1Deprecation ? 'Use a custom date field instead' : undefined
324
+ '@deprecationReason': showDeprecationReason ? 'Use a custom date field instead' : undefined
319
325
  }
320
326
  };
327
+ if (workflowsEnabled(apiVersion)) {
328
+ return {
329
+ ...properties,
330
+ _status: {
331
+ ...(projectSchema.workflows && getStatusField(projectSchema.workflows, shape))
332
+ }
333
+ };
334
+ }
335
+ return properties;
321
336
  }
322
337
 
323
338
  /**
324
339
  * Return all the built in property names,
325
340
  */
326
- export const getBuiltinPropertyNames = (builtinPropertiesSet, apiVersion = CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltinProperties('shape-id', builtinPropertiesSet, apiVersion)), workflowsEnabled(apiVersion) ? '_status' : undefined].filter(isDefined));
341
+ export function getBuiltInPropertyNames(profile = BuiltInPropertiesProfile.Model) {
342
+ const fakeShape = {
343
+ id: 'shape-id'
344
+ };
345
+ let keys = [...Object.keys(getCommonBuiltInProperties(fakeShape))];
346
+ if (profile === BuiltInPropertiesProfile.Model) {
347
+ keys = [...keys, ...Object.keys(getModelBuiltInProperties({}, fakeShape))];
348
+ }
349
+ return new Set(keys);
350
+ }
351
+ export let BuiltInPropertiesProfile = /*#__PURE__*/function (BuiltInPropertiesProfile) {
352
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Model"] = 0] = "Model";
353
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Cached"] = 1] = "Cached";
354
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["None"] = 2] = "None";
355
+ return BuiltInPropertiesProfile;
356
+ }({});
357
+
358
+ /**
359
+ * Get the profile to use for loading built-in properties
360
+ */
361
+ function getBuiltInPropertiesProfile(shape) {
362
+ if (isModelShape(shape)) {
363
+ return BuiltInPropertiesProfile.Model;
364
+ }
365
+ if (isCachedShape(shape)) {
366
+ return BuiltInPropertiesProfile.Cached;
367
+ }
368
+ return BuiltInPropertiesProfile.None;
369
+ }
327
370
  export function applyBuiltinPropertiesToShape(projectSchema, shape) {
328
- const builtinSet = getBuiltinPropertiesSet(shape);
329
- if (builtinSet === 'none') {
371
+ const profile = getBuiltInPropertiesProfile(shape);
372
+ if (profile === BuiltInPropertiesProfile.None) {
330
373
  return shape;
331
374
  }
375
+ const {
376
+ properties
377
+ } = dereferenceObjectSchema(projectSchema, shape.schema, ['shapes', shape.name]);
378
+ const commonProperties = getCommonBuiltInProperties(shape);
379
+ const modelProperties = profile === BuiltInPropertiesProfile.Model ? getModelBuiltInProperties(projectSchema, shape) : undefined;
380
+ const cachedProperties = profile === BuiltInPropertiesProfile.Cached ? getCachedBuiltInProperties(projectSchema, shape, properties) : undefined;
332
381
  return {
333
382
  ...shape,
334
383
  schema: {
335
384
  ...shape.schema,
336
385
  properties: {
337
- ...omitBy(dereferenceObjectSchema(projectSchema, shape.schema, ['shapes', shape.name]).properties, (_, name) => name.startsWith('_')),
338
- ...getBuiltinProperties(shape.id, builtinSet, projectSchema.apiVersion),
339
- ...(builtinSet === 'model' && workflowsEnabled(projectSchema.apiVersion) && {
340
- _status: getStatusField(projectSchema.workflows, shape)
341
- })
386
+ ...properties,
387
+ ...commonProperties,
388
+ ...modelProperties,
389
+ ...cachedProperties
342
390
  }
343
391
  }
344
392
  };
@@ -432,8 +480,8 @@ export function isModelShape(shape) {
432
480
  return Boolean(shape.model);
433
481
  }
434
482
  export function isCachedShape(shape) {
435
- var _shape$cache;
436
- return ((_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.enabled) === true && shape.loaders !== undefined;
483
+ var _shape$cache2;
484
+ return ((_shape$cache2 = shape.cache) === null || _shape$cache2 === void 0 ? void 0 : _shape$cache2.enabled) === true && shape.loaders !== undefined;
437
485
  }
438
486
  export function getArgsReference(projectSchema, argsSchema) {
439
487
  const args = getArgs(argsSchema);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/schema",
3
- "version": "9.94.1",
3
+ "version": "9.94.10",
4
4
  "description": "TakeShape Schema",
5
5
  "homepage": "https://www.takeshape.io",
6
6
  "repository": {
@@ -28,9 +28,9 @@
28
28
  "p-reduce": "^2.1.0",
29
29
  "semver": "^7.3.2",
30
30
  "tiny-invariant": "^1.2.0",
31
- "@takeshape/errors": "9.94.1",
32
- "@takeshape/json-schema": "9.94.1",
33
- "@takeshape/util": "9.94.1"
31
+ "@takeshape/errors": "9.94.10",
32
+ "@takeshape/util": "9.94.10",
33
+ "@takeshape/json-schema": "9.94.10"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@takeshape/json-schema-to-typescript": "^11.0.0",
@@ -46,7 +46,7 @@
46
46
  "meow": "^9.0.0",
47
47
  "p-map": "^5.0.0",
48
48
  "shortid": "^2.2.15",
49
- "@takeshape/typescript-jest-junit-reporter": "9.94.1"
49
+ "@takeshape/typescript-jest-junit-reporter": "9.94.10"
50
50
  },
51
51
  "engines": {
52
52
  "node": ">=16"