@rippling/rippling-sdk 0.2.0-alpha.84 → 0.2.0-alpha.86

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