@oomol-lab/open-flow 0.1.0-beta.73 → 0.1.0-beta.75
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/LICENSE +36 -0
- package/NOTICE +7 -0
- package/README.md +41 -0
- package/dist/browser/{ContentIcon-CUQHjQIw.js → ContentIcon-FCpKiwjp.js} +2 -1
- package/dist/browser/{FlowCanvas-Dtf8_cQp.js → FlowCanvas-dzRBnlUT.js} +1 -1
- package/dist/browser/{createResourceDialog-BWJkjiOO.js → createResourceDialog-BeYDdUl-.js} +2 -2
- package/dist/browser/{dialog-CUy_fwx9.js → dialog-ZtpsFbl4.js} +337 -31
- package/dist/browser/{exportSvg-BOoy7-Db.js → exportSvg-DqXw1yf-.js} +2 -2
- package/dist/browser/{flowChanges-CgSnSqqP.js → flowChanges-b_5UobFj.js} +586 -87
- package/dist/browser/{flowWorkspace-Bf7H-r0t.js → flowWorkspace-ItojZbO4.js} +21162 -20242
- package/dist/browser/preview.css +254 -179
- package/dist/browser/preview.js +22201 -20625
- package/dist/browser/{typeScriptSession-B0hC-C8y.js → typeScriptSession-CSRwWmZm.js} +1 -1
- package/dist/browser/ui.css +72 -2
- package/dist/browser/workbench.css +254 -179
- package/dist/browser/workbench.js +22 -78
- package/dist/browser/{workbenchSelect-C3e4J93X.js → workbenchSelect-M441Lz0d.js} +1 -1
- package/dist/command/index.js +42 -42
- package/dist/common/authoring.d.ts +5 -5
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/authoringFields.d.ts +1 -1
- package/dist/common/authoringSchema.d.ts +95 -8
- package/dist/common/connector-proxy.d.ts +1 -1
- package/dist/common/control-api-conformance.d.ts +1 -1
- package/dist/common/control-api-conformance.js +119 -31
- package/dist/common/control-api.d.ts +4 -3
- package/dist/common/control-api.js +117 -29
- package/dist/common/control-requests.d.ts +5 -4
- package/dist/common/control-requests.js +437 -103
- package/dist/common/cron-trigger.d.ts +1 -1
- package/dist/common/decision.d.ts +1 -1
- package/dist/common/draftOperations.d.ts +1 -1
- package/dist/common/engine-contract.d.ts +4 -2
- package/dist/common/event-source-definition.d.ts +1 -1
- package/dist/common/flow-agent.d.ts +1 -1
- package/dist/{browser → common}/flow-authoring-node.d.ts +3 -3
- package/dist/{browser → common}/flow-authoring.js +131 -30
- package/dist/{browser → common}/flow-change-schema.d.ts +177 -6
- package/dist/{browser → common}/flow-change.d.ts +35 -15
- package/dist/{browser → common}/flow-change.js +133 -32
- package/dist/common/flow-connectionUsage.d.ts +1 -1
- package/dist/common/flow-encoding.d.ts +1 -1
- package/dist/common/flow-encoding.js +89 -23
- package/dist/common/flow-errorHandling.d.ts +1 -1
- package/dist/common/flow-graph.d.ts +3 -2
- package/dist/common/flow-modules.d.ts +1 -1
- package/dist/common/flow-promptTemplate.d.ts +1 -1
- package/dist/common/flow-retry.d.ts +2 -2
- package/dist/common/flow-semantics.d.ts +1 -1
- package/dist/common/flow-semantics.js +966 -614
- package/dist/common/flow-workflowFile.d.ts +1 -1
- package/dist/common/flowInspection.d.ts +3 -3
- package/dist/common/http-request.d.ts +156 -0
- package/dist/common/http-request.js +5254 -0
- package/dist/common/integration-trigger.d.ts +1 -1
- package/dist/common/licenses.md +118 -1
- package/dist/common/liveDetails.d.ts +1 -1
- package/dist/common/mcp.d.ts +5 -4
- package/dist/common/mcp.js +117 -29
- package/dist/common/openapi.d.ts +1 -1
- package/dist/common/poll-trigger.d.ts +1 -1
- package/dist/common/run-events.js +11 -9
- package/dist/common/run-results.d.ts +8 -1
- package/dist/common/runtime-contract.d.ts +8 -2
- package/dist/common/runtime-contract.js +25 -5
- package/dist/common/scheduler-checkpoint.d.ts +1 -1
- package/dist/common/scheduler-dependencies.d.ts +1 -1
- package/dist/common/scheduler-node-execution.d.ts +1 -1
- package/dist/common/scheduler.d.ts +3 -3
- package/dist/common/scheduler.js +101 -33
- package/dist/common/trigger-catalog.d.ts +1 -1
- package/dist/common/trigger-config-options.d.ts +1 -1
- package/dist/common/trigger-config.d.ts +1 -1
- package/dist/common/trigger-contract.d.ts +2 -2
- package/dist/common/trigger-localization.d.ts +1 -1
- package/dist/common/webhook-response.d.ts +1 -3
- package/dist/common/webhook-trigger.d.ts +1 -1
- package/dist/common/webhook-trigger.js +12 -11
- package/dist/common/workflow.d.ts +17 -1
- package/dist/common/workflow.js +68 -22
- package/dist/index.d.ts +6 -3
- package/package.json +11 -6
- package/skills/open-flow/references/flow-authoring.md +1 -0
- package/skills/open-flow/references/flow-n8n-conversion.md +19 -15
- package/src/base/common/json.ts +90 -0
- package/src/canvas/common/commands.ts +15 -0
- package/src/connector/common/actionSchema.ts +168 -0
- package/src/connector/common/proxy.ts +44 -0
- package/src/control/common/api.ts +1506 -0
- package/src/control/common/authoring.ts +923 -0
- package/src/control/common/authoringCondition.ts +110 -0
- package/src/control/common/authoringDiagnosticFields.ts +136 -0
- package/src/control/common/authoringExamples.ts +200 -0
- package/src/control/common/authoringFields.ts +53 -0
- package/src/control/common/authoringLlm.ts +70 -0
- package/src/control/common/authoringOpenApi.ts +129 -0
- package/src/control/common/authoringSchema.ts +410 -0
- package/src/control/common/authoringTools.ts +123 -0
- package/src/control/common/authoringTriggers.ts +26 -0
- package/src/control/common/checkDecoders.ts +65 -0
- package/src/control/common/conformance.ts +1989 -0
- package/src/control/common/connectorDecoders.ts +370 -0
- package/src/control/common/connectorQueries.ts +61 -0
- package/src/control/common/decoding.ts +60 -0
- package/src/control/common/draftOperations.ts +61 -0
- package/src/control/common/errors.ts +114 -0
- package/src/control/common/eventSourceSchemas.ts +13 -0
- package/src/control/common/eventSources.ts +186 -0
- package/src/control/common/flowDecoders.ts +153 -0
- package/src/control/common/flowInspection.ts +181 -0
- package/src/control/common/flowNotifications.ts +37 -0
- package/src/control/common/liveDetails.ts +124 -0
- package/src/control/common/mcp.ts +241 -0
- package/src/control/common/mcpConformance.ts +142 -0
- package/src/control/common/providerAccess.ts +28 -0
- package/src/control/common/providerIconSprite.ts +42 -0
- package/src/control/common/publicationDecoders.ts +98 -0
- package/src/control/common/random.ts +16 -0
- package/src/control/common/requests.ts +112 -0
- package/src/control/common/resultQuery.ts +8 -0
- package/src/control/common/results.ts +176 -0
- package/src/control/common/revisionDecoders.ts +52 -0
- package/src/control/common/runDecoders.ts +240 -0
- package/src/control/common/triggerCatalog.ts +89 -0
- package/src/control/common/triggerDecoders.ts +175 -0
- package/src/decision/common/decision.ts +168 -0
- package/src/event-source/common/catalog.generated.json +65 -0
- package/src/event-source/common/definition.ts +66 -0
- package/src/event-source/common/index.ts +99 -0
- package/src/execution/common/checkpoint.ts +311 -0
- package/src/execution/common/dependencies.ts +440 -0
- package/src/execution/common/engineContract.ts +84 -0
- package/src/execution/common/events.ts +331 -0
- package/src/execution/common/node-execution.ts +469 -0
- package/src/execution/common/runLifecycle.ts +250 -0
- package/src/execution/common/runtime.ts +563 -0
- package/src/execution/common/scheduler.ts +697 -0
- package/src/execution/common/wait.ts +36 -0
- package/src/flow/common/agent.ts +305 -0
- package/src/flow/common/authoring.ts +30 -0
- package/src/flow/common/change.ts +1037 -0
- package/src/flow/common/changeSchema.ts +792 -0
- package/src/flow/common/codePermissions.ts +2 -0
- package/src/flow/common/condition.ts +265 -0
- package/src/flow/common/connectionUsage.ts +131 -0
- package/src/flow/common/edgeChanges.ts +35 -0
- package/src/flow/common/encoding.ts +437 -0
- package/src/flow/common/errorHandling.ts +34 -0
- package/src/flow/common/graph.ts +898 -0
- package/src/flow/common/inputValue.ts +16 -0
- package/src/flow/common/json.ts +8 -0
- package/src/flow/common/moduleChanges.ts +31 -0
- package/src/flow/common/modules.ts +292 -0
- package/src/flow/common/nodeChanges.ts +762 -0
- package/src/flow/common/portChanges.ts +36 -0
- package/src/flow/common/promptTemplate.ts +15 -0
- package/src/flow/common/retry.ts +20 -0
- package/src/flow/common/schema.ts +162 -0
- package/src/flow/common/schemaCompare.ts +176 -0
- package/src/flow/common/schemaComparer.ts +178 -0
- package/src/flow/common/schemaKeywords.ts +53 -0
- package/src/flow/common/semantics.ts +531 -0
- package/src/flow/common/sourceField.ts +35 -0
- package/src/flow/common/triggerScheduleSchema.ts +8 -0
- package/src/flow/common/wait.ts +30 -0
- package/src/flow/common/webhookMethod.ts +7 -0
- package/src/flow/common/webhookResponse.ts +71 -0
- package/src/flow/common/workflowFile.ts +97 -0
- package/src/http/common/authBindings.ts +12 -0
- package/src/http/common/headers.ts +5 -0
- package/src/http/common/httpRequest.ts +251 -0
- package/src/json-schema-subset/checker/array.ts +142 -0
- package/src/json-schema-subset/checker/cache.ts +57 -0
- package/src/json-schema-subset/checker/checker.ts +230 -0
- package/src/json-schema-subset/checker/enumAndConst.ts +113 -0
- package/src/json-schema-subset/checker/equals.ts +93 -0
- package/src/json-schema-subset/checker/numeric/checker.ts +50 -0
- package/src/json-schema-subset/checker/numeric/float.ts +121 -0
- package/src/json-schema-subset/checker/numeric/index.ts +1 -0
- package/src/json-schema-subset/checker/numeric/integer.ts +119 -0
- package/src/json-schema-subset/checker/numeric/integerNormalizer.ts +72 -0
- package/src/json-schema-subset/checker/object.ts +354 -0
- package/src/json-schema-subset/checker/range.ts +91 -0
- package/src/json-schema-subset/checker/string.ts +60 -0
- package/src/json-schema-subset/checker/tools/index.ts +3 -0
- package/src/json-schema-subset/checker/tools/mark.ts +82 -0
- package/src/json-schema-subset/checker/tools/quantum.ts +106 -0
- package/src/json-schema-subset/checker/tools/range.ts +210 -0
- package/src/json-schema-subset/checker/validator.ts +23 -0
- package/src/json-schema-subset/compiler/array.ts +163 -0
- package/src/json-schema-subset/compiler/combination.ts +109 -0
- package/src/json-schema-subset/compiler/common.ts +99 -0
- package/src/json-schema-subset/compiler/compiler.ts +188 -0
- package/src/json-schema-subset/compiler/enumAndConst.ts +75 -0
- package/src/json-schema-subset/compiler/index.ts +11 -0
- package/src/json-schema-subset/compiler/object.ts +411 -0
- package/src/json-schema-subset/compiler/primitive.ts +144 -0
- package/src/json-schema-subset/compiler/utils.ts +24 -0
- package/src/json-schema-subset/compiler/wrapper.ts +192 -0
- package/src/json-schema-subset/error.ts +55 -0
- package/src/json-schema-subset/expression/calculator.ts +442 -0
- package/src/json-schema-subset/expression/combination.ts +49 -0
- package/src/json-schema-subset/expression/expression.ts +191 -0
- package/src/json-schema-subset/expression/index.ts +25 -0
- package/src/json-schema-subset/expression/result.ts +88 -0
- package/src/json-schema-subset/expression/types.ts +36 -0
- package/src/json-schema-subset/extends/extendsContext.ts +89 -0
- package/src/json-schema-subset/extends/index.ts +2 -0
- package/src/json-schema-subset/extends/types.ts +12 -0
- package/src/json-schema-subset/global.ts +60 -0
- package/src/json-schema-subset/index.ts +8 -0
- package/src/json-schema-subset/preprocessing.ts +74 -0
- package/src/json-schema-subset/types.ts +8 -0
- package/src/json-schema-subset/utils.ts +95 -0
- package/src/localization/common/languages.ts +118 -0
- package/src/localization/common/timeZone.ts +25 -0
- package/src/openapi/common/openapi.ts +459 -0
- package/src/trigger/common/config.ts +56 -0
- package/src/trigger/common/configOptions.ts +15 -0
- package/src/trigger/common/configSchema.ts +8 -0
- package/src/trigger/common/contract.ts +132 -0
- package/src/trigger/common/cron.ts +151 -0
- package/src/trigger/common/integration.ts +498 -0
- package/src/trigger/common/poll.ts +187 -0
- package/src/trigger/common/webhook.ts +413 -0
- package/src/trigger/providers/airtable/locales/fr.json +18 -0
- package/src/trigger/providers/airtable/locales/ja.json +18 -0
- package/src/trigger/providers/airtable/locales/ko.json +18 -0
- package/src/trigger/providers/airtable/locales/ru.json +18 -0
- package/src/trigger/providers/airtable/locales/zh-CN.json +18 -0
- package/src/trigger/providers/airtable/locales/zh-TW.json +18 -0
- package/src/trigger/providers/asana/locales/fr.json +15 -0
- package/src/trigger/providers/asana/locales/ja.json +15 -0
- package/src/trigger/providers/asana/locales/ko.json +15 -0
- package/src/trigger/providers/asana/locales/ru.json +15 -0
- package/src/trigger/providers/asana/locales/zh-CN.json +15 -0
- package/src/trigger/providers/asana/locales/zh-TW.json +15 -0
- package/src/trigger/providers/calendly/locales/fr.json +16 -0
- package/src/trigger/providers/calendly/locales/ja.json +16 -0
- package/src/trigger/providers/calendly/locales/ko.json +16 -0
- package/src/trigger/providers/calendly/locales/ru.json +16 -0
- package/src/trigger/providers/calendly/locales/zh-CN.json +16 -0
- package/src/trigger/providers/calendly/locales/zh-TW.json +16 -0
- package/src/trigger/providers/catalog.generated.json +4996 -0
- package/src/trigger/providers/clickup/locales/fr.json +16 -0
- package/src/trigger/providers/clickup/locales/ja.json +16 -0
- package/src/trigger/providers/clickup/locales/ko.json +16 -0
- package/src/trigger/providers/clickup/locales/ru.json +16 -0
- package/src/trigger/providers/clickup/locales/zh-CN.json +16 -0
- package/src/trigger/providers/clickup/locales/zh-TW.json +16 -0
- package/src/trigger/providers/definitions.ts +19 -0
- package/src/trigger/providers/feishu/locales/fr.json +20 -0
- package/src/trigger/providers/feishu/locales/ja.json +20 -0
- package/src/trigger/providers/feishu/locales/ko.json +20 -0
- package/src/trigger/providers/feishu/locales/ru.json +20 -0
- package/src/trigger/providers/feishu/locales/zh-CN.json +20 -0
- package/src/trigger/providers/feishu/locales/zh-TW.json +20 -0
- package/src/trigger/providers/fieldDescriptions.ts +392 -0
- package/src/trigger/providers/fieldLabels.ts +256 -0
- package/src/trigger/providers/fireflies/locales/fr.json +17 -0
- package/src/trigger/providers/fireflies/locales/ja.json +17 -0
- package/src/trigger/providers/fireflies/locales/ko.json +17 -0
- package/src/trigger/providers/fireflies/locales/ru.json +17 -0
- package/src/trigger/providers/fireflies/locales/zh-CN.json +17 -0
- package/src/trigger/providers/fireflies/locales/zh-TW.json +17 -0
- package/src/trigger/providers/github/locales/fr.json +30 -0
- package/src/trigger/providers/github/locales/ja.json +30 -0
- package/src/trigger/providers/github/locales/ko.json +30 -0
- package/src/trigger/providers/github/locales/ru.json +30 -0
- package/src/trigger/providers/github/locales/zh-CN.json +30 -0
- package/src/trigger/providers/github/locales/zh-TW.json +30 -0
- package/src/trigger/providers/gitlab/locales/fr.json +18 -0
- package/src/trigger/providers/gitlab/locales/ja.json +18 -0
- package/src/trigger/providers/gitlab/locales/ko.json +18 -0
- package/src/trigger/providers/gitlab/locales/ru.json +18 -0
- package/src/trigger/providers/gitlab/locales/zh-CN.json +18 -0
- package/src/trigger/providers/gitlab/locales/zh-TW.json +18 -0
- package/src/trigger/providers/gmail/locales/fr.json +18 -0
- package/src/trigger/providers/gmail/locales/ja.json +18 -0
- package/src/trigger/providers/gmail/locales/ko.json +18 -0
- package/src/trigger/providers/gmail/locales/ru.json +18 -0
- package/src/trigger/providers/gmail/locales/zh-CN.json +18 -0
- package/src/trigger/providers/gmail/locales/zh-TW.json +18 -0
- package/src/trigger/providers/google-calendar/locales/fr.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ja.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ko.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ru.json +15 -0
- package/src/trigger/providers/google-calendar/locales/zh-CN.json +15 -0
- package/src/trigger/providers/google-calendar/locales/zh-TW.json +15 -0
- package/src/trigger/providers/google-drive/locales/fr.json +48 -0
- package/src/trigger/providers/google-drive/locales/ja.json +48 -0
- package/src/trigger/providers/google-drive/locales/ko.json +48 -0
- package/src/trigger/providers/google-drive/locales/ru.json +48 -0
- package/src/trigger/providers/google-drive/locales/zh-CN.json +48 -0
- package/src/trigger/providers/google-drive/locales/zh-TW.json +48 -0
- package/src/trigger/providers/google-sheets/locales/fr.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ja.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ko.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ru.json +19 -0
- package/src/trigger/providers/google-sheets/locales/zh-CN.json +19 -0
- package/src/trigger/providers/google-sheets/locales/zh-TW.json +19 -0
- package/src/trigger/providers/intercom/locales/fr.json +17 -0
- package/src/trigger/providers/intercom/locales/ja.json +17 -0
- package/src/trigger/providers/intercom/locales/ko.json +17 -0
- package/src/trigger/providers/intercom/locales/ru.json +17 -0
- package/src/trigger/providers/intercom/locales/zh-CN.json +17 -0
- package/src/trigger/providers/intercom/locales/zh-TW.json +17 -0
- package/src/trigger/providers/jira/locales/fr.json +17 -0
- package/src/trigger/providers/jira/locales/ja.json +17 -0
- package/src/trigger/providers/jira/locales/ko.json +17 -0
- package/src/trigger/providers/jira/locales/ru.json +17 -0
- package/src/trigger/providers/jira/locales/zh-CN.json +17 -0
- package/src/trigger/providers/jira/locales/zh-TW.json +17 -0
- package/src/trigger/providers/linear/locales/fr.json +13 -0
- package/src/trigger/providers/linear/locales/ja.json +13 -0
- package/src/trigger/providers/linear/locales/ko.json +13 -0
- package/src/trigger/providers/linear/locales/ru.json +13 -0
- package/src/trigger/providers/linear/locales/zh-CN.json +13 -0
- package/src/trigger/providers/linear/locales/zh-TW.json +13 -0
- package/src/trigger/providers/locales/fr.ts +71 -0
- package/src/trigger/providers/locales/ja.ts +71 -0
- package/src/trigger/providers/locales/ko.ts +71 -0
- package/src/trigger/providers/locales/ru.ts +71 -0
- package/src/trigger/providers/locales/zh-CN.ts +71 -0
- package/src/trigger/providers/locales/zh-TW.ts +71 -0
- package/src/trigger/providers/localization.ts +59 -0
- package/src/trigger/providers/notion/locales/fr.json +16 -0
- package/src/trigger/providers/notion/locales/ja.json +16 -0
- package/src/trigger/providers/notion/locales/ko.json +16 -0
- package/src/trigger/providers/notion/locales/ru.json +16 -0
- package/src/trigger/providers/notion/locales/zh-CN.json +16 -0
- package/src/trigger/providers/notion/locales/zh-TW.json +16 -0
- package/src/trigger/providers/one-drive/locales/fr.json +16 -0
- package/src/trigger/providers/one-drive/locales/ja.json +16 -0
- package/src/trigger/providers/one-drive/locales/ko.json +16 -0
- package/src/trigger/providers/one-drive/locales/ru.json +16 -0
- package/src/trigger/providers/one-drive/locales/zh-CN.json +16 -0
- package/src/trigger/providers/one-drive/locales/zh-TW.json +16 -0
- package/src/trigger/providers/outlook/locales/fr.json +18 -0
- package/src/trigger/providers/outlook/locales/ja.json +18 -0
- package/src/trigger/providers/outlook/locales/ko.json +18 -0
- package/src/trigger/providers/outlook/locales/ru.json +18 -0
- package/src/trigger/providers/outlook/locales/zh-CN.json +18 -0
- package/src/trigger/providers/outlook/locales/zh-TW.json +18 -0
- package/src/trigger/providers/pandadoc/locales/fr.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ja.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ko.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ru.json +12 -0
- package/src/trigger/providers/pandadoc/locales/zh-CN.json +12 -0
- package/src/trigger/providers/pandadoc/locales/zh-TW.json +12 -0
- package/src/trigger/providers/pipedrive/locales/fr.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ja.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ko.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ru.json +15 -0
- package/src/trigger/providers/pipedrive/locales/zh-CN.json +15 -0
- package/src/trigger/providers/pipedrive/locales/zh-TW.json +15 -0
- package/src/trigger/providers/remote.ts +163 -0
- package/src/trigger/providers/resend/locales/fr.json +16 -0
- package/src/trigger/providers/resend/locales/ja.json +16 -0
- package/src/trigger/providers/resend/locales/ko.json +16 -0
- package/src/trigger/providers/resend/locales/ru.json +16 -0
- package/src/trigger/providers/resend/locales/zh-CN.json +16 -0
- package/src/trigger/providers/resend/locales/zh-TW.json +16 -0
- package/src/trigger/providers/sentry/locales/fr.json +19 -0
- package/src/trigger/providers/sentry/locales/ja.json +19 -0
- package/src/trigger/providers/sentry/locales/ko.json +19 -0
- package/src/trigger/providers/sentry/locales/ru.json +19 -0
- package/src/trigger/providers/sentry/locales/zh-CN.json +19 -0
- package/src/trigger/providers/sentry/locales/zh-TW.json +19 -0
- package/src/trigger/providers/shopify/locales/fr.json +18 -0
- package/src/trigger/providers/shopify/locales/ja.json +18 -0
- package/src/trigger/providers/shopify/locales/ko.json +18 -0
- package/src/trigger/providers/shopify/locales/ru.json +18 -0
- package/src/trigger/providers/shopify/locales/zh-CN.json +18 -0
- package/src/trigger/providers/shopify/locales/zh-TW.json +18 -0
- package/src/trigger/providers/slack/locales/fr.json +18 -0
- package/src/trigger/providers/slack/locales/ja.json +18 -0
- package/src/trigger/providers/slack/locales/ko.json +18 -0
- package/src/trigger/providers/slack/locales/ru.json +18 -0
- package/src/trigger/providers/slack/locales/zh-CN.json +18 -0
- package/src/trigger/providers/slack/locales/zh-TW.json +18 -0
- package/src/trigger/providers/slackbot/locales/fr.json +23 -0
- package/src/trigger/providers/slackbot/locales/ja.json +23 -0
- package/src/trigger/providers/slackbot/locales/ko.json +23 -0
- package/src/trigger/providers/slackbot/locales/ru.json +23 -0
- package/src/trigger/providers/slackbot/locales/zh-CN.json +23 -0
- package/src/trigger/providers/slackbot/locales/zh-TW.json +23 -0
- package/src/trigger/providers/source-events.ts +25 -0
- package/src/trigger/providers/stripe/locales/fr.json +17 -0
- package/src/trigger/providers/stripe/locales/ja.json +17 -0
- package/src/trigger/providers/stripe/locales/ko.json +17 -0
- package/src/trigger/providers/stripe/locales/ru.json +17 -0
- package/src/trigger/providers/stripe/locales/zh-CN.json +17 -0
- package/src/trigger/providers/stripe/locales/zh-TW.json +17 -0
- package/src/trigger/providers/tally/locales/fr.json +12 -0
- package/src/trigger/providers/tally/locales/ja.json +12 -0
- package/src/trigger/providers/tally/locales/ko.json +12 -0
- package/src/trigger/providers/tally/locales/ru.json +12 -0
- package/src/trigger/providers/tally/locales/zh-CN.json +12 -0
- package/src/trigger/providers/tally/locales/zh-TW.json +12 -0
- package/src/trigger/providers/telegram/locales/fr.json +17 -0
- package/src/trigger/providers/telegram/locales/ja.json +17 -0
- package/src/trigger/providers/telegram/locales/ko.json +17 -0
- package/src/trigger/providers/telegram/locales/ru.json +17 -0
- package/src/trigger/providers/telegram/locales/zh-CN.json +17 -0
- package/src/trigger/providers/telegram/locales/zh-TW.json +17 -0
- package/src/trigger/providers/typeform/locales/fr.json +12 -0
- package/src/trigger/providers/typeform/locales/ja.json +12 -0
- package/src/trigger/providers/typeform/locales/ko.json +12 -0
- package/src/trigger/providers/typeform/locales/ru.json +12 -0
- package/src/trigger/providers/typeform/locales/zh-CN.json +12 -0
- package/src/trigger/providers/typeform/locales/zh-TW.json +12 -0
- package/src/trigger/providers/vercel/locales/fr.json +18 -0
- package/src/trigger/providers/vercel/locales/ja.json +18 -0
- package/src/trigger/providers/vercel/locales/ko.json +18 -0
- package/src/trigger/providers/vercel/locales/ru.json +18 -0
- package/src/trigger/providers/vercel/locales/zh-CN.json +18 -0
- package/src/trigger/providers/vercel/locales/zh-TW.json +18 -0
- package/src/trigger/providers/woocommerce/locales/fr.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ja.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ko.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ru.json +19 -0
- package/src/trigger/providers/woocommerce/locales/zh-CN.json +19 -0
- package/src/trigger/providers/woocommerce/locales/zh-TW.json +19 -0
- package/src/trigger/providers/zendesk/locales/fr.json +15 -0
- package/src/trigger/providers/zendesk/locales/ja.json +15 -0
- package/src/trigger/providers/zendesk/locales/ko.json +15 -0
- package/src/trigger/providers/zendesk/locales/ru.json +15 -0
- package/src/trigger/providers/zendesk/locales/zh-CN.json +15 -0
- package/src/trigger/providers/zendesk/locales/zh-TW.json +15 -0
- package/src/trigger/providers/zoom/locales/fr.json +17 -0
- package/src/trigger/providers/zoom/locales/ja.json +17 -0
- package/src/trigger/providers/zoom/locales/ko.json +17 -0
- package/src/trigger/providers/zoom/locales/ru.json +17 -0
- package/src/trigger/providers/zoom/locales/zh-CN.json +17 -0
- package/src/trigger/providers/zoom/locales/zh-TW.json +17 -0
- package/src/types/index.ts +112 -0
- package/src/workflow/common/workflow.ts +273 -0
- package/dist/browser/lib-DrKav3HG.js +0 -11403
- /package/dist/{browser → common}/flow-authoring-edge.d.ts +0 -0
- /package/dist/{browser → common}/flow-authoring-module.d.ts +0 -0
- /package/dist/{browser → common}/flow-authoring.d.ts +0 -0
- /package/dist/{browser → common}/flow-input-value.d.ts +0 -0
- /package/dist/{browser → common}/webhook-method.d.ts +0 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema'
|
|
2
|
+
import type { ExtendsSchema } from '../extends/index.ts'
|
|
3
|
+
import type { Schema } from '../types.ts'
|
|
4
|
+
import type { JSONDelegate } from '../types.ts'
|
|
5
|
+
import type { DeepReadonly } from '../utils.ts'
|
|
6
|
+
|
|
7
|
+
import { createId, deepFreeze } from '../utils.ts'
|
|
8
|
+
|
|
9
|
+
const symbolID = Symbol('compiledId')
|
|
10
|
+
const symbolKind = Symbol('compiledKind')
|
|
11
|
+
const symbolPath = Symbol('compiledPath')
|
|
12
|
+
const symbolValidatorLoader = Symbol('validatorLoader')
|
|
13
|
+
|
|
14
|
+
export type SchemaPath = readonly (string | number)[]
|
|
15
|
+
|
|
16
|
+
export const CompiledKind = Object.freeze({
|
|
17
|
+
Extends: 0,
|
|
18
|
+
Never: 1,
|
|
19
|
+
Any: 2,
|
|
20
|
+
Null: 3,
|
|
21
|
+
String: 4,
|
|
22
|
+
Numeric: 5,
|
|
23
|
+
Boolean: 6,
|
|
24
|
+
Object: 7,
|
|
25
|
+
Array: 8,
|
|
26
|
+
Not: 9,
|
|
27
|
+
Combination: 10,
|
|
28
|
+
EnumOrConst: 11,
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
export type CompiledKind = (typeof CompiledKind)[keyof typeof CompiledKind]
|
|
32
|
+
|
|
33
|
+
export type CompiledValue = null | number | string | boolean | CompiledObject
|
|
34
|
+
export type CompiledObject = (CompiledValue[] | { [key: string]: CompiledValue }) & {
|
|
35
|
+
readonly [symbolID]: number
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
type ValidatorLoader<E> = () => (value: unknown) => boolean | readonly E[]
|
|
39
|
+
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
export const ANY: DeepReadonly<CompiledSchema<any>> = deepFreeze(toCompiledSchema(CompiledKind.Any, createId(), {}, () => () => true))
|
|
42
|
+
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
+
export const NEVER: DeepReadonly<CompiledSchema<any>> = deepFreeze(
|
|
45
|
+
toCompiledSchema(CompiledKind.Never, createId(), { type: 'string', maxLength: 0, minLength: 1 }, () => () => false),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
export interface CompiledSchema<E> extends JSONSchema7 {
|
|
49
|
+
readonly [symbolKind]: CompiledKind
|
|
50
|
+
readonly [symbolID]: number
|
|
51
|
+
readonly [symbolPath]: SchemaPath
|
|
52
|
+
readonly [symbolValidatorLoader]?: ValidatorLoader<E>
|
|
53
|
+
readonly isValid?: (value: unknown) => boolean | readonly E[]
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function isCompiledObject(value: unknown): value is DeepReadonly<CompiledObject> {
|
|
57
|
+
if (value === null || typeof value !== 'object') {
|
|
58
|
+
return false
|
|
59
|
+
}
|
|
60
|
+
return symbolID in value
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function isCompiledSchema<E>(object: unknown): object is DeepReadonly<CompiledSchema<E>> {
|
|
64
|
+
if (object === null || typeof object !== 'object') {
|
|
65
|
+
return false
|
|
66
|
+
}
|
|
67
|
+
return symbolID in object && symbolKind in object
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function getKind<E>(schema: Schema<E>): CompiledKind {
|
|
71
|
+
if (isCompiledSchema(schema)) {
|
|
72
|
+
return schema[symbolKind]
|
|
73
|
+
} else {
|
|
74
|
+
return CompiledKind.Extends
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function getId<E>(schema: ExtendsSchema | DeepReadonly<CompiledSchema<E>> | DeepReadonly<CompiledObject>): number {
|
|
79
|
+
if (isCompiledSchema(schema) || isCompiledObject(schema)) {
|
|
80
|
+
return schema[symbolID]
|
|
81
|
+
} else {
|
|
82
|
+
return (schema as ExtendsSchema).id
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function getPath<E>(schema: Schema<E>): SchemaPath | undefined {
|
|
87
|
+
return isCompiledSchema(schema) ? schema[symbolPath] : undefined
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function assertCompiledValue<V>(value: V): asserts value is V & CompiledValue {
|
|
91
|
+
let failure = false
|
|
92
|
+
switch (typeof value) {
|
|
93
|
+
case 'number':
|
|
94
|
+
case 'string':
|
|
95
|
+
case 'boolean': {
|
|
96
|
+
break
|
|
97
|
+
}
|
|
98
|
+
case 'object': {
|
|
99
|
+
failure = !isCompiledObject(value)
|
|
100
|
+
break
|
|
101
|
+
}
|
|
102
|
+
default: {
|
|
103
|
+
failure = true
|
|
104
|
+
break
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (failure) {
|
|
108
|
+
throw new Error('assert a CompiledValue but fail')
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function wrapCompiledValue(value: unknown): CompiledValue {
|
|
113
|
+
if (value === null || typeof value !== 'object') {
|
|
114
|
+
return value as CompiledValue
|
|
115
|
+
}
|
|
116
|
+
Object.defineProperty(value, symbolID, {
|
|
117
|
+
value: createId(),
|
|
118
|
+
configurable: false,
|
|
119
|
+
writable: false,
|
|
120
|
+
enumerable: false,
|
|
121
|
+
})
|
|
122
|
+
return value as CompiledValue
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function wrapCompiledSchema<E>(kind: CompiledKind, schema: JSONSchema7, delegate?: JSONDelegate<E>, path: SchemaPath = []): CompiledSchema<E> {
|
|
126
|
+
return toCompiledSchema(
|
|
127
|
+
kind,
|
|
128
|
+
createId(),
|
|
129
|
+
schema,
|
|
130
|
+
delegate &&
|
|
131
|
+
(() => {
|
|
132
|
+
return delegate.compile(schema)
|
|
133
|
+
}),
|
|
134
|
+
path,
|
|
135
|
+
)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export function toNever<T extends CompiledSchema<E>, E>(schema: T): T {
|
|
139
|
+
return toCompiledSchema(CompiledKind.Never, createId(), { ...schema }, schema[symbolValidatorLoader], schema[symbolPath]) as T
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function toCompiledSchema<E>(
|
|
143
|
+
kind: CompiledKind,
|
|
144
|
+
id: number,
|
|
145
|
+
schema: JSONSchema7,
|
|
146
|
+
validatorLoader?: ValidatorLoader<E>,
|
|
147
|
+
path: SchemaPath = [],
|
|
148
|
+
): CompiledSchema<E> {
|
|
149
|
+
let validator: ReturnType<ValidatorLoader<E>> | null = null
|
|
150
|
+
|
|
151
|
+
Object.defineProperties(schema, {
|
|
152
|
+
[symbolKind]: {
|
|
153
|
+
value: kind,
|
|
154
|
+
configurable: false,
|
|
155
|
+
writable: false,
|
|
156
|
+
enumerable: false,
|
|
157
|
+
},
|
|
158
|
+
[symbolID]: {
|
|
159
|
+
value: id,
|
|
160
|
+
configurable: false,
|
|
161
|
+
writable: false,
|
|
162
|
+
enumerable: false,
|
|
163
|
+
},
|
|
164
|
+
[symbolPath]: {
|
|
165
|
+
value: path,
|
|
166
|
+
configurable: false,
|
|
167
|
+
writable: false,
|
|
168
|
+
enumerable: false,
|
|
169
|
+
},
|
|
170
|
+
[symbolValidatorLoader]: {
|
|
171
|
+
value: validatorLoader,
|
|
172
|
+
configurable: false,
|
|
173
|
+
writable: false,
|
|
174
|
+
enumerable: false,
|
|
175
|
+
},
|
|
176
|
+
isValid: {
|
|
177
|
+
configurable: false,
|
|
178
|
+
enumerable: false,
|
|
179
|
+
get: (): ((value: unknown) => boolean | readonly E[]) | undefined => {
|
|
180
|
+
if (validatorLoader) {
|
|
181
|
+
if (!validator) {
|
|
182
|
+
validator = validatorLoader()
|
|
183
|
+
}
|
|
184
|
+
return validator
|
|
185
|
+
} else {
|
|
186
|
+
return undefined
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
})
|
|
191
|
+
return schema as CompiledSchema<E>
|
|
192
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export class SchemaError<E = unknown> extends Error {
|
|
2
|
+
public readonly items: readonly SchemaErrorItem<E>[]
|
|
3
|
+
|
|
4
|
+
public constructor(items: readonly SchemaErrorItem<E>[] = []) {
|
|
5
|
+
super(createSchemaErrorMessage(items))
|
|
6
|
+
this.name = 'SchemaError'
|
|
7
|
+
this.items = items
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type SchemaErrorItem<E = unknown> = CompiledSchemaErrorItem | ExternalSchemaErrorItem<E>
|
|
12
|
+
|
|
13
|
+
export type CompiledSchemaErrorItem = {
|
|
14
|
+
readonly kind: typeof SchemaErrorItemKind.Compiled
|
|
15
|
+
readonly path: (number | string)[]
|
|
16
|
+
readonly message: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type ExternalSchemaErrorItem<E = unknown> = {
|
|
20
|
+
readonly kind: typeof SchemaErrorItemKind.External
|
|
21
|
+
readonly error: E
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const SchemaErrorItemKind = Object.freeze({
|
|
25
|
+
Compiled: 0,
|
|
26
|
+
External: 1,
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
export type SchemaErrorItemKind = (typeof SchemaErrorItemKind)[keyof typeof SchemaErrorItemKind]
|
|
30
|
+
|
|
31
|
+
export function stringifySchemaError<E = unknown>(errorItem: SchemaErrorItem<E>): string {
|
|
32
|
+
switch (errorItem.kind) {
|
|
33
|
+
case SchemaErrorItemKind.Compiled: {
|
|
34
|
+
const { message, path } = errorItem
|
|
35
|
+
return `${message} (at ${path.length > 0 ? path.join('.') : '$root'})`
|
|
36
|
+
}
|
|
37
|
+
case SchemaErrorItemKind.External: {
|
|
38
|
+
return String(errorItem.error)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function createSchemaErrorMessage(items: readonly SchemaErrorItem[]): string {
|
|
44
|
+
switch (items.length) {
|
|
45
|
+
case 0: {
|
|
46
|
+
return 'without any items'
|
|
47
|
+
}
|
|
48
|
+
case 1: {
|
|
49
|
+
return stringifySchemaError(items[0])
|
|
50
|
+
}
|
|
51
|
+
default: {
|
|
52
|
+
return `${stringifySchemaError(items[0])} ... omit the rest ${items.length - 1} items`
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
import type { Combination } from './combination.ts'
|
|
2
|
+
import type { ExpressionResult } from './result.ts'
|
|
3
|
+
|
|
4
|
+
import { makeCombination } from './combination.ts'
|
|
5
|
+
import {
|
|
6
|
+
ExpressionNone,
|
|
7
|
+
ExpressionSingleResult,
|
|
8
|
+
ExpressionEquals,
|
|
9
|
+
ExpressionContaining,
|
|
10
|
+
ExpressionContainedBy,
|
|
11
|
+
ExpressionRejection,
|
|
12
|
+
ExpressionIntersection,
|
|
13
|
+
ExpressionMaskList,
|
|
14
|
+
} from './result.ts'
|
|
15
|
+
|
|
16
|
+
export const CalculatorOperator = Object.freeze({
|
|
17
|
+
Save: 0,
|
|
18
|
+
OneOf: 1,
|
|
19
|
+
AllOf: 2,
|
|
20
|
+
AnyOf: 3,
|
|
21
|
+
Not: 4,
|
|
22
|
+
Swap: 5,
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
export type CalculatorOperator = (typeof CalculatorOperator)[keyof typeof CalculatorOperator]
|
|
26
|
+
|
|
27
|
+
export function calculate(operator: CalculatorOperator, expressions: readonly ExpressionResult[]): ExpressionResult {
|
|
28
|
+
switch (operator) {
|
|
29
|
+
case CalculatorOperator.Save: {
|
|
30
|
+
return expressions[0]
|
|
31
|
+
}
|
|
32
|
+
case CalculatorOperator.OneOf: {
|
|
33
|
+
return calculateOneOf(expressions)
|
|
34
|
+
}
|
|
35
|
+
case CalculatorOperator.AllOf:
|
|
36
|
+
case CalculatorOperator.AnyOf: {
|
|
37
|
+
return calculateCombination(operator, expressions)
|
|
38
|
+
}
|
|
39
|
+
case CalculatorOperator.Not:
|
|
40
|
+
case CalculatorOperator.Swap: {
|
|
41
|
+
return calculateUnary(operator, expressions[0])
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function swap(expression: ExpressionResult): ExpressionResult {
|
|
47
|
+
return calculateUnary(CalculatorOperator.Swap, expression)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The oneOf operator is indivisible, so `a + b + c` must be evaluated as one expression.
|
|
52
|
+
* 
|
|
53
|
+
*/
|
|
54
|
+
function calculateOneOf(expressions: readonly ExpressionResult[]): ExpressionResult {
|
|
55
|
+
// A single remaining branch makes oneOf equivalent to that branch.
|
|
56
|
+
if (expressions.length === 1) {
|
|
57
|
+
return expressions[0]
|
|
58
|
+
}
|
|
59
|
+
const unionSet = calculateCombination(CalculatorOperator.AnyOf, expressions)
|
|
60
|
+
const intersectionList: ExpressionResult[] = []
|
|
61
|
+
|
|
62
|
+
for (let i = 0; i < expressions.length; ++i) {
|
|
63
|
+
for (let j = i + 1; j < expressions.length; ++j) {
|
|
64
|
+
const left = expressions[i]
|
|
65
|
+
const right = expressions[j]
|
|
66
|
+
const intersection = calculateCombination(CalculatorOperator.AllOf, [left, right])
|
|
67
|
+
intersectionList.push(intersection)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const banZone = calculateCombination(CalculatorOperator.AnyOf, intersectionList)
|
|
71
|
+
const enableZone = calculateUnary(CalculatorOperator.Not, banZone)
|
|
72
|
+
|
|
73
|
+
return calculateCombination(CalculatorOperator.AllOf, [unionSet, enableZone])
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function calculateCombination(operator: CalculatorOperator, expressions: readonly ExpressionResult[]): ExpressionResult {
|
|
77
|
+
if (expressions.length < 0) {
|
|
78
|
+
throw new Error('invalid expressions: empty array')
|
|
79
|
+
}
|
|
80
|
+
let combination: Combination
|
|
81
|
+
|
|
82
|
+
switch (operator) {
|
|
83
|
+
case CalculatorOperator.AllOf: {
|
|
84
|
+
combination = makeCombination(calculateAllOf)
|
|
85
|
+
break
|
|
86
|
+
}
|
|
87
|
+
case CalculatorOperator.AnyOf: {
|
|
88
|
+
combination = makeCombination(calculateAnyOf)
|
|
89
|
+
break
|
|
90
|
+
}
|
|
91
|
+
default: {
|
|
92
|
+
throw new Error(`invalid operator ${operator}`)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const expression of expressions) {
|
|
96
|
+
combination.push(expression)
|
|
97
|
+
}
|
|
98
|
+
return combination.result
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function calculateUnary(operator: CalculatorOperator, expression: ExpressionResult): ExpressionResult {
|
|
102
|
+
let calculator: (expression: ExpressionSingleResult) => ExpressionResult
|
|
103
|
+
let result: ExpressionResult = ExpressionNone
|
|
104
|
+
|
|
105
|
+
switch (operator) {
|
|
106
|
+
case CalculatorOperator.Not: {
|
|
107
|
+
calculator = calculateNot
|
|
108
|
+
break
|
|
109
|
+
}
|
|
110
|
+
case CalculatorOperator.Swap: {
|
|
111
|
+
calculator = calculateSwap
|
|
112
|
+
break
|
|
113
|
+
}
|
|
114
|
+
default: {
|
|
115
|
+
throw new Error(`invalid operator ${operator}`)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
for (const [singleExpression, maskExpression] of ExpressionMaskList) {
|
|
119
|
+
if (maskExpression & expression) {
|
|
120
|
+
result |= calculator(singleExpression)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function calculateAllOf(e1: ExpressionSingleResult, e2: ExpressionSingleResult): ExpressionResult {
|
|
127
|
+
let result: ExpressionResult = ExpressionNone
|
|
128
|
+
switch (e1) {
|
|
129
|
+
case ExpressionSingleResult.Equals: {
|
|
130
|
+
switch (e2) {
|
|
131
|
+
case ExpressionSingleResult.Equals: {
|
|
132
|
+
result = ExpressionEquals
|
|
133
|
+
break
|
|
134
|
+
}
|
|
135
|
+
case ExpressionSingleResult.Containing: {
|
|
136
|
+
result = ExpressionEquals
|
|
137
|
+
break
|
|
138
|
+
}
|
|
139
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
140
|
+
result = ExpressionContainedBy
|
|
141
|
+
break
|
|
142
|
+
}
|
|
143
|
+
case ExpressionSingleResult.Rejection: {
|
|
144
|
+
result = ExpressionNone
|
|
145
|
+
break
|
|
146
|
+
}
|
|
147
|
+
case ExpressionSingleResult.Intersection: {
|
|
148
|
+
result = ExpressionContainedBy
|
|
149
|
+
break
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
break
|
|
153
|
+
}
|
|
154
|
+
case ExpressionSingleResult.Containing: {
|
|
155
|
+
switch (e2) {
|
|
156
|
+
case ExpressionSingleResult.Equals: {
|
|
157
|
+
result = ExpressionEquals
|
|
158
|
+
break
|
|
159
|
+
}
|
|
160
|
+
case ExpressionSingleResult.Containing: {
|
|
161
|
+
result = ExpressionEquals | ExpressionContaining
|
|
162
|
+
break
|
|
163
|
+
}
|
|
164
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
165
|
+
result = ExpressionContainedBy
|
|
166
|
+
break
|
|
167
|
+
}
|
|
168
|
+
case ExpressionSingleResult.Rejection: {
|
|
169
|
+
result = ExpressionRejection
|
|
170
|
+
break
|
|
171
|
+
}
|
|
172
|
+
case ExpressionSingleResult.Intersection: {
|
|
173
|
+
result = ExpressionIntersection | ExpressionContainedBy
|
|
174
|
+
break
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
break
|
|
178
|
+
}
|
|
179
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
180
|
+
switch (e2) {
|
|
181
|
+
case ExpressionSingleResult.Equals: {
|
|
182
|
+
result = ExpressionContainedBy
|
|
183
|
+
break
|
|
184
|
+
}
|
|
185
|
+
case ExpressionSingleResult.Containing: {
|
|
186
|
+
result = ExpressionContainedBy
|
|
187
|
+
break
|
|
188
|
+
}
|
|
189
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
190
|
+
result = ExpressionContainedBy
|
|
191
|
+
break
|
|
192
|
+
}
|
|
193
|
+
case ExpressionSingleResult.Rejection: {
|
|
194
|
+
result = ExpressionNone
|
|
195
|
+
break
|
|
196
|
+
}
|
|
197
|
+
case ExpressionSingleResult.Intersection: {
|
|
198
|
+
result = ExpressionContainedBy
|
|
199
|
+
break
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
break
|
|
203
|
+
}
|
|
204
|
+
case ExpressionSingleResult.Rejection: {
|
|
205
|
+
switch (e2) {
|
|
206
|
+
case ExpressionSingleResult.Equals: {
|
|
207
|
+
result = ExpressionNone
|
|
208
|
+
break
|
|
209
|
+
}
|
|
210
|
+
case ExpressionSingleResult.Containing: {
|
|
211
|
+
result = ExpressionRejection
|
|
212
|
+
break
|
|
213
|
+
}
|
|
214
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
215
|
+
result = ExpressionNone
|
|
216
|
+
break
|
|
217
|
+
}
|
|
218
|
+
case ExpressionSingleResult.Rejection: {
|
|
219
|
+
result = ExpressionRejection
|
|
220
|
+
break
|
|
221
|
+
}
|
|
222
|
+
case ExpressionSingleResult.Intersection: {
|
|
223
|
+
result = ExpressionRejection
|
|
224
|
+
break
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
break
|
|
228
|
+
}
|
|
229
|
+
case ExpressionSingleResult.Intersection: {
|
|
230
|
+
switch (e2) {
|
|
231
|
+
case ExpressionSingleResult.Equals: {
|
|
232
|
+
result = ExpressionContainedBy
|
|
233
|
+
break
|
|
234
|
+
}
|
|
235
|
+
case ExpressionSingleResult.Containing: {
|
|
236
|
+
result = ExpressionIntersection | ExpressionContainedBy
|
|
237
|
+
break
|
|
238
|
+
}
|
|
239
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
240
|
+
result = ExpressionContainedBy
|
|
241
|
+
break
|
|
242
|
+
}
|
|
243
|
+
case ExpressionSingleResult.Rejection: {
|
|
244
|
+
result = ExpressionRejection
|
|
245
|
+
break
|
|
246
|
+
}
|
|
247
|
+
case ExpressionSingleResult.Intersection: {
|
|
248
|
+
result = ExpressionContainedBy | ExpressionRejection | ExpressionIntersection
|
|
249
|
+
break
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
break
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return result
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function calculateAnyOf(e1: ExpressionSingleResult, e2: ExpressionSingleResult): ExpressionResult {
|
|
259
|
+
let result: ExpressionResult = ExpressionNone
|
|
260
|
+
switch (e1) {
|
|
261
|
+
case ExpressionSingleResult.Equals: {
|
|
262
|
+
switch (e2) {
|
|
263
|
+
case ExpressionSingleResult.Equals: {
|
|
264
|
+
result = ExpressionEquals
|
|
265
|
+
break
|
|
266
|
+
}
|
|
267
|
+
case ExpressionSingleResult.Containing: {
|
|
268
|
+
result = ExpressionContaining
|
|
269
|
+
break
|
|
270
|
+
}
|
|
271
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
272
|
+
result = ExpressionEquals
|
|
273
|
+
break
|
|
274
|
+
}
|
|
275
|
+
case ExpressionSingleResult.Rejection: {
|
|
276
|
+
result = ExpressionContaining
|
|
277
|
+
break
|
|
278
|
+
}
|
|
279
|
+
case ExpressionSingleResult.Intersection: {
|
|
280
|
+
result = ExpressionContaining
|
|
281
|
+
break
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
break
|
|
285
|
+
}
|
|
286
|
+
case ExpressionSingleResult.Containing: {
|
|
287
|
+
switch (e2) {
|
|
288
|
+
case ExpressionSingleResult.Equals: {
|
|
289
|
+
result = ExpressionContaining
|
|
290
|
+
break
|
|
291
|
+
}
|
|
292
|
+
case ExpressionSingleResult.Containing: {
|
|
293
|
+
result = ExpressionContaining
|
|
294
|
+
break
|
|
295
|
+
}
|
|
296
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
297
|
+
result = ExpressionContaining
|
|
298
|
+
break
|
|
299
|
+
}
|
|
300
|
+
case ExpressionSingleResult.Rejection: {
|
|
301
|
+
result = ExpressionContaining
|
|
302
|
+
break
|
|
303
|
+
}
|
|
304
|
+
case ExpressionSingleResult.Intersection: {
|
|
305
|
+
result = ExpressionContaining
|
|
306
|
+
break
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
break
|
|
310
|
+
}
|
|
311
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
312
|
+
switch (e2) {
|
|
313
|
+
case ExpressionSingleResult.Equals: {
|
|
314
|
+
result = ExpressionEquals
|
|
315
|
+
break
|
|
316
|
+
}
|
|
317
|
+
case ExpressionSingleResult.Containing: {
|
|
318
|
+
result = ExpressionContaining
|
|
319
|
+
break
|
|
320
|
+
}
|
|
321
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
322
|
+
result = ExpressionEquals | ExpressionContainedBy
|
|
323
|
+
break
|
|
324
|
+
}
|
|
325
|
+
case ExpressionSingleResult.Rejection: {
|
|
326
|
+
result = ExpressionIntersection
|
|
327
|
+
break
|
|
328
|
+
}
|
|
329
|
+
case ExpressionSingleResult.Intersection: {
|
|
330
|
+
result = ExpressionContaining | ExpressionIntersection
|
|
331
|
+
break
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
break
|
|
335
|
+
}
|
|
336
|
+
case ExpressionSingleResult.Rejection: {
|
|
337
|
+
switch (e2) {
|
|
338
|
+
case ExpressionSingleResult.Equals: {
|
|
339
|
+
result = ExpressionContaining
|
|
340
|
+
break
|
|
341
|
+
}
|
|
342
|
+
case ExpressionSingleResult.Containing: {
|
|
343
|
+
result = ExpressionContaining
|
|
344
|
+
break
|
|
345
|
+
}
|
|
346
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
347
|
+
result = ExpressionIntersection
|
|
348
|
+
break
|
|
349
|
+
}
|
|
350
|
+
case ExpressionSingleResult.Rejection: {
|
|
351
|
+
result = ExpressionRejection
|
|
352
|
+
break
|
|
353
|
+
}
|
|
354
|
+
case ExpressionSingleResult.Intersection: {
|
|
355
|
+
result = ExpressionIntersection
|
|
356
|
+
break
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
break
|
|
360
|
+
}
|
|
361
|
+
case ExpressionSingleResult.Intersection: {
|
|
362
|
+
switch (e2) {
|
|
363
|
+
case ExpressionSingleResult.Equals: {
|
|
364
|
+
result = ExpressionContaining
|
|
365
|
+
break
|
|
366
|
+
}
|
|
367
|
+
case ExpressionSingleResult.Containing: {
|
|
368
|
+
result = ExpressionContaining
|
|
369
|
+
break
|
|
370
|
+
}
|
|
371
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
372
|
+
result = ExpressionContaining | ExpressionIntersection
|
|
373
|
+
break
|
|
374
|
+
}
|
|
375
|
+
case ExpressionSingleResult.Rejection: {
|
|
376
|
+
result = ExpressionIntersection
|
|
377
|
+
break
|
|
378
|
+
}
|
|
379
|
+
case ExpressionSingleResult.Intersection: {
|
|
380
|
+
result = ExpressionContaining | ExpressionIntersection
|
|
381
|
+
break
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
break
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
return result
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
function calculateNot(expression: ExpressionSingleResult): ExpressionResult {
|
|
391
|
+
let result: ExpressionResult = ExpressionNone
|
|
392
|
+
switch (expression) {
|
|
393
|
+
case ExpressionSingleResult.Equals: {
|
|
394
|
+
result = ExpressionRejection
|
|
395
|
+
break
|
|
396
|
+
}
|
|
397
|
+
case ExpressionSingleResult.Containing: {
|
|
398
|
+
result = ExpressionRejection
|
|
399
|
+
break
|
|
400
|
+
}
|
|
401
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
402
|
+
result = ExpressionIntersection
|
|
403
|
+
break
|
|
404
|
+
}
|
|
405
|
+
case ExpressionSingleResult.Rejection: {
|
|
406
|
+
result = ExpressionEquals | ExpressionContaining
|
|
407
|
+
break
|
|
408
|
+
}
|
|
409
|
+
case ExpressionSingleResult.Intersection: {
|
|
410
|
+
result = ExpressionContainedBy | ExpressionIntersection
|
|
411
|
+
break
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
return result
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
function calculateSwap(expression: ExpressionResult): ExpressionResult {
|
|
418
|
+
let result: ExpressionResult = ExpressionNone
|
|
419
|
+
switch (expression) {
|
|
420
|
+
case ExpressionSingleResult.Equals: {
|
|
421
|
+
result = ExpressionEquals
|
|
422
|
+
break
|
|
423
|
+
}
|
|
424
|
+
case ExpressionSingleResult.Containing: {
|
|
425
|
+
result = ExpressionContainedBy
|
|
426
|
+
break
|
|
427
|
+
}
|
|
428
|
+
case ExpressionSingleResult.ContainedBy: {
|
|
429
|
+
result = ExpressionContaining
|
|
430
|
+
break
|
|
431
|
+
}
|
|
432
|
+
case ExpressionSingleResult.Rejection: {
|
|
433
|
+
result = ExpressionRejection
|
|
434
|
+
break
|
|
435
|
+
}
|
|
436
|
+
case ExpressionSingleResult.Intersection: {
|
|
437
|
+
result = ExpressionIntersection
|
|
438
|
+
break
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return result
|
|
442
|
+
}
|