@servicenow/sdk-build-plugins 4.2.0 → 4.4.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 +11 -0
- 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/atf/test-plugin.js +5 -2
- package/dist/atf/test-plugin.js.map +1 -1
- package/dist/basic-syntax-plugin.js +7 -1
- 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/column/column-to-record.d.ts +10 -3
- package/dist/column/column-to-record.js +44 -7
- package/dist/column/column-to-record.js.map +1 -1
- package/dist/column-plugin.d.ts +3 -1
- package/dist/column-plugin.js +12 -12
- 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 +3 -0
- package/dist/data-plugin.js +61 -113
- package/dist/data-plugin.js.map +1 -1
- 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 +1205 -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 +338 -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 +72 -0
- package/dist/flow/utils/flow-constants.js +230 -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/service-catalog.d.ts +47 -0
- package/dist/flow/utils/service-catalog.js +137 -0
- package/dist/flow/utils/service-catalog.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/index.d.ts +20 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/list-plugin.js +1 -1
- package/dist/list-plugin.js.map +1 -1
- package/dist/now-attach-plugin.d.ts +1 -0
- package/dist/now-attach-plugin.js +10 -10
- package/dist/now-attach-plugin.js.map +1 -1
- package/dist/now-ref-plugin.js +1 -1
- package/dist/now-ref-plugin.js.map +1 -1
- package/dist/record-plugin.d.ts +29 -0
- package/dist/record-plugin.js +66 -7
- 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/rest-api-plugin.js +54 -44
- package/dist/rest-api-plugin.js.map +1 -1
- package/dist/server-module-plugin/index.d.ts +10 -0
- package/dist/server-module-plugin/index.js +83 -59
- 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 +140 -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 +172 -0
- package/dist/service-catalog/service-catalog-diagnostics.js.map +1 -0
- package/dist/service-catalog/shape-to-record.d.ts +8 -0
- package/dist/service-catalog/shape-to-record.js +235 -0
- package/dist/service-catalog/shape-to-record.js.map +1 -0
- package/dist/service-catalog/utils.d.ts +323 -0
- package/dist/service-catalog/utils.js +1216 -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/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.js +25 -2
- package/dist/static-content-plugin.js.map +1 -1
- package/dist/table-plugin.js +32 -15
- package/dist/table-plugin.js.map +1 -1
- package/dist/ui-page-plugin.js +832 -19
- package/dist/ui-page-plugin.js.map +1 -1
- package/dist/ui-policy-plugin.js +5 -7
- package/dist/ui-policy-plugin.js.map +1 -1
- package/dist/utils.d.ts +10 -1
- package/dist/utils.js +16 -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/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/acl-plugin.ts +16 -1
- package/src/applicability-plugin.ts +82 -0
- package/src/atf/test-plugin.ts +6 -3
- package/src/basic-syntax-plugin.ts +10 -1
- package/src/business-rule-plugin.ts +2 -1
- package/src/call-expression-plugin.ts +2 -130
- package/src/column/column-to-record.ts +54 -8
- package/src/column-plugin.ts +29 -13
- 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 +67 -139
- 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 +1499 -0
- package/src/flow/plugins/flow-trigger-instance-plugin.ts +444 -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 +285 -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/service-catalog.ts +174 -0
- package/src/flow/utils/utils.ts +395 -0
- package/src/index.ts +20 -1
- package/src/list-plugin.ts +1 -1
- package/src/now-attach-plugin.ts +14 -11
- package/src/now-ref-plugin.ts +1 -1
- package/src/record-plugin.ts +76 -11
- package/src/repack/index.ts +14 -0
- package/src/rest-api-plugin.ts +62 -50
- package/src/server-module-plugin/index.ts +112 -86
- 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 +254 -0
- package/src/service-catalog/shape-to-record.ts +279 -0
- package/src/service-catalog/utils.ts +1455 -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/sla/sla-validators.ts +331 -0
- package/src/sla-plugin.ts +358 -0
- package/src/static-content-plugin.ts +25 -2
- package/src/table-plugin.ts +49 -16
- package/src/ui-page-plugin.ts +1063 -20
- package/src/ui-policy-plugin.ts +5 -9
- package/src/utils.ts +24 -1
- package/src/ux-list-menu-config-plugin.ts +312 -0
- 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
package/dist/data-plugin.js
CHANGED
|
@@ -4,6 +4,9 @@ exports.DataPlugin = void 0;
|
|
|
4
4
|
exports.isDataHelper = isDataHelper;
|
|
5
5
|
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
+
/**
|
|
8
|
+
* Check if a ts.Node is a data helper call expression.
|
|
9
|
+
*/
|
|
7
10
|
function isDataHelper(node) {
|
|
8
11
|
if (!sdk_build_core_1.ts.Node.isCallExpression(node)) {
|
|
9
12
|
return false;
|
|
@@ -14,6 +17,7 @@ function isDataHelper(node) {
|
|
|
14
17
|
/**
|
|
15
18
|
* Shape creators for each data helper.
|
|
16
19
|
* Maps helper function names to their shape creation logic.
|
|
20
|
+
* All data helper shapes extend CallExpressionShape.
|
|
17
21
|
*/
|
|
18
22
|
const shapeCreators = {
|
|
19
23
|
[sdk_build_core_1.DATA_HELPER_NAMES.DURATION]: createDurationShape,
|
|
@@ -23,175 +27,119 @@ const shapeCreators = {
|
|
|
23
27
|
};
|
|
24
28
|
exports.DataPlugin = sdk_build_core_1.Plugin.create({
|
|
25
29
|
name: 'DataPlugin',
|
|
26
|
-
|
|
30
|
+
shapes: [
|
|
27
31
|
{
|
|
28
|
-
|
|
32
|
+
shape: sdk_build_core_1.CallExpressionShape,
|
|
29
33
|
fileTypes: ['fluent'],
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const callee = (0, utils_1.getCallExpressionName)(node);
|
|
33
|
-
const args = node.getArguments();
|
|
34
|
-
const nodeData = args[0];
|
|
34
|
+
toSubclass(shape, { diagnostics }) {
|
|
35
|
+
const callee = shape.getCallee();
|
|
35
36
|
const shapeCreator = shapeCreators[callee];
|
|
36
|
-
|
|
37
|
+
// Only handle known data helper callees (Duration, Time, FieldList, TemplateValue)
|
|
38
|
+
if (!shapeCreator) {
|
|
37
39
|
return { success: false };
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
if (!result.success) {
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
// Extract optional second argument (e.g., timezone for Time helper)
|
|
44
|
-
let secondArg;
|
|
45
|
-
if (callee === sdk_build_core_1.DATA_HELPER_NAMES.TIME && args[1]) {
|
|
46
|
-
if (!sdk_build_core_1.ts.Node.isStringLiteral(args[1])) {
|
|
47
|
-
diagnostics.error(args[1], 'Second argument must be a string literal');
|
|
48
|
-
return { success: false };
|
|
49
|
-
}
|
|
50
|
-
secondArg = args[1].getLiteralValue();
|
|
51
|
-
}
|
|
52
|
-
return shapeCreator(node, result.value, diagnostics, secondArg);
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
shapes: [
|
|
57
|
-
{
|
|
58
|
-
shape: sdk_build_core_1.DurationShape,
|
|
59
|
-
async commit(shape, target, { commit }) {
|
|
60
|
-
const durationExpression = new sdk_build_core_1.CallExpressionShape({
|
|
61
|
-
source: shape.getSource(),
|
|
62
|
-
callee: sdk_build_core_1.DATA_HELPER_NAMES.DURATION,
|
|
63
|
-
args: [shape.getDuration()],
|
|
64
|
-
});
|
|
65
|
-
await commit(durationExpression, target);
|
|
66
|
-
return { success: true };
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
shape: sdk_build_core_1.TimeShape,
|
|
71
|
-
async commit(shape, target, { commit }) {
|
|
72
|
-
const args = [shape.getTimeData()];
|
|
73
|
-
// Preserve timezone if it was specified in the source code
|
|
74
|
-
const timeZone = shape.getTimeZone();
|
|
75
|
-
if (timeZone) {
|
|
76
|
-
args.push(timeZone);
|
|
77
|
-
}
|
|
78
|
-
const timeExpression = new sdk_build_core_1.CallExpressionShape({
|
|
79
|
-
source: shape.getSource(),
|
|
80
|
-
callee: sdk_build_core_1.DATA_HELPER_NAMES.TIME,
|
|
81
|
-
args,
|
|
82
|
-
});
|
|
83
|
-
await commit(timeExpression, target);
|
|
84
|
-
return { success: true };
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
shape: sdk_build_core_1.FieldListShape,
|
|
89
|
-
async commit(shape, target, { commit }) {
|
|
90
|
-
const fieldListExpression = new sdk_build_core_1.CallExpressionShape({
|
|
91
|
-
source: shape.getSource(),
|
|
92
|
-
callee: sdk_build_core_1.DATA_HELPER_NAMES.FIELD_LIST,
|
|
93
|
-
args: [shape.getFields()],
|
|
94
|
-
});
|
|
95
|
-
await commit(fieldListExpression, target);
|
|
96
|
-
return { success: true };
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
shape: sdk_build_core_1.TemplateValueShape,
|
|
101
|
-
async commit(shape, target, { commit }) {
|
|
102
|
-
const templateValueExpression = new sdk_build_core_1.CallExpressionShape({
|
|
103
|
-
source: shape.getSource(),
|
|
104
|
-
callee: sdk_build_core_1.DATA_HELPER_NAMES.TEMPLATE_VALUE,
|
|
105
|
-
args: [shape.getValue()],
|
|
106
|
-
});
|
|
107
|
-
await commit(templateValueExpression, target);
|
|
108
|
-
return { success: true };
|
|
41
|
+
return shapeCreator(shape, diagnostics);
|
|
109
42
|
},
|
|
110
43
|
},
|
|
111
44
|
],
|
|
112
45
|
});
|
|
113
46
|
/**
|
|
114
47
|
* Helper to validate that all defined fields are non-negative.
|
|
115
|
-
* Returns
|
|
48
|
+
* Returns errors for negative values
|
|
116
49
|
*/
|
|
117
50
|
function validateNonNegative(data, fields) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
51
|
+
const errors = [];
|
|
52
|
+
for (const field of fields) {
|
|
53
|
+
const value = data[field];
|
|
54
|
+
if (!value?.isDefined() || !value.isNumber()) {
|
|
55
|
+
continue; // Skip undefined or non-numeric (will be caught by constructor)
|
|
56
|
+
}
|
|
57
|
+
const numericValue = value.asNumber().getValue();
|
|
58
|
+
if (numericValue < 0) {
|
|
59
|
+
errors.push(`${field} must be >= 0, got ${numericValue}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return errors;
|
|
121
63
|
}
|
|
122
64
|
/**
|
|
123
65
|
* Helper to validate that at least one field is defined.
|
|
124
66
|
* Returns true if at least one field has a defined value.
|
|
125
67
|
*/
|
|
126
68
|
function hasAtLeastOneField(data, fields) {
|
|
127
|
-
return fields.some((field) => data[field]
|
|
69
|
+
return fields.some((field) => data[field]?.isDefined());
|
|
128
70
|
}
|
|
129
71
|
/**
|
|
130
|
-
* Creates a DurationShape from
|
|
72
|
+
* Creates a DurationShape from a CallExpressionShape.
|
|
131
73
|
* Validates that duration values are within acceptable ranges.
|
|
132
74
|
*/
|
|
133
|
-
function createDurationShape(
|
|
134
|
-
const
|
|
75
|
+
function createDurationShape(shape, diagnostics) {
|
|
76
|
+
const argShape = shape.getArgument(0);
|
|
77
|
+
const duration = argShape.asObject().properties({ resolve: false });
|
|
135
78
|
// Validate at least one field is provided
|
|
136
79
|
if (!hasAtLeastOneField(duration, ['days', 'hours', 'minutes', 'seconds'])) {
|
|
137
|
-
diagnostics.error(
|
|
80
|
+
diagnostics.error(shape, 'Duration must have at least one field defined (days, hours, minutes, or seconds)');
|
|
138
81
|
return { success: false };
|
|
139
82
|
}
|
|
140
83
|
const errors = validateNonNegative(duration, ['days', 'hours', 'minutes', 'seconds']);
|
|
141
84
|
if (errors.length > 0) {
|
|
142
|
-
diagnostics.error(
|
|
85
|
+
diagnostics.error(shape, `Invalid duration values: ${errors.join(', ')}`);
|
|
143
86
|
return { success: false };
|
|
144
87
|
}
|
|
145
|
-
return { success: true, value: new sdk_build_core_1.DurationShape({ source, value:
|
|
88
|
+
return { success: true, value: new sdk_build_core_1.DurationShape({ source: shape, value: argShape.asObject() }) };
|
|
146
89
|
}
|
|
147
90
|
/**
|
|
148
|
-
* Creates a TimeShape from
|
|
91
|
+
* Creates a TimeShape from a CallExpressionShape.
|
|
149
92
|
* Validates that time values are within acceptable ranges.
|
|
150
|
-
* @param source - The source CallExpression node
|
|
151
|
-
* @param shape - The shape containing time data
|
|
152
|
-
* @param diagnostics - Diagnostics for error reporting
|
|
153
|
-
* @param timeZone - Optional IANA timezone string (e.g., 'America/New_York')
|
|
154
93
|
*/
|
|
155
|
-
function createTimeShape(
|
|
156
|
-
const
|
|
94
|
+
function createTimeShape(shape, diagnostics) {
|
|
95
|
+
const argShape = shape.getArgument(0);
|
|
96
|
+
const timeData = argShape.asObject().properties({ resolve: false });
|
|
157
97
|
// Validate at least one field is provided
|
|
158
98
|
if (!hasAtLeastOneField(timeData, ['hours', 'minutes', 'seconds'])) {
|
|
159
|
-
diagnostics.error(
|
|
99
|
+
diagnostics.error(shape, 'Time must have at least one field defined (hours, minutes, or seconds)');
|
|
160
100
|
return { success: false };
|
|
161
101
|
}
|
|
162
102
|
const errors = validateNonNegative(timeData, ['hours', 'minutes', 'seconds']);
|
|
163
103
|
if (errors.length > 0) {
|
|
164
|
-
diagnostics.error(
|
|
104
|
+
diagnostics.error(shape, `Invalid time values: ${errors.join(', ')}`);
|
|
105
|
+
return { success: false };
|
|
106
|
+
}
|
|
107
|
+
// Extract and validate optional timezone from second argument
|
|
108
|
+
const tzArg = shape.getArgument(1);
|
|
109
|
+
if (tzArg.isUndefined()) {
|
|
110
|
+
return { success: true, value: new sdk_build_core_1.TimeShape({ source: shape, value: argShape.asObject() }) };
|
|
111
|
+
}
|
|
112
|
+
if (!tzArg.isString()) {
|
|
113
|
+
diagnostics.error(shape, 'Second argument (timezone) must be a string literal');
|
|
165
114
|
return { success: false };
|
|
166
115
|
}
|
|
167
|
-
|
|
168
|
-
if (
|
|
169
|
-
diagnostics.error(
|
|
116
|
+
const timeZone = tzArg.asString().getValue();
|
|
117
|
+
if (!isValidTimeZone(timeZone)) {
|
|
118
|
+
diagnostics.error(shape, `Invalid IANA timezone: '${timeZone}'. Use a valid timezone like 'America/New_York', 'Europe/London', or 'UTC'.`);
|
|
170
119
|
return { success: false };
|
|
171
120
|
}
|
|
172
|
-
return { success: true, value: new sdk_build_core_1.TimeShape({ source, value:
|
|
121
|
+
return { success: true, value: new sdk_build_core_1.TimeShape({ source: shape, value: argShape.asObject(), timeZone }) };
|
|
173
122
|
}
|
|
174
123
|
/**
|
|
175
|
-
* Creates a FieldListShape from
|
|
124
|
+
* Creates a FieldListShape from a CallExpressionShape.
|
|
176
125
|
*/
|
|
177
|
-
function createFieldListShape(
|
|
178
|
-
const fields = shape.asArray().getElements();
|
|
179
|
-
|
|
180
|
-
return { success: true, value: fieldListShape };
|
|
126
|
+
function createFieldListShape(shape, _diagnostics) {
|
|
127
|
+
const fields = shape.getArgument(0).asArray().getElements();
|
|
128
|
+
return { success: true, value: new sdk_build_core_1.FieldListShape({ source: shape, fields }) };
|
|
181
129
|
}
|
|
182
130
|
/**
|
|
183
|
-
* Creates a TemplateValueShape from
|
|
131
|
+
* Creates a TemplateValueShape from a CallExpressionShape.
|
|
184
132
|
*/
|
|
185
|
-
function createTemplateValueShape(
|
|
186
|
-
const value = shape.asObject().
|
|
133
|
+
function createTemplateValueShape(shape, diagnostics) {
|
|
134
|
+
const value = shape.getArgument(0).asObject().properties({ resolve: false });
|
|
187
135
|
// Validate that values don't contain ^^ (double caret)
|
|
188
136
|
for (const [key, val] of Object.entries(value)) {
|
|
189
|
-
if (
|
|
190
|
-
diagnostics.error(
|
|
137
|
+
if (val.isString() && val.getValue().includes('^^')) {
|
|
138
|
+
diagnostics.error(shape, `Template field '${key}' contains an invalid character sequence: multiple carets (^^). Use a single caret (^) if needed, it will be escaped automatically.`);
|
|
191
139
|
return { success: false };
|
|
192
140
|
}
|
|
193
141
|
}
|
|
194
|
-
return { success: true, value: new sdk_build_core_1.TemplateValueShape({ source, value }) };
|
|
142
|
+
return { success: true, value: new sdk_build_core_1.TemplateValueShape({ source: shape, value }) };
|
|
195
143
|
}
|
|
196
144
|
/**
|
|
197
145
|
* Validates if a timezone string is a valid IANA timezone.
|
package/dist/data-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-plugin.js","sourceRoot":"","sources":["../src/data-plugin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"data-plugin.js","sourceRoot":"","sources":["../src/data-plugin.ts"],"names":[],"mappings":";;;AAkBA,oCAMC;AAxBD,+DAYmC;AACnC,mCAA+C;AAE/C;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACtC,IAAI,CAAC,mBAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAA;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,kCAAiB,CAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,aAAa,GAGf;IACA,CAAC,kCAAiB,CAAC,QAAQ,CAAC,EAAE,mBAAmB;IACjD,CAAC,kCAAiB,CAAC,IAAI,CAAC,EAAE,eAAe;IACzC,CAAC,kCAAiB,CAAC,UAAU,CAAC,EAAE,oBAAoB;IACpD,CAAC,kCAAiB,CAAC,cAAc,CAAC,EAAE,wBAAwB;CAC/D,CAAA;AAEY,QAAA,UAAU,GAAG,uBAAM,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE;QACJ;YACI,KAAK,EAAE,oCAAmB;YAC1B,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE;gBAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;gBAChC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC1C,mFAAmF;gBACnF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,OAAO,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAC3C,CAAC;SACJ;KACJ;CACJ,CAAC,CAAA;AAEF;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAA2B,EAAE,MAAgB;IACtE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3C,SAAQ,CAAC,gEAAgE;QAC7E,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,sBAAsB,YAAY,EAAE,CAAC,CAAA;QAC7D,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAA2B,EAAE,MAAgB;IACrE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAA0B,EAAE,WAAwB;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnE,0CAA0C;IAC1C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACzE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,kFAAkF,CAAC,CAAA;QAC5G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAErF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,4BAA4B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,8BAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;AACrG,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAA0B,EAAE,WAAwB;IACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnE,0CAA0C;IAC1C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACjE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,wEAAwE,CAAC,CAAA;QAClG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAE7E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,0BAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;IACjG,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpB,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,qDAAqD,CAAC,CAAA;QAC/E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC5C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,KAAK,CACb,KAAK,EACL,2BAA2B,QAAQ,6EAA6E,CACnH,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,0BAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;AAC3G,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAA0B,EAAE,YAAyB;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,+BAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;AAClF,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,KAA0B,EAAE,WAAwB;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5E,uDAAuD;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,WAAW,CAAC,KAAK,CACb,KAAK,EACL,mBAAmB,GAAG,qIAAqI,CAC9J,CAAA;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC7B,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,mCAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AACrF,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB;IACrC,IAAI,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC"}
|