@takeshape/schema 9.92.10 → 9.94.3

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,48 @@ 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;
326
+ const {
327
+ serviceId,
328
+ name
329
+ } = (0, _refs.parseName)(projectSchema, shape.name);
330
+ const idField = (shape === null || shape === void 0 ? void 0 : (_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.idField) ?? 'id';
331
+
332
+ // TODO Implement `searchSummary` and `_shapeId` here, and remove
333
+ // `getRemoteShapeTSSearchableFields` from GraphQL output
334
+ return {
327
335
  _id: {
328
336
  title: 'Id',
329
- type: 'string'
337
+ type: 'string',
338
+ ...properties._id,
339
+ ...(properties[idField] ? {
340
+ '@mapping': `${serviceId}:${name}.${idField}`
341
+ } : {})
330
342
  }
331
343
  };
332
- if (builtinPropertiesSet === 'indexed') {
333
- return commonFields;
334
- }
335
- const showV1Deprecation = apiVersion !== '1';
336
- return {
337
- ...commonFields,
344
+ }
345
+ function getModelBuiltInProperties(projectSchema, shape) {
346
+ const apiVersion = projectSchema.apiVersion ?? _versions.CURRENT_API_VERSION;
347
+ const showDeprecationReason = apiVersion !== '1';
348
+ const properties = {
338
349
  _version: {
339
350
  title: 'Version',
340
351
  type: 'integer'
@@ -382,37 +393,78 @@ function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion = _versi
382
393
  _enabled: {
383
394
  title: 'Enabled',
384
395
  type: 'boolean',
385
- '@deprecationReason': showV1Deprecation ? 'Use _status instead' : undefined
396
+ '@deprecationReason': showDeprecationReason ? 'Use _status instead' : undefined
386
397
  },
387
398
  _enabledAt: {
388
399
  title: 'Enabled Date',
389
400
  type: 'string',
390
401
  format: 'date-time',
391
- '@deprecationReason': showV1Deprecation ? 'Use a custom date field instead' : undefined
402
+ '@deprecationReason': showDeprecationReason ? 'Use a custom date field instead' : undefined
392
403
  }
393
404
  };
405
+ if ((0, _apiVersion.workflowsEnabled)(apiVersion)) {
406
+ return {
407
+ ...properties,
408
+ _status: {
409
+ ...(projectSchema.workflows && (0, _workflows.getStatusField)(projectSchema.workflows, shape))
410
+ }
411
+ };
412
+ }
413
+ return properties;
394
414
  }
395
415
 
396
416
  /**
397
417
  * Return all the built in property names,
398
418
  */
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;
419
+ function getBuiltInPropertyNames(profile = BuiltInPropertiesProfile.Model) {
420
+ const fakeShape = {
421
+ id: 'shape-id'
422
+ };
423
+ let keys = [...Object.keys(getCommonBuiltInProperties(fakeShape))];
424
+ if (profile === BuiltInPropertiesProfile.Model) {
425
+ keys = [...keys, ...Object.keys(getModelBuiltInProperties({}, fakeShape))];
426
+ }
427
+ return new Set(keys);
428
+ }
429
+ let BuiltInPropertiesProfile = /*#__PURE__*/function (BuiltInPropertiesProfile) {
430
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Model"] = 0] = "Model";
431
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Cached"] = 1] = "Cached";
432
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["None"] = 2] = "None";
433
+ return BuiltInPropertiesProfile;
434
+ }({});
435
+ /**
436
+ * Get the profile to use for loading built-in properties
437
+ */
438
+ exports.BuiltInPropertiesProfile = BuiltInPropertiesProfile;
439
+ function getBuiltInPropertiesProfile(shape) {
440
+ if (isModelShape(shape)) {
441
+ return BuiltInPropertiesProfile.Model;
442
+ }
443
+ if (isCachedShape(shape)) {
444
+ return BuiltInPropertiesProfile.Cached;
445
+ }
446
+ return BuiltInPropertiesProfile.None;
447
+ }
401
448
  function applyBuiltinPropertiesToShape(projectSchema, shape) {
402
- const builtinSet = getBuiltinPropertiesSet(shape);
403
- if (builtinSet === 'none') {
449
+ const profile = getBuiltInPropertiesProfile(shape);
450
+ if (profile === BuiltInPropertiesProfile.None) {
404
451
  return shape;
405
452
  }
453
+ const {
454
+ properties
455
+ } = (0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema, ['shapes', shape.name]);
456
+ const commonProperties = getCommonBuiltInProperties(shape);
457
+ const modelProperties = profile === BuiltInPropertiesProfile.Model ? getModelBuiltInProperties(projectSchema, shape) : undefined;
458
+ const cachedProperties = profile === BuiltInPropertiesProfile.Cached ? getCachedBuiltInProperties(projectSchema, shape, properties) : undefined;
406
459
  return {
407
460
  ...shape,
408
461
  schema: {
409
462
  ...shape.schema,
410
463
  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
- })
464
+ ...properties,
465
+ ...commonProperties,
466
+ ...modelProperties,
467
+ ...cachedProperties
416
468
  }
417
469
  }
418
470
  };
@@ -506,8 +558,8 @@ function isModelShape(shape) {
506
558
  return Boolean(shape.model);
507
559
  }
508
560
  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;
561
+ var _shape$cache2;
562
+ return ((_shape$cache2 = shape.cache) === null || _shape$cache2 === void 0 ? void 0 : _shape$cache2.enabled) === true && shape.loaders !== undefined;
511
563
  }
512
564
  function getArgsReference(projectSchema, argsSchema) {
513
565
  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,19 +1,18 @@
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';
13
12
  import { builtInShapes, builtInForms } from './builtin-schema';
14
13
  import { getArgsType, isObjectSchema, isAllOfSchema, isOneOfSchema, isExtendsSchema, isArraySchema, isServiceResolver, isGraphqlResolver, isRefSchema } from './types/utils';
15
14
  import { getStoredServiceConfig } from './services';
16
- import { createTemplateShapeName, dereferenceObjectSchema, dereferenceSchema, getRef, getRefOrItemsRef, getRefShapeName, parseReturnShape, refExpressionToRefItem, refItemToShape, refItemToShapeName, refItemToShapeSchema, atRefToRefItem, refToRefItem, parseTemplateShape, isRefItemWithPath, returnShapeToSchema, serializePropertyRef } from './refs';
15
+ import { createTemplateShapeName, dereferenceObjectSchema, dereferenceSchema, getRef, getRefOrItemsRef, getRefShapeName, parseReturnShape, refExpressionToRefItem, refItemToShape, refItemToShapeName, refItemToShapeSchema, atRefToRefItem, refToRefItem, parseTemplateShape, isRefItemWithPath, returnShapeToSchema, serializePropertyRef, parseName } from './refs';
17
16
  import isEqual from 'lodash/isEqual';
18
17
  import isString from 'lodash/isString';
19
18
  import { isUnionSchema } from './unions';
@@ -232,36 +231,48 @@ 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;
253
+ const {
254
+ serviceId,
255
+ name
256
+ } = parseName(projectSchema, shape.name);
257
+ const idField = (shape === null || shape === void 0 ? void 0 : (_shape$cache = shape.cache) === null || _shape$cache === void 0 ? void 0 : _shape$cache.idField) ?? 'id';
258
+
259
+ // TODO Implement `searchSummary` and `_shapeId` here, and remove
260
+ // `getRemoteShapeTSSearchableFields` from GraphQL output
261
+ return {
254
262
  _id: {
255
263
  title: 'Id',
256
- type: 'string'
264
+ type: 'string',
265
+ ...properties._id,
266
+ ...(properties[idField] ? {
267
+ '@mapping': `${serviceId}:${name}.${idField}`
268
+ } : {})
257
269
  }
258
270
  };
259
- if (builtinPropertiesSet === 'indexed') {
260
- return commonFields;
261
- }
262
- const showV1Deprecation = apiVersion !== '1';
263
- return {
264
- ...commonFields,
271
+ }
272
+ export function getModelBuiltInProperties(projectSchema, shape) {
273
+ const apiVersion = projectSchema.apiVersion ?? CURRENT_API_VERSION;
274
+ const showDeprecationReason = apiVersion !== '1';
275
+ const properties = {
265
276
  _version: {
266
277
  title: 'Version',
267
278
  type: 'integer'
@@ -309,36 +320,78 @@ export function getBuiltinProperties(shapeId, builtinPropertiesSet, apiVersion =
309
320
  _enabled: {
310
321
  title: 'Enabled',
311
322
  type: 'boolean',
312
- '@deprecationReason': showV1Deprecation ? 'Use _status instead' : undefined
323
+ '@deprecationReason': showDeprecationReason ? 'Use _status instead' : undefined
313
324
  },
314
325
  _enabledAt: {
315
326
  title: 'Enabled Date',
316
327
  type: 'string',
317
328
  format: 'date-time',
318
- '@deprecationReason': showV1Deprecation ? 'Use a custom date field instead' : undefined
329
+ '@deprecationReason': showDeprecationReason ? 'Use a custom date field instead' : undefined
319
330
  }
320
331
  };
332
+ if (workflowsEnabled(apiVersion)) {
333
+ return {
334
+ ...properties,
335
+ _status: {
336
+ ...(projectSchema.workflows && getStatusField(projectSchema.workflows, shape))
337
+ }
338
+ };
339
+ }
340
+ return properties;
321
341
  }
322
342
 
323
343
  /**
324
344
  * Return all the built in property names,
325
345
  */
326
- export const getBuiltinPropertyNames = (builtinPropertiesSet, apiVersion = CURRENT_API_VERSION) => new Set([...Object.keys(getBuiltinProperties('shape-id', builtinPropertiesSet, apiVersion)), workflowsEnabled(apiVersion) ? '_status' : undefined].filter(isDefined));
346
+ export function getBuiltInPropertyNames(profile = BuiltInPropertiesProfile.Model) {
347
+ const fakeShape = {
348
+ id: 'shape-id'
349
+ };
350
+ let keys = [...Object.keys(getCommonBuiltInProperties(fakeShape))];
351
+ if (profile === BuiltInPropertiesProfile.Model) {
352
+ keys = [...keys, ...Object.keys(getModelBuiltInProperties({}, fakeShape))];
353
+ }
354
+ return new Set(keys);
355
+ }
356
+ export let BuiltInPropertiesProfile = /*#__PURE__*/function (BuiltInPropertiesProfile) {
357
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Model"] = 0] = "Model";
358
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["Cached"] = 1] = "Cached";
359
+ BuiltInPropertiesProfile[BuiltInPropertiesProfile["None"] = 2] = "None";
360
+ return BuiltInPropertiesProfile;
361
+ }({});
362
+
363
+ /**
364
+ * Get the profile to use for loading built-in properties
365
+ */
366
+ function getBuiltInPropertiesProfile(shape) {
367
+ if (isModelShape(shape)) {
368
+ return BuiltInPropertiesProfile.Model;
369
+ }
370
+ if (isCachedShape(shape)) {
371
+ return BuiltInPropertiesProfile.Cached;
372
+ }
373
+ return BuiltInPropertiesProfile.None;
374
+ }
327
375
  export function applyBuiltinPropertiesToShape(projectSchema, shape) {
328
- const builtinSet = getBuiltinPropertiesSet(shape);
329
- if (builtinSet === 'none') {
376
+ const profile = getBuiltInPropertiesProfile(shape);
377
+ if (profile === BuiltInPropertiesProfile.None) {
330
378
  return shape;
331
379
  }
380
+ const {
381
+ properties
382
+ } = dereferenceObjectSchema(projectSchema, shape.schema, ['shapes', shape.name]);
383
+ const commonProperties = getCommonBuiltInProperties(shape);
384
+ const modelProperties = profile === BuiltInPropertiesProfile.Model ? getModelBuiltInProperties(projectSchema, shape) : undefined;
385
+ const cachedProperties = profile === BuiltInPropertiesProfile.Cached ? getCachedBuiltInProperties(projectSchema, shape, properties) : undefined;
332
386
  return {
333
387
  ...shape,
334
388
  schema: {
335
389
  ...shape.schema,
336
390
  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
- })
391
+ ...properties,
392
+ ...commonProperties,
393
+ ...modelProperties,
394
+ ...cachedProperties
342
395
  }
343
396
  }
344
397
  };
@@ -432,8 +485,8 @@ export function isModelShape(shape) {
432
485
  return Boolean(shape.model);
433
486
  }
434
487
  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;
488
+ var _shape$cache2;
489
+ return ((_shape$cache2 = shape.cache) === null || _shape$cache2 === void 0 ? void 0 : _shape$cache2.enabled) === true && shape.loaders !== undefined;
437
490
  }
438
491
  export function getArgsReference(projectSchema, argsSchema) {
439
492
  const args = getArgs(argsSchema);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/schema",
3
- "version": "9.92.10",
3
+ "version": "9.94.3",
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.92.10",
32
- "@takeshape/json-schema": "9.92.10",
33
- "@takeshape/util": "9.92.10"
31
+ "@takeshape/errors": "9.94.3",
32
+ "@takeshape/util": "9.94.3",
33
+ "@takeshape/json-schema": "9.94.3"
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.92.10"
49
+ "@takeshape/typescript-jest-junit-reporter": "9.94.3"
50
50
  },
51
51
  "engines": {
52
52
  "node": ">=16"