@servicenow/sdk-build-plugins 4.1.1 → 4.3.0
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/dist/acl-plugin.js +22 -4
- package/dist/acl-plugin.js.map +1 -1
- package/dist/applicability-plugin.d.ts +2 -0
- package/dist/applicability-plugin.js +72 -0
- package/dist/applicability-plugin.js.map +1 -0
- package/dist/application-menu-plugin.js +1 -0
- package/dist/application-menu-plugin.js.map +1 -1
- package/dist/atf/step-configs.d.ts +13 -12
- package/dist/atf/step-configs.js.map +1 -1
- package/dist/atf/test-plugin.d.ts +1 -1
- package/dist/atf/test-plugin.js +13 -7
- package/dist/atf/test-plugin.js.map +1 -1
- package/dist/basic-syntax-plugin.js +58 -14
- package/dist/basic-syntax-plugin.js.map +1 -1
- package/dist/business-rule-plugin.js +1 -0
- package/dist/business-rule-plugin.js.map +1 -1
- package/dist/call-expression-plugin.js +1 -107
- package/dist/call-expression-plugin.js.map +1 -1
- package/dist/claims-plugin.js +1 -1
- package/dist/claims-plugin.js.map +1 -1
- package/dist/client-script-plugin.js +5 -17
- package/dist/client-script-plugin.js.map +1 -1
- package/dist/column/column-helper.d.ts +1 -1
- package/dist/column/column-helper.js +46 -2
- package/dist/column/column-helper.js.map +1 -1
- package/dist/column/column-to-record.js +6 -4
- package/dist/column/column-to-record.js.map +1 -1
- package/dist/column-plugin.js +107 -28
- package/dist/column-plugin.js.map +1 -1
- package/dist/dashboard/dashboard-component-property-defaults.d.ts +152 -0
- package/dist/dashboard/dashboard-component-property-defaults.js +264 -0
- package/dist/dashboard/dashboard-component-property-defaults.js.map +1 -0
- package/dist/dashboard/dashboard-component-resolver.d.ts +13 -0
- package/dist/dashboard/dashboard-component-resolver.js +69 -0
- package/dist/dashboard/dashboard-component-resolver.js.map +1 -0
- package/dist/dashboard/dashboard-plugin.d.ts +12 -0
- package/dist/dashboard/dashboard-plugin.js +397 -0
- package/dist/dashboard/dashboard-plugin.js.map +1 -0
- package/dist/data-plugin.d.ts +6 -0
- package/dist/data-plugin.js +156 -0
- package/dist/data-plugin.js.map +1 -0
- package/dist/email-notification-plugin.d.ts +2 -0
- package/dist/email-notification-plugin.js +541 -0
- package/dist/email-notification-plugin.js.map +1 -0
- package/dist/flow/constants/flow-plugin-constants.d.ts +58 -0
- package/dist/flow/constants/flow-plugin-constants.js +70 -0
- package/dist/flow/constants/flow-plugin-constants.js.map +1 -0
- package/dist/flow/flow-logic/flow-logic-constants.d.ts +38 -0
- package/dist/flow/flow-logic/flow-logic-constants.js +118 -0
- package/dist/flow/flow-logic/flow-logic-constants.js.map +1 -0
- package/dist/flow/flow-logic/flow-logic-diagnostics.d.ts +19 -0
- package/dist/flow/flow-logic/flow-logic-diagnostics.js +503 -0
- package/dist/flow/flow-logic/flow-logic-diagnostics.js.map +1 -0
- package/dist/flow/flow-logic/flow-logic-plugin-helpers.d.ts +62 -0
- package/dist/flow/flow-logic/flow-logic-plugin-helpers.js +2092 -0
- package/dist/flow/flow-logic/flow-logic-plugin-helpers.js.map +1 -0
- package/dist/flow/flow-logic/flow-logic-plugin.d.ts +52 -0
- package/dist/flow/flow-logic/flow-logic-plugin.js +283 -0
- package/dist/flow/flow-logic/flow-logic-plugin.js.map +1 -0
- package/dist/flow/flow-logic/flow-logic-shapes.d.ts +104 -0
- package/dist/flow/flow-logic/flow-logic-shapes.js +201 -0
- package/dist/flow/flow-logic/flow-logic-shapes.js.map +1 -0
- package/dist/flow/plugins/approval-rules-plugin.d.ts +2 -0
- package/dist/flow/plugins/approval-rules-plugin.js +49 -0
- package/dist/flow/plugins/approval-rules-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-action-definition-plugin.d.ts +2 -0
- package/dist/flow/plugins/flow-action-definition-plugin.js +286 -0
- package/dist/flow/plugins/flow-action-definition-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-data-pill-plugin.d.ts +9 -0
- package/dist/flow/plugins/flow-data-pill-plugin.js +212 -0
- package/dist/flow/plugins/flow-data-pill-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-definition-plugin.d.ts +2 -0
- package/dist/flow/plugins/flow-definition-plugin.js +1668 -0
- package/dist/flow/plugins/flow-definition-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-diagnostics-plugin.d.ts +26 -0
- package/dist/flow/plugins/flow-diagnostics-plugin.js +217 -0
- package/dist/flow/plugins/flow-diagnostics-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-instance-plugin.d.ts +12 -0
- package/dist/flow/plugins/flow-instance-plugin.js +930 -0
- package/dist/flow/plugins/flow-instance-plugin.js.map +1 -0
- package/dist/flow/plugins/flow-trigger-instance-plugin.d.ts +2 -0
- package/dist/flow/plugins/flow-trigger-instance-plugin.js +324 -0
- package/dist/flow/plugins/flow-trigger-instance-plugin.js.map +1 -0
- package/dist/flow/plugins/inline-script-plugin.d.ts +39 -0
- package/dist/flow/plugins/inline-script-plugin.js +80 -0
- package/dist/flow/plugins/inline-script-plugin.js.map +1 -0
- package/dist/flow/plugins/step-definition-plugin.d.ts +5 -0
- package/dist/flow/plugins/step-definition-plugin.js +71 -0
- package/dist/flow/plugins/step-definition-plugin.js.map +1 -0
- package/dist/flow/plugins/step-instance-plugin.d.ts +31 -0
- package/dist/flow/plugins/step-instance-plugin.js +339 -0
- package/dist/flow/plugins/step-instance-plugin.js.map +1 -0
- package/dist/flow/plugins/trigger-plugin.d.ts +2 -0
- package/dist/flow/plugins/trigger-plugin.js +96 -0
- package/dist/flow/plugins/trigger-plugin.js.map +1 -0
- package/dist/flow/plugins/wfa-datapill-plugin.d.ts +15 -0
- package/dist/flow/plugins/wfa-datapill-plugin.js +178 -0
- package/dist/flow/plugins/wfa-datapill-plugin.js.map +1 -0
- package/dist/flow/utils/approval-rules-processor.d.ts +13 -0
- package/dist/flow/utils/approval-rules-processor.js +267 -0
- package/dist/flow/utils/approval-rules-processor.js.map +1 -0
- package/dist/flow/utils/built-in-complex-objects.d.ts +19 -0
- package/dist/flow/utils/built-in-complex-objects.js +62 -0
- package/dist/flow/utils/built-in-complex-objects.js.map +1 -0
- package/dist/flow/utils/complex-object-resolver.d.ts +8 -0
- package/dist/flow/utils/complex-object-resolver.js +614 -0
- package/dist/flow/utils/complex-object-resolver.js.map +1 -0
- package/dist/flow/utils/complex-objects.d.ts +36 -0
- package/dist/flow/utils/complex-objects.js +481 -0
- package/dist/flow/utils/complex-objects.js.map +1 -0
- package/dist/flow/utils/data-pill-shapes.d.ts +58 -0
- package/dist/flow/utils/data-pill-shapes.js +135 -0
- package/dist/flow/utils/data-pill-shapes.js.map +1 -0
- package/dist/flow/utils/datapill-transformer.d.ts +110 -0
- package/dist/flow/utils/datapill-transformer.js +503 -0
- package/dist/flow/utils/datapill-transformer.js.map +1 -0
- package/dist/flow/utils/flow-constants.d.ts +65 -0
- package/dist/flow/utils/flow-constants.js +223 -0
- package/dist/flow/utils/flow-constants.js.map +1 -0
- package/dist/flow/utils/flow-io-to-record.d.ts +44 -0
- package/dist/flow/utils/flow-io-to-record.js +409 -0
- package/dist/flow/utils/flow-io-to-record.js.map +1 -0
- package/dist/flow/utils/flow-shapes.d.ts +161 -0
- package/dist/flow/utils/flow-shapes.js +255 -0
- package/dist/flow/utils/flow-shapes.js.map +1 -0
- package/dist/flow/utils/flow-to-xml.d.ts +16 -0
- package/dist/flow/utils/flow-to-xml.js +237 -0
- package/dist/flow/utils/flow-to-xml.js.map +1 -0
- package/dist/flow/utils/flow-variable-processor.d.ts +51 -0
- package/dist/flow/utils/flow-variable-processor.js +69 -0
- package/dist/flow/utils/flow-variable-processor.js.map +1 -0
- package/dist/flow/utils/label-cache-parser.d.ts +7 -0
- package/dist/flow/utils/label-cache-parser.js +24 -0
- package/dist/flow/utils/label-cache-parser.js.map +1 -0
- package/dist/flow/utils/label-cache-processor.d.ts +119 -0
- package/dist/flow/utils/label-cache-processor.js +719 -0
- package/dist/flow/utils/label-cache-processor.js.map +1 -0
- package/dist/flow/utils/pill-string-parser.d.ts +88 -0
- package/dist/flow/utils/pill-string-parser.js +306 -0
- package/dist/flow/utils/pill-string-parser.js.map +1 -0
- package/dist/flow/utils/schema-to-flow-object.d.ts +22 -0
- package/dist/flow/utils/schema-to-flow-object.js +318 -0
- package/dist/flow/utils/schema-to-flow-object.js.map +1 -0
- package/dist/flow/utils/utils.d.ts +117 -0
- package/dist/flow/utils/utils.js +345 -0
- package/dist/flow/utils/utils.js.map +1 -0
- package/dist/import-sets-plugin.d.ts +2 -0
- package/dist/import-sets-plugin.js +412 -0
- package/dist/import-sets-plugin.js.map +1 -0
- package/dist/index.d.ts +24 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/json-plugin.d.ts +4 -4
- package/dist/json-plugin.js +21 -7
- package/dist/json-plugin.js.map +1 -1
- package/dist/list-plugin.js +83 -1
- package/dist/list-plugin.js.map +1 -1
- package/dist/now-attach-plugin.d.ts +36 -0
- package/dist/now-attach-plugin.js +320 -0
- package/dist/now-attach-plugin.js.map +1 -0
- package/dist/now-config-plugin.js +3 -0
- package/dist/now-config-plugin.js.map +1 -1
- package/dist/now-include-plugin.js +7 -1
- package/dist/now-include-plugin.js.map +1 -1
- package/dist/package-json-plugin.js +2 -2
- package/dist/package-json-plugin.js.map +1 -1
- package/dist/record-plugin.d.ts +35 -0
- package/dist/record-plugin.js +109 -23
- package/dist/record-plugin.js.map +1 -1
- package/dist/repack/index.d.ts +2 -0
- package/dist/repack/index.js +8 -0
- package/dist/repack/index.js.map +1 -1
- package/dist/repack/lint/Rules.js.map +1 -1
- package/dist/rest-api-plugin.js +81 -74
- package/dist/rest-api-plugin.js.map +1 -1
- package/dist/role-plugin.js +1 -0
- package/dist/role-plugin.js.map +1 -1
- package/dist/server-module-plugin/index.js +53 -6
- package/dist/server-module-plugin/index.js.map +1 -1
- package/dist/service-catalog/catalog-clientscript-plugin.d.ts +2 -0
- package/dist/service-catalog/catalog-clientscript-plugin.js +117 -0
- package/dist/service-catalog/catalog-clientscript-plugin.js.map +1 -0
- package/dist/service-catalog/catalog-item-plugin.d.ts +2 -0
- package/dist/service-catalog/catalog-item-plugin.js +115 -0
- package/dist/service-catalog/catalog-item-plugin.js.map +1 -0
- package/dist/service-catalog/catalog-ui-policy-plugin.d.ts +2 -0
- package/dist/service-catalog/catalog-ui-policy-plugin.js +266 -0
- package/dist/service-catalog/catalog-ui-policy-plugin.js.map +1 -0
- package/dist/service-catalog/index.d.ts +5 -0
- package/dist/service-catalog/index.js +22 -0
- package/dist/service-catalog/index.js.map +1 -0
- package/dist/service-catalog/record-to-shape.d.ts +6 -0
- package/dist/service-catalog/record-to-shape.js +93 -0
- package/dist/service-catalog/record-to-shape.js.map +1 -0
- package/dist/service-catalog/sc-record-producer-plugin.d.ts +2 -0
- package/dist/service-catalog/sc-record-producer-plugin.js +139 -0
- package/dist/service-catalog/sc-record-producer-plugin.js.map +1 -0
- package/dist/service-catalog/service-catalog-base.d.ts +311 -0
- package/dist/service-catalog/service-catalog-base.js +542 -0
- package/dist/service-catalog/service-catalog-base.js.map +1 -0
- package/dist/service-catalog/service-catalog-diagnostics.d.ts +45 -0
- package/dist/service-catalog/service-catalog-diagnostics.js +169 -0
- package/dist/service-catalog/service-catalog-diagnostics.js.map +1 -0
- package/dist/service-catalog/shape-to-record.d.ts +7 -0
- package/dist/service-catalog/shape-to-record.js +232 -0
- package/dist/service-catalog/shape-to-record.js.map +1 -0
- package/dist/service-catalog/utils.d.ts +313 -0
- package/dist/service-catalog/utils.js +1144 -0
- package/dist/service-catalog/utils.js.map +1 -0
- package/dist/service-catalog/variable-helper.d.ts +43 -0
- package/dist/service-catalog/variable-helper.js +92 -0
- package/dist/service-catalog/variable-helper.js.map +1 -0
- package/dist/service-catalog/variable-set-plugin.d.ts +2 -0
- package/dist/service-catalog/variable-set-plugin.js +175 -0
- package/dist/service-catalog/variable-set-plugin.js.map +1 -0
- package/dist/service-catalog/variables-transform.d.ts +139 -0
- package/dist/service-catalog/variables-transform.js +403 -0
- package/dist/service-catalog/variables-transform.js.map +1 -0
- package/dist/service-portal/widget-plugin.js +4 -1
- package/dist/service-portal/widget-plugin.js.map +1 -1
- package/dist/sla/sla-validators.d.ts +61 -0
- package/dist/sla/sla-validators.js +224 -0
- package/dist/sla/sla-validators.js.map +1 -0
- package/dist/sla-plugin.d.ts +5 -0
- package/dist/sla-plugin.js +280 -0
- package/dist/sla-plugin.js.map +1 -0
- package/dist/static-content-plugin.d.ts +1 -0
- package/dist/static-content-plugin.js +4 -3
- package/dist/static-content-plugin.js.map +1 -1
- package/dist/table-plugin.js +49 -4
- package/dist/table-plugin.js.map +1 -1
- package/dist/ui-page-plugin.js +2 -1
- package/dist/ui-page-plugin.js.map +1 -1
- package/dist/ui-policy-plugin.d.ts +2 -0
- package/dist/ui-policy-plugin.js +405 -0
- package/dist/ui-policy-plugin.js.map +1 -0
- package/dist/utils.d.ts +19 -1
- package/dist/utils.js +40 -0
- package/dist/utils.js.map +1 -1
- package/dist/ux-list-menu-config-plugin.d.ts +2 -0
- package/dist/ux-list-menu-config-plugin.js +292 -0
- package/dist/ux-list-menu-config-plugin.js.map +1 -0
- package/dist/view-plugin.js +1 -1
- package/dist/view-plugin.js.map +1 -1
- package/dist/workspace-plugin/chrome-tab.d.ts +2 -0
- package/dist/workspace-plugin/chrome-tab.js +46 -0
- package/dist/workspace-plugin/chrome-tab.js.map +1 -0
- package/dist/workspace-plugin/constants.d.ts +52 -0
- package/dist/workspace-plugin/constants.js +56 -0
- package/dist/workspace-plugin/constants.js.map +1 -0
- package/dist/workspace-plugin/fluent-utils.d.ts +9 -0
- package/dist/workspace-plugin/fluent-utils.js +60 -0
- package/dist/workspace-plugin/fluent-utils.js.map +1 -0
- package/dist/workspace-plugin/page.d.ts +8 -0
- package/dist/workspace-plugin/page.js +108 -0
- package/dist/workspace-plugin/page.js.map +1 -0
- package/dist/workspace-plugin/screen.d.ts +1 -0
- package/dist/workspace-plugin/screen.js +38 -0
- package/dist/workspace-plugin/screen.js.map +1 -0
- package/dist/workspace-plugin/templates/index.d.ts +10 -0
- package/dist/workspace-plugin/templates/index.js +20 -0
- package/dist/workspace-plugin/templates/index.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page-composition.d.ts +1 -0
- package/dist/workspace-plugin/templates/record-page-composition.js +4043 -0
- package/dist/workspace-plugin/templates/record-page-composition.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page-data.d.ts +1 -0
- package/dist/workspace-plugin/templates/record-page-data.js +527 -0
- package/dist/workspace-plugin/templates/record-page-data.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page-interalEventMappings.d.ts +1 -0
- package/dist/workspace-plugin/templates/record-page-interalEventMappings.js +39 -0
- package/dist/workspace-plugin/templates/record-page-interalEventMappings.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page-layoutModel.d.ts +1 -0
- package/dist/workspace-plugin/templates/record-page-layoutModel.js +55 -0
- package/dist/workspace-plugin/templates/record-page-layoutModel.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page-properties.d.ts +1 -0
- package/dist/workspace-plugin/templates/record-page-properties.js +135 -0
- package/dist/workspace-plugin/templates/record-page-properties.js.map +1 -0
- package/dist/workspace-plugin/templates/record-page.d.ts +3 -0
- package/dist/workspace-plugin/templates/record-page.js +8 -0
- package/dist/workspace-plugin/templates/record-page.js.map +1 -0
- package/dist/workspace-plugin.d.ts +2 -0
- package/dist/workspace-plugin.js +453 -0
- package/dist/workspace-plugin.js.map +1 -0
- package/package.json +10 -12
- package/src/_types/eslint-plugin-es-x.d.ts +17 -0
- package/src/_types/md5.js.d.ts +8 -0
- package/src/acl-plugin.ts +33 -10
- package/src/applicability-plugin.ts +82 -0
- package/src/application-menu-plugin.ts +1 -0
- package/src/atf/step-configs.ts +14 -12
- package/src/atf/test-plugin.ts +46 -24
- package/src/basic-syntax-plugin.ts +71 -14
- package/src/business-rule-plugin.ts +9 -5
- package/src/call-expression-plugin.ts +2 -130
- package/src/claims-plugin.ts +1 -1
- package/src/client-script-plugin.ts +8 -22
- package/src/column/column-helper.ts +65 -3
- package/src/column/column-to-record.ts +6 -4
- package/src/column-plugin.ts +142 -40
- package/src/dashboard/dashboard-component-property-defaults.ts +277 -0
- package/src/dashboard/dashboard-component-resolver.ts +69 -0
- package/src/dashboard/dashboard-plugin.ts +450 -0
- package/src/data-plugin.ts +194 -0
- package/src/email-notification-plugin.ts +850 -0
- package/src/flow/constants/flow-plugin-constants.ts +79 -0
- package/src/flow/flow-logic/flow-logic-constants.ts +120 -0
- package/src/flow/flow-logic/flow-logic-diagnostics.ts +591 -0
- package/src/flow/flow-logic/flow-logic-plugin-helpers.ts +2550 -0
- package/src/flow/flow-logic/flow-logic-plugin.ts +337 -0
- package/src/flow/flow-logic/flow-logic-shapes.ts +215 -0
- package/src/flow/plugins/approval-rules-plugin.ts +48 -0
- package/src/flow/plugins/flow-action-definition-plugin.ts +295 -0
- package/src/flow/plugins/flow-data-pill-plugin.ts +258 -0
- package/src/flow/plugins/flow-definition-plugin.ts +2173 -0
- package/src/flow/plugins/flow-diagnostics-plugin.ts +280 -0
- package/src/flow/plugins/flow-instance-plugin.ts +1148 -0
- package/src/flow/plugins/flow-trigger-instance-plugin.ts +426 -0
- package/src/flow/plugins/inline-script-plugin.ts +83 -0
- package/src/flow/plugins/step-definition-plugin.ts +67 -0
- package/src/flow/plugins/step-instance-plugin.ts +431 -0
- package/src/flow/plugins/trigger-plugin.ts +95 -0
- package/src/flow/plugins/wfa-datapill-plugin.ts +213 -0
- package/src/flow/utils/approval-rules-processor.ts +298 -0
- package/src/flow/utils/built-in-complex-objects.ts +81 -0
- package/src/flow/utils/complex-object-resolver.ts +875 -0
- package/src/flow/utils/complex-objects.ts +656 -0
- package/src/flow/utils/data-pill-shapes.ts +165 -0
- package/src/flow/utils/datapill-transformer.ts +632 -0
- package/src/flow/utils/flow-constants.ts +276 -0
- package/src/flow/utils/flow-io-to-record.ts +533 -0
- package/src/flow/utils/flow-shapes.ts +296 -0
- package/src/flow/utils/flow-to-xml.ts +318 -0
- package/src/flow/utils/flow-variable-processor.ts +100 -0
- package/src/flow/utils/label-cache-parser.ts +37 -0
- package/src/flow/utils/label-cache-processor.ts +870 -0
- package/src/flow/utils/pill-string-parser.ts +375 -0
- package/src/flow/utils/schema-to-flow-object.ts +385 -0
- package/src/flow/utils/utils.ts +395 -0
- package/src/import-sets-plugin.ts +542 -0
- package/src/index.ts +25 -1
- package/src/json-plugin.ts +31 -12
- package/src/list-plugin.ts +91 -1
- package/src/now-attach-plugin.ts +403 -0
- package/src/now-config-plugin.ts +6 -2
- package/src/now-include-plugin.ts +8 -1
- package/src/package-json-plugin.ts +3 -3
- package/src/record-plugin.ts +126 -30
- package/src/repack/index.ts +14 -0
- package/src/repack/lint/Rules.ts +1 -10
- package/src/rest-api-plugin.ts +106 -100
- package/src/role-plugin.ts +1 -0
- package/src/server-module-plugin/index.ts +74 -22
- package/src/service-catalog/catalog-clientscript-plugin.ts +140 -0
- package/src/service-catalog/catalog-item-plugin.ts +162 -0
- package/src/service-catalog/catalog-ui-policy-plugin.ts +324 -0
- package/src/service-catalog/index.ts +5 -0
- package/src/service-catalog/record-to-shape.ts +109 -0
- package/src/service-catalog/sc-record-producer-plugin.ts +201 -0
- package/src/service-catalog/service-catalog-base.ts +600 -0
- package/src/service-catalog/service-catalog-diagnostics.ts +251 -0
- package/src/service-catalog/shape-to-record.ts +275 -0
- package/src/service-catalog/utils.ts +1362 -0
- package/src/service-catalog/variable-helper.ts +135 -0
- package/src/service-catalog/variable-set-plugin.ts +197 -0
- package/src/service-catalog/variables-transform.ts +438 -0
- package/src/service-portal/widget-plugin.ts +4 -1
- package/src/sla/sla-validators.ts +331 -0
- package/src/sla-plugin.ts +358 -0
- package/src/static-content-plugin.ts +2 -2
- package/src/table-plugin.ts +66 -9
- package/src/ui-page-plugin.ts +2 -1
- package/src/ui-policy-plugin.ts +505 -0
- package/src/utils.ts +50 -1
- package/src/ux-list-menu-config-plugin.ts +312 -0
- package/src/view-plugin.ts +1 -1
- package/src/workspace-plugin/chrome-tab.ts +44 -0
- package/src/workspace-plugin/constants.ts +53 -0
- package/src/workspace-plugin/fluent-utils.ts +60 -0
- package/src/workspace-plugin/page.ts +139 -0
- package/src/workspace-plugin/screen.ts +34 -0
- package/src/workspace-plugin/templates/index.ts +17 -0
- package/src/workspace-plugin/templates/record-page-composition.ts +4051 -0
- package/src/workspace-plugin/templates/record-page-data.ts +523 -0
- package/src/workspace-plugin/templates/record-page-interalEventMappings.ts +35 -0
- package/src/workspace-plugin/templates/record-page-layoutModel.ts +51 -0
- package/src/workspace-plugin/templates/record-page-properties.ts +131 -0
- package/src/workspace-plugin/templates/record-page.ts +6 -0
- package/src/workspace-plugin.ts +574 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UiPolicyPlugin = void 0;
|
|
4
|
+
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const now_id_plugin_1 = require("./now-id-plugin");
|
|
7
|
+
// Define table names as constants since they're not exported from the core tables
|
|
8
|
+
const SYS_UI_POLICY = 'sys_ui_policy';
|
|
9
|
+
const SYS_UI_POLICY_ACTION = 'sys_ui_policy_action';
|
|
10
|
+
const SYS_UI_POLICY_RL_ACTION = 'sys_ui_policy_rl_action';
|
|
11
|
+
const DEFAULT_SCRIPT = 'function onCondition() {\n\n}';
|
|
12
|
+
// UI Type constant for string-to-number mapping
|
|
13
|
+
const UiTypeMapping = { desktop: 0, 'mobile-or-service-portal': 1, all: 10 };
|
|
14
|
+
const getUITypeFromId = (id) => {
|
|
15
|
+
const entry = Object.entries(UiTypeMapping).find(([_, v]) => v === id);
|
|
16
|
+
if (!entry) {
|
|
17
|
+
throw Error(`Invalid UI Type encountered: ${id}, check XML data before transforming again.`);
|
|
18
|
+
}
|
|
19
|
+
return entry[0];
|
|
20
|
+
};
|
|
21
|
+
const getUITypeId = (value) => {
|
|
22
|
+
const entry = UiTypeMapping[value];
|
|
23
|
+
if (entry === undefined) {
|
|
24
|
+
throw Error(`Invalid ui_type found: ${value}`);
|
|
25
|
+
}
|
|
26
|
+
return entry;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Converts ServiceNow string format ('true'/'false'/'ignore') to boolean | 'ignore'
|
|
30
|
+
* Used when reading from database (toShape)
|
|
31
|
+
*/
|
|
32
|
+
const stringToBoolean = (value) => {
|
|
33
|
+
switch (value) {
|
|
34
|
+
case 'true':
|
|
35
|
+
return true;
|
|
36
|
+
case 'false':
|
|
37
|
+
return false;
|
|
38
|
+
case 'ignore':
|
|
39
|
+
return 'ignore';
|
|
40
|
+
default:
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Converts boolean | 'ignore' to ServiceNow string format ('true'/'false'/'ignore')
|
|
46
|
+
* Used when writing to database (toRecord)
|
|
47
|
+
*/
|
|
48
|
+
const booleanToString = (value) => {
|
|
49
|
+
if (value?.isBoolean()) {
|
|
50
|
+
return value.getValue() ? 'true' : 'false';
|
|
51
|
+
}
|
|
52
|
+
return 'ignore';
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Checks if a value is a valid action property (boolean or 'ignore')
|
|
56
|
+
* Used for validation in toRecord
|
|
57
|
+
*/
|
|
58
|
+
const isValidActionValue = (value) => {
|
|
59
|
+
return value?.isBoolean() || (value?.isString() && value.getValue() === 'ignore');
|
|
60
|
+
};
|
|
61
|
+
// Helper to determine if a script should be included in generated Fluent code
|
|
62
|
+
const isValidScript = (scriptValue) => scriptValue?.isString() && scriptValue.getValue() !== '' && scriptValue.getValue() !== DEFAULT_SCRIPT;
|
|
63
|
+
// Helper function to validate a script property for import/require statements
|
|
64
|
+
const validateScriptProperty = (scriptProperty, compiler, diagnostics) => {
|
|
65
|
+
if (scriptProperty?.isString()) {
|
|
66
|
+
const scriptContent = scriptProperty.getValue();
|
|
67
|
+
if (scriptContent && !(0, utils_1.validateClientSideScript)(scriptContent, compiler)) {
|
|
68
|
+
diagnostics.error(scriptProperty, 'UI Policy scripts cannot import or require modules. Scripts run client-side in the browser.');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.UiPolicyPlugin = sdk_build_core_1.Plugin.create({
|
|
73
|
+
name: 'UiPolicyPlugin',
|
|
74
|
+
records: {
|
|
75
|
+
[SYS_UI_POLICY]: {
|
|
76
|
+
coalesce: ['table', 'short_description'],
|
|
77
|
+
relationships: {
|
|
78
|
+
[SYS_UI_POLICY_ACTION]: {
|
|
79
|
+
via: 'ui_policy',
|
|
80
|
+
descendant: true,
|
|
81
|
+
},
|
|
82
|
+
[SYS_UI_POLICY_RL_ACTION]: {
|
|
83
|
+
via: 'ui_policy',
|
|
84
|
+
descendant: true,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
toShape(record, { descendants }) {
|
|
88
|
+
const actions = descendants
|
|
89
|
+
.query(SYS_UI_POLICY_ACTION)
|
|
90
|
+
.map((action) => {
|
|
91
|
+
const fieldValue = action.get('field')?.ifString()?.getValue();
|
|
92
|
+
if (!fieldValue) {
|
|
93
|
+
return null; // Skip actions without a field
|
|
94
|
+
}
|
|
95
|
+
const actionObj = {
|
|
96
|
+
field: fieldValue,
|
|
97
|
+
};
|
|
98
|
+
// Convert ServiceNow string format to boolean | 'ignore'
|
|
99
|
+
const visible = stringToBoolean(action.get('visible')?.ifString()?.getValue());
|
|
100
|
+
const disabled = stringToBoolean(action.get('disabled')?.ifString()?.getValue());
|
|
101
|
+
const mandatory = stringToBoolean(action.get('mandatory')?.ifString()?.getValue());
|
|
102
|
+
// Only include visible if it's not 'ignore'
|
|
103
|
+
if (visible !== undefined && visible !== 'ignore') {
|
|
104
|
+
actionObj.visible = visible;
|
|
105
|
+
}
|
|
106
|
+
// Convert 'disabled' to 'readOnly'
|
|
107
|
+
// Only include 'readOnly' if it's not 'ignore'
|
|
108
|
+
if (disabled !== undefined && disabled !== 'ignore') {
|
|
109
|
+
actionObj.readOnly = disabled;
|
|
110
|
+
}
|
|
111
|
+
// Only include mandatory if it's not 'ignore'
|
|
112
|
+
if (mandatory !== undefined && mandatory !== 'ignore') {
|
|
113
|
+
actionObj.mandatory = mandatory;
|
|
114
|
+
}
|
|
115
|
+
const cleared = action.get('cleared')?.ifBoolean()?.getValue();
|
|
116
|
+
if (cleared) {
|
|
117
|
+
actionObj.cleared = cleared;
|
|
118
|
+
}
|
|
119
|
+
// Add new optional fields - only if they have meaningful values
|
|
120
|
+
const table = action.get('table')?.ifString()?.getValue();
|
|
121
|
+
const parentTable = record.get('table')?.ifString()?.getValue();
|
|
122
|
+
// Only include table if it's different from the parent policy's table
|
|
123
|
+
if (table && table !== parentTable) {
|
|
124
|
+
actionObj.table = table;
|
|
125
|
+
}
|
|
126
|
+
const value = action.get('value')?.ifString()?.getValue();
|
|
127
|
+
if (value) {
|
|
128
|
+
actionObj.value = value;
|
|
129
|
+
}
|
|
130
|
+
const fieldMessage = action.get('field_message')?.ifString()?.getValue();
|
|
131
|
+
if (fieldMessage) {
|
|
132
|
+
actionObj.fieldMessage = fieldMessage;
|
|
133
|
+
}
|
|
134
|
+
const fieldMessageType = action.get('field_message_type')?.ifString()?.getValue();
|
|
135
|
+
// Only include if it's not the default value 'none'
|
|
136
|
+
if (fieldMessageType && fieldMessageType !== 'none') {
|
|
137
|
+
actionObj.fieldMessageType = fieldMessageType;
|
|
138
|
+
}
|
|
139
|
+
const valueAction = action.get('value_action')?.ifString()?.getValue();
|
|
140
|
+
// Only include if it's not the default value 'ignore'
|
|
141
|
+
if (valueAction && valueAction !== 'ignore') {
|
|
142
|
+
actionObj.valueAction = valueAction;
|
|
143
|
+
}
|
|
144
|
+
// Skip actions that have no meaningful properties (all are 'ignore')
|
|
145
|
+
if (Object.keys(actionObj).length === 1) {
|
|
146
|
+
return null; // Only 'field' property exists, skip this action
|
|
147
|
+
}
|
|
148
|
+
return actionObj;
|
|
149
|
+
})
|
|
150
|
+
.filter((action) => action !== null); // Remove null actions
|
|
151
|
+
// Process related list actions
|
|
152
|
+
const relatedListActions = descendants
|
|
153
|
+
.query(SYS_UI_POLICY_RL_ACTION)
|
|
154
|
+
.map((rlAction) => {
|
|
155
|
+
const rlActionObj = {};
|
|
156
|
+
const listValue = rlAction.get('list')?.ifString()?.getValue();
|
|
157
|
+
if (listValue) {
|
|
158
|
+
// Strip REL: prefix if present (transform ServiceNow → Fluent)
|
|
159
|
+
// Users write plain GUIDs or table.field format in Fluent code
|
|
160
|
+
if (listValue.startsWith('REL:')) {
|
|
161
|
+
rlActionObj.list = listValue.substring(4); // Remove 'REL:' prefix
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
rlActionObj.list = listValue;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Convert ServiceNow string format to boolean | 'ignore'
|
|
168
|
+
const visible = stringToBoolean(rlAction.get('visible')?.ifString()?.getValue());
|
|
169
|
+
if (visible !== undefined && visible !== 'ignore') {
|
|
170
|
+
rlActionObj.visible = visible;
|
|
171
|
+
}
|
|
172
|
+
// Skip if no meaningful properties (only $id exists)
|
|
173
|
+
if (Object.keys(rlActionObj).length === 0) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
return rlActionObj;
|
|
177
|
+
})
|
|
178
|
+
.filter((rlAction) => rlAction !== null); // Remove null actions
|
|
179
|
+
return {
|
|
180
|
+
success: true,
|
|
181
|
+
value: new sdk_build_core_1.CallExpressionShape({
|
|
182
|
+
source: record,
|
|
183
|
+
callee: 'UiPolicy',
|
|
184
|
+
args: [
|
|
185
|
+
record.transform(({ $ }) => {
|
|
186
|
+
const scriptTrueValue = record.get('script_true');
|
|
187
|
+
const scriptFalseValue = record.get('script_false');
|
|
188
|
+
const runScriptsValue = record.get('run_scripts')?.toBoolean().getValue() ?? false;
|
|
189
|
+
const uiTypeValue = record.get('ui_type');
|
|
190
|
+
const includeScriptTrue = runScriptsValue || isValidScript(scriptTrueValue);
|
|
191
|
+
const includeScriptFalse = runScriptsValue || isValidScript(scriptFalseValue);
|
|
192
|
+
return {
|
|
193
|
+
$id: $.val(now_id_plugin_1.NowIdShape.from(record)),
|
|
194
|
+
table: $.from('table').def(''),
|
|
195
|
+
shortDescription: $.from('short_description'),
|
|
196
|
+
active: $.toBoolean().def(true),
|
|
197
|
+
global: $.toBoolean().def(true),
|
|
198
|
+
onLoad: $.from('on_load').toBoolean().def(true),
|
|
199
|
+
reverseIfFalse: $.from('reverse_if_false').toBoolean().def(true),
|
|
200
|
+
inherit: $.toBoolean().def(false),
|
|
201
|
+
isolateScript: $.from('isolate_script').toBoolean().def(false),
|
|
202
|
+
conditions: $.def(''),
|
|
203
|
+
runScripts: $.from('run_scripts').toBoolean().def(false),
|
|
204
|
+
scriptTrue: $.val(includeScriptTrue ? (scriptTrueValue?.getValue() ?? DEFAULT_SCRIPT) : undefined),
|
|
205
|
+
scriptFalse: $.val(includeScriptFalse
|
|
206
|
+
? (scriptFalseValue?.getValue() ?? DEFAULT_SCRIPT)
|
|
207
|
+
: undefined),
|
|
208
|
+
// uiType is REQUIRED when runScripts is true, should be omitted when false
|
|
209
|
+
uiType: $.val(runScriptsValue
|
|
210
|
+
? getUITypeFromId(uiTypeValue?.toNumber().getValue() ?? 0)
|
|
211
|
+
: undefined),
|
|
212
|
+
description: $.from('description').def(''),
|
|
213
|
+
modelId: $.from('model_id').def(''),
|
|
214
|
+
modelTable: $.from('model_table').def(''),
|
|
215
|
+
order: $.from('order').toNumber().def(100),
|
|
216
|
+
setValues: $.from('set_values').def(''),
|
|
217
|
+
view: $.from('view').def(''),
|
|
218
|
+
actions: $.val(actions.length > 0 ? actions : undefined),
|
|
219
|
+
relatedListActions: $.val(relatedListActions.length > 0 ? relatedListActions : undefined),
|
|
220
|
+
};
|
|
221
|
+
}),
|
|
222
|
+
],
|
|
223
|
+
}),
|
|
224
|
+
};
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
[SYS_UI_POLICY_ACTION]: {
|
|
228
|
+
coalesce: ['ui_policy', 'field'],
|
|
229
|
+
},
|
|
230
|
+
[SYS_UI_POLICY_RL_ACTION]: {
|
|
231
|
+
coalesce: ['ui_policy', 'list'],
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
shapes: [
|
|
235
|
+
{
|
|
236
|
+
shape: sdk_build_core_1.CallExpressionShape,
|
|
237
|
+
fileTypes: ['fluent'],
|
|
238
|
+
async toRecord(callExpression, { config, factory, diagnostics, compiler }) {
|
|
239
|
+
if (callExpression.getCallee()?.toString() !== 'UiPolicy') {
|
|
240
|
+
return { success: false };
|
|
241
|
+
}
|
|
242
|
+
const arg = callExpression.getArgument(0);
|
|
243
|
+
if (!arg?.isObject()) {
|
|
244
|
+
return { success: false };
|
|
245
|
+
}
|
|
246
|
+
const shortDescription = arg.get('shortDescription');
|
|
247
|
+
if (shortDescription?.isString() && shortDescription.getValue().trim() === '') {
|
|
248
|
+
diagnostics.error(shortDescription, 'shortDescription cannot be empty or contain only whitespace');
|
|
249
|
+
return { success: false };
|
|
250
|
+
}
|
|
251
|
+
// Validate table scope prefix for scoped apps
|
|
252
|
+
const tableValue = arg.get('table');
|
|
253
|
+
if (tableValue?.isString() && config?.scope) {
|
|
254
|
+
const tableName = tableValue.getValue();
|
|
255
|
+
const scopeName = config.scope;
|
|
256
|
+
if (!tableName.startsWith(`${scopeName}_`) && !(0, sdk_build_core_1.isSNScope)(scopeName) && scopeName !== 'global') {
|
|
257
|
+
diagnostics.error(arg.get('table'), `'table' property should start with scope prefix '${scopeName}_'. UI Policies in scoped apps can only be created for tables within the same scope.`);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// Validate scripts for import statements
|
|
261
|
+
const scriptTrue = arg.get('scriptTrue');
|
|
262
|
+
const scriptFalse = arg.get('scriptFalse');
|
|
263
|
+
validateScriptProperty(scriptTrue, compiler, diagnostics);
|
|
264
|
+
validateScriptProperty(scriptFalse, compiler, diagnostics);
|
|
265
|
+
const runScripts = arg.get('runScripts');
|
|
266
|
+
if (runScripts.isUndefined() || runScripts.ifBoolean()?.equals(false)) {
|
|
267
|
+
;
|
|
268
|
+
[scriptTrue, scriptFalse]
|
|
269
|
+
.filter((shape) => shape.isDefined() && !shape.equals(DEFAULT_SCRIPT))
|
|
270
|
+
.forEach((shape) => diagnostics.info(shape, `This script will not execute unless runScripts is set to true`));
|
|
271
|
+
}
|
|
272
|
+
// Convert uiType value to ID (TypeScript enforces valid values at compile time)
|
|
273
|
+
const uiTypeValue = arg.get('uiType');
|
|
274
|
+
const uiTypeId = uiTypeValue?.isString()
|
|
275
|
+
? getUITypeId(uiTypeValue.getValue())
|
|
276
|
+
: UiTypeMapping.desktop; // default
|
|
277
|
+
// Create the UI Policy record
|
|
278
|
+
const policyRecord = await factory.createRecord({
|
|
279
|
+
source: callExpression,
|
|
280
|
+
table: SYS_UI_POLICY,
|
|
281
|
+
explicitId: arg.get('$id'),
|
|
282
|
+
properties: arg.transform(({ $ }) => ({
|
|
283
|
+
table: $.from('table').def(''),
|
|
284
|
+
short_description: $.from('shortDescription'),
|
|
285
|
+
active: $.from('active').def(true),
|
|
286
|
+
global: $.from('global').def(true),
|
|
287
|
+
on_load: $.from('onLoad').def(true),
|
|
288
|
+
reverse_if_false: $.from('reverseIfFalse').def(true),
|
|
289
|
+
inherit: $.from('inherit').def(false),
|
|
290
|
+
isolate_script: $.from('isolateScript').def(false),
|
|
291
|
+
conditions: $.from('conditions').def(''),
|
|
292
|
+
run_scripts: $.from('runScripts').def(false),
|
|
293
|
+
script_true: $.from('scriptTrue').toCdata().def(DEFAULT_SCRIPT),
|
|
294
|
+
script_false: $.from('scriptFalse').toCdata().def(DEFAULT_SCRIPT),
|
|
295
|
+
description: $.from('description').def(''),
|
|
296
|
+
model_id: $.from('modelId').def(''),
|
|
297
|
+
model_table: $.from('modelTable').def(''),
|
|
298
|
+
order: $.from('order').toNumber().def(100),
|
|
299
|
+
set_values: $.from('setValues').def(''),
|
|
300
|
+
ui_type: $.val(uiTypeId),
|
|
301
|
+
view: $.from('view').def(''),
|
|
302
|
+
})),
|
|
303
|
+
});
|
|
304
|
+
// Process actions if they exist
|
|
305
|
+
const actions = arg.get('actions');
|
|
306
|
+
const actionRecords = [];
|
|
307
|
+
if (actions?.isArray()) {
|
|
308
|
+
const elements = actions.getElements();
|
|
309
|
+
// Process each action in the array
|
|
310
|
+
for (let i = 0; i < elements.length; i++) {
|
|
311
|
+
const action = elements[i];
|
|
312
|
+
if (!action?.isObject()) {
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
const field = action.get('field');
|
|
316
|
+
// Validate at least one action property exists
|
|
317
|
+
const hasVisibleProp = isValidActionValue(action.get('visible'));
|
|
318
|
+
const hasReadOnlyProp = isValidActionValue(action.get('readOnly'));
|
|
319
|
+
const hasMandatoryProp = isValidActionValue(action.get('mandatory'));
|
|
320
|
+
const hasClearedProp = action.get('cleared')?.isBoolean() || false;
|
|
321
|
+
if (!hasVisibleProp && !hasReadOnlyProp && !hasMandatoryProp && !hasClearedProp) {
|
|
322
|
+
diagnostics.error(action, `Action at index ${i} must specify at least one of: visible, readOnly, mandatory, or cleared`);
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
const actionRecord = await factory.createRecord({
|
|
326
|
+
source: action, // Use the action as source instead of callExpression
|
|
327
|
+
table: SYS_UI_POLICY_ACTION,
|
|
328
|
+
properties: action.transform(({ $ }) => ({
|
|
329
|
+
ui_policy: $.val(policyRecord.getId()),
|
|
330
|
+
table: $.from('table').def(arg.get('table')?.getValue() || ''),
|
|
331
|
+
field: $.val(field.getValue()),
|
|
332
|
+
visible: $.val(booleanToString(action.get('visible'))),
|
|
333
|
+
disabled: $.val(booleanToString(action.get('readOnly'))),
|
|
334
|
+
mandatory: $.val(booleanToString(action.get('mandatory'))),
|
|
335
|
+
cleared: $.from('cleared').toBoolean().def(false),
|
|
336
|
+
field_message: $.from('fieldMessage').def(''),
|
|
337
|
+
field_message_type: $.from('fieldMessageType').def('none'),
|
|
338
|
+
value: $.from('value').def(''),
|
|
339
|
+
value_action: $.from('valueAction').def('ignore'),
|
|
340
|
+
})),
|
|
341
|
+
});
|
|
342
|
+
actionRecords.push(actionRecord);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
// Create related list action records (optional) - AST approach
|
|
346
|
+
const relatedListActionRecords = [];
|
|
347
|
+
const relatedListActions = arg.get('relatedListActions');
|
|
348
|
+
if (relatedListActions?.isArray()) {
|
|
349
|
+
const rlElements = relatedListActions.getElements();
|
|
350
|
+
// Process each related list action in the array (similar to actions)
|
|
351
|
+
for (let i = 0; i < rlElements.length; i++) {
|
|
352
|
+
const rlAction = rlElements[i];
|
|
353
|
+
if (!rlAction?.isObject()) {
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
// Validate and process the list property
|
|
357
|
+
const list = rlAction.get('list');
|
|
358
|
+
let listValue = '';
|
|
359
|
+
if (list) {
|
|
360
|
+
if (list.isRecord()) {
|
|
361
|
+
listValue = `REL:${list.getId().getValue()}`;
|
|
362
|
+
}
|
|
363
|
+
else if (list.isString()) {
|
|
364
|
+
const listStr = list.getValue();
|
|
365
|
+
if ((0, sdk_build_core_1.isGUID)(listStr)) {
|
|
366
|
+
listValue = `REL:${listStr}`;
|
|
367
|
+
}
|
|
368
|
+
else if (listStr.includes('.')) {
|
|
369
|
+
const [table, field] = listStr.split('.');
|
|
370
|
+
if (!table || !field || listStr.split('.').length !== 2) {
|
|
371
|
+
diagnostics.error(list, `Related list action at index ${i}: 'list' property must be in 'table.field' format (e.g., 'incident.caller_id')`);
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
listValue = listStr;
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
diagnostics.error(list, `Related list action at index ${i}: 'list' property must be either a Record<'sys_relationship'>, a GUID, or in 'table.field' format (e.g., 'incident.caller_id')`);
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
// At least one property must be specified (visible or list)
|
|
383
|
+
const hasVisibleProp = isValidActionValue(rlAction.get('visible'));
|
|
384
|
+
if (!hasVisibleProp && !listValue) {
|
|
385
|
+
diagnostics.error(rlAction, `Related list action at index ${i} must specify at least one of: list or visible`);
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
const rlActionRecord = await factory.createRecord({
|
|
389
|
+
source: rlAction,
|
|
390
|
+
table: SYS_UI_POLICY_RL_ACTION,
|
|
391
|
+
properties: rlAction.transform(({ $ }) => ({
|
|
392
|
+
list: $.val(listValue),
|
|
393
|
+
ui_policy: $.val(policyRecord.getId()),
|
|
394
|
+
visible: $.val(booleanToString(rlAction.get('visible'))),
|
|
395
|
+
})),
|
|
396
|
+
});
|
|
397
|
+
relatedListActionRecords.push(rlActionRecord);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return { success: true, value: policyRecord.with(...actionRecords, ...relatedListActionRecords) };
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
],
|
|
404
|
+
});
|
|
405
|
+
//# sourceMappingURL=ui-policy-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-policy-plugin.js","sourceRoot":"","sources":["../src/ui-policy-plugin.ts"],"names":[],"mappings":";;;AAAA,+DASmC;AACnC,mCAAkD;AAClD,mDAA4C;AAE5C,kFAAkF;AAClF,MAAM,aAAa,GAAG,eAAe,CAAA;AACrC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AACnD,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AACzD,MAAM,cAAc,GAAG,+BAA+B,CAAA;AAEtD,gDAAgD;AAChD,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AAC5E,MAAM,eAAe,GAAG,CAAC,EAAU,EAAU,EAAE;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,KAAK,CAAC,gCAAgC,EAAE,6CAA6C,CAAC,CAAA;IAChG,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AACD,MAAM,WAAW,GAAG,CAAC,KAAiC,EAAU,EAAE;IAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,KAAc,EAAkC,EAAE;IACvE,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,IAAI,CAAA;QACf,KAAK,OAAO;YACR,OAAO,KAAK,CAAA;QAChB,KAAK,QAAQ;YACT,OAAO,QAAQ,CAAA;QACnB;YACI,OAAO,SAAS,CAAA;IACxB,CAAC;AACL,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,KAAY,EAAU,EAAE;IAC7C,IAAI,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAW,EAAE;IACjD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAA;AACrF,CAAC,CAAA;AAED,8EAA8E;AAC9E,MAAM,aAAa,GAAG,CAAC,WAAkB,EAAE,EAAE,CACzC,WAAW,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAA;AAEzG,8EAA8E;AAC9E,MAAM,sBAAsB,GAAG,CAC3B,cAAiC,EACjC,QAAkB,EAClB,WAAwB,EACpB,EAAE;IACN,IAAI,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;QAC/C,IAAI,aAAa,IAAI,CAAC,IAAA,gCAAwB,EAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtE,WAAW,CAAC,KAAK,CACb,cAAc,EACd,6FAA6F,CAChG,CAAA;QACL,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAEY,QAAA,cAAc,GAAG,uBAAM,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE;QACL,CAAC,aAAa,CAAC,EAAE;YACb,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC;YACxC,aAAa,EAAE;gBACX,CAAC,oBAAoB,CAAC,EAAE;oBACpB,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,IAAI;iBACnB;gBACD,CAAC,uBAAuB,CAAC,EAAE;oBACvB,GAAG,EAAE,WAAW;oBAChB,UAAU,EAAE,IAAI;iBACnB;aACJ;YACD,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE;gBAC3B,MAAM,OAAO,GAAG,WAAW;qBACtB,KAAK,CAAC,oBAAoB,CAAC;qBAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACZ,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;wBACd,OAAO,IAAI,CAAA,CAAC,+BAA+B;oBAC/C,CAAC;oBAED,MAAM,SAAS,GAWX;wBACA,KAAK,EAAE,UAAU;qBACpB,CAAA;oBAED,yDAAyD;oBACzD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC9E,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAChF,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAElF,4CAA4C;oBAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAA;oBAC/B,CAAC;oBAED,mCAAmC;oBACnC,+CAA+C;oBAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAClD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBACjC,CAAC;oBAED,8CAA8C;oBAC9C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBACpD,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;oBACnC,CAAC;oBAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAA;oBAC9D,IAAI,OAAO,EAAE,CAAC;wBACV,SAAS,CAAC,OAAO,GAAG,OAAO,CAAA;oBAC/B,CAAC;oBAED,gEAAgE;oBAChE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBACzD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBAC/D,sEAAsE;oBACtE,IAAI,KAAK,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;wBACjC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;oBAC3B,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBACzD,IAAI,KAAK,EAAE,CAAC;wBACR,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;oBAC3B,CAAC;oBAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBACxE,IAAI,YAAY,EAAE,CAAC;wBACf,SAAS,CAAC,YAAY,GAAG,YAAY,CAAA;oBACzC,CAAC;oBAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBACjF,oDAAoD;oBACpD,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;wBAClD,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;oBACjD,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBACtE,sDAAsD;oBACtD,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;wBAC1C,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;oBACvC,CAAC;oBAED,qEAAqE;oBACrE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,IAAI,CAAA,CAAC,iDAAiD;oBACjE,CAAC;oBAED,OAAO,SAAS,CAAA;gBACpB,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA,CAAC,sBAAsB;gBAE/D,+BAA+B;gBAC/B,MAAM,kBAAkB,GAAG,WAAW;qBACjC,KAAK,CAAC,uBAAuB,CAAC;qBAC9B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACd,MAAM,WAAW,GAGb,EAAE,CAAA;oBAEN,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAA;oBAC9D,IAAI,SAAS,EAAE,CAAC;wBACZ,+DAA+D;wBAC/D,+DAA+D;wBAC/D,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC/B,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAC,uBAAuB;wBACrE,CAAC;6BAAM,CAAC;4BACJ,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;wBAChC,CAAC;oBACL,CAAC;oBAED,yDAAyD;oBACzD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAChF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChD,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;oBACjC,CAAC;oBAED,qDAAqD;oBACrD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxC,OAAO,IAAI,CAAA;oBACf,CAAC;oBAED,OAAO,WAAW,CAAA;gBACtB,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAA,CAAC,sBAAsB;gBAEnE,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,oCAAmB,CAAC;wBAC3B,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,UAAU;wBAClB,IAAI,EAAE;4BACF,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;gCACvB,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gCACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gCACnD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAA;gCAClF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gCACzC,MAAM,iBAAiB,GAAG,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,CAAA;gCAC3E,MAAM,kBAAkB,GAAG,eAAe,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAA;gCAE7E,OAAO;oCACH,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,0BAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oCACnC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC9B,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;oCAC7C,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC/B,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC/B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC/C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;oCAChE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;oCACjC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;oCAC9D,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCACrB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;oCAExD,UAAU,EAAE,CAAC,CAAC,GAAG,CACb,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAClF;oCACD,WAAW,EAAE,CAAC,CAAC,GAAG,CACd,kBAAkB;wCACd,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,cAAc,CAAC;wCAClD,CAAC,CAAC,SAAS,CAClB;oCACD,2EAA2E;oCAC3E,MAAM,EAAE,CAAC,CAAC,GAAG,CACT,eAAe;wCACX,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wCAC1D,CAAC,CAAC,SAAS,CAClB;oCACD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC1C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCACnC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCACzC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;oCAC1C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC5B,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;oCACxD,kBAAkB,EAAE,CAAC,CAAC,GAAG,CACrB,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CACjE;iCACJ,CAAA;4BACL,CAAC,CAAC;yBACL;qBACJ,CAAC;iBACL,CAAA;YACL,CAAC;SACJ;QACD,CAAC,oBAAoB,CAAC,EAAE;YACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;SACnC;QACD,CAAC,uBAAuB,CAAC,EAAE;YACvB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;SAClC;KACJ;IACD,MAAM,EAAE;QACJ;YACI,KAAK,EAAE,oCAAmB;YAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE;gBACrE,IAAI,cAAc,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,CAAC;oBACxD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBACzC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBACpD,IAAI,gBAAgB,EAAE,QAAQ,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC5E,WAAW,CAAC,KAAK,CAAC,gBAAgB,EAAE,6DAA6D,CAAC,CAAA;oBAClG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,8CAA8C;gBAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACnC,IAAI,UAAU,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;oBACvC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;oBAE9B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,IAAA,0BAAS,EAAC,SAAS,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAC5F,WAAW,CAAC,KAAK,CACb,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAChB,oDAAoD,SAAS,sFAAsF,CACtJ,CAAA;oBACL,CAAC;gBACL,CAAC;gBAED,yCAAyC;gBACzC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACxC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBAC1C,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBACzD,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACxC,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpE,CAAC;oBAAA,CAAC,UAAU,EAAE,WAAW,CAAC;yBACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;yBACrE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,+DAA+D,CAAC,CAC3F,CAAA;gBACT,CAAC;gBAED,gFAAgF;gBAChF,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE;oBACpC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAgC,CAAC;oBACnE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAA,CAAC,UAAU;gBAEtC,8BAA8B;gBAC9B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;oBAC5C,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC1B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAClC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;wBAC7C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBAClC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBACnC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBACpD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;wBACrC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;wBAClD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;wBAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;wBAC/D,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;wBACjE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACnC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;wBAC1C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACxB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;qBAC/B,CAAC,CAAC;iBACN,CAAC,CAAA;gBAEF,gCAAgC;gBAChC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAClC,MAAM,aAAa,GAAa,EAAE,CAAA;gBAElC,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;oBAEtC,mCAAmC;oBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;wBAC1B,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;4BACtB,SAAQ;wBACZ,CAAC;wBAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;wBAEjC,+CAA+C;wBAC/C,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;wBAChE,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;wBAClE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;wBACpE,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,CAAA;wBAElE,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC9E,WAAW,CAAC,KAAK,CACb,MAAM,EACN,mBAAmB,CAAC,yEAAyE,CAChG,CAAA;4BACD,SAAQ;wBACZ,CAAC;wBAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;4BAC5C,MAAM,EAAE,MAAM,EAAE,qDAAqD;4BACrE,KAAK,EAAE,oBAAoB;4BAC3B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCACrC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gCACtC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gCAC9D,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gCAC9B,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gCACtD,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gCACxD,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC1D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;gCACjD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC7C,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gCAC1D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC9B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;6BACpD,CAAC,CAAC;yBACN,CAAC,CAAA;wBAEF,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACpC,CAAC;gBACL,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,wBAAwB,GAAa,EAAE,CAAA;gBAC7C,MAAM,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBACxD,IAAI,kBAAkB,EAAE,OAAO,EAAE,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAA;oBAEnD,qEAAqE;oBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;wBAC9B,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;4BACxB,SAAQ;wBACZ,CAAC;wBAED,yCAAyC;wBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;wBACjC,IAAI,SAAS,GAAG,EAAE,CAAA;wBAElB,IAAI,IAAI,EAAE,CAAC;4BACP,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gCAClB,SAAS,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAA;4BAChD,CAAC;iCAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gCACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gCAE/B,IAAI,IAAA,uBAAM,EAAC,OAAO,CAAC,EAAE,CAAC;oCAClB,SAAS,GAAG,OAAO,OAAO,EAAE,CAAA;gCAChC,CAAC;qCAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC/B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oCACzC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCACtD,WAAW,CAAC,KAAK,CACb,IAAI,EACJ,gCAAgC,CAAC,gFAAgF,CACpH,CAAA;wCACD,SAAQ;oCACZ,CAAC;oCACD,SAAS,GAAG,OAAO,CAAA;gCACvB,CAAC;qCAAM,CAAC;oCACJ,WAAW,CAAC,KAAK,CACb,IAAI,EACJ,gCAAgC,CAAC,gIAAgI,CACpK,CAAA;oCACD,SAAQ;gCACZ,CAAC;4BACL,CAAC;wBACL,CAAC;wBAED,4DAA4D;wBAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;wBAClE,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;4BAChC,WAAW,CAAC,KAAK,CACb,QAAQ,EACR,gCAAgC,CAAC,gDAAgD,CACpF,CAAA;4BACD,SAAQ;wBACZ,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;4BAC9C,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,uBAAuB;4BAC9B,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCACvC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gCACtB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gCACtC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;6BAC3D,CAAC,CAAC;yBACN,CAAC,CAAA;wBAEF,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBACjD,CAAC;gBACL,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,wBAAwB,CAAC,EAAE,CAAA;YACrG,CAAC;SACJ;KACJ;CACJ,CAAC,CAAA"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ts, type Shape, type ObjectShape, type Diagnostics } from '@servicenow/sdk-build-core';
|
|
1
|
+
import { ts, type Shape, type ObjectShape, type Diagnostics, type Compiler, type PluginApiDoc } from '@servicenow/sdk-build-core';
|
|
2
2
|
export declare function toReference(shape: Shape): string | import("@servicenow/sdk-build-core").RecordId;
|
|
3
3
|
/**
|
|
4
4
|
* Reverses an object, swapping keys and values. **reverseObject** should only be used
|
|
@@ -15,3 +15,21 @@ export declare const INVALID_XML_CHARACTERS: RegExp;
|
|
|
15
15
|
export declare function applyPathMappings(path: string, mappings: Record<string, string>): string;
|
|
16
16
|
export declare function getCallExpressionName(node: ts.CallExpression): string;
|
|
17
17
|
export declare function generateDeprecatedDiagnostics(object: ObjectShape, diagnostics: Diagnostics): void;
|
|
18
|
+
/**
|
|
19
|
+
* Validates that client-side scripts (Client Scripts and UI Policy scripts) don't contain
|
|
20
|
+
* import or require statements. These scripts run in the browser and cannot use module imports.
|
|
21
|
+
*
|
|
22
|
+
* @param script - The script content to validate
|
|
23
|
+
* @param compiler - The TypeScript compiler instance
|
|
24
|
+
* @returns true if the script is valid (no imports/requires), false otherwise
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateClientSideScript(script: string, compiler: Compiler): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a documentation entry for first-party SDK plugins.
|
|
29
|
+
* Using this helper ensures apiName and docPath are always in sync.
|
|
30
|
+
*
|
|
31
|
+
* @param apiName - The API name (e.g., 'BusinessRule', 'Acl')
|
|
32
|
+
* @param tags - Keywords for categorization (typically includes the ServiceNow table name)
|
|
33
|
+
* @returns A complete PluginApiDoc entry
|
|
34
|
+
*/
|
|
35
|
+
export declare function createSdkDocEntry(apiName: string, tags: string[]): PluginApiDoc;
|
package/dist/utils.js
CHANGED
|
@@ -7,6 +7,8 @@ exports.noThrow = noThrow;
|
|
|
7
7
|
exports.applyPathMappings = applyPathMappings;
|
|
8
8
|
exports.getCallExpressionName = getCallExpressionName;
|
|
9
9
|
exports.generateDeprecatedDiagnostics = generateDeprecatedDiagnostics;
|
|
10
|
+
exports.validateClientSideScript = validateClientSideScript;
|
|
11
|
+
exports.createSdkDocEntry = createSdkDocEntry;
|
|
10
12
|
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
11
13
|
function toReference(shape) {
|
|
12
14
|
return shape.ifRecord()?.getId() ?? shape.ifString()?.getValue() ?? '';
|
|
@@ -69,4 +71,42 @@ function generateDeprecatedDiagnostics(object, diagnostics) {
|
|
|
69
71
|
}
|
|
70
72
|
});
|
|
71
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Helper function to check if a call expression is a require statement
|
|
76
|
+
*/
|
|
77
|
+
function isRequire(callExpression) {
|
|
78
|
+
const expression = callExpression.getExpression();
|
|
79
|
+
return sdk_build_core_1.ts.Node.isIdentifier(expression) && expression.getText() === 'require';
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Validates that client-side scripts (Client Scripts and UI Policy scripts) don't contain
|
|
83
|
+
* import or require statements. These scripts run in the browser and cannot use module imports.
|
|
84
|
+
*
|
|
85
|
+
* @param script - The script content to validate
|
|
86
|
+
* @param compiler - The TypeScript compiler instance
|
|
87
|
+
* @returns true if the script is valid (no imports/requires), false otherwise
|
|
88
|
+
*/
|
|
89
|
+
function validateClientSideScript(script, compiler) {
|
|
90
|
+
const source = compiler.createSourceFile('tmp-script.ts', script);
|
|
91
|
+
const hasImports = source.getDescendantsOfKind(sdk_build_core_1.ts.SyntaxKind.ImportDeclaration).length > 0;
|
|
92
|
+
const hasRequires = source.getDescendantsOfKind(sdk_build_core_1.ts.SyntaxKind.CallExpression).some(isRequire);
|
|
93
|
+
const isValid = !(hasImports || hasRequires);
|
|
94
|
+
compiler.removeSourceFile(source);
|
|
95
|
+
return isValid;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Creates a documentation entry for first-party SDK plugins.
|
|
99
|
+
* Using this helper ensures apiName and docPath are always in sync.
|
|
100
|
+
*
|
|
101
|
+
* @param apiName - The API name (e.g., 'BusinessRule', 'Acl')
|
|
102
|
+
* @param tags - Keywords for categorization (typically includes the ServiceNow table name)
|
|
103
|
+
* @returns A complete PluginApiDoc entry
|
|
104
|
+
*/
|
|
105
|
+
function createSdkDocEntry(apiName, tags) {
|
|
106
|
+
return {
|
|
107
|
+
apiName,
|
|
108
|
+
docPath: `@servicenow/sdk/docs/${apiName}/${apiName}.md`,
|
|
109
|
+
tags,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
72
112
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|