@rippling/rippling-sdk 0.2.0-alpha.76 → 0.2.0-alpha.77

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 (63) hide show
  1. package/lib/manifest/custom-field-section.d.mts +30 -0
  2. package/lib/manifest/custom-field-section.d.mts.map +1 -0
  3. package/lib/manifest/custom-field-section.d.ts +30 -0
  4. package/lib/manifest/custom-field-section.d.ts.map +1 -0
  5. package/lib/manifest/custom-field-section.js +58 -0
  6. package/lib/manifest/custom-field-section.js.map +1 -0
  7. package/lib/manifest/custom-field-section.mjs +54 -0
  8. package/lib/manifest/custom-field-section.mjs.map +1 -0
  9. package/lib/manifest/custom-field.d.mts +82 -0
  10. package/lib/manifest/custom-field.d.mts.map +1 -0
  11. package/lib/manifest/custom-field.d.ts +82 -0
  12. package/lib/manifest/custom-field.d.ts.map +1 -0
  13. package/lib/manifest/custom-field.js +184 -0
  14. package/lib/manifest/custom-field.js.map +1 -0
  15. package/lib/manifest/custom-field.mjs +180 -0
  16. package/lib/manifest/custom-field.mjs.map +1 -0
  17. package/lib/manifest/custom-object-action.d.mts +9 -3
  18. package/lib/manifest/custom-object-action.d.mts.map +1 -1
  19. package/lib/manifest/custom-object-action.d.ts +9 -3
  20. package/lib/manifest/custom-object-action.d.ts.map +1 -1
  21. package/lib/manifest/custom-object-action.js +17 -0
  22. package/lib/manifest/custom-object-action.js.map +1 -1
  23. package/lib/manifest/custom-object-action.mjs +17 -0
  24. package/lib/manifest/custom-object-action.mjs.map +1 -1
  25. package/lib/manifest/existing-manifest-context.d.mts +6 -0
  26. package/lib/manifest/existing-manifest-context.d.mts.map +1 -1
  27. package/lib/manifest/existing-manifest-context.d.ts +6 -0
  28. package/lib/manifest/existing-manifest-context.d.ts.map +1 -1
  29. package/lib/manifest/existing-manifest-context.js +28 -0
  30. package/lib/manifest/existing-manifest-context.js.map +1 -1
  31. package/lib/manifest/existing-manifest-context.mjs +28 -0
  32. package/lib/manifest/existing-manifest-context.mjs.map +1 -1
  33. package/lib/manifest/index.d.mts +2 -0
  34. package/lib/manifest/index.d.mts.map +1 -1
  35. package/lib/manifest/index.d.ts +2 -0
  36. package/lib/manifest/index.d.ts.map +1 -1
  37. package/lib/manifest/index.js +7 -1
  38. package/lib/manifest/index.js.map +1 -1
  39. package/lib/manifest/index.mjs +2 -0
  40. package/lib/manifest/index.mjs.map +1 -1
  41. package/lib/manifest/manifest-builder.d.mts +1 -1
  42. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  43. package/lib/manifest/manifest-builder.d.ts +1 -1
  44. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  45. package/lib/manifest/manifest-builder.js.map +1 -1
  46. package/lib/manifest/manifest-builder.mjs.map +1 -1
  47. package/package.json +1 -1
  48. package/resources/custom-fields.d.mts +5 -0
  49. package/resources/custom-fields.d.mts.map +1 -1
  50. package/resources/custom-fields.d.ts +5 -0
  51. package/resources/custom-fields.d.ts.map +1 -1
  52. package/src/lib/manifest/custom-field-section.ts +86 -0
  53. package/src/lib/manifest/custom-field.ts +309 -0
  54. package/src/lib/manifest/custom-object-action.ts +22 -3
  55. package/src/lib/manifest/existing-manifest-context.ts +42 -0
  56. package/src/lib/manifest/index.ts +18 -0
  57. package/src/lib/manifest/manifest-builder.ts +2 -0
  58. package/src/resources/custom-fields.ts +6 -0
  59. package/src/version.ts +1 -1
  60. package/version.d.mts +1 -1
  61. package/version.d.ts +1 -1
  62. package/version.js +1 -1
  63. package/version.mjs +1 -1
@@ -0,0 +1,30 @@
1
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs";
2
+ import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.mjs";
3
+ export interface CustomFieldSectionProps {
4
+ sectionId?: string;
5
+ name: string;
6
+ modelRqlName: string;
7
+ isRipplingDefined?: boolean;
8
+ identifierSlug?: string | null;
9
+ displayOrder?: number | null;
10
+ }
11
+ /** A section that groups Custom Field V2 fields on a native or custom object. */
12
+ export declare class CustomFieldSection {
13
+ static readonly componentType: "CUSTOM_FIELD_SECTION";
14
+ static toDeletionIdentifier(sectionId: string): ManifestComponentDeletion;
15
+ private readonly _sectionId;
16
+ private readonly _name;
17
+ private readonly _modelRqlName;
18
+ private readonly _isRipplingDefined;
19
+ private readonly _identifierSlug;
20
+ private readonly _displayOrder;
21
+ constructor(scope: ManifestScope, props: CustomFieldSectionProps);
22
+ static loadFromExisting(sectionId: string, options?: ExistingManifestContextOptions): CustomFieldSection;
23
+ /** @internal Hydrates a section from existing manifest wire JSON. */
24
+ static _fromExistingComponent(scope: ManifestScope, component: Record<string, any>): CustomFieldSection;
25
+ getSectionId(): string;
26
+ getName(): string;
27
+ getModelRqlName(): string;
28
+ toDict(): Record<string, any>;
29
+ }
30
+ //# sourceMappingURL=custom-field-section.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-section.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-field-section.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,8BAA8B,EAAE,wCAAoC;AAC9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,+BAA2B;AAGnF,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,iFAAiF;AACjF,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,sBAAsB,CAAU;IAEhE,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB;IAIzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB;IAUhE,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,8BAAmC,GAC3C,kBAAkB;IAIrB,qEAAqE;IACrE,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB;IAevG,YAAY,IAAI,MAAM;IAItB,OAAO,IAAI,MAAM;IAIjB,eAAe,IAAI,MAAM;IAIzB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAW9B"}
@@ -0,0 +1,30 @@
1
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.js";
2
+ import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.js";
3
+ export interface CustomFieldSectionProps {
4
+ sectionId?: string;
5
+ name: string;
6
+ modelRqlName: string;
7
+ isRipplingDefined?: boolean;
8
+ identifierSlug?: string | null;
9
+ displayOrder?: number | null;
10
+ }
11
+ /** A section that groups Custom Field V2 fields on a native or custom object. */
12
+ export declare class CustomFieldSection {
13
+ static readonly componentType: "CUSTOM_FIELD_SECTION";
14
+ static toDeletionIdentifier(sectionId: string): ManifestComponentDeletion;
15
+ private readonly _sectionId;
16
+ private readonly _name;
17
+ private readonly _modelRqlName;
18
+ private readonly _isRipplingDefined;
19
+ private readonly _identifierSlug;
20
+ private readonly _displayOrder;
21
+ constructor(scope: ManifestScope, props: CustomFieldSectionProps);
22
+ static loadFromExisting(sectionId: string, options?: ExistingManifestContextOptions): CustomFieldSection;
23
+ /** @internal Hydrates a section from existing manifest wire JSON. */
24
+ static _fromExistingComponent(scope: ManifestScope, component: Record<string, any>): CustomFieldSection;
25
+ getSectionId(): string;
26
+ getName(): string;
27
+ getModelRqlName(): string;
28
+ toDict(): Record<string, any>;
29
+ }
30
+ //# sourceMappingURL=custom-field-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-section.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-field-section.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,8BAA8B,EAAE,uCAAoC;AAC9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,8BAA2B;AAGnF,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,iFAAiF;AACjF,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,sBAAsB,CAAU;IAEhE,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB;IAIzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB;IAUhE,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,8BAAmC,GAC3C,kBAAkB;IAIrB,qEAAqE;IACrE,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB;IAevG,YAAY,IAAI,MAAM;IAItB,OAAO,IAAI,MAAM;IAIjB,eAAe,IAAI,MAAM;IAIzB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAW9B"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomFieldSection = void 0;
4
+ const _helpers_1 = require("./_helpers.js");
5
+ const existing_manifest_context_1 = require("./existing-manifest-context.js");
6
+ const _existing_component_fields_1 = require("./_existing-component-fields.js");
7
+ /** A section that groups Custom Field V2 fields on a native or custom object. */
8
+ class CustomFieldSection {
9
+ static toDeletionIdentifier(sectionId) {
10
+ return { type: CustomFieldSection.componentType, section_id: sectionId };
11
+ }
12
+ constructor(scope, props) {
13
+ this._sectionId = props.sectionId ?? (0, _helpers_1.generateId)('cf_section');
14
+ this._name = props.name;
15
+ this._modelRqlName = props.modelRqlName;
16
+ this._isRipplingDefined = props.isRipplingDefined ?? false;
17
+ this._identifierSlug = props.identifierSlug ?? null;
18
+ this._displayOrder = props.displayOrder ?? null;
19
+ scope._register(this);
20
+ }
21
+ static loadFromExisting(sectionId, options = {}) {
22
+ return (0, existing_manifest_context_1.getExistingManifestContext)(options).loadCustomFieldSection(sectionId);
23
+ }
24
+ /** @internal Hydrates a section from existing manifest wire JSON. */
25
+ static _fromExistingComponent(scope, component) {
26
+ return new CustomFieldSection(scope, {
27
+ sectionId: (0, _existing_component_fields_1.requireStringComponentField)(component, 'obj_id', CustomFieldSection.componentType),
28
+ name: (0, _existing_component_fields_1.requireStringComponentField)(component, 'name', CustomFieldSection.componentType),
29
+ modelRqlName: (0, _existing_component_fields_1.requireStringComponentField)(component, 'model_rql_name', CustomFieldSection.componentType),
30
+ isRipplingDefined: component['is_rippling_defined'] === true,
31
+ identifierSlug: component['identifier_slug'] ?? null,
32
+ displayOrder: component['display_order'] ?? null,
33
+ });
34
+ }
35
+ getSectionId() {
36
+ return this._sectionId;
37
+ }
38
+ getName() {
39
+ return this._name;
40
+ }
41
+ getModelRqlName() {
42
+ return this._modelRqlName;
43
+ }
44
+ toDict() {
45
+ return {
46
+ type: CustomFieldSection.componentType,
47
+ obj_id: this._sectionId,
48
+ name: this._name,
49
+ is_rippling_defined: this._isRipplingDefined,
50
+ model_rql_name: this._modelRqlName,
51
+ identifier_slug: this._identifierSlug,
52
+ display_order: this._displayOrder,
53
+ };
54
+ }
55
+ }
56
+ exports.CustomFieldSection = CustomFieldSection;
57
+ CustomFieldSection.componentType = 'CUSTOM_FIELD_SECTION';
58
+ //# sourceMappingURL=custom-field-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-section.js","sourceRoot":"","sources":["../../src/lib/manifest/custom-field-section.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,8EAA8G;AAE9G,gFAA2E;AAW3E,iFAAiF;AACjF,MAAa,kBAAkB;IAG7B,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QAC3C,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC3E,CAAC;IASD,YAAY,KAAoB,EAAE,KAA8B;QAC9D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,qBAAU,EAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;QAChD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,SAAiB,EACjB,UAA0C,EAAE;QAE5C,OAAO,IAAA,sDAA0B,EAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,sBAAsB,CAAC,KAAoB,EAAE,SAA8B;QAChF,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE;YACnC,SAAS,EAAE,IAAA,wDAA2B,EAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC;YAC7F,IAAI,EAAE,IAAA,wDAA2B,EAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC;YACtF,YAAY,EAAE,IAAA,wDAA2B,EACvC,SAAS,EACT,gBAAgB,EAChB,kBAAkB,CAAC,aAAa,CACjC;YACD,iBAAiB,EAAE,SAAS,CAAC,qBAAqB,CAAC,KAAK,IAAI;YAC5D,cAAc,EAAG,SAAS,CAAC,iBAAiB,CAA+B,IAAI,IAAI;YACnF,YAAY,EAAG,SAAS,CAAC,eAAe,CAA+B,IAAI,IAAI;SAChF,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,aAAa;YACtC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,mBAAmB,EAAE,IAAI,CAAC,kBAAkB;YAC5C,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;;AArEH,gDAsEC;AArEiB,gCAAa,GAAG,sBAA+B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { generateId } from "./_helpers.mjs";
2
+ import { getExistingManifestContext } from "./existing-manifest-context.mjs";
3
+ import { requireStringComponentField } from "./_existing-component-fields.mjs";
4
+ /** A section that groups Custom Field V2 fields on a native or custom object. */
5
+ export class CustomFieldSection {
6
+ static toDeletionIdentifier(sectionId) {
7
+ return { type: CustomFieldSection.componentType, section_id: sectionId };
8
+ }
9
+ constructor(scope, props) {
10
+ this._sectionId = props.sectionId ?? generateId('cf_section');
11
+ this._name = props.name;
12
+ this._modelRqlName = props.modelRqlName;
13
+ this._isRipplingDefined = props.isRipplingDefined ?? false;
14
+ this._identifierSlug = props.identifierSlug ?? null;
15
+ this._displayOrder = props.displayOrder ?? null;
16
+ scope._register(this);
17
+ }
18
+ static loadFromExisting(sectionId, options = {}) {
19
+ return getExistingManifestContext(options).loadCustomFieldSection(sectionId);
20
+ }
21
+ /** @internal Hydrates a section from existing manifest wire JSON. */
22
+ static _fromExistingComponent(scope, component) {
23
+ return new CustomFieldSection(scope, {
24
+ sectionId: requireStringComponentField(component, 'obj_id', CustomFieldSection.componentType),
25
+ name: requireStringComponentField(component, 'name', CustomFieldSection.componentType),
26
+ modelRqlName: requireStringComponentField(component, 'model_rql_name', CustomFieldSection.componentType),
27
+ isRipplingDefined: component['is_rippling_defined'] === true,
28
+ identifierSlug: component['identifier_slug'] ?? null,
29
+ displayOrder: component['display_order'] ?? null,
30
+ });
31
+ }
32
+ getSectionId() {
33
+ return this._sectionId;
34
+ }
35
+ getName() {
36
+ return this._name;
37
+ }
38
+ getModelRqlName() {
39
+ return this._modelRqlName;
40
+ }
41
+ toDict() {
42
+ return {
43
+ type: CustomFieldSection.componentType,
44
+ obj_id: this._sectionId,
45
+ name: this._name,
46
+ is_rippling_defined: this._isRipplingDefined,
47
+ model_rql_name: this._modelRqlName,
48
+ identifier_slug: this._identifierSlug,
49
+ display_order: this._displayOrder,
50
+ };
51
+ }
52
+ }
53
+ CustomFieldSection.componentType = 'CUSTOM_FIELD_SECTION';
54
+ //# sourceMappingURL=custom-field-section.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field-section.mjs","sourceRoot":"","sources":["../../src/lib/manifest/custom-field-section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,uBAAmB;AACxC,OAAO,EAAE,0BAA0B,EAAuC,wCAAoC;AAE9G,OAAO,EAAE,2BAA2B,EAAE,yCAAqC;AAW3E,iFAAiF;AACjF,MAAM,OAAO,kBAAkB;IAG7B,MAAM,CAAC,oBAAoB,CAAC,SAAiB;QAC3C,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC3E,CAAC;IASD,YAAY,KAAoB,EAAE,KAA8B;QAC9D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;QAChD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,SAAiB,EACjB,UAA0C,EAAE;QAE5C,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,sBAAsB,CAAC,KAAoB,EAAE,SAA8B;QAChF,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE;YACnC,SAAS,EAAE,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC;YAC7F,IAAI,EAAE,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC;YACtF,YAAY,EAAE,2BAA2B,CACvC,SAAS,EACT,gBAAgB,EAChB,kBAAkB,CAAC,aAAa,CACjC;YACD,iBAAiB,EAAE,SAAS,CAAC,qBAAqB,CAAC,KAAK,IAAI;YAC5D,cAAc,EAAG,SAAS,CAAC,iBAAiB,CAA+B,IAAI,IAAI;YACnF,YAAY,EAAG,SAAS,CAAC,eAAe,CAA+B,IAAI,IAAI;SAChF,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,aAAa;YACtC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,mBAAmB,EAAE,IAAI,CAAC,kBAAkB;YAC5C,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;;AApEe,gCAAa,GAAG,sBAA+B,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { CustomFieldSection } from "./custom-field-section.mjs";
2
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs";
3
+ import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.mjs";
4
+ export declare const CUSTOM_FIELD_TYPES: readonly ["TEXT", "DATE", "NUMBER", "CURRENCY", "PERCENTAGE", "SELECT", "FILE", "ID", "RADIO", "TEXTAREA", "RANGE", "REFERENCE_ID", "BOOLEAN", "ADDRESS", "OG_REFERENCE_FIELD", "EMAIL", "URL"];
5
+ export type CustomFieldType = (typeof CUSTOM_FIELD_TYPES)[number];
6
+ export type CustomFieldApiName = `${string}__cfv2`;
7
+ export type CustomFieldUniqueIDCharacterType = 'DIGITS_ONLY' | 'TEXT_ONLY' | 'DIGITS_TEXT_BOTH';
8
+ type CustomFieldSimpleType = Exclude<CustomFieldType, 'NUMBER' | 'CURRENCY' | 'SELECT' | 'RADIO' | 'ID' | 'OG_REFERENCE_FIELD'>;
9
+ export type CustomFieldDataType = {
10
+ fieldType: CustomFieldSimpleType;
11
+ } | {
12
+ fieldType: 'NUMBER';
13
+ decimalPlaces?: number | null;
14
+ } | {
15
+ fieldType: 'CURRENCY';
16
+ currency?: string | null;
17
+ } | {
18
+ fieldType: 'SELECT' | 'RADIO';
19
+ options: readonly string[];
20
+ } | {
21
+ fieldType: 'ID';
22
+ numberOfCharacters?: number | null;
23
+ characterType?: CustomFieldUniqueIDCharacterType | null;
24
+ } | {
25
+ fieldType: 'OG_REFERENCE_FIELD';
26
+ referencedModelRqlName: string;
27
+ };
28
+ export type CustomFieldPermissionClassification = 'BASIC_PERSONAL_INFO' | 'PERSONAL_INFO' | 'SENSITIVE_PERSONAL_INFO' | 'BASIC_EMPLOYMENT_INFO' | 'EMPLOYMENT_INFO' | 'SENSITIVE_EMPLOYMENT_INFO';
29
+ export type CustomFieldReadAccess = 'ALL_ACCESS' | 'ADMIN_ACCESS' | 'ADMIN_AND_EMPLOYEE_ACCESS';
30
+ export type CustomFieldWriteAccess = 'EMPLOYEE_ACCESS' | 'ADMIN_ACCESS' | 'ADMIN_AND_EMPLOYEE_ACCESS' | 'NO_ACCESS';
31
+ export type CustomFieldCollectionTiming = 'NONE' | 'HIRING' | 'ONBOARDING' | 'TERMINATING';
32
+ export type CustomFieldDefaultValue = {
33
+ value: string;
34
+ rqlDefinitionFormula?: never;
35
+ } | {
36
+ value?: never;
37
+ rqlDefinitionFormula: string;
38
+ };
39
+ interface CustomFieldCommonProps {
40
+ fieldId?: string;
41
+ name: string;
42
+ section: CustomFieldSection;
43
+ modelRqlName: string;
44
+ dataType: CustomFieldDataType;
45
+ apiName: CustomFieldApiName;
46
+ fieldPermissionClassification?: CustomFieldPermissionClassification | null;
47
+ fieldReadAccess?: CustomFieldReadAccess | null;
48
+ fieldWriteAccess?: CustomFieldWriteAccess | null;
49
+ applicableGroup?: string | null;
50
+ description?: string | null;
51
+ displayOrder?: number | null;
52
+ }
53
+ export type CustomFieldProps = CustomFieldCommonProps & ({
54
+ rqlDefinitionFormula: string;
55
+ collectDuring?: null;
56
+ required?: null;
57
+ tip?: null;
58
+ defaultValue?: null;
59
+ } | {
60
+ rqlDefinitionFormula?: null;
61
+ collectDuring?: CustomFieldCollectionTiming | null;
62
+ required?: boolean | null;
63
+ tip?: string | null;
64
+ defaultValue?: CustomFieldDefaultValue | null;
65
+ });
66
+ /** A Custom Field V2 field on a native or custom object. */
67
+ export declare class CustomField {
68
+ static readonly componentType: "CUSTOM_FIELD_V2";
69
+ static toDeletionIdentifier(customFieldId: string): ManifestComponentDeletion;
70
+ private readonly _fieldId;
71
+ private readonly props;
72
+ constructor(scope: ManifestScope, props: CustomFieldProps);
73
+ static loadFromExisting(fieldIdOrApiName: string, options?: ExistingManifestContextOptions): CustomField;
74
+ /** @internal Hydrates a custom field from existing manifest wire JSON. */
75
+ static _fromExistingComponent(scope: ManifestScope, component: Record<string, any>, section: CustomFieldSection): CustomField;
76
+ getFieldId(): string;
77
+ getApiName(): CustomFieldApiName;
78
+ getModelRqlName(): string;
79
+ toDict(): Record<string, any>;
80
+ }
81
+ export {};
82
+ //# sourceMappingURL=custom-field.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { CustomFieldSection } from "./custom-field-section.js";
2
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.js";
3
+ import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.js";
4
+ export declare const CUSTOM_FIELD_TYPES: readonly ["TEXT", "DATE", "NUMBER", "CURRENCY", "PERCENTAGE", "SELECT", "FILE", "ID", "RADIO", "TEXTAREA", "RANGE", "REFERENCE_ID", "BOOLEAN", "ADDRESS", "OG_REFERENCE_FIELD", "EMAIL", "URL"];
5
+ export type CustomFieldType = (typeof CUSTOM_FIELD_TYPES)[number];
6
+ export type CustomFieldApiName = `${string}__cfv2`;
7
+ export type CustomFieldUniqueIDCharacterType = 'DIGITS_ONLY' | 'TEXT_ONLY' | 'DIGITS_TEXT_BOTH';
8
+ type CustomFieldSimpleType = Exclude<CustomFieldType, 'NUMBER' | 'CURRENCY' | 'SELECT' | 'RADIO' | 'ID' | 'OG_REFERENCE_FIELD'>;
9
+ export type CustomFieldDataType = {
10
+ fieldType: CustomFieldSimpleType;
11
+ } | {
12
+ fieldType: 'NUMBER';
13
+ decimalPlaces?: number | null;
14
+ } | {
15
+ fieldType: 'CURRENCY';
16
+ currency?: string | null;
17
+ } | {
18
+ fieldType: 'SELECT' | 'RADIO';
19
+ options: readonly string[];
20
+ } | {
21
+ fieldType: 'ID';
22
+ numberOfCharacters?: number | null;
23
+ characterType?: CustomFieldUniqueIDCharacterType | null;
24
+ } | {
25
+ fieldType: 'OG_REFERENCE_FIELD';
26
+ referencedModelRqlName: string;
27
+ };
28
+ export type CustomFieldPermissionClassification = 'BASIC_PERSONAL_INFO' | 'PERSONAL_INFO' | 'SENSITIVE_PERSONAL_INFO' | 'BASIC_EMPLOYMENT_INFO' | 'EMPLOYMENT_INFO' | 'SENSITIVE_EMPLOYMENT_INFO';
29
+ export type CustomFieldReadAccess = 'ALL_ACCESS' | 'ADMIN_ACCESS' | 'ADMIN_AND_EMPLOYEE_ACCESS';
30
+ export type CustomFieldWriteAccess = 'EMPLOYEE_ACCESS' | 'ADMIN_ACCESS' | 'ADMIN_AND_EMPLOYEE_ACCESS' | 'NO_ACCESS';
31
+ export type CustomFieldCollectionTiming = 'NONE' | 'HIRING' | 'ONBOARDING' | 'TERMINATING';
32
+ export type CustomFieldDefaultValue = {
33
+ value: string;
34
+ rqlDefinitionFormula?: never;
35
+ } | {
36
+ value?: never;
37
+ rqlDefinitionFormula: string;
38
+ };
39
+ interface CustomFieldCommonProps {
40
+ fieldId?: string;
41
+ name: string;
42
+ section: CustomFieldSection;
43
+ modelRqlName: string;
44
+ dataType: CustomFieldDataType;
45
+ apiName: CustomFieldApiName;
46
+ fieldPermissionClassification?: CustomFieldPermissionClassification | null;
47
+ fieldReadAccess?: CustomFieldReadAccess | null;
48
+ fieldWriteAccess?: CustomFieldWriteAccess | null;
49
+ applicableGroup?: string | null;
50
+ description?: string | null;
51
+ displayOrder?: number | null;
52
+ }
53
+ export type CustomFieldProps = CustomFieldCommonProps & ({
54
+ rqlDefinitionFormula: string;
55
+ collectDuring?: null;
56
+ required?: null;
57
+ tip?: null;
58
+ defaultValue?: null;
59
+ } | {
60
+ rqlDefinitionFormula?: null;
61
+ collectDuring?: CustomFieldCollectionTiming | null;
62
+ required?: boolean | null;
63
+ tip?: string | null;
64
+ defaultValue?: CustomFieldDefaultValue | null;
65
+ });
66
+ /** A Custom Field V2 field on a native or custom object. */
67
+ export declare class CustomField {
68
+ static readonly componentType: "CUSTOM_FIELD_V2";
69
+ static toDeletionIdentifier(customFieldId: string): ManifestComponentDeletion;
70
+ private readonly _fieldId;
71
+ private readonly props;
72
+ constructor(scope: ManifestScope, props: CustomFieldProps);
73
+ static loadFromExisting(fieldIdOrApiName: string, options?: ExistingManifestContextOptions): CustomField;
74
+ /** @internal Hydrates a custom field from existing manifest wire JSON. */
75
+ static _fromExistingComponent(scope: ManifestScope, component: Record<string, any>, section: CustomFieldSection): CustomField;
76
+ getFieldId(): string;
77
+ getApiName(): CustomFieldApiName;
78
+ getModelRqlName(): string;
79
+ toDict(): Record<string, any>;
80
+ }
81
+ export {};
82
+ //# sourceMappingURL=custom-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomField = exports.CUSTOM_FIELD_TYPES = void 0;
4
+ const _helpers_1 = require("./_helpers.js");
5
+ const existing_manifest_context_1 = require("./existing-manifest-context.js");
6
+ const _existing_component_fields_1 = require("./_existing-component-fields.js");
7
+ exports.CUSTOM_FIELD_TYPES = [
8
+ 'TEXT',
9
+ 'DATE',
10
+ 'NUMBER',
11
+ 'CURRENCY',
12
+ 'PERCENTAGE',
13
+ 'SELECT',
14
+ 'FILE',
15
+ 'ID',
16
+ 'RADIO',
17
+ 'TEXTAREA',
18
+ 'RANGE',
19
+ 'REFERENCE_ID',
20
+ 'BOOLEAN',
21
+ 'ADDRESS',
22
+ 'OG_REFERENCE_FIELD',
23
+ 'EMAIL',
24
+ 'URL',
25
+ ];
26
+ function cloneJson(value) {
27
+ if (value == null)
28
+ return value;
29
+ return JSON.parse(JSON.stringify(value));
30
+ }
31
+ function customFieldDataTypeFromWire(dataType) {
32
+ const fieldType = (0, _existing_component_fields_1.requireStringComponentField)(dataType, 'field_type', CustomField.componentType);
33
+ switch (fieldType) {
34
+ case 'NUMBER':
35
+ return {
36
+ fieldType,
37
+ decimalPlaces: dataType['num_of_decimal_places'] ?? null,
38
+ };
39
+ case 'CURRENCY':
40
+ return { fieldType, currency: dataType['currency'] ?? null };
41
+ case 'SELECT':
42
+ case 'RADIO': {
43
+ const options = dataType['options_list'];
44
+ if (!Array.isArray(options) || !options.every((option) => typeof option === 'string')) {
45
+ throw new TypeError(`CUSTOM_FIELD_V2 data_type.options_list must be a string array.`);
46
+ }
47
+ return { fieldType, options };
48
+ }
49
+ case 'ID':
50
+ return {
51
+ fieldType,
52
+ numberOfCharacters: dataType['num_of_chars'] ?? null,
53
+ characterType: dataType['type_of_chars'] ?? null,
54
+ };
55
+ case 'OG_REFERENCE_FIELD':
56
+ return {
57
+ fieldType,
58
+ referencedModelRqlName: (0, _existing_component_fields_1.requireStringComponentField)(dataType, 'og_model_rql_name', CustomField.componentType),
59
+ };
60
+ default:
61
+ if (!exports.CUSTOM_FIELD_TYPES.includes(fieldType)) {
62
+ throw new TypeError(`Unsupported CUSTOM_FIELD_V2 field_type: ${fieldType}`);
63
+ }
64
+ return { fieldType };
65
+ }
66
+ }
67
+ /** A Custom Field V2 field on a native or custom object. */
68
+ class CustomField {
69
+ static toDeletionIdentifier(customFieldId) {
70
+ return { type: CustomField.componentType, cfv2_id: customFieldId };
71
+ }
72
+ constructor(scope, props) {
73
+ if (!props.apiName.endsWith('__cfv2')) {
74
+ throw new Error(`Custom Field V2 api_name must end with __cfv2: ${props.apiName}`);
75
+ }
76
+ if (props.section.getModelRqlName() !== props.modelRqlName) {
77
+ throw new Error(`Custom field "${props.apiName}" section belongs to "${props.section.getModelRqlName()}", ` +
78
+ `but the field belongs to "${props.modelRqlName}".`);
79
+ }
80
+ this._fieldId = props.fieldId ?? (0, _helpers_1.generateId)('cfv2');
81
+ this.props = {
82
+ ...props,
83
+ dataType: cloneJson(props.dataType),
84
+ };
85
+ scope._register(this);
86
+ }
87
+ static loadFromExisting(fieldIdOrApiName, options = {}) {
88
+ return (0, existing_manifest_context_1.getExistingManifestContext)(options).loadCustomField(fieldIdOrApiName);
89
+ }
90
+ /** @internal Hydrates a custom field from existing manifest wire JSON. */
91
+ static _fromExistingComponent(scope, component, section) {
92
+ const dataType = (0, _existing_component_fields_1.requireObjectComponentField)(component, 'data_type', CustomField.componentType);
93
+ const defaultValue = component['default_value'];
94
+ const formula = component['rql_definition_formula'];
95
+ const applicableGroup = component['applicable_group'] == null ?
96
+ null
97
+ : (0, _existing_component_fields_1.requireObjectComponentField)(component, 'applicable_group', CustomField.componentType);
98
+ const common = {
99
+ fieldId: (0, _existing_component_fields_1.requireStringComponentField)(component, 'obj_id', CustomField.componentType),
100
+ name: (0, _existing_component_fields_1.requireStringComponentField)(component, 'name', CustomField.componentType),
101
+ section,
102
+ modelRqlName: (0, _existing_component_fields_1.requireStringComponentField)(component, 'model_rql_name', CustomField.componentType),
103
+ apiName: (0, _existing_component_fields_1.requireStringComponentField)(component, 'api_name', CustomField.componentType),
104
+ dataType: customFieldDataTypeFromWire(dataType),
105
+ fieldPermissionClassification: component['field_permission_classification'] ?? null,
106
+ fieldReadAccess: component['field_read_access'] ?? null,
107
+ fieldWriteAccess: component['field_write_access'] ?? null,
108
+ applicableGroup: applicableGroup == null ? null : ((0, _existing_component_fields_1.requireStringComponentField)(applicableGroup, 'me_obj_id', CustomField.componentType)),
109
+ description: component['description'] ?? null,
110
+ displayOrder: component['display_order'] ?? null,
111
+ };
112
+ if (typeof formula === 'string') {
113
+ return new CustomField(scope, {
114
+ ...common,
115
+ rqlDefinitionFormula: formula,
116
+ collectDuring: null,
117
+ required: null,
118
+ tip: null,
119
+ defaultValue: null,
120
+ });
121
+ }
122
+ const defaultValueFormula = defaultValue?.['rql_definition_formula'];
123
+ const staticDefaultValue = defaultValue?.['value'];
124
+ return new CustomField(scope, {
125
+ ...common,
126
+ rqlDefinitionFormula: null,
127
+ collectDuring: component['collect_during'] ?? null,
128
+ required: component['required'] ?? null,
129
+ tip: component['tip'] ?? null,
130
+ defaultValue: typeof defaultValueFormula === 'string' ? { rqlDefinitionFormula: defaultValueFormula }
131
+ : typeof staticDefaultValue === 'string' ? { value: staticDefaultValue }
132
+ : null,
133
+ });
134
+ }
135
+ getFieldId() {
136
+ return this._fieldId;
137
+ }
138
+ getApiName() {
139
+ return this.props.apiName;
140
+ }
141
+ getModelRqlName() {
142
+ return this.props.modelRqlName;
143
+ }
144
+ toDict() {
145
+ const dataType = this.props.dataType;
146
+ const defaultValue = this.props.defaultValue;
147
+ return {
148
+ type: CustomField.componentType,
149
+ obj_id: this._fieldId,
150
+ name: this.props.name,
151
+ section: this.props.section.getSectionId(),
152
+ model_rql_name: this.props.modelRqlName,
153
+ data_type: {
154
+ type: CustomField.componentType,
155
+ field_type: dataType.fieldType,
156
+ options_list: 'options' in dataType ? [...dataType.options] : null,
157
+ currency: 'currency' in dataType ? dataType.currency ?? null : null,
158
+ num_of_decimal_places: 'decimalPlaces' in dataType ? dataType.decimalPlaces ?? null : null,
159
+ num_of_chars: 'numberOfCharacters' in dataType ? dataType.numberOfCharacters ?? null : null,
160
+ type_of_chars: 'characterType' in dataType ? dataType.characterType ?? null : null,
161
+ og_model_rql_name: 'referencedModelRqlName' in dataType ? dataType.referencedModelRqlName : null,
162
+ },
163
+ api_name: this.props.apiName,
164
+ field_permission_classification: this.props.fieldPermissionClassification ?? null,
165
+ field_read_access: this.props.fieldReadAccess ?? null,
166
+ field_write_access: this.props.fieldWriteAccess ?? null,
167
+ collect_during: this.props.collectDuring ?? null,
168
+ applicable_group: this.props.applicableGroup ?? null,
169
+ description: this.props.description ?? null,
170
+ required: this.props.required ?? null,
171
+ tip: this.props.tip ?? null,
172
+ rql_definition_formula: this.props.rqlDefinitionFormula ?? null,
173
+ default_value: defaultValue == null ? null : ({
174
+ type: CustomField.componentType,
175
+ value: 'value' in defaultValue ? defaultValue.value : null,
176
+ rql_definition_formula: 'rqlDefinitionFormula' in defaultValue ? defaultValue.rqlDefinitionFormula : null,
177
+ }),
178
+ display_order: this.props.displayOrder ?? null,
179
+ };
180
+ }
181
+ }
182
+ exports.CustomField = CustomField;
183
+ CustomField.componentType = 'CUSTOM_FIELD_V2';
184
+ //# sourceMappingURL=custom-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-field.js","sourceRoot":"","sources":["../../src/lib/manifest/custom-field.ts"],"names":[],"mappings":"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"}