@osdk/maker 0.12.0-beta.19 → 0.12.0-beta.20
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 +6 -0
- package/build/browser/api/defineAction.js +110 -69
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/overall.test.js +621 -3
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/api/types.js +2 -0
- package/build/browser/api/types.js.map +1 -1
- package/build/browser/cli/main.js +1 -1
- package/build/browser/index.js +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/cjs/index.cjs +111 -69
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +3 -1
- package/build/esm/api/defineAction.js +110 -69
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/overall.test.js +621 -3
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/api/types.js +2 -0
- package/build/esm/api/types.js.map +1 -1
- package/build/esm/cli/main.js +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/types.d.ts +2 -0
- package/build/types/api/types.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -19,7 +19,7 @@ import invariant from "tiny-invariant";
|
|
|
19
19
|
import { convertToDisplayName, getAllInterfaceProperties } from "./defineObject.js";
|
|
20
20
|
import { namespace, ontologyDefinition, updateOntology } from "./defineOntology.js";
|
|
21
21
|
import { convertConditionDefinition, convertMappingValue } from "./ontologyUtils.js";
|
|
22
|
-
import { OntologyEntityTypeEnum } from "./types.js";
|
|
22
|
+
import { CREATE_OR_MODIFY_OBJECT_PARAMETER, MODIFY_OBJECT_PARAMETER, OntologyEntityTypeEnum } from "./types.js";
|
|
23
23
|
export function defineCreateInterfaceObjectAction(interfaceType, objectType, validation) {
|
|
24
24
|
const allProperties = Object.entries(getAllInterfaceProperties(interfaceType)).filter(([_, prop]) => !isStruct(prop.sharedPropertyType.type));
|
|
25
25
|
if (allProperties.length !== Object.entries(getAllInterfaceProperties(interfaceType)).length) {
|
|
@@ -127,6 +127,7 @@ export function defineCreateObjectAction(def) {
|
|
|
127
127
|
structFieldValues: {}
|
|
128
128
|
}
|
|
129
129
|
}],
|
|
130
|
+
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters),
|
|
130
131
|
...(def.actionLevelValidation ? {
|
|
131
132
|
validation: [convertValidationRule(def.actionLevelValidation)]
|
|
132
133
|
} : {}),
|
|
@@ -141,9 +142,6 @@ export function defineCreateObjectAction(def) {
|
|
|
141
142
|
}),
|
|
142
143
|
...(def.sections && {
|
|
143
144
|
sections: Object.fromEntries(def.sections.map(section => [section.id, section]))
|
|
144
|
-
}),
|
|
145
|
-
...(def.parameterOrdering && {
|
|
146
|
-
parameterOrdering: def.parameterOrdering
|
|
147
145
|
})
|
|
148
146
|
});
|
|
149
147
|
}
|
|
@@ -220,18 +218,22 @@ export function defineModifyObjectAction(def) {
|
|
|
220
218
|
const propertyParameters = Object.keys(def.objectType.properties ?? {}).filter(id => !Object.keys(def.nonParameterMappings ?? {}).includes(id) && !def.excludedProperties?.includes(id) && !isStruct(def.objectType.properties?.[id].type) && id !== def.objectType.primaryKeyPropertyApiName);
|
|
221
219
|
const parameterNames = new Set(propertyParameters);
|
|
222
220
|
Object.keys(def.parameterConfiguration ?? {}).forEach(param => parameterNames.add(param));
|
|
221
|
+
parameterNames.add(MODIFY_OBJECT_PARAMETER);
|
|
223
222
|
if (def.parameterOrdering) {
|
|
223
|
+
if (!def.parameterOrdering.includes(MODIFY_OBJECT_PARAMETER)) {
|
|
224
|
+
def.parameterOrdering = [MODIFY_OBJECT_PARAMETER, ...def.parameterOrdering];
|
|
225
|
+
}
|
|
224
226
|
const sortedOrdering = [...def.parameterOrdering].sort();
|
|
225
227
|
const sortedParameterNames = [...parameterNames].sort();
|
|
226
228
|
!(sortedOrdering.length === sortedParameterNames.length && sortedOrdering.every((name, index) => name === sortedParameterNames[index])) ? process.env.NODE_ENV !== "production" ? invariant(false, `Action parameter ordering for ${def.objectType.apiName} does not match non-excluded properties`) : invariant(false) : void 0;
|
|
227
229
|
}
|
|
228
230
|
const parameters = createParameters(def, parameterNames, false);
|
|
229
231
|
parameters.forEach(p => {
|
|
230
|
-
if (p.defaultValue === undefined) {
|
|
232
|
+
if (p.id !== MODIFY_OBJECT_PARAMETER && p.defaultValue === undefined) {
|
|
231
233
|
p.defaultValue = {
|
|
232
234
|
type: "objectParameterPropertyValue",
|
|
233
235
|
objectParameterPropertyValue: {
|
|
234
|
-
parameterId:
|
|
236
|
+
parameterId: MODIFY_OBJECT_PARAMETER,
|
|
235
237
|
propertyTypeId: p.id
|
|
236
238
|
}
|
|
237
239
|
};
|
|
@@ -241,27 +243,12 @@ export function defineModifyObjectAction(def) {
|
|
|
241
243
|
return defineAction({
|
|
242
244
|
apiName: def.apiName ?? `modify-object-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`,
|
|
243
245
|
displayName: def.displayName ?? `Modify ${def.objectType.displayName}`,
|
|
244
|
-
parameters:
|
|
245
|
-
id: "objectToModifyParameter",
|
|
246
|
-
displayName: "Modify object",
|
|
247
|
-
type: {
|
|
248
|
-
type: "objectReference",
|
|
249
|
-
objectReference: {
|
|
250
|
-
objectTypeId: def.objectType.apiName
|
|
251
|
-
}
|
|
252
|
-
},
|
|
253
|
-
validation: {
|
|
254
|
-
allowedValues: {
|
|
255
|
-
type: "objectQuery"
|
|
256
|
-
},
|
|
257
|
-
required: true
|
|
258
|
-
}
|
|
259
|
-
}, ...parameters],
|
|
246
|
+
parameters: parameters,
|
|
260
247
|
status: def.status ?? "active",
|
|
261
248
|
rules: [{
|
|
262
249
|
type: "modifyObjectRule",
|
|
263
250
|
modifyObjectRule: {
|
|
264
|
-
objectToModify:
|
|
251
|
+
objectToModify: MODIFY_OBJECT_PARAMETER,
|
|
265
252
|
propertyValues: {
|
|
266
253
|
...Object.fromEntries(propertyParameters.map(p => [p, {
|
|
267
254
|
type: "parameterId",
|
|
@@ -278,6 +265,7 @@ export function defineModifyObjectAction(def) {
|
|
|
278
265
|
affectedLinkTypes: [],
|
|
279
266
|
typeGroups: []
|
|
280
267
|
},
|
|
268
|
+
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters, MODIFY_OBJECT_PARAMETER),
|
|
281
269
|
...(def.actionLevelValidation ? {
|
|
282
270
|
validation: [convertValidationRule(def.actionLevelValidation)]
|
|
283
271
|
} : {}),
|
|
@@ -292,9 +280,6 @@ export function defineModifyObjectAction(def) {
|
|
|
292
280
|
}),
|
|
293
281
|
...(def.sections && {
|
|
294
282
|
sections: Object.fromEntries(def.sections.map(section => [section.id, section]))
|
|
295
|
-
}),
|
|
296
|
-
...(def.parameterOrdering && {
|
|
297
|
-
parameterOrdering: def.parameterOrdering
|
|
298
283
|
})
|
|
299
284
|
});
|
|
300
285
|
}
|
|
@@ -341,18 +326,22 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
341
326
|
const propertyParameters = Object.keys(def.objectType.properties ?? {}).filter(id => !def.excludedProperties?.includes(id) && !isStruct(def.objectType.properties?.[id].type) && id !== def.objectType.primaryKeyPropertyApiName);
|
|
342
327
|
const parameterNames = new Set(propertyParameters);
|
|
343
328
|
Object.keys(def.parameterConfiguration ?? {}).forEach(param => parameterNames.add(param));
|
|
329
|
+
parameterNames.add(CREATE_OR_MODIFY_OBJECT_PARAMETER);
|
|
344
330
|
if (def.parameterOrdering) {
|
|
331
|
+
if (!def.parameterOrdering.includes(CREATE_OR_MODIFY_OBJECT_PARAMETER)) {
|
|
332
|
+
def.parameterOrdering = [CREATE_OR_MODIFY_OBJECT_PARAMETER, ...def.parameterOrdering];
|
|
333
|
+
}
|
|
345
334
|
const sortedOrdering = [...def.parameterOrdering].sort();
|
|
346
335
|
const sortedParameterNames = [...parameterNames].sort();
|
|
347
336
|
!(sortedOrdering.length === sortedParameterNames.length && sortedOrdering.every((name, index) => name === sortedParameterNames[index])) ? process.env.NODE_ENV !== "production" ? invariant(false, `Action parameter ordering for ${def.objectType.apiName} does not match non-excluded properties`) : invariant(false) : void 0;
|
|
348
337
|
}
|
|
349
338
|
const parameters = createParameters(def, parameterNames, false);
|
|
350
339
|
parameters.forEach(p => {
|
|
351
|
-
if (p.defaultValue === undefined) {
|
|
340
|
+
if (p.id !== CREATE_OR_MODIFY_OBJECT_PARAMETER && p.defaultValue === undefined) {
|
|
352
341
|
p.defaultValue = {
|
|
353
342
|
type: "objectParameterPropertyValue",
|
|
354
343
|
objectParameterPropertyValue: {
|
|
355
|
-
parameterId:
|
|
344
|
+
parameterId: CREATE_OR_MODIFY_OBJECT_PARAMETER,
|
|
356
345
|
propertyTypeId: p.id
|
|
357
346
|
}
|
|
358
347
|
};
|
|
@@ -362,34 +351,12 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
362
351
|
return defineAction({
|
|
363
352
|
apiName: def.apiName ?? `create-or-modify-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`,
|
|
364
353
|
displayName: def.displayName ?? `Create or Modify ${def.objectType.displayName}`,
|
|
365
|
-
parameters:
|
|
366
|
-
id: "objectToCreateOrModifyParameter",
|
|
367
|
-
displayName: "Create or modify object",
|
|
368
|
-
type: {
|
|
369
|
-
type: "objectReference",
|
|
370
|
-
objectReference: {
|
|
371
|
-
objectTypeId: def.objectType.apiName,
|
|
372
|
-
maybeCreateObjectOption: !def.primaryKeyOption || def.primaryKeyOption === "autoGenerated" ? {
|
|
373
|
-
type: "autoGenerated",
|
|
374
|
-
autoGenerated: {}
|
|
375
|
-
} : {
|
|
376
|
-
type: "userInput",
|
|
377
|
-
userInput: {}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
validation: {
|
|
382
|
-
allowedValues: {
|
|
383
|
-
type: "objectQuery"
|
|
384
|
-
},
|
|
385
|
-
required: true
|
|
386
|
-
}
|
|
387
|
-
}, ...parameters],
|
|
354
|
+
parameters: parameters,
|
|
388
355
|
status: def.status ?? "active",
|
|
389
356
|
rules: [{
|
|
390
357
|
type: "addOrModifyObjectRuleV2",
|
|
391
358
|
addOrModifyObjectRuleV2: {
|
|
392
|
-
objectToModify:
|
|
359
|
+
objectToModify: CREATE_OR_MODIFY_OBJECT_PARAMETER,
|
|
393
360
|
propertyValues: {
|
|
394
361
|
...Object.fromEntries(propertyParameters.map(p => [p, {
|
|
395
362
|
type: "parameterId",
|
|
@@ -406,6 +373,7 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
406
373
|
affectedLinkTypes: [],
|
|
407
374
|
typeGroups: []
|
|
408
375
|
},
|
|
376
|
+
parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, parameters, CREATE_OR_MODIFY_OBJECT_PARAMETER),
|
|
409
377
|
...(def.actionLevelValidation ? {
|
|
410
378
|
validation: [convertValidationRule(def.actionLevelValidation)]
|
|
411
379
|
} : {}),
|
|
@@ -420,9 +388,6 @@ export function defineCreateOrModifyObjectAction(def) {
|
|
|
420
388
|
}),
|
|
421
389
|
...(def.sections && {
|
|
422
390
|
sections: Object.fromEntries(def.sections.map(section => [section.id, section]))
|
|
423
|
-
}),
|
|
424
|
-
...(def.parameterOrdering && {
|
|
425
|
-
parameterOrdering: def.parameterOrdering
|
|
426
391
|
})
|
|
427
392
|
});
|
|
428
393
|
}
|
|
@@ -460,19 +425,70 @@ export function defineAction(actionDef) {
|
|
|
460
425
|
},
|
|
461
426
|
__type: OntologyEntityTypeEnum.ACTION_TYPE
|
|
462
427
|
};
|
|
463
|
-
|
|
428
|
+
validateActionConfiguration(fullAction);
|
|
464
429
|
updateOntology(fullAction);
|
|
465
430
|
return fullAction;
|
|
466
431
|
}
|
|
467
432
|
function createParameters(def, parameterSet, defaultRequired) {
|
|
468
|
-
const
|
|
433
|
+
const targetParam = [];
|
|
469
434
|
// prefix objectReference parameters with the namespace
|
|
470
|
-
|
|
435
|
+
parameterSet.forEach(name => {
|
|
471
436
|
if (typeof def.parameterConfiguration?.[name]?.customParameterType === "object" && def.parameterConfiguration?.[name]?.customParameterType.type === "objectReference") {
|
|
472
437
|
def.parameterConfiguration[name].customParameterType.objectReference.objectTypeId = sanitize(def.parameterConfiguration[name].customParameterType.objectReference.objectTypeId);
|
|
473
438
|
}
|
|
439
|
+
if (name === MODIFY_OBJECT_PARAMETER) {
|
|
440
|
+
targetParam.push({
|
|
441
|
+
id: MODIFY_OBJECT_PARAMETER,
|
|
442
|
+
displayName: def.parameterConfiguration?.[name]?.displayName ?? "Modify object",
|
|
443
|
+
type: {
|
|
444
|
+
type: "objectReference",
|
|
445
|
+
objectReference: {
|
|
446
|
+
objectTypeId: def.objectType.apiName
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
validation: {
|
|
450
|
+
...def.parameterConfiguration?.[name],
|
|
451
|
+
allowedValues: {
|
|
452
|
+
type: "objectQuery"
|
|
453
|
+
},
|
|
454
|
+
required: def.parameterConfiguration?.[name]?.required ?? true
|
|
455
|
+
},
|
|
456
|
+
defaultValue: def.parameterConfiguration?.[name]?.defaultValue,
|
|
457
|
+
description: def.parameterConfiguration?.[name]?.description
|
|
458
|
+
});
|
|
459
|
+
parameterSet.delete(MODIFY_OBJECT_PARAMETER);
|
|
460
|
+
}
|
|
461
|
+
if (name === CREATE_OR_MODIFY_OBJECT_PARAMETER) {
|
|
462
|
+
targetParam.push({
|
|
463
|
+
id: CREATE_OR_MODIFY_OBJECT_PARAMETER,
|
|
464
|
+
displayName: def.parameterConfiguration?.[name]?.displayName ?? "Create or modify object",
|
|
465
|
+
type: {
|
|
466
|
+
type: "objectReference",
|
|
467
|
+
objectReference: {
|
|
468
|
+
objectTypeId: def.objectType.apiName,
|
|
469
|
+
maybeCreateObjectOption: !def.primaryKeyOption || def.primaryKeyOption === "autoGenerated" ? {
|
|
470
|
+
type: "autoGenerated",
|
|
471
|
+
autoGenerated: {}
|
|
472
|
+
} : {
|
|
473
|
+
type: "userInput",
|
|
474
|
+
userInput: {}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
validation: {
|
|
479
|
+
...def.parameterConfiguration?.[name],
|
|
480
|
+
allowedValues: {
|
|
481
|
+
type: "objectQuery"
|
|
482
|
+
},
|
|
483
|
+
required: def.parameterConfiguration?.[name]?.required ?? true
|
|
484
|
+
},
|
|
485
|
+
defaultValue: def.parameterConfiguration?.[name]?.defaultValue,
|
|
486
|
+
description: def.parameterConfiguration?.[name]?.description
|
|
487
|
+
});
|
|
488
|
+
parameterSet.delete(CREATE_OR_MODIFY_OBJECT_PARAMETER);
|
|
489
|
+
}
|
|
474
490
|
});
|
|
475
|
-
return Array.from(
|
|
491
|
+
return [...targetParam, ...Array.from(parameterSet).map(id => ({
|
|
476
492
|
id,
|
|
477
493
|
displayName: def.parameterConfiguration?.[id]?.displayName ?? def.objectType.properties?.[id]?.displayName ?? convertToDisplayName(id),
|
|
478
494
|
type: def.parameterConfiguration?.[id]?.customParameterType ?? extractActionParameterType(def.objectType.properties?.[id]),
|
|
@@ -490,7 +506,7 @@ function createParameters(def, parameterSet, defaultRequired) {
|
|
|
490
506
|
},
|
|
491
507
|
defaultValue: def.parameterConfiguration?.[id]?.defaultValue,
|
|
492
508
|
description: def.parameterConfiguration?.[id]?.description
|
|
493
|
-
}));
|
|
509
|
+
}))];
|
|
494
510
|
}
|
|
495
511
|
function referencedParameterIds(actionDef) {
|
|
496
512
|
const parameterIds = new Set();
|
|
@@ -778,7 +794,7 @@ function convertValidationRule(actionValidation) {
|
|
|
778
794
|
}
|
|
779
795
|
};
|
|
780
796
|
}
|
|
781
|
-
function
|
|
797
|
+
function validateActionConfiguration(action) {
|
|
782
798
|
const seenParameterIds = new Set();
|
|
783
799
|
const parameterMap = action.parameters?.reduce((acc, param) => {
|
|
784
800
|
acc[param.id] = param;
|
|
@@ -787,15 +803,13 @@ function validateActionValidation(action) {
|
|
|
787
803
|
const orderedParameters = action.parameterOrdering?.map(id => parameterMap[id]) ?? action.parameters;
|
|
788
804
|
orderedParameters?.forEach(param => {
|
|
789
805
|
param.validation.conditionalOverrides?.forEach(override => {
|
|
790
|
-
|
|
806
|
+
validateParameterCondition(override.condition, param.id, seenParameterIds, action.parameters);
|
|
791
807
|
});
|
|
792
|
-
|
|
793
|
-
!(param.defaultValue.staticValue.type === param.type) ? process.env.NODE_ENV !== "production" ? invariant(false, `Default static value for parameter ${param.id} does not match type`) : invariant(false) : void 0;
|
|
794
|
-
}
|
|
808
|
+
validateParameterPrefill(param.id, seenParameterIds, action.parameters, param.defaultValue);
|
|
795
809
|
seenParameterIds.add(param.id);
|
|
796
810
|
});
|
|
797
811
|
}
|
|
798
|
-
function
|
|
812
|
+
function validateParameterCondition(condition, currentParameterId, seenParameterIds, parameters) {
|
|
799
813
|
switch (condition.type) {
|
|
800
814
|
case "parameter":
|
|
801
815
|
const overrideParamId = condition.parameterId;
|
|
@@ -806,12 +820,12 @@ function validateActionCondition(condition, currentParameterId, seenParameterIds
|
|
|
806
820
|
case "and":
|
|
807
821
|
// this will not catch the niche edge case where users use the full syntax for unions
|
|
808
822
|
if ("conditions" in condition) {
|
|
809
|
-
condition.conditions.forEach(c =>
|
|
823
|
+
condition.conditions.forEach(c => validateParameterCondition(c, currentParameterId, seenParameterIds, parameters));
|
|
810
824
|
}
|
|
811
825
|
break;
|
|
812
826
|
case "or":
|
|
813
827
|
if ("conditions" in condition) {
|
|
814
|
-
condition.conditions.forEach(c =>
|
|
828
|
+
condition.conditions.forEach(c => validateParameterCondition(c, currentParameterId, seenParameterIds, parameters));
|
|
815
829
|
}
|
|
816
830
|
break;
|
|
817
831
|
case "comparison":
|
|
@@ -826,13 +840,40 @@ function validateActionCondition(condition, currentParameterId, seenParameterIds
|
|
|
826
840
|
throw new Error(`Unknown condition type on parameter ${currentParameterId}`);
|
|
827
841
|
}
|
|
828
842
|
}
|
|
843
|
+
function validateParameterPrefill(currentParameterId, seenParameterIds, parameters, defaultValue) {
|
|
844
|
+
if (!defaultValue) return;
|
|
845
|
+
switch (defaultValue.type) {
|
|
846
|
+
case "objectParameterPropertyValue":
|
|
847
|
+
!parameters?.some(p => p.id === defaultValue.objectParameterPropertyValue.parameterId) ? process.env.NODE_ENV !== "production" ? invariant(false, `Default value for parameter ${currentParameterId} is referencing unknown parameter ${defaultValue.objectParameterPropertyValue.parameterId}`) : invariant(false) : void 0;
|
|
848
|
+
!seenParameterIds.has(defaultValue.objectParameterPropertyValue.parameterId) ? process.env.NODE_ENV !== "production" ? invariant(false, `Default value for parameter ${currentParameterId} is referencing later parameter ${defaultValue.objectParameterPropertyValue.parameterId}`) : invariant(false) : void 0;
|
|
849
|
+
break;
|
|
850
|
+
case "staticValue":
|
|
851
|
+
!(defaultValue.staticValue.type === parameters?.find(p => p.id === currentParameterId)?.type) ? process.env.NODE_ENV !== "production" ? invariant(false, `Default static value for parameter ${currentParameterId} does not match type`) : invariant(false) : void 0;
|
|
852
|
+
break;
|
|
853
|
+
case "staticObject":
|
|
854
|
+
case "interfaceParameterPropertyValue":
|
|
855
|
+
case "objectQueryPrefill":
|
|
856
|
+
case "objectQueryPropertyValue":
|
|
857
|
+
case "objectSetRidPrefill":
|
|
858
|
+
case "redacted":
|
|
859
|
+
break;
|
|
860
|
+
default:
|
|
861
|
+
throw new Error(`Unknown default value type for parameter ${currentParameterId}`);
|
|
862
|
+
}
|
|
863
|
+
}
|
|
829
864
|
function validateActionParameters(def) {
|
|
830
865
|
// validates that parameters either exist as object properties or have a type defined
|
|
831
866
|
[...Object.keys(def.parameterConfiguration ?? {})].forEach(id => {
|
|
832
|
-
!(def.objectType.properties?.[id] !== undefined || def.parameterConfiguration?.[id].customParameterType !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Parameter ${id} does not exist as a property on ${def.objectType.apiName} and its type is not explicitly defined`) : invariant(false) : void 0;
|
|
867
|
+
!(def.objectType.properties?.[id] !== undefined || def.parameterConfiguration?.[id].customParameterType !== undefined || id === MODIFY_OBJECT_PARAMETER || id === CREATE_OR_MODIFY_OBJECT_PARAMETER) ? process.env.NODE_ENV !== "production" ? invariant(false, `Parameter ${id} does not exist as a property on ${def.objectType.apiName} and its type is not explicitly defined`) : invariant(false) : void 0;
|
|
833
868
|
});
|
|
834
869
|
[...Object.keys(def.nonParameterMappings ?? {}), ...(def.excludedProperties ?? [])].forEach(id => {
|
|
835
870
|
!(def.objectType.properties?.[id] !== undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Property ${id} does not exist as a property on ${def.objectType.apiName}`) : invariant(false) : void 0;
|
|
836
871
|
});
|
|
837
872
|
}
|
|
873
|
+
|
|
874
|
+
// Parameters with configurations will be ordered first in the order they were defined
|
|
875
|
+
// followed by the rest of the parameters in the order they were defined on the object type
|
|
876
|
+
function createDefaultParameterOrdering(def, parameters, priorityId) {
|
|
877
|
+
return [...(priorityId ? [priorityId] : []), ...Object.keys(def.parameterConfiguration ?? {}), ...Object.keys(def.objectType.properties ?? {}).filter(id => !def.parameterConfiguration?.[id] && parameters.some(p => p.id === id))];
|
|
878
|
+
}
|
|
838
879
|
//# sourceMappingURL=defineAction.js.map
|