@rippling/rippling-sdk 0.2.0-alpha.83 → 0.2.0-alpha.85
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/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +44 -26
- package/examples/manifest/dental-practice-management/dental-practice-management.ts +470 -142
- package/examples/manifest/dental-practice-management/functions/chair-schedule.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/complete-visit.ts +55 -32
- package/examples/manifest/dental-practice-management/functions/operatory-list.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/patient-list.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/treatment-plan-list.ts +23 -13
- package/examples/manifest/existing-manifest-mutations/existing-manifest-mutations.ts +23 -68
- package/examples/manifest/field-service-dispatch/field-service-dispatch.ts +375 -102
- package/examples/manifest/grant-program-management/grant-program-management.ts +419 -125
- package/examples/manifest/gym-membership-management/functions/check-in-desk.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/member-list.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/today-schedule.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/trainer-list.ts +23 -13
- package/examples/manifest/gym-membership-management/gym-membership-management.ts +442 -92
- package/examples/manifest/procurement-approval-hub/procurement-approval-hub.ts +408 -122
- package/examples/manifest/simple-todo-app/functions/mark-done.ts +12 -16
- package/examples/manifest/simple-todo-app/functions/todo-list.ts +23 -13
- package/examples/manifest/simple-todo-app/simple-todo-app.ts +109 -40
- package/examples/manifest/todo-app-without-object-list-view/functions/todo-page.ts +193 -166
- package/examples/manifest/todo-app-without-object-list-view/todo-app-without-object-list-view.ts +47 -24
- package/package.json +13 -7
- package/resources/custom-objects/custom-objects.d.mts +0 -7
- package/resources/custom-objects/custom-objects.d.mts.map +1 -1
- package/resources/custom-objects/custom-objects.d.ts +0 -7
- package/resources/custom-objects/custom-objects.d.ts.map +1 -1
- package/resources/custom-objects/custom-objects.js.map +1 -1
- package/resources/custom-objects/custom-objects.mjs.map +1 -1
- package/resources/custom-objects/fields.d.mts +14 -128
- package/resources/custom-objects/fields.d.mts.map +1 -1
- package/resources/custom-objects/fields.d.ts +14 -128
- package/resources/custom-objects/fields.d.ts.map +1 -1
- package/src/resources/custom-objects/custom-objects.ts +0 -8
- package/src/resources/custom-objects/fields.ts +13 -191
- package/src/tsconfig.json +1 -1
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/core/platform/custom-objects/category.d.mts +0 -125
- package/core/platform/custom-objects/category.d.mts.map +0 -1
- package/core/platform/custom-objects/category.d.ts +0 -125
- package/core/platform/custom-objects/category.d.ts.map +0 -1
- package/core/platform/custom-objects/category.js +0 -188
- package/core/platform/custom-objects/category.js.map +0 -1
- package/core/platform/custom-objects/category.mjs +0 -178
- package/core/platform/custom-objects/category.mjs.map +0 -1
- package/core/platform/custom-objects/definition.d.mts +0 -147
- package/core/platform/custom-objects/definition.d.mts.map +0 -1
- package/core/platform/custom-objects/definition.d.ts +0 -147
- package/core/platform/custom-objects/definition.d.ts.map +0 -1
- package/core/platform/custom-objects/definition.js +0 -200
- package/core/platform/custom-objects/definition.js.map +0 -1
- package/core/platform/custom-objects/definition.mjs +0 -190
- package/core/platform/custom-objects/definition.mjs.map +0 -1
- package/core/platform/custom-objects/fields.d.mts +0 -302
- package/core/platform/custom-objects/fields.d.mts.map +0 -1
- package/core/platform/custom-objects/fields.d.ts +0 -302
- package/core/platform/custom-objects/fields.d.ts.map +0 -1
- package/core/platform/custom-objects/fields.js +0 -369
- package/core/platform/custom-objects/fields.js.map +0 -1
- package/core/platform/custom-objects/fields.mjs +0 -347
- package/core/platform/custom-objects/fields.mjs.map +0 -1
- package/core/platform/custom-objects/function-runtime.d.mts +0 -42
- package/core/platform/custom-objects/function-runtime.d.mts.map +0 -1
- package/core/platform/custom-objects/function-runtime.d.ts +0 -42
- package/core/platform/custom-objects/function-runtime.d.ts.map +0 -1
- package/core/platform/custom-objects/function-runtime.js +0 -38
- package/core/platform/custom-objects/function-runtime.js.map +0 -1
- package/core/platform/custom-objects/function-runtime.mjs +0 -35
- package/core/platform/custom-objects/function-runtime.mjs.map +0 -1
- package/core/platform/custom-objects/lifecycle.d.mts +0 -83
- package/core/platform/custom-objects/lifecycle.d.mts.map +0 -1
- package/core/platform/custom-objects/lifecycle.d.ts +0 -83
- package/core/platform/custom-objects/lifecycle.d.ts.map +0 -1
- package/core/platform/custom-objects/lifecycle.js +0 -372
- package/core/platform/custom-objects/lifecycle.js.map +0 -1
- package/core/platform/custom-objects/lifecycle.mjs +0 -367
- package/core/platform/custom-objects/lifecycle.mjs.map +0 -1
- package/core/platform/custom-objects/manager.d.mts +0 -354
- package/core/platform/custom-objects/manager.d.mts.map +0 -1
- package/core/platform/custom-objects/manager.d.ts +0 -354
- package/core/platform/custom-objects/manager.d.ts.map +0 -1
- package/core/platform/custom-objects/manager.js +0 -646
- package/core/platform/custom-objects/manager.js.map +0 -1
- package/core/platform/custom-objects/manager.mjs +0 -637
- package/core/platform/custom-objects/manager.mjs.map +0 -1
- package/core/platform/custom-objects/provisioning.d.mts +0 -138
- package/core/platform/custom-objects/provisioning.d.mts.map +0 -1
- package/core/platform/custom-objects/provisioning.d.ts +0 -138
- package/core/platform/custom-objects/provisioning.d.ts.map +0 -1
- package/core/platform/custom-objects/provisioning.js +0 -455
- package/core/platform/custom-objects/provisioning.js.map +0 -1
- package/core/platform/custom-objects/provisioning.mjs +0 -447
- package/core/platform/custom-objects/provisioning.mjs.map +0 -1
- package/core/platform/custom-objects/rql.d.mts +0 -122
- package/core/platform/custom-objects/rql.d.mts.map +0 -1
- package/core/platform/custom-objects/rql.d.ts +0 -122
- package/core/platform/custom-objects/rql.d.ts.map +0 -1
- package/core/platform/custom-objects/rql.js +0 -225
- package/core/platform/custom-objects/rql.js.map +0 -1
- package/core/platform/custom-objects/rql.mjs +0 -222
- package/core/platform/custom-objects/rql.mjs.map +0 -1
- package/core/platform/custom-objects/schema-manager.d.mts +0 -203
- package/core/platform/custom-objects/schema-manager.d.mts.map +0 -1
- package/core/platform/custom-objects/schema-manager.d.ts +0 -203
- package/core/platform/custom-objects/schema-manager.d.ts.map +0 -1
- package/core/platform/custom-objects/schema-manager.js +0 -256
- package/core/platform/custom-objects/schema-manager.js.map +0 -1
- package/core/platform/custom-objects/schema-manager.mjs +0 -249
- package/core/platform/custom-objects/schema-manager.mjs.map +0 -1
- package/core/platform/custom-objects/typed-rql.d.mts +0 -157
- package/core/platform/custom-objects/typed-rql.d.mts.map +0 -1
- package/core/platform/custom-objects/typed-rql.d.ts +0 -157
- package/core/platform/custom-objects/typed-rql.d.ts.map +0 -1
- package/core/platform/custom-objects/typed-rql.js +0 -583
- package/core/platform/custom-objects/typed-rql.js.map +0 -1
- package/core/platform/custom-objects/typed-rql.mjs +0 -580
- package/core/platform/custom-objects/typed-rql.mjs.map +0 -1
- package/core/platform/custom-objects/types.d.mts +0 -549
- package/core/platform/custom-objects/types.d.mts.map +0 -1
- package/core/platform/custom-objects/types.d.ts +0 -549
- package/core/platform/custom-objects/types.d.ts.map +0 -1
- package/core/platform/custom-objects/types.js +0 -20
- package/core/platform/custom-objects/types.js.map +0 -1
- package/core/platform/custom-objects/types.mjs +0 -17
- package/core/platform/custom-objects/types.mjs.map +0 -1
- package/core/platform/custom-objects/validation.d.mts +0 -97
- package/core/platform/custom-objects/validation.d.mts.map +0 -1
- package/core/platform/custom-objects/validation.d.ts +0 -97
- package/core/platform/custom-objects/validation.d.ts.map +0 -1
- package/core/platform/custom-objects/validation.js +0 -477
- package/core/platform/custom-objects/validation.js.map +0 -1
- package/core/platform/custom-objects/validation.mjs +0 -465
- package/core/platform/custom-objects/validation.mjs.map +0 -1
- package/core/platform/custom-objects.d.mts +0 -67
- package/core/platform/custom-objects.d.mts.map +0 -1
- package/core/platform/custom-objects.d.ts +0 -67
- package/core/platform/custom-objects.d.ts.map +0 -1
- package/core/platform/custom-objects.js +0 -118
- package/core/platform/custom-objects.js.map +0 -1
- package/core/platform/custom-objects.mjs +0 -45
- package/core/platform/custom-objects.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/action.d.mts +0 -58
- package/core/platform/manifest/custom-objects/action.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/action.d.ts +0 -58
- package/core/platform/manifest/custom-objects/action.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/action.js +0 -44
- package/core/platform/manifest/custom-objects/action.js.map +0 -1
- package/core/platform/manifest/custom-objects/action.mjs +0 -40
- package/core/platform/manifest/custom-objects/action.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.d.mts +0 -240
- package/core/platform/manifest/custom-objects/conditions.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.d.ts +0 -240
- package/core/platform/manifest/custom-objects/conditions.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.js +0 -326
- package/core/platform/manifest/custom-objects/conditions.js.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.mjs +0 -321
- package/core/platform/manifest/custom-objects/conditions.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/existing.d.mts +0 -87
- package/core/platform/manifest/custom-objects/existing.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/existing.d.ts +0 -87
- package/core/platform/manifest/custom-objects/existing.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/existing.js +0 -113
- package/core/platform/manifest/custom-objects/existing.js.map +0 -1
- package/core/platform/manifest/custom-objects/existing.mjs +0 -109
- package/core/platform/manifest/custom-objects/existing.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.d.mts +0 -48
- package/core/platform/manifest/custom-objects/field-resolution.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.d.ts +0 -48
- package/core/platform/manifest/custom-objects/field-resolution.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.js +0 -61
- package/core/platform/manifest/custom-objects/field-resolution.js.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.mjs +0 -58
- package/core/platform/manifest/custom-objects/field-resolution.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.d.mts +0 -87
- package/core/platform/manifest/custom-objects/function-file.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.d.ts +0 -87
- package/core/platform/manifest/custom-objects/function-file.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.js +0 -76
- package/core/platform/manifest/custom-objects/function-file.js.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.mjs +0 -69
- package/core/platform/manifest/custom-objects/function-file.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.d.mts +0 -65
- package/core/platform/manifest/custom-objects/list-view.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.d.ts +0 -65
- package/core/platform/manifest/custom-objects/list-view.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.js +0 -33
- package/core/platform/manifest/custom-objects/list-view.js.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.mjs +0 -30
- package/core/platform/manifest/custom-objects/list-view.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.d.mts +0 -43
- package/core/platform/manifest/custom-objects/object-list-page.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.d.ts +0 -43
- package/core/platform/manifest/custom-objects/object-list-page.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.js +0 -54
- package/core/platform/manifest/custom-objects/object-list-page.js.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.mjs +0 -50
- package/core/platform/manifest/custom-objects/object-list-page.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.d.mts +0 -142
- package/core/platform/manifest/custom-objects/page-layout.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.d.ts +0 -142
- package/core/platform/manifest/custom-objects/page-layout.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.js +0 -184
- package/core/platform/manifest/custom-objects/page-layout.js.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.mjs +0 -180
- package/core/platform/manifest/custom-objects/page-layout.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/register.d.mts +0 -87
- package/core/platform/manifest/custom-objects/register.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/register.d.ts +0 -87
- package/core/platform/manifest/custom-objects/register.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/register.js +0 -395
- package/core/platform/manifest/custom-objects/register.js.map +0 -1
- package/core/platform/manifest/custom-objects/register.mjs +0 -391
- package/core/platform/manifest/custom-objects/register.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/rule.d.mts +0 -113
- package/core/platform/manifest/custom-objects/rule.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/rule.d.ts +0 -113
- package/core/platform/manifest/custom-objects/rule.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/rule.js +0 -49
- package/core/platform/manifest/custom-objects/rule.js.map +0 -1
- package/core/platform/manifest/custom-objects/rule.mjs +0 -45
- package/core/platform/manifest/custom-objects/rule.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.d.mts +0 -214
- package/core/platform/manifest/custom-objects/sdui-page.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.d.ts +0 -214
- package/core/platform/manifest/custom-objects/sdui-page.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.js +0 -194
- package/core/platform/manifest/custom-objects/sdui-page.js.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.mjs +0 -182
- package/core/platform/manifest/custom-objects/sdui-page.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.d.mts +0 -28
- package/core/platform/manifest/custom-objects/typed-condition.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.d.ts +0 -28
- package/core/platform/manifest/custom-objects/typed-condition.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.js +0 -434
- package/core/platform/manifest/custom-objects/typed-condition.js.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.mjs +0 -431
- package/core/platform/manifest/custom-objects/typed-condition.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/types.d.mts +0 -29
- package/core/platform/manifest/custom-objects/types.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/types.d.ts +0 -29
- package/core/platform/manifest/custom-objects/types.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/types.js +0 -3
- package/core/platform/manifest/custom-objects/types.js.map +0 -1
- package/core/platform/manifest/custom-objects/types.mjs +0 -2
- package/core/platform/manifest/custom-objects/types.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/validation.d.mts +0 -44
- package/core/platform/manifest/custom-objects/validation.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/validation.d.ts +0 -44
- package/core/platform/manifest/custom-objects/validation.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/validation.js +0 -30
- package/core/platform/manifest/custom-objects/validation.js.map +0 -1
- package/core/platform/manifest/custom-objects/validation.mjs +0 -27
- package/core/platform/manifest/custom-objects/validation.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.d.mts +0 -47
- package/core/platform/manifest/custom-objects/workflow.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.d.ts +0 -47
- package/core/platform/manifest/custom-objects/workflow.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.js +0 -38
- package/core/platform/manifest/custom-objects/workflow.js.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.mjs +0 -34
- package/core/platform/manifest/custom-objects/workflow.mjs.map +0 -1
- package/core/platform/manifest/custom-objects.d.mts +0 -85
- package/core/platform/manifest/custom-objects.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects.d.ts +0 -85
- package/core/platform/manifest/custom-objects.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects.js +0 -84
- package/core/platform/manifest/custom-objects.js.map +0 -1
- package/core/platform/manifest/custom-objects.mjs +0 -55
- package/core/platform/manifest/custom-objects.mjs.map +0 -1
- package/examples/manifest/custom-object-creation-workflow/functions/intake-request-created.ts +0 -20
- package/examples/manifest/custom-object-creation-workflow/schema.ts +0 -29
- package/examples/manifest/dental-practice-management/schema.ts +0 -298
- package/examples/manifest/field-service-dispatch/schema.ts +0 -248
- package/examples/manifest/grant-program-management/schema.ts +0 -269
- package/examples/manifest/gym-membership-management/schema.ts +0 -266
- package/examples/manifest/procurement-approval-hub/functions/route-purchase-request.ts +0 -20
- package/examples/manifest/procurement-approval-hub/schema.ts +0 -256
- package/examples/manifest/simple-todo-app/schema.ts +0 -60
- package/examples/manifest/todo-app-without-object-list-view/schema.ts +0 -28
- package/src/core/platform/README.md +0 -20
- package/src/core/platform/custom-objects/category.ts +0 -294
- package/src/core/platform/custom-objects/definition.ts +0 -373
- package/src/core/platform/custom-objects/fields.ts +0 -653
- package/src/core/platform/custom-objects/function-runtime.ts +0 -76
- package/src/core/platform/custom-objects/lifecycle.ts +0 -557
- package/src/core/platform/custom-objects/manager.ts +0 -959
- package/src/core/platform/custom-objects/provisioning.ts +0 -672
- package/src/core/platform/custom-objects/rql.ts +0 -375
- package/src/core/platform/custom-objects/schema-manager.ts +0 -351
- package/src/core/platform/custom-objects/typed-rql.ts +0 -1273
- package/src/core/platform/custom-objects/types.ts +0 -753
- package/src/core/platform/custom-objects/validation.ts +0 -573
- package/src/core/platform/custom-objects.ts +0 -269
- package/src/core/platform/manifest/README.md +0 -26
- package/src/core/platform/manifest/custom-objects/action.ts +0 -87
- package/src/core/platform/manifest/custom-objects/conditions.ts +0 -762
- package/src/core/platform/manifest/custom-objects/existing.ts +0 -221
- package/src/core/platform/manifest/custom-objects/field-resolution.ts +0 -116
- package/src/core/platform/manifest/custom-objects/function-file.ts +0 -149
- package/src/core/platform/manifest/custom-objects/list-view.ts +0 -95
- package/src/core/platform/manifest/custom-objects/object-list-page.ts +0 -87
- package/src/core/platform/manifest/custom-objects/page-layout.ts +0 -380
- package/src/core/platform/manifest/custom-objects/register.ts +0 -555
- package/src/core/platform/manifest/custom-objects/rule.ts +0 -192
- package/src/core/platform/manifest/custom-objects/sdui-page.ts +0 -515
- package/src/core/platform/manifest/custom-objects/typed-condition.ts +0 -617
- package/src/core/platform/manifest/custom-objects/types.ts +0 -92
- package/src/core/platform/manifest/custom-objects/validation.ts +0 -70
- package/src/core/platform/manifest/custom-objects/workflow.ts +0 -71
- package/src/core/platform/manifest/custom-objects.ts +0 -203
- package/src/pebble-sdui-web-custom-apps-shim.d.ts +0 -3
|
@@ -1,391 +0,0 @@
|
|
|
1
|
-
import { BooleanField, CurrencyField, CustomObject, CustomObjectFieldSection, DateField, DatetimeField, EmailField, FileField, FormulaField, LongTextField, LookupField, NumberField, ParentChildField, PercentageField, PhoneField, RadioField, SelectField, TextField, TimeField, UrlField, } from "../../../../lib/manifest.mjs";
|
|
2
|
-
/**
|
|
3
|
-
* Throws when the provided manifest category does not match the typed definition.
|
|
4
|
-
*
|
|
5
|
-
* @param definition - Typed object definition being materialized.
|
|
6
|
-
* @param category - Concrete manifest category provided by the caller.
|
|
7
|
-
*/
|
|
8
|
-
function assertMatchingCategory(definition, category) {
|
|
9
|
-
if (category.getApiName() !== definition.categoryApiName) {
|
|
10
|
-
throw new Error(`Category mismatch while registering "${definition.name}": ` +
|
|
11
|
-
`definition expects "${definition.categoryApiName}", but the provided Category is "${category.getApiName()}".`);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Creates the manifest object instance and concrete sections for one typed definition.
|
|
16
|
-
*
|
|
17
|
-
* Field registration is intentionally deferred so multi-object registration can
|
|
18
|
-
* create every manifest object up front and then resolve parent-child targets in
|
|
19
|
-
* a second pass.
|
|
20
|
-
*
|
|
21
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
22
|
-
* @param options - Typed object definition plus manifest-specific registration options.
|
|
23
|
-
* @returns Scaffold containing the object instance, concrete sections, and fallback section.
|
|
24
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
25
|
-
*/
|
|
26
|
-
function createRegistrationScaffold(scope, options) {
|
|
27
|
-
const { definition } = options;
|
|
28
|
-
assertMatchingCategory(definition, options.category);
|
|
29
|
-
const objectInstance = new CustomObject(scope, {
|
|
30
|
-
apiName: definition.apiName,
|
|
31
|
-
name: definition.displayName,
|
|
32
|
-
...(definition.pluralLabel != null ? { pluralLabel: definition.pluralLabel } : {}),
|
|
33
|
-
category: options.category,
|
|
34
|
-
description: definition.description,
|
|
35
|
-
...(definition.icon != null ? { icon: definition.icon } : {}),
|
|
36
|
-
...(definition.nameField.kind === 'autonumber' ?
|
|
37
|
-
{
|
|
38
|
-
nameFieldDetails: {
|
|
39
|
-
is_autonumber_field: true,
|
|
40
|
-
autonumber_format: definition.nameField.format,
|
|
41
|
-
...(definition.nameField.startingNumber != null ?
|
|
42
|
-
{ starting_number: definition.nameField.startingNumber }
|
|
43
|
-
: {}),
|
|
44
|
-
},
|
|
45
|
-
}
|
|
46
|
-
: {}),
|
|
47
|
-
});
|
|
48
|
-
const sectionMap = Object.fromEntries(Object.entries(definition.sections).map(([key, sectionDef]) => [
|
|
49
|
-
key,
|
|
50
|
-
new CustomObjectFieldSection(objectInstance, {
|
|
51
|
-
name: sectionDef.name,
|
|
52
|
-
...(sectionDef.sectionId != null ? { sectionId: sectionDef.sectionId } : {}),
|
|
53
|
-
}),
|
|
54
|
-
]));
|
|
55
|
-
const defaultSection = options.defaultSection == null ?
|
|
56
|
-
undefined
|
|
57
|
-
: new CustomObjectFieldSection(objectInstance, {
|
|
58
|
-
name: options.defaultSection.name,
|
|
59
|
-
...(options.defaultSection.sectionId != null ? { sectionId: options.defaultSection.sectionId } : {}),
|
|
60
|
-
});
|
|
61
|
-
return {
|
|
62
|
-
definition,
|
|
63
|
-
category: options.category,
|
|
64
|
-
object: objectInstance,
|
|
65
|
-
sections: sectionMap,
|
|
66
|
-
defaultSection,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Registers the concrete manifest fields for one typed definition.
|
|
71
|
-
*
|
|
72
|
-
* @param scaffold - Previously created registration scaffold.
|
|
73
|
-
* @param resolveCustomObjectTarget - Optional resolver for parent-child targets that need manifest objects.
|
|
74
|
-
* @returns Concrete manifest fields keyed by logical field name.
|
|
75
|
-
* @typeParam TDefinition - Object definition whose fields should be materialized.
|
|
76
|
-
*/
|
|
77
|
-
function registerFieldsForScaffold(scaffold, resolveCustomObjectTarget) {
|
|
78
|
-
return Object.fromEntries(Object.entries(scaffold.definition.fields).map(([fieldLogicalName, field]) => [
|
|
79
|
-
fieldLogicalName,
|
|
80
|
-
registerField(scaffold.object, fieldLogicalName, field, scaffold.sections, scaffold.defaultSection, resolveCustomObjectTarget),
|
|
81
|
-
]));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Translates one typed formula-field discriminant into the low-level manifest formula output type.
|
|
85
|
-
*
|
|
86
|
-
* @param kind - Typed field-kind discriminant already known to be a formula variant.
|
|
87
|
-
* @returns Manifest formula output-type token.
|
|
88
|
-
*/
|
|
89
|
-
function formulaFieldType(kind) {
|
|
90
|
-
switch (kind) {
|
|
91
|
-
case 'formula-text':
|
|
92
|
-
return 'TEXT';
|
|
93
|
-
case 'formula-number':
|
|
94
|
-
return 'NUMBER';
|
|
95
|
-
case 'formula-boolean':
|
|
96
|
-
return 'BOOLEAN';
|
|
97
|
-
case 'formula-currency':
|
|
98
|
-
return 'CURRENCY';
|
|
99
|
-
case 'formula-percentage':
|
|
100
|
-
return 'PERCENTAGE';
|
|
101
|
-
case 'formula-date':
|
|
102
|
-
return 'DATE';
|
|
103
|
-
case 'formula-url':
|
|
104
|
-
return 'URL';
|
|
105
|
-
default:
|
|
106
|
-
throw new Error(`Unsupported formula field kind: ${String(kind)}.`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Resolves the concrete manifest section instance for one field definition.
|
|
111
|
-
*
|
|
112
|
-
* @param objectInstance - Manifest custom-object instance that owns the field.
|
|
113
|
-
* @param sectionKey - Optional typed section key referenced by the field definition.
|
|
114
|
-
* @param sections - Concrete manifest sections keyed by typed section aliases.
|
|
115
|
-
* @param defaultSection - Optional fallback section for fields that omit `section`.
|
|
116
|
-
* @param fieldLogicalName - Logical field name used for error messages.
|
|
117
|
-
* @returns Concrete manifest section instance.
|
|
118
|
-
* @throws Error when the field has no resolvable section.
|
|
119
|
-
*/
|
|
120
|
-
function resolveSection(objectInstance, sectionKey, sections, defaultSection, fieldLogicalName) {
|
|
121
|
-
if (sectionKey != null) {
|
|
122
|
-
const found = sections[sectionKey];
|
|
123
|
-
if (found != null)
|
|
124
|
-
return found;
|
|
125
|
-
throw new Error(`Unknown section key "${sectionKey}" while registering field "${fieldLogicalName}".`);
|
|
126
|
-
}
|
|
127
|
-
if (defaultSection != null)
|
|
128
|
-
return defaultSection;
|
|
129
|
-
throw new Error(`Field "${fieldLogicalName}" on "${objectInstance.getApiName()}" has no section. ` +
|
|
130
|
-
'Either assign a section key in the definition or provide defaultSection when registering the manifest object.');
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Instantiates the concrete manifest field class for one typed field definition.
|
|
134
|
-
*
|
|
135
|
-
* @param objectInstance - Manifest custom-object instance that will own the field.
|
|
136
|
-
* @param fieldLogicalName - Logical field name used for error messages.
|
|
137
|
-
* @param field - Typed field definition to materialize.
|
|
138
|
-
* @param sections - Concrete manifest sections keyed by typed section aliases.
|
|
139
|
-
* @param defaultSection - Optional fallback section for fields that omit `section`.
|
|
140
|
-
* @param resolveCustomObjectTarget - Optional resolver for parent-child targets that need manifest objects.
|
|
141
|
-
* @returns Concrete manifest field instance matching the typed field definition.
|
|
142
|
-
*/
|
|
143
|
-
function registerField(objectInstance, fieldLogicalName, field, sections, defaultSection, resolveCustomObjectTarget) {
|
|
144
|
-
const section = resolveSection(objectInstance, field.section, sections, defaultSection, fieldLogicalName);
|
|
145
|
-
const apiName = field.apiName ?? `${fieldLogicalName}__c`;
|
|
146
|
-
switch (field.kind) {
|
|
147
|
-
case 'text':
|
|
148
|
-
return new TextField(objectInstance, {
|
|
149
|
-
apiName,
|
|
150
|
-
displayName: field.displayName,
|
|
151
|
-
description: field.description,
|
|
152
|
-
required: field.required,
|
|
153
|
-
...(field.unique != null ? { unique: field.unique } : {}),
|
|
154
|
-
...(field.maxLength != null ? { maxLength: field.maxLength } : {}),
|
|
155
|
-
section,
|
|
156
|
-
});
|
|
157
|
-
case 'long-text':
|
|
158
|
-
return new LongTextField(objectInstance, {
|
|
159
|
-
apiName,
|
|
160
|
-
displayName: field.displayName,
|
|
161
|
-
description: field.description,
|
|
162
|
-
required: field.required,
|
|
163
|
-
...(field.maxLength != null ? { maxLength: field.maxLength } : {}),
|
|
164
|
-
section,
|
|
165
|
-
});
|
|
166
|
-
case 'email':
|
|
167
|
-
return new EmailField(objectInstance, {
|
|
168
|
-
apiName,
|
|
169
|
-
displayName: field.displayName,
|
|
170
|
-
description: field.description,
|
|
171
|
-
required: field.required,
|
|
172
|
-
...(field.unique != null ? { unique: field.unique } : {}),
|
|
173
|
-
section,
|
|
174
|
-
});
|
|
175
|
-
case 'url':
|
|
176
|
-
return new UrlField(objectInstance, {
|
|
177
|
-
apiName,
|
|
178
|
-
displayName: field.displayName,
|
|
179
|
-
description: field.description,
|
|
180
|
-
required: field.required,
|
|
181
|
-
section,
|
|
182
|
-
});
|
|
183
|
-
case 'phone':
|
|
184
|
-
return new PhoneField(objectInstance, {
|
|
185
|
-
apiName,
|
|
186
|
-
displayName: field.displayName,
|
|
187
|
-
description: field.description,
|
|
188
|
-
required: field.required,
|
|
189
|
-
section,
|
|
190
|
-
});
|
|
191
|
-
case 'number':
|
|
192
|
-
return new NumberField(objectInstance, {
|
|
193
|
-
apiName,
|
|
194
|
-
displayName: field.displayName,
|
|
195
|
-
description: field.description,
|
|
196
|
-
required: field.required,
|
|
197
|
-
...(field.unique != null ? { unique: field.unique } : {}),
|
|
198
|
-
...(field.decimalPlaces != null ? { decimalPlaces: field.decimalPlaces } : {}),
|
|
199
|
-
section,
|
|
200
|
-
});
|
|
201
|
-
case 'currency':
|
|
202
|
-
return new CurrencyField(objectInstance, {
|
|
203
|
-
apiName,
|
|
204
|
-
displayName: field.displayName,
|
|
205
|
-
description: field.description,
|
|
206
|
-
required: field.required,
|
|
207
|
-
...(field.currency != null ? { currency: field.currency } : {}),
|
|
208
|
-
...(field.decimalPlaces != null ? { decimalPlaces: field.decimalPlaces } : {}),
|
|
209
|
-
section,
|
|
210
|
-
});
|
|
211
|
-
case 'percentage':
|
|
212
|
-
return new PercentageField(objectInstance, {
|
|
213
|
-
apiName,
|
|
214
|
-
displayName: field.displayName,
|
|
215
|
-
description: field.description,
|
|
216
|
-
required: field.required,
|
|
217
|
-
section,
|
|
218
|
-
});
|
|
219
|
-
case 'date':
|
|
220
|
-
return new DateField(objectInstance, {
|
|
221
|
-
apiName,
|
|
222
|
-
displayName: field.displayName,
|
|
223
|
-
description: field.description,
|
|
224
|
-
required: field.required,
|
|
225
|
-
section,
|
|
226
|
-
});
|
|
227
|
-
case 'datetime':
|
|
228
|
-
return new DatetimeField(objectInstance, {
|
|
229
|
-
apiName,
|
|
230
|
-
displayName: field.displayName,
|
|
231
|
-
description: field.description,
|
|
232
|
-
required: field.required,
|
|
233
|
-
section,
|
|
234
|
-
});
|
|
235
|
-
case 'time':
|
|
236
|
-
return new TimeField(objectInstance, {
|
|
237
|
-
apiName,
|
|
238
|
-
displayName: field.displayName,
|
|
239
|
-
description: field.description,
|
|
240
|
-
required: field.required,
|
|
241
|
-
section,
|
|
242
|
-
});
|
|
243
|
-
case 'select':
|
|
244
|
-
return new SelectField(objectInstance, {
|
|
245
|
-
apiName,
|
|
246
|
-
displayName: field.displayName,
|
|
247
|
-
description: field.description,
|
|
248
|
-
required: field.required,
|
|
249
|
-
options: [...field.options],
|
|
250
|
-
section,
|
|
251
|
-
});
|
|
252
|
-
case 'radio':
|
|
253
|
-
return new RadioField(objectInstance, {
|
|
254
|
-
apiName,
|
|
255
|
-
displayName: field.displayName,
|
|
256
|
-
description: field.description,
|
|
257
|
-
required: field.required,
|
|
258
|
-
options: [...field.options],
|
|
259
|
-
section,
|
|
260
|
-
});
|
|
261
|
-
case 'boolean':
|
|
262
|
-
return new BooleanField(objectInstance, {
|
|
263
|
-
apiName,
|
|
264
|
-
displayName: field.displayName,
|
|
265
|
-
description: field.description,
|
|
266
|
-
required: field.required,
|
|
267
|
-
section,
|
|
268
|
-
});
|
|
269
|
-
case 'file':
|
|
270
|
-
return new FileField(objectInstance, {
|
|
271
|
-
apiName,
|
|
272
|
-
displayName: field.displayName,
|
|
273
|
-
description: field.description,
|
|
274
|
-
required: field.required,
|
|
275
|
-
allowedType: field.allowedType,
|
|
276
|
-
section,
|
|
277
|
-
});
|
|
278
|
-
case 'lookup':
|
|
279
|
-
return new LookupField(objectInstance, {
|
|
280
|
-
apiName,
|
|
281
|
-
displayName: field.displayName,
|
|
282
|
-
description: field.description,
|
|
283
|
-
target: field.target.apiName,
|
|
284
|
-
...(field.relatedDataLabel != null ? { relatedDataLabel: field.relatedDataLabel } : {}),
|
|
285
|
-
...(field.lookupFilterRqlCondition != null ?
|
|
286
|
-
{ lookup_filter_rql_condition: field.lookupFilterRqlCondition }
|
|
287
|
-
: {}),
|
|
288
|
-
required: field.required,
|
|
289
|
-
section,
|
|
290
|
-
});
|
|
291
|
-
case 'parent-child': {
|
|
292
|
-
const target = field.target.apiName === objectInstance.getApiName() ?
|
|
293
|
-
objectInstance
|
|
294
|
-
: resolveCustomObjectTarget?.(field.target.apiName);
|
|
295
|
-
if (target == null) {
|
|
296
|
-
throw new Error(`Parent-child field "${fieldLogicalName}" targets "${field.target.apiName}", but no manifest CustomObject resolver was provided.`);
|
|
297
|
-
}
|
|
298
|
-
return new ParentChildField(objectInstance, {
|
|
299
|
-
apiName,
|
|
300
|
-
displayName: field.displayName,
|
|
301
|
-
description: field.description,
|
|
302
|
-
target,
|
|
303
|
-
...(field.relatedDataLabel != null ? { relatedDataLabel: field.relatedDataLabel } : {}),
|
|
304
|
-
...(field.parentChildType != null ? { parentChildType: field.parentChildType } : {}),
|
|
305
|
-
...(field.enableParentOwnerInheritance != null ?
|
|
306
|
-
{ enableParentOwnerInheritance: field.enableParentOwnerInheritance }
|
|
307
|
-
: {}),
|
|
308
|
-
section,
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
case 'formula-text':
|
|
312
|
-
case 'formula-number':
|
|
313
|
-
case 'formula-boolean':
|
|
314
|
-
case 'formula-currency':
|
|
315
|
-
case 'formula-percentage':
|
|
316
|
-
case 'formula-date':
|
|
317
|
-
case 'formula-url':
|
|
318
|
-
return new FormulaField(objectInstance, {
|
|
319
|
-
apiName,
|
|
320
|
-
displayName: field.displayName,
|
|
321
|
-
description: field.description,
|
|
322
|
-
formula: field.formula,
|
|
323
|
-
fieldType: formulaFieldType(field.kind),
|
|
324
|
-
...(field.kind === 'formula-text' ? { maxLength: field.maxLength } : {}),
|
|
325
|
-
section,
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Materializes a typed custom-object definition into the existing manifest API.
|
|
331
|
-
*
|
|
332
|
-
* The returned value preserves logical field keys, but each field becomes a
|
|
333
|
-
* concrete manifest class instance (`TextField`, `LookupField`, ...). This lets
|
|
334
|
-
* existing page-layout, list-view, and rule APIs keep working while authors use
|
|
335
|
-
* a cleaner logical-name authoring model.
|
|
336
|
-
*
|
|
337
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
338
|
-
* @param options - Typed object definition plus manifest-specific registration options.
|
|
339
|
-
* @returns Frozen manifest registration preserving both typed logical keys and concrete manifest instances.
|
|
340
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
341
|
-
*/
|
|
342
|
-
export function registerManifestCustomObject(scope, options) {
|
|
343
|
-
const scaffold = createRegistrationScaffold(scope, options);
|
|
344
|
-
const registeredFields = registerFieldsForScaffold(scaffold, options.resolveCustomObjectTarget);
|
|
345
|
-
return Object.freeze({
|
|
346
|
-
definition: scaffold.definition,
|
|
347
|
-
category: scaffold.category,
|
|
348
|
-
object: scaffold.object,
|
|
349
|
-
sections: Object.freeze(scaffold.sections),
|
|
350
|
-
fields: Object.freeze(registeredFields),
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* Materializes multiple typed custom-object definitions into manifest classes in one pass.
|
|
355
|
-
*
|
|
356
|
-
* This helper is the higher-level golden path for multi-object examples: it
|
|
357
|
-
* creates every manifest object and section first, then registers fields in a
|
|
358
|
-
* second pass so parent-child relationships can target objects declared earlier
|
|
359
|
-
* or later in the input tuple.
|
|
360
|
-
*
|
|
361
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
362
|
-
* @param options - Ordered tuple of typed object definitions plus shared manifest registration options.
|
|
363
|
-
* @returns Ordered tuple of manifest registrations matching the input definition order.
|
|
364
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions being materialized.
|
|
365
|
-
*/
|
|
366
|
-
export function registerManifestCustomObjects(scope, options) {
|
|
367
|
-
const scaffolds = options.definitions.map((definition) => createRegistrationScaffold(scope, {
|
|
368
|
-
definition,
|
|
369
|
-
category: options.category,
|
|
370
|
-
...(options.defaultSection != null ? { defaultSection: options.defaultSection } : {}),
|
|
371
|
-
}));
|
|
372
|
-
const objectsByApiName = new Map(scaffolds.map((scaffold) => [scaffold.definition.apiName, scaffold.object]));
|
|
373
|
-
const resolveCustomObjectTarget = (apiName) => {
|
|
374
|
-
const objectInstance = objectsByApiName.get(apiName);
|
|
375
|
-
if (objectInstance == null) {
|
|
376
|
-
throw new Error(`Missing manifest registration for custom-object target "${apiName}".`);
|
|
377
|
-
}
|
|
378
|
-
return objectInstance;
|
|
379
|
-
};
|
|
380
|
-
return scaffolds.map((scaffold) => {
|
|
381
|
-
const registeredFields = registerFieldsForScaffold(scaffold, resolveCustomObjectTarget);
|
|
382
|
-
return Object.freeze({
|
|
383
|
-
definition: scaffold.definition,
|
|
384
|
-
category: scaffold.category,
|
|
385
|
-
object: scaffold.object,
|
|
386
|
-
sections: Object.freeze(scaffold.sections),
|
|
387
|
-
fields: Object.freeze(registeredFields),
|
|
388
|
-
});
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
//# sourceMappingURL=register.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.mjs","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Rule, type RuleAction, type RuleProps } from "../../../../lib/manifest.mjs";
|
|
2
|
-
import type { Field } from "../../../../lib/manifest/field.mjs";
|
|
3
|
-
import type { AnyCustomObjectDefinition, FieldNames, FieldValue, LookupReference } from "../../custom-objects/types.mjs";
|
|
4
|
-
import type { ManifestConditionInput } from "./conditions.mjs";
|
|
5
|
-
import type { StandardManifestFieldName, TypedManifestFieldName } from "./field-resolution.mjs";
|
|
6
|
-
import type { ManifestRegistration } from "./types.mjs";
|
|
7
|
-
type StandardRuleFieldValue<TFieldName extends string> = TFieldName extends 'owner_role' | 'created_by' | 'last_modified_by' ? string | LookupReference : string;
|
|
8
|
-
type CustomRuleFieldValue<TDefinition extends AnyCustomObjectDefinition, TFieldName extends FieldNames<TDefinition>> = TDefinition['fields'][TFieldName] extends infer TField ? FieldValue<TField> extends readonly (infer TElement)[] ? FieldValue<TField> | TElement : FieldValue<TField> : never;
|
|
9
|
-
/**
|
|
10
|
-
* Fixed value accepted by a typed rule action for one field name.
|
|
11
|
-
*
|
|
12
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
13
|
-
* @typeParam TFieldName - Standard or logical field name that should receive the fixed value.
|
|
14
|
-
*/
|
|
15
|
-
export type TypedRuleFixedValue<TDefinition extends AnyCustomObjectDefinition, TFieldName extends TypedManifestFieldName<TDefinition>> = TFieldName extends FieldNames<TDefinition> ? CustomRuleFieldValue<TDefinition, TFieldName> : TFieldName extends StandardManifestFieldName<TDefinition> ? StandardRuleFieldValue<TFieldName> : never;
|
|
16
|
-
/**
|
|
17
|
-
* Typed rule action emitted by the typed rule helper family.
|
|
18
|
-
*
|
|
19
|
-
* The runtime shape is intentionally identical to the low-level {@link RuleAction}
|
|
20
|
-
* type so the helper composes cleanly with the existing manifest class.
|
|
21
|
-
*
|
|
22
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
23
|
-
*/
|
|
24
|
-
export type TypedRuleAction<TDefinition extends AnyCustomObjectDefinition> = RuleAction & {
|
|
25
|
-
readonly __typedRuleActionDefinition__?: TDefinition;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Field setter returned by {@link TypedRuleHelpers.setField}.
|
|
29
|
-
*
|
|
30
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
31
|
-
* @typeParam TFieldName - Standard or logical field name being targeted.
|
|
32
|
-
*/
|
|
33
|
-
export interface TypedRuleFieldSetter<TDefinition extends AnyCustomObjectDefinition, TFieldName extends TypedManifestFieldName<TDefinition>> {
|
|
34
|
-
/**
|
|
35
|
-
* Creates one fixed-value rule action for the selected field.
|
|
36
|
-
*
|
|
37
|
-
* For select fields, the value may be either one option string or the full
|
|
38
|
-
* array shape used by the underlying typed record model.
|
|
39
|
-
*/
|
|
40
|
-
toValue(value: TypedRuleFixedValue<TDefinition, TFieldName>): TypedRuleAction<TDefinition>;
|
|
41
|
-
/**
|
|
42
|
-
* Creates one formula-backed rule action for the selected field.
|
|
43
|
-
*
|
|
44
|
-
* Use this as the explicit escape hatch when the default fixed-value path is
|
|
45
|
-
* too restrictive and you need to compute the assigned value through the
|
|
46
|
-
* low-level rule-formula string surface.
|
|
47
|
-
*/
|
|
48
|
-
toFormula(formula: string): TypedRuleAction<TDefinition>;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Helper family for typed rule actions.
|
|
52
|
-
*
|
|
53
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
54
|
-
*/
|
|
55
|
-
export interface TypedRuleHelpers<TDefinition extends AnyCustomObjectDefinition> {
|
|
56
|
-
/** Returns a typed field setter for the selected field name. */
|
|
57
|
-
setField<TFieldName extends TypedManifestFieldName<TDefinition>>(field: TFieldName): TypedRuleFieldSetter<TDefinition, TFieldName>;
|
|
58
|
-
/** Returns a passthrough field setter for raw manifest fields such as summary fields. */
|
|
59
|
-
setField(field: Field): {
|
|
60
|
-
toValue(value: unknown): TypedRuleAction<TDefinition>;
|
|
61
|
-
toFormula(formula: string): TypedRuleAction<TDefinition>;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Initialization properties for {@link defineTypedRule}.
|
|
66
|
-
*
|
|
67
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
68
|
-
*/
|
|
69
|
-
type TypedRuleActionInput<TDefinition extends AnyCustomObjectDefinition> = readonly (TypedRuleAction<TDefinition> | RuleAction)[] | ((helpers: TypedRuleHelpers<TDefinition>) => readonly (TypedRuleAction<TDefinition> | RuleAction)[]);
|
|
70
|
-
type TypedRuleBaseProps<TDefinition extends AnyCustomObjectDefinition> = Omit<RuleProps, 'actions' | 'rqlCondition' | 'triggerType' | 'updateTriggerType'> & {
|
|
71
|
-
/** Optional condition that must be truthy for the rule to fire. */
|
|
72
|
-
readonly when?: ManifestConditionInput<TDefinition>;
|
|
73
|
-
/**
|
|
74
|
-
* Rule actions created via {@link createTypedRuleHelpers}, authored directly
|
|
75
|
-
* as low-level actions, or produced lazily from one typed helper callback.
|
|
76
|
-
*/
|
|
77
|
-
readonly actions?: TypedRuleActionInput<TDefinition>;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Initialization properties for {@link defineTypedRule}.
|
|
81
|
-
*
|
|
82
|
-
* `triggerType` and `updateTriggerType` intentionally form a discriminated
|
|
83
|
-
* union so the common CREATE-vs-UPDATE rule invariants are enforced at compile
|
|
84
|
-
* time instead of only by the low-level manifest class at runtime.
|
|
85
|
-
*
|
|
86
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
87
|
-
*/
|
|
88
|
-
export type TypedRuleProps<TDefinition extends AnyCustomObjectDefinition> = (TypedRuleBaseProps<TDefinition> & {
|
|
89
|
-
readonly triggerType: 'CREATE';
|
|
90
|
-
readonly updateTriggerType?: never;
|
|
91
|
-
}) | (TypedRuleBaseProps<TDefinition> & {
|
|
92
|
-
readonly triggerType: Exclude<RuleProps['triggerType'], 'CREATE'>;
|
|
93
|
-
readonly updateTriggerType: NonNullable<RuleProps['updateTriggerType']>;
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* Creates typed rule-action helpers for one manifest registration.
|
|
97
|
-
*
|
|
98
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
99
|
-
* @returns Immutable rule-action helper family.
|
|
100
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
101
|
-
*/
|
|
102
|
-
export declare function createTypedRuleHelpers<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>): TypedRuleHelpers<TDefinition>;
|
|
103
|
-
/**
|
|
104
|
-
* Defines a record-triggered rule using typed field names and manifest-condition fragments.
|
|
105
|
-
*
|
|
106
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
107
|
-
* @param props - Typed rule properties.
|
|
108
|
-
* @returns Low-level rule manifest instance.
|
|
109
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
110
|
-
*/
|
|
111
|
-
export declare function defineTypedRule<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>, props: TypedRuleProps<TDefinition>): Rule;
|
|
112
|
-
export {};
|
|
113
|
-
//# sourceMappingURL=rule.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.mts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Rule, type RuleAction, type RuleProps } from "../../../../lib/manifest.js";
|
|
2
|
-
import type { Field } from "../../../../lib/manifest/field.js";
|
|
3
|
-
import type { AnyCustomObjectDefinition, FieldNames, FieldValue, LookupReference } from "../../custom-objects/types.js";
|
|
4
|
-
import type { ManifestConditionInput } from "./conditions.js";
|
|
5
|
-
import type { StandardManifestFieldName, TypedManifestFieldName } from "./field-resolution.js";
|
|
6
|
-
import type { ManifestRegistration } from "./types.js";
|
|
7
|
-
type StandardRuleFieldValue<TFieldName extends string> = TFieldName extends 'owner_role' | 'created_by' | 'last_modified_by' ? string | LookupReference : string;
|
|
8
|
-
type CustomRuleFieldValue<TDefinition extends AnyCustomObjectDefinition, TFieldName extends FieldNames<TDefinition>> = TDefinition['fields'][TFieldName] extends infer TField ? FieldValue<TField> extends readonly (infer TElement)[] ? FieldValue<TField> | TElement : FieldValue<TField> : never;
|
|
9
|
-
/**
|
|
10
|
-
* Fixed value accepted by a typed rule action for one field name.
|
|
11
|
-
*
|
|
12
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
13
|
-
* @typeParam TFieldName - Standard or logical field name that should receive the fixed value.
|
|
14
|
-
*/
|
|
15
|
-
export type TypedRuleFixedValue<TDefinition extends AnyCustomObjectDefinition, TFieldName extends TypedManifestFieldName<TDefinition>> = TFieldName extends FieldNames<TDefinition> ? CustomRuleFieldValue<TDefinition, TFieldName> : TFieldName extends StandardManifestFieldName<TDefinition> ? StandardRuleFieldValue<TFieldName> : never;
|
|
16
|
-
/**
|
|
17
|
-
* Typed rule action emitted by the typed rule helper family.
|
|
18
|
-
*
|
|
19
|
-
* The runtime shape is intentionally identical to the low-level {@link RuleAction}
|
|
20
|
-
* type so the helper composes cleanly with the existing manifest class.
|
|
21
|
-
*
|
|
22
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
23
|
-
*/
|
|
24
|
-
export type TypedRuleAction<TDefinition extends AnyCustomObjectDefinition> = RuleAction & {
|
|
25
|
-
readonly __typedRuleActionDefinition__?: TDefinition;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Field setter returned by {@link TypedRuleHelpers.setField}.
|
|
29
|
-
*
|
|
30
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
31
|
-
* @typeParam TFieldName - Standard or logical field name being targeted.
|
|
32
|
-
*/
|
|
33
|
-
export interface TypedRuleFieldSetter<TDefinition extends AnyCustomObjectDefinition, TFieldName extends TypedManifestFieldName<TDefinition>> {
|
|
34
|
-
/**
|
|
35
|
-
* Creates one fixed-value rule action for the selected field.
|
|
36
|
-
*
|
|
37
|
-
* For select fields, the value may be either one option string or the full
|
|
38
|
-
* array shape used by the underlying typed record model.
|
|
39
|
-
*/
|
|
40
|
-
toValue(value: TypedRuleFixedValue<TDefinition, TFieldName>): TypedRuleAction<TDefinition>;
|
|
41
|
-
/**
|
|
42
|
-
* Creates one formula-backed rule action for the selected field.
|
|
43
|
-
*
|
|
44
|
-
* Use this as the explicit escape hatch when the default fixed-value path is
|
|
45
|
-
* too restrictive and you need to compute the assigned value through the
|
|
46
|
-
* low-level rule-formula string surface.
|
|
47
|
-
*/
|
|
48
|
-
toFormula(formula: string): TypedRuleAction<TDefinition>;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Helper family for typed rule actions.
|
|
52
|
-
*
|
|
53
|
-
* @typeParam TDefinition - Typed custom-object definition that owns the field namespace.
|
|
54
|
-
*/
|
|
55
|
-
export interface TypedRuleHelpers<TDefinition extends AnyCustomObjectDefinition> {
|
|
56
|
-
/** Returns a typed field setter for the selected field name. */
|
|
57
|
-
setField<TFieldName extends TypedManifestFieldName<TDefinition>>(field: TFieldName): TypedRuleFieldSetter<TDefinition, TFieldName>;
|
|
58
|
-
/** Returns a passthrough field setter for raw manifest fields such as summary fields. */
|
|
59
|
-
setField(field: Field): {
|
|
60
|
-
toValue(value: unknown): TypedRuleAction<TDefinition>;
|
|
61
|
-
toFormula(formula: string): TypedRuleAction<TDefinition>;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Initialization properties for {@link defineTypedRule}.
|
|
66
|
-
*
|
|
67
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
68
|
-
*/
|
|
69
|
-
type TypedRuleActionInput<TDefinition extends AnyCustomObjectDefinition> = readonly (TypedRuleAction<TDefinition> | RuleAction)[] | ((helpers: TypedRuleHelpers<TDefinition>) => readonly (TypedRuleAction<TDefinition> | RuleAction)[]);
|
|
70
|
-
type TypedRuleBaseProps<TDefinition extends AnyCustomObjectDefinition> = Omit<RuleProps, 'actions' | 'rqlCondition' | 'triggerType' | 'updateTriggerType'> & {
|
|
71
|
-
/** Optional condition that must be truthy for the rule to fire. */
|
|
72
|
-
readonly when?: ManifestConditionInput<TDefinition>;
|
|
73
|
-
/**
|
|
74
|
-
* Rule actions created via {@link createTypedRuleHelpers}, authored directly
|
|
75
|
-
* as low-level actions, or produced lazily from one typed helper callback.
|
|
76
|
-
*/
|
|
77
|
-
readonly actions?: TypedRuleActionInput<TDefinition>;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Initialization properties for {@link defineTypedRule}.
|
|
81
|
-
*
|
|
82
|
-
* `triggerType` and `updateTriggerType` intentionally form a discriminated
|
|
83
|
-
* union so the common CREATE-vs-UPDATE rule invariants are enforced at compile
|
|
84
|
-
* time instead of only by the low-level manifest class at runtime.
|
|
85
|
-
*
|
|
86
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
87
|
-
*/
|
|
88
|
-
export type TypedRuleProps<TDefinition extends AnyCustomObjectDefinition> = (TypedRuleBaseProps<TDefinition> & {
|
|
89
|
-
readonly triggerType: 'CREATE';
|
|
90
|
-
readonly updateTriggerType?: never;
|
|
91
|
-
}) | (TypedRuleBaseProps<TDefinition> & {
|
|
92
|
-
readonly triggerType: Exclude<RuleProps['triggerType'], 'CREATE'>;
|
|
93
|
-
readonly updateTriggerType: NonNullable<RuleProps['updateTriggerType']>;
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* Creates typed rule-action helpers for one manifest registration.
|
|
97
|
-
*
|
|
98
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
99
|
-
* @returns Immutable rule-action helper family.
|
|
100
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
101
|
-
*/
|
|
102
|
-
export declare function createTypedRuleHelpers<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>): TypedRuleHelpers<TDefinition>;
|
|
103
|
-
/**
|
|
104
|
-
* Defines a record-triggered rule using typed field names and manifest-condition fragments.
|
|
105
|
-
*
|
|
106
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
107
|
-
* @param props - Typed rule properties.
|
|
108
|
-
* @returns Low-level rule manifest instance.
|
|
109
|
-
* @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
|
|
110
|
-
*/
|
|
111
|
-
export declare function defineTypedRule<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>, props: TypedRuleProps<TDefinition>): Rule;
|
|
112
|
-
export {};
|
|
113
|
-
//# sourceMappingURL=rule.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/rule.ts"],"names":[],"mappings":"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"}
|