checkly 5.3.1 → 5.4.0-prerelease-6249ef2
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/auth/index.js +125 -132
- package/dist/auth/index.js.map +1 -1
- package/dist/commands/authCommand.js +1 -1
- package/dist/commands/authCommand.js.map +1 -1
- package/dist/commands/baseCommand.d.ts +2 -0
- package/dist/commands/baseCommand.js +7 -9
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/deploy.js +55 -57
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/destroy.js +15 -16
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/env/add.js +28 -29
- package/dist/commands/env/add.js.map +1 -1
- package/dist/commands/env/ls.js +2 -2
- package/dist/commands/env/ls.js.map +1 -1
- package/dist/commands/env/pull.js +17 -17
- package/dist/commands/env/pull.js.map +1 -1
- package/dist/commands/env/rm.js +17 -18
- package/dist/commands/env/rm.js.map +1 -1
- package/dist/commands/env/update.js +29 -30
- package/dist/commands/env/update.js.map +1 -1
- package/dist/commands/help.js +2 -2
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/import/apply.d.ts +14 -0
- package/dist/commands/import/apply.js +157 -0
- package/dist/commands/import/apply.js.map +1 -0
- package/dist/commands/import/cancel.d.ts +11 -0
- package/dist/commands/import/cancel.js +119 -0
- package/dist/commands/import/cancel.js.map +1 -0
- package/dist/commands/import/commit.d.ts +14 -0
- package/dist/commands/import/commit.js +141 -0
- package/dist/commands/import/commit.js.map +1 -0
- package/dist/commands/import/plan.d.ts +20 -0
- package/dist/commands/import/plan.js +1237 -0
- package/dist/commands/import/plan.js.map +1 -0
- package/dist/commands/login.js +38 -48
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +9 -9
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/runtimes.js +2 -2
- package/dist/commands/runtimes.js.map +1 -1
- package/dist/commands/switch.js +9 -9
- package/dist/commands/switch.js.map +1 -1
- package/dist/commands/sync-playwright.js +7 -7
- package/dist/commands/sync-playwright.js.map +1 -1
- package/dist/commands/test.js +107 -111
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/trigger.js +74 -78
- package/dist/commands/trigger.js.map +1 -1
- package/dist/commands/whoami.js +2 -2
- package/dist/commands/whoami.js.map +1 -1
- package/dist/constructs/alert-channel-codegen.d.ts +35 -0
- package/dist/constructs/alert-channel-codegen.js +98 -0
- package/dist/constructs/alert-channel-codegen.js.map +1 -0
- package/dist/constructs/alert-channel-subscription-codegen.d.ts +11 -0
- package/dist/constructs/alert-channel-subscription-codegen.js +23 -0
- package/dist/constructs/alert-channel-subscription-codegen.js.map +1 -0
- package/dist/constructs/alert-channel-subscription.js +5 -1
- package/dist/constructs/alert-channel-subscription.js.map +1 -1
- package/dist/constructs/alert-channel.d.ts +17 -3
- package/dist/constructs/alert-channel.js +15 -4
- package/dist/constructs/alert-channel.js.map +1 -1
- package/dist/constructs/alert-escalation-policy-codegen.d.ts +4 -0
- package/dist/constructs/alert-escalation-policy-codegen.js +59 -0
- package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -0
- package/dist/constructs/alert-escalation-policy.js +8 -9
- package/dist/constructs/alert-escalation-policy.js.map +1 -1
- package/dist/constructs/api-check-codegen.d.ts +21 -0
- package/dist/constructs/api-check-codegen.js +163 -0
- package/dist/constructs/api-check-codegen.js.map +1 -0
- package/dist/constructs/api-check.js +9 -0
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/browser-check-codegen.d.ts +14 -0
- package/dist/constructs/browser-check-codegen.js +48 -0
- package/dist/constructs/browser-check-codegen.js.map +1 -0
- package/dist/constructs/browser-check.js +12 -6
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/check-codegen.d.ts +42 -0
- package/dist/constructs/check-codegen.js +208 -0
- package/dist/constructs/check-codegen.js.map +1 -0
- package/dist/constructs/check-group-codegen.d.ts +45 -0
- package/dist/constructs/check-group-codegen.js +266 -0
- package/dist/constructs/check-group-codegen.js.map +1 -0
- package/dist/constructs/check-group.d.ts +21 -8
- package/dist/constructs/check-group.js +65 -15
- package/dist/constructs/check-group.js.map +1 -1
- package/dist/constructs/check.d.ts +8 -8
- package/dist/constructs/check.js +31 -14
- package/dist/constructs/check.js.map +1 -1
- package/dist/constructs/construct-codegen.d.ts +39 -0
- package/dist/constructs/construct-codegen.js +100 -0
- package/dist/constructs/construct-codegen.js.map +1 -0
- package/dist/constructs/construct.js +5 -1
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dashboard-codegen.d.ts +29 -0
- package/dist/constructs/dashboard-codegen.js +108 -0
- package/dist/constructs/dashboard-codegen.js.map +1 -0
- package/dist/constructs/dashboard.js +23 -1
- package/dist/constructs/dashboard.js.map +1 -1
- package/dist/constructs/email-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/email-alert-channel-codegen.js +38 -0
- package/dist/constructs/email-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/email-alert-channel.js +1 -0
- package/dist/constructs/email-alert-channel.js.map +1 -1
- package/dist/constructs/frequency-codegen.d.ts +4 -0
- package/dist/constructs/frequency-codegen.js +49 -0
- package/dist/constructs/frequency-codegen.js.map +1 -0
- package/dist/constructs/frequency.js +17 -15
- package/dist/constructs/frequency.js.map +1 -1
- package/dist/constructs/heartbeat-check-codegen.d.ts +11 -0
- package/dist/constructs/heartbeat-check-codegen.js +33 -0
- package/dist/constructs/heartbeat-check-codegen.js.map +1 -0
- package/dist/constructs/heartbeat-check.js +1 -0
- package/dist/constructs/heartbeat-check.js.map +1 -1
- package/dist/constructs/incidentio-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/incidentio-alert-channel-codegen.js +89 -0
- package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/incidentio-alert-channel.d.ts +6 -0
- package/dist/constructs/incidentio-alert-channel.js +17 -16
- package/dist/constructs/incidentio-alert-channel.js.map +1 -1
- package/dist/constructs/internal/assertion-codegen.d.ts +4 -0
- package/dist/constructs/internal/assertion-codegen.js +141 -0
- package/dist/constructs/internal/assertion-codegen.js.map +1 -0
- package/dist/constructs/internal/assertion.js +7 -4
- package/dist/constructs/internal/assertion.js.map +1 -1
- package/dist/constructs/internal/codegen/codegen.d.ts +9 -0
- package/dist/constructs/internal/codegen/codegen.js +14 -0
- package/dist/constructs/internal/codegen/codegen.js.map +1 -0
- package/dist/constructs/internal/codegen/context.d.ts +62 -0
- package/dist/constructs/internal/codegen/context.js +445 -0
- package/dist/constructs/internal/codegen/context.js.map +1 -0
- package/dist/constructs/internal/codegen/index.d.ts +4 -0
- package/dist/constructs/internal/codegen/index.js +13 -0
- package/dist/constructs/internal/codegen/index.js.map +1 -0
- package/dist/constructs/internal/codegen/safety.d.ts +2 -0
- package/dist/constructs/internal/codegen/safety.js +7 -0
- package/dist/constructs/internal/codegen/safety.js.map +1 -0
- package/dist/constructs/internal/codegen/snippet.d.ts +12 -0
- package/dist/constructs/internal/codegen/snippet.js +48 -0
- package/dist/constructs/internal/codegen/snippet.js.map +1 -0
- package/dist/constructs/key-value-pair-codegen.d.ts +4 -0
- package/dist/constructs/key-value-pair-codegen.js +39 -0
- package/dist/constructs/key-value-pair-codegen.js.map +1 -0
- package/dist/constructs/maintenance-window-codegen.d.ts +14 -0
- package/dist/constructs/maintenance-window-codegen.js +57 -0
- package/dist/constructs/maintenance-window-codegen.js.map +1 -0
- package/dist/constructs/maintenance-window.js +8 -1
- package/dist/constructs/maintenance-window.js.map +1 -1
- package/dist/constructs/msteams-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/msteams-alert-channel-codegen.js +75 -0
- package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/msteams-alert-channel.d.ts +6 -0
- package/dist/constructs/msteams-alert-channel.js +14 -13
- package/dist/constructs/msteams-alert-channel.js.map +1 -1
- package/dist/constructs/multi-step-check-codegen.d.ts +13 -0
- package/dist/constructs/multi-step-check-codegen.js +39 -0
- package/dist/constructs/multi-step-check-codegen.js.map +1 -0
- package/dist/constructs/multi-step-check.js +8 -8
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/opsgenie-alert-channel-codegen.d.ts +16 -0
- package/dist/constructs/opsgenie-alert-channel-codegen.js +41 -0
- package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/opsgenie-alert-channel.js +4 -0
- package/dist/constructs/opsgenie-alert-channel.js.map +1 -1
- package/dist/constructs/pagerduty-alert-channel-codegen.d.ts +15 -0
- package/dist/constructs/pagerduty-alert-channel-codegen.js +53 -0
- package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/pagerduty-alert-channel.js +3 -0
- package/dist/constructs/pagerduty-alert-channel.js.map +1 -1
- package/dist/constructs/phone-call-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/phone-call-alert-channel-codegen.js +46 -0
- package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/phone-call-alert-channel.js +2 -0
- package/dist/constructs/phone-call-alert-channel.js.map +1 -1
- package/dist/constructs/playwright-config-codegen.d.ts +4 -0
- package/dist/constructs/playwright-config-codegen.js +9 -0
- package/dist/constructs/playwright-config-codegen.js.map +1 -0
- package/dist/constructs/private-location-check-assignment-codegen.d.ts +10 -0
- package/dist/constructs/private-location-check-assignment-codegen.js +18 -0
- package/dist/constructs/private-location-check-assignment-codegen.js.map +1 -0
- package/dist/constructs/private-location-check-assignment.js +3 -1
- package/dist/constructs/private-location-check-assignment.js.map +1 -1
- package/dist/constructs/private-location-codegen.d.ts +15 -0
- package/dist/constructs/private-location-codegen.js +51 -0
- package/dist/constructs/private-location-codegen.js.map +1 -0
- package/dist/constructs/private-location-group-assignment-codegen.d.ts +10 -0
- package/dist/constructs/private-location-group-assignment-codegen.js +18 -0
- package/dist/constructs/private-location-group-assignment-codegen.js.map +1 -0
- package/dist/constructs/private-location-group-assignment.js +3 -1
- package/dist/constructs/private-location-group-assignment.js.map +1 -1
- package/dist/constructs/private-location.d.ts +8 -4
- package/dist/constructs/private-location.js +14 -4
- package/dist/constructs/private-location.js.map +1 -1
- package/dist/constructs/project.d.ts +10 -0
- package/dist/constructs/project.js +74 -18
- package/dist/constructs/project.js.map +1 -1
- package/dist/constructs/ref-codegen.d.ts +3 -0
- package/dist/constructs/ref-codegen.js +15 -0
- package/dist/constructs/ref-codegen.js.map +1 -0
- package/dist/constructs/ref.js +1 -0
- package/dist/constructs/ref.js.map +1 -1
- package/dist/constructs/retry-strategy-codegen.d.ts +4 -0
- package/dist/constructs/retry-strategy-codegen.js +69 -0
- package/dist/constructs/retry-strategy-codegen.js.map +1 -0
- package/dist/constructs/retry-strategy.js +8 -9
- package/dist/constructs/retry-strategy.js.map +1 -1
- package/dist/constructs/slack-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/slack-alert-channel-codegen.js +46 -0
- package/dist/constructs/slack-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/slack-alert-channel.js +2 -0
- package/dist/constructs/slack-alert-channel.js.map +1 -1
- package/dist/constructs/sms-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/sms-alert-channel-codegen.js +46 -0
- package/dist/constructs/sms-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/sms-alert-channel.js +2 -0
- package/dist/constructs/sms-alert-channel.js.map +1 -1
- package/dist/constructs/status-page-codegen.d.ts +23 -0
- package/dist/constructs/status-page-codegen.js +71 -0
- package/dist/constructs/status-page-codegen.js.map +1 -0
- package/dist/constructs/status-page-service-codegen.d.ts +12 -0
- package/dist/constructs/status-page-service-codegen.js +44 -0
- package/dist/constructs/status-page-service-codegen.js.map +1 -0
- package/dist/constructs/status-page-service.d.ts +10 -0
- package/dist/constructs/status-page-service.js +21 -2
- package/dist/constructs/status-page-service.js.map +1 -1
- package/dist/constructs/status-page.js +15 -9
- package/dist/constructs/status-page.js.map +1 -1
- package/dist/constructs/tcp-check-codegen.d.ts +15 -0
- package/dist/constructs/tcp-check-codegen.js +69 -0
- package/dist/constructs/tcp-check-codegen.js.map +1 -0
- package/dist/constructs/tcp-check.js +3 -0
- package/dist/constructs/tcp-check.js.map +1 -1
- package/dist/constructs/telegram-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/telegram-alert-channel-codegen.js +105 -0
- package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/telegram-alert-channel.d.ts +6 -0
- package/dist/constructs/telegram-alert-channel.js +8 -4
- package/dist/constructs/telegram-alert-channel.js.map +1 -1
- package/dist/constructs/webhook-alert-channel-codegen.d.ts +34 -0
- package/dist/constructs/webhook-alert-channel-codegen.js +152 -0
- package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/webhook-alert-channel.js +8 -0
- package/dist/constructs/webhook-alert-channel.js.map +1 -1
- package/dist/help/help-extension.js +1 -2
- package/dist/help/help-extension.js.map +1 -1
- package/dist/helpers/command-style.d.ts +18 -0
- package/dist/helpers/command-style.js +87 -0
- package/dist/helpers/command-style.js.map +1 -0
- package/dist/helpers/wrap.d.ts +6 -0
- package/dist/helpers/wrap.js +53 -0
- package/dist/helpers/wrap.js.map +1 -0
- package/dist/loader/index.d.ts +6 -0
- package/dist/loader/index.js +21 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/jiti.d.ts +27 -0
- package/dist/loader/jiti.js +63 -0
- package/dist/loader/jiti.js.map +1 -0
- package/dist/loader/loader.d.ts +29 -0
- package/dist/loader/loader.js +32 -0
- package/dist/loader/loader.js.map +1 -0
- package/dist/loader/match.d.ts +15 -0
- package/dist/loader/match.js +47 -0
- package/dist/loader/match.js.map +1 -0
- package/dist/loader/mixed.d.ts +7 -0
- package/dist/loader/mixed.js +39 -0
- package/dist/loader/mixed.js.map +1 -0
- package/dist/loader/native.d.ts +10 -0
- package/dist/loader/native.js +36 -0
- package/dist/loader/native.js.map +1 -0
- package/dist/loader/ts-node.d.ts +25 -0
- package/dist/loader/ts-node.js +85 -0
- package/dist/loader/ts-node.js.map +1 -0
- package/dist/playwright/playwright-config-loader.d.ts +1 -1
- package/dist/playwright/playwright-config-loader.js +7 -4
- package/dist/playwright/playwright-config-loader.js.map +1 -1
- package/dist/playwright/playwright-config-template.js +1 -0
- package/dist/playwright/playwright-config-template.js.map +1 -1
- package/dist/reporters/abstract-list.js +10 -6
- package/dist/reporters/abstract-list.js.map +1 -1
- package/dist/reporters/github.js +13 -6
- package/dist/reporters/github.js.map +1 -1
- package/dist/reporters/json.js +7 -4
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/list.js +4 -6
- package/dist/reporters/list.js.map +1 -1
- package/dist/reporters/util.js +15 -20
- package/dist/reporters/util.js.map +1 -1
- package/dist/rest/accounts.js +1 -0
- package/dist/rest/accounts.js.map +1 -1
- package/dist/rest/api.js +3 -5
- package/dist/rest/api.js.map +1 -1
- package/dist/rest/assets.js +1 -0
- package/dist/rest/assets.js.map +1 -1
- package/dist/rest/checkly-storage.js +1 -0
- package/dist/rest/checkly-storage.js.map +1 -1
- package/dist/rest/environment-variables.js +1 -0
- package/dist/rest/environment-variables.js.map +1 -1
- package/dist/rest/heartbeat-checks.js +1 -0
- package/dist/rest/heartbeat-checks.js.map +1 -1
- package/dist/rest/locations.js +1 -0
- package/dist/rest/locations.js.map +1 -1
- package/dist/rest/private-locations.js +1 -0
- package/dist/rest/private-locations.js.map +1 -1
- package/dist/rest/projects.d.ts +69 -1
- package/dist/rest/projects.js +76 -4
- package/dist/rest/projects.js.map +1 -1
- package/dist/rest/runtimes.js +1 -0
- package/dist/rest/runtimes.js.map +1 -1
- package/dist/rest/test-sessions.js +1 -0
- package/dist/rest/test-sessions.js.map +1 -1
- package/dist/rest/users.js +1 -0
- package/dist/rest/users.js.map +1 -1
- package/dist/services/abstract-check-runner.js +10 -0
- package/dist/services/abstract-check-runner.js.map +1 -1
- package/dist/services/check-parser/collector.js +6 -4
- package/dist/services/check-parser/collector.js.map +1 -1
- package/dist/services/check-parser/errors.js +4 -0
- package/dist/services/check-parser/errors.js.map +1 -1
- package/dist/services/check-parser/package-files/extension.js +2 -0
- package/dist/services/check-parser/package-files/extension.js.map +1 -1
- package/dist/services/check-parser/package-files/jsconfig-json-file.js +5 -22
- package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -1
- package/dist/services/check-parser/package-files/json-source-file.d.ts +1 -1
- package/dist/services/check-parser/package-files/json-source-file.js +5 -17
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -1
- package/dist/services/check-parser/package-files/loader.js +2 -1
- package/dist/services/check-parser/package-files/loader.js.map +1 -1
- package/dist/services/check-parser/package-files/lookup.js +3 -17
- package/dist/services/check-parser/package-files/lookup.js.map +1 -1
- package/dist/services/check-parser/package-files/package-json-file.d.ts +14 -1
- package/dist/services/check-parser/package-files/package-json-file.js +87 -19
- package/dist/services/check-parser/package-files/package-json-file.js.map +1 -1
- package/dist/services/check-parser/package-files/package-manager.d.ts +91 -0
- package/dist/services/check-parser/package-files/package-manager.js +321 -0
- package/dist/services/check-parser/package-files/package-manager.js.map +1 -0
- package/dist/services/check-parser/package-files/paths.js +39 -0
- package/dist/services/check-parser/package-files/paths.js.map +1 -1
- package/dist/services/check-parser/package-files/resolver.d.ts +6 -3
- package/dist/services/check-parser/package-files/resolver.js +58 -50
- package/dist/services/check-parser/package-files/resolver.js.map +1 -1
- package/dist/services/check-parser/package-files/source-file.d.ts +1 -1
- package/dist/services/check-parser/package-files/source-file.js +8 -17
- package/dist/services/check-parser/package-files/source-file.js.map +1 -1
- package/dist/services/check-parser/package-files/tsconfig-json-file.js +16 -27
- package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -1
- package/dist/services/check-parser/parser.js +18 -11
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/checkly-config-codegen.d.ts +4 -0
- package/dist/services/checkly-config-codegen.js +196 -0
- package/dist/services/checkly-config-codegen.js.map +1 -0
- package/dist/services/checkly-config-loader.d.ts +6 -2
- package/dist/services/checkly-config-loader.js +27 -12
- package/dist/services/checkly-config-loader.js.map +1 -1
- package/dist/services/config.js +5 -6
- package/dist/services/config.js.map +1 -1
- package/dist/services/project-parser.js +5 -12
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/snapshot-service.js +2 -2
- package/dist/services/snapshot-service.js.map +1 -1
- package/dist/services/test-filters.js +1 -1
- package/dist/services/test-filters.js.map +1 -1
- package/dist/services/test-runner.js +12 -5
- package/dist/services/test-runner.js.map +1 -1
- package/dist/services/trigger-runner.js +12 -5
- package/dist/services/trigger-runner.js.map +1 -1
- package/dist/services/util.d.ts +0 -1
- package/dist/services/util.js +12 -107
- package/dist/services/util.js.map +1 -1
- package/dist/sourcegen/args.d.ts +7 -0
- package/dist/sourcegen/args.js +26 -0
- package/dist/sourcegen/args.js.map +1 -0
- package/dist/sourcegen/argsbuilder.d.ts +22 -0
- package/dist/sourcegen/argsbuilder.js +111 -0
- package/dist/sourcegen/argsbuilder.js.map +1 -0
- package/dist/sourcegen/array.d.ts +8 -0
- package/dist/sourcegen/array.js +32 -0
- package/dist/sourcegen/array.js.map +1 -0
- package/dist/sourcegen/arraybuilder.d.ts +21 -0
- package/dist/sourcegen/arraybuilder.js +109 -0
- package/dist/sourcegen/arraybuilder.js.map +1 -0
- package/dist/sourcegen/boolean.d.ts +7 -0
- package/dist/sourcegen/boolean.js +22 -0
- package/dist/sourcegen/boolean.js.map +1 -0
- package/dist/sourcegen/case.d.ts +9 -0
- package/dist/sourcegen/case.js +107 -0
- package/dist/sourcegen/case.js.map +1 -0
- package/dist/sourcegen/comment.d.ts +32 -0
- package/dist/sourcegen/comment.js +124 -0
- package/dist/sourcegen/comment.js.map +1 -0
- package/dist/sourcegen/decl.d.ts +43 -0
- package/dist/sourcegen/decl.js +95 -0
- package/dist/sourcegen/decl.js.map +1 -0
- package/dist/sourcegen/declbuilder.d.ts +14 -0
- package/dist/sourcegen/declbuilder.js +39 -0
- package/dist/sourcegen/declbuilder.js.map +1 -0
- package/dist/sourcegen/expr.d.ts +39 -0
- package/dist/sourcegen/expr.js +86 -0
- package/dist/sourcegen/expr.js.map +1 -0
- package/dist/sourcegen/exprbuilder.d.ts +13 -0
- package/dist/sourcegen/exprbuilder.js +54 -0
- package/dist/sourcegen/exprbuilder.js.map +1 -0
- package/dist/sourcegen/identifier.d.ts +12 -0
- package/dist/sourcegen/identifier.js +27 -0
- package/dist/sourcegen/identifier.js.map +1 -0
- package/dist/sourcegen/index.d.ts +22 -0
- package/dist/sourcegen/index.js +76 -0
- package/dist/sourcegen/index.js.map +1 -0
- package/dist/sourcegen/null.d.ts +5 -0
- package/dist/sourcegen/null.js +11 -0
- package/dist/sourcegen/null.js.map +1 -0
- package/dist/sourcegen/number.d.ts +7 -0
- package/dist/sourcegen/number.js +22 -0
- package/dist/sourcegen/number.js.map +1 -0
- package/dist/sourcegen/object.d.ts +28 -0
- package/dist/sourcegen/object.js +88 -0
- package/dist/sourcegen/object.js.map +1 -0
- package/dist/sourcegen/objectbuilder.d.ts +25 -0
- package/dist/sourcegen/objectbuilder.js +127 -0
- package/dist/sourcegen/objectbuilder.js.map +1 -0
- package/dist/sourcegen/output.d.ts +14 -0
- package/dist/sourcegen/output.js +85 -0
- package/dist/sourcegen/output.js.map +1 -0
- package/dist/sourcegen/program.d.ts +55 -0
- package/dist/sourcegen/program.js +284 -0
- package/dist/sourcegen/program.js.map +1 -0
- package/dist/sourcegen/string.d.ts +8 -0
- package/dist/sourcegen/string.js +28 -0
- package/dist/sourcegen/string.js.map +1 -0
- package/dist/sourcegen/undefined.d.ts +5 -0
- package/dist/sourcegen/undefined.js +11 -0
- package/dist/sourcegen/undefined.js.map +1 -0
- package/dist/sourcegen/unknown.d.ts +2 -0
- package/dist/sourcegen/unknown.js +40 -0
- package/dist/sourcegen/unknown.js.map +1 -0
- package/dist/sourcegen/value.d.ts +4 -0
- package/dist/sourcegen/value.js +7 -0
- package/dist/sourcegen/value.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/index.d.ts +9 -0
- package/dist/util/index.js +27 -0
- package/dist/util/index.js.map +1 -0
- package/oclif.manifest.json +173 -1
- package/package.json +14 -37
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Output = void 0;
|
|
4
|
+
class OutputBuffer {
|
|
5
|
+
#chunks = [];
|
|
6
|
+
append(data) {
|
|
7
|
+
this.#chunks.push(data);
|
|
8
|
+
}
|
|
9
|
+
finalize() {
|
|
10
|
+
return this.#chunks.join('');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
class OutputLine {
|
|
14
|
+
#level;
|
|
15
|
+
#chunks = [];
|
|
16
|
+
constructor(level) {
|
|
17
|
+
this.#level = level;
|
|
18
|
+
}
|
|
19
|
+
get level() {
|
|
20
|
+
return this.#level;
|
|
21
|
+
}
|
|
22
|
+
isEmpty() {
|
|
23
|
+
return this.#chunks.length === 0;
|
|
24
|
+
}
|
|
25
|
+
append(value) {
|
|
26
|
+
this.#chunks.push(value);
|
|
27
|
+
}
|
|
28
|
+
collect(buf) {
|
|
29
|
+
buf.append(' '.repeat(this.#level));
|
|
30
|
+
buf.append(this.#chunks.join(''));
|
|
31
|
+
buf.append('\n');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
class Output {
|
|
35
|
+
#level = 0;
|
|
36
|
+
#lines = [];
|
|
37
|
+
#currentLine;
|
|
38
|
+
constructor(level = 0) {
|
|
39
|
+
this.#level = level;
|
|
40
|
+
this.#currentLine = new OutputLine(this.#level);
|
|
41
|
+
this.#lines.push(this.#currentLine);
|
|
42
|
+
}
|
|
43
|
+
increaseIndent() {
|
|
44
|
+
this.#level += 1;
|
|
45
|
+
}
|
|
46
|
+
decreaseIndent() {
|
|
47
|
+
this.#level -= 1;
|
|
48
|
+
}
|
|
49
|
+
endLine(options) {
|
|
50
|
+
if (options?.collapse && this.#currentLine.isEmpty()) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.#currentLine = new OutputLine(this.#level);
|
|
54
|
+
this.#lines.push(this.#currentLine);
|
|
55
|
+
}
|
|
56
|
+
append(value) {
|
|
57
|
+
this.#currentLine.append(value);
|
|
58
|
+
}
|
|
59
|
+
significantWhitespace() {
|
|
60
|
+
this.append(' ');
|
|
61
|
+
}
|
|
62
|
+
cosmeticWhitespace() {
|
|
63
|
+
this.append(' ');
|
|
64
|
+
}
|
|
65
|
+
finalize() {
|
|
66
|
+
// Remove trailing empty lines.
|
|
67
|
+
for (;;) {
|
|
68
|
+
const line = this.#lines.pop();
|
|
69
|
+
if (line === undefined) {
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
if (!line.isEmpty()) {
|
|
73
|
+
this.#lines.push(line);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const buf = new OutputBuffer();
|
|
78
|
+
for (const line of this.#lines) {
|
|
79
|
+
line.collect(buf);
|
|
80
|
+
}
|
|
81
|
+
return buf.finalize();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.Output = Output;
|
|
85
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/sourcegen/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { Comment } from './comment';
|
|
4
|
+
import { Output } from './output';
|
|
5
|
+
import { Value } from './value';
|
|
6
|
+
import { Declaration } from './decl';
|
|
7
|
+
type Content = Comment | Declaration | Value;
|
|
8
|
+
type Header = Comment;
|
|
9
|
+
export interface ProgramOptions {
|
|
10
|
+
rootDirectory: string;
|
|
11
|
+
constructFileSuffix: string;
|
|
12
|
+
constructHeaders?: Header[];
|
|
13
|
+
specFileSuffix: string;
|
|
14
|
+
language: 'typescript' | 'javascript';
|
|
15
|
+
}
|
|
16
|
+
export declare class Program {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(options: ProgramOptions);
|
|
19
|
+
get paths(): string[];
|
|
20
|
+
generatedConstructFile(path: string): GeneratedFile;
|
|
21
|
+
generatedSupportFile(path: string): GeneratedFile;
|
|
22
|
+
staticSpecFile(path: string, content: string | Buffer): StaticAuxiliaryFile;
|
|
23
|
+
staticStyleFile(path: string, content: string | Buffer): StaticAuxiliaryFile;
|
|
24
|
+
staticSupportFile(path: string, content: string | Buffer): StaticAuxiliaryFile;
|
|
25
|
+
realize(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
export declare abstract class ProgramFile {
|
|
28
|
+
readonly path: string;
|
|
29
|
+
constructor(path: string);
|
|
30
|
+
get dirname(): string;
|
|
31
|
+
get basename(): string;
|
|
32
|
+
relativePath(to: ProgramFile): string;
|
|
33
|
+
}
|
|
34
|
+
export interface ImportOptions {
|
|
35
|
+
relativeTo?: string;
|
|
36
|
+
relativeToSelf?: boolean;
|
|
37
|
+
alias?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface NamedImport {
|
|
40
|
+
identifier: string;
|
|
41
|
+
alias?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare class GeneratedFile extends ProgramFile {
|
|
44
|
+
#private;
|
|
45
|
+
namedImport(identifier: string, from: string, options?: ImportOptions): void;
|
|
46
|
+
plainImport(from: string, options?: ImportOptions): void;
|
|
47
|
+
header(header: Header): void;
|
|
48
|
+
section(content: Content): void;
|
|
49
|
+
render(output: Output): void;
|
|
50
|
+
}
|
|
51
|
+
export declare class StaticAuxiliaryFile extends ProgramFile {
|
|
52
|
+
readonly content: string | Buffer;
|
|
53
|
+
constructor(path: string, content: string | Buffer);
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.StaticAuxiliaryFile = exports.GeneratedFile = exports.ProgramFile = exports.Program = void 0;
|
|
27
|
+
const promises_1 = require("node:fs/promises");
|
|
28
|
+
const node_path_1 = __importStar(require("node:path"));
|
|
29
|
+
const output_1 = require("./output");
|
|
30
|
+
class Program {
|
|
31
|
+
#options;
|
|
32
|
+
#ext;
|
|
33
|
+
#generatedFiles = new Map();
|
|
34
|
+
#staticAuxiliaryFiles = new Map();
|
|
35
|
+
constructor(options) {
|
|
36
|
+
this.#options = {
|
|
37
|
+
...options,
|
|
38
|
+
};
|
|
39
|
+
switch (options.language) {
|
|
40
|
+
case 'typescript':
|
|
41
|
+
this.#ext = '.ts';
|
|
42
|
+
break;
|
|
43
|
+
case 'javascript':
|
|
44
|
+
this.#ext = '.js';
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
throw new Error(`Unknown value '${options.language}' for \`ProgramOptions.language\``);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
get paths() {
|
|
51
|
+
const paths = [];
|
|
52
|
+
for (const file of this.#generatedFiles.values()) {
|
|
53
|
+
paths.push(node_path_1.default.join(this.#options.rootDirectory, file.path));
|
|
54
|
+
}
|
|
55
|
+
for (const file of this.#staticAuxiliaryFiles.values()) {
|
|
56
|
+
paths.push(node_path_1.default.join(this.#options.rootDirectory, file.path));
|
|
57
|
+
}
|
|
58
|
+
paths.sort();
|
|
59
|
+
return paths;
|
|
60
|
+
}
|
|
61
|
+
generatedConstructFile(path) {
|
|
62
|
+
if (this.#shouldModifyPath(path)) {
|
|
63
|
+
path += this.#options.constructFileSuffix;
|
|
64
|
+
path += this.#ext;
|
|
65
|
+
}
|
|
66
|
+
let file = this.#generatedFiles.get(path);
|
|
67
|
+
if (file === undefined) {
|
|
68
|
+
file = new GeneratedFile(path);
|
|
69
|
+
for (const header of this.#options.constructHeaders ?? []) {
|
|
70
|
+
file.header(header);
|
|
71
|
+
}
|
|
72
|
+
this.#generatedFiles.set(path, file);
|
|
73
|
+
}
|
|
74
|
+
return file;
|
|
75
|
+
}
|
|
76
|
+
generatedSupportFile(path) {
|
|
77
|
+
if (this.#shouldModifyPath(path)) {
|
|
78
|
+
path += this.#ext;
|
|
79
|
+
}
|
|
80
|
+
let file = this.#generatedFiles.get(path);
|
|
81
|
+
if (file === undefined) {
|
|
82
|
+
file = new GeneratedFile(path);
|
|
83
|
+
this.#generatedFiles.set(path, file);
|
|
84
|
+
}
|
|
85
|
+
return file;
|
|
86
|
+
}
|
|
87
|
+
staticSpecFile(path, content) {
|
|
88
|
+
if (this.#shouldModifyPath(path)) {
|
|
89
|
+
path += this.#options.specFileSuffix;
|
|
90
|
+
path += this.#ext;
|
|
91
|
+
}
|
|
92
|
+
const file = new StaticAuxiliaryFile(path, content);
|
|
93
|
+
this.#staticAuxiliaryFiles.set(path, file);
|
|
94
|
+
return file;
|
|
95
|
+
}
|
|
96
|
+
staticStyleFile(path, content) {
|
|
97
|
+
if (this.#shouldModifyPath(path)) {
|
|
98
|
+
path += '.css';
|
|
99
|
+
}
|
|
100
|
+
const file = new StaticAuxiliaryFile(path, content);
|
|
101
|
+
this.#staticAuxiliaryFiles.set(path, file);
|
|
102
|
+
return file;
|
|
103
|
+
}
|
|
104
|
+
staticSupportFile(path, content) {
|
|
105
|
+
if (this.#shouldModifyPath(path)) {
|
|
106
|
+
path += this.#ext;
|
|
107
|
+
}
|
|
108
|
+
const file = new StaticAuxiliaryFile(path, content);
|
|
109
|
+
this.#staticAuxiliaryFiles.set(path, file);
|
|
110
|
+
return file;
|
|
111
|
+
}
|
|
112
|
+
#shouldModifyPath(path) {
|
|
113
|
+
// Don't add extensions if it looks like we already have some.
|
|
114
|
+
return (0, node_path_1.extname)(path) === '';
|
|
115
|
+
}
|
|
116
|
+
async realize() {
|
|
117
|
+
for (const file of this.#generatedFiles.values()) {
|
|
118
|
+
const fullFilePath = node_path_1.default.resolve(this.#options.rootDirectory, file.path);
|
|
119
|
+
const { dir: fileDir } = node_path_1.default.parse(fullFilePath);
|
|
120
|
+
if (fileDir !== '') {
|
|
121
|
+
await (0, promises_1.mkdir)(fileDir, {
|
|
122
|
+
recursive: true,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
const output = new output_1.Output();
|
|
126
|
+
try {
|
|
127
|
+
file.render(output);
|
|
128
|
+
}
|
|
129
|
+
catch (cause) {
|
|
130
|
+
throw new Error(`Failed to render output file '${fullFilePath}': ${cause}`, { cause });
|
|
131
|
+
}
|
|
132
|
+
await (0, promises_1.writeFile)(fullFilePath, output.finalize());
|
|
133
|
+
}
|
|
134
|
+
for (const file of this.#staticAuxiliaryFiles.values()) {
|
|
135
|
+
const fullFilePath = node_path_1.default.resolve(this.#options.rootDirectory, file.path);
|
|
136
|
+
const { dir: fileDir } = node_path_1.default.parse(fullFilePath);
|
|
137
|
+
if (fileDir !== '') {
|
|
138
|
+
await (0, promises_1.mkdir)(fileDir, {
|
|
139
|
+
recursive: true,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
await (0, promises_1.writeFile)(fullFilePath, file.content);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.Program = Program;
|
|
147
|
+
class ProgramFile {
|
|
148
|
+
path;
|
|
149
|
+
constructor(path) {
|
|
150
|
+
this.path = path;
|
|
151
|
+
}
|
|
152
|
+
get dirname() {
|
|
153
|
+
return node_path_1.default.dirname(this.path);
|
|
154
|
+
}
|
|
155
|
+
get basename() {
|
|
156
|
+
return node_path_1.default.basename(this.path);
|
|
157
|
+
}
|
|
158
|
+
relativePath(to) {
|
|
159
|
+
let relpath = node_path_1.default.relative(this.dirname, to.path);
|
|
160
|
+
if (!relpath.startsWith('.')) {
|
|
161
|
+
relpath = `./${relpath}`;
|
|
162
|
+
}
|
|
163
|
+
return posixPath(relpath);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.ProgramFile = ProgramFile;
|
|
167
|
+
function posixPath(path) {
|
|
168
|
+
return path.replace(/\\/g, '/');
|
|
169
|
+
}
|
|
170
|
+
function sortNamedImports(imports) {
|
|
171
|
+
return Array.from(imports).sort((a, b) => {
|
|
172
|
+
const valueA = [a.identifier, a.alias].join(', ');
|
|
173
|
+
const valueB = [b.identifier, b.alias].join(', ');
|
|
174
|
+
return valueA.localeCompare(valueB);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
class GeneratedFile extends ProgramFile {
|
|
178
|
+
#namedImports = new Map();
|
|
179
|
+
#plainImports = new Set();
|
|
180
|
+
#sections = [];
|
|
181
|
+
#headers = [];
|
|
182
|
+
namedImport(identifier, from, options) {
|
|
183
|
+
from = this.#processImportFrom(from, options);
|
|
184
|
+
const namedImports = this.#namedImports.get(from) ?? [];
|
|
185
|
+
for (const namedImport of namedImports) {
|
|
186
|
+
if (namedImport.identifier === identifier && namedImport.alias === options?.alias) {
|
|
187
|
+
// Already imported.
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
namedImports.push({
|
|
192
|
+
identifier,
|
|
193
|
+
alias: options?.alias,
|
|
194
|
+
});
|
|
195
|
+
this.#namedImports.set(from, namedImports);
|
|
196
|
+
}
|
|
197
|
+
plainImport(from, options) {
|
|
198
|
+
from = this.#processImportFrom(from, options);
|
|
199
|
+
this.#plainImports.add(from);
|
|
200
|
+
}
|
|
201
|
+
#processImportFrom(from, options) {
|
|
202
|
+
let relativeTo = options?.relativeTo;
|
|
203
|
+
if (relativeTo === undefined && options?.relativeToSelf) {
|
|
204
|
+
relativeTo = node_path_1.default.dirname(this.path);
|
|
205
|
+
}
|
|
206
|
+
if (relativeTo !== undefined) {
|
|
207
|
+
from = node_path_1.default.relative(relativeTo, from);
|
|
208
|
+
if (!from.startsWith('.')) {
|
|
209
|
+
from = `./${from}`;
|
|
210
|
+
}
|
|
211
|
+
from = posixPath(from);
|
|
212
|
+
}
|
|
213
|
+
// Shouldn't have imports with .ts extensions.
|
|
214
|
+
if (from.endsWith('.ts') || from.endsWith('.js')) {
|
|
215
|
+
from = from.slice(0, -3);
|
|
216
|
+
}
|
|
217
|
+
return from;
|
|
218
|
+
}
|
|
219
|
+
header(header) {
|
|
220
|
+
this.#headers.push(header);
|
|
221
|
+
}
|
|
222
|
+
section(content) {
|
|
223
|
+
this.#sections.push(content);
|
|
224
|
+
}
|
|
225
|
+
render(output) {
|
|
226
|
+
for (const header of this.#headers) {
|
|
227
|
+
header.render(output);
|
|
228
|
+
output.endLine();
|
|
229
|
+
output.endLine();
|
|
230
|
+
}
|
|
231
|
+
if (this.#namedImports.size > 0) {
|
|
232
|
+
for (const [pkg, imports] of this.#namedImports.entries()) {
|
|
233
|
+
output.append('import');
|
|
234
|
+
output.cosmeticWhitespace();
|
|
235
|
+
output.append('{');
|
|
236
|
+
let first = true;
|
|
237
|
+
for (const { identifier, alias } of sortNamedImports(imports)) {
|
|
238
|
+
if (!first) {
|
|
239
|
+
output.append(',');
|
|
240
|
+
}
|
|
241
|
+
output.cosmeticWhitespace();
|
|
242
|
+
first = false;
|
|
243
|
+
output.append(identifier);
|
|
244
|
+
if (alias !== undefined) {
|
|
245
|
+
output.significantWhitespace();
|
|
246
|
+
output.append('as');
|
|
247
|
+
output.significantWhitespace();
|
|
248
|
+
output.append(alias);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
output.cosmeticWhitespace();
|
|
252
|
+
output.append('}');
|
|
253
|
+
output.significantWhitespace();
|
|
254
|
+
output.append('from');
|
|
255
|
+
output.significantWhitespace();
|
|
256
|
+
output.append(`'${pkg}'`);
|
|
257
|
+
output.endLine();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (this.#plainImports.size > 0) {
|
|
261
|
+
for (const pkg of this.#plainImports.values()) {
|
|
262
|
+
output.append('import');
|
|
263
|
+
output.significantWhitespace();
|
|
264
|
+
output.append(`'${pkg}'`);
|
|
265
|
+
output.endLine();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
for (const section of this.#sections) {
|
|
269
|
+
output.endLine();
|
|
270
|
+
section.render(output);
|
|
271
|
+
output.endLine();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.GeneratedFile = GeneratedFile;
|
|
276
|
+
class StaticAuxiliaryFile extends ProgramFile {
|
|
277
|
+
content;
|
|
278
|
+
constructor(path, content) {
|
|
279
|
+
super(path);
|
|
280
|
+
this.content = content;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
exports.StaticAuxiliaryFile = StaticAuxiliaryFile;
|
|
284
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/sourcegen/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quote = exports.StringValue = void 0;
|
|
4
|
+
const node_util_1 = require("node:util");
|
|
5
|
+
const value_1 = require("./value");
|
|
6
|
+
class StringValue extends value_1.Value {
|
|
7
|
+
value;
|
|
8
|
+
constructor(value) {
|
|
9
|
+
super();
|
|
10
|
+
if (value === null) {
|
|
11
|
+
throw new Error('String value cannot be null');
|
|
12
|
+
}
|
|
13
|
+
if (value === undefined) {
|
|
14
|
+
throw new Error('String value cannot be undefined');
|
|
15
|
+
}
|
|
16
|
+
this.value = value;
|
|
17
|
+
}
|
|
18
|
+
render(output) {
|
|
19
|
+
output.append(quote(this.value));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.StringValue = StringValue;
|
|
23
|
+
function quote(value) {
|
|
24
|
+
// Not ideal but for now inspect() works.
|
|
25
|
+
return (0, node_util_1.inspect)(value);
|
|
26
|
+
}
|
|
27
|
+
exports.quote = quote;
|
|
28
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/sourcegen/string.ts"],"names":[],"mappings":";;;AAAA,yCAAmC;AAGnC,mCAA+B;AAE/B,MAAa,WAAY,SAAQ,aAAK;IACpC,KAAK,CAAQ;IAEb,YAAa,KAAa;QACxB,KAAK,EAAE,CAAA;QAEP,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,MAAM,CAAE,MAAc;QACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAClC,CAAC;CACF;AApBD,kCAoBC;AAED,SAAgB,KAAK,CAAE,KAAa;IAClC,yCAAyC;IACzC,OAAO,IAAA,mBAAO,EAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAHD,sBAGC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UndefinedValue = void 0;
|
|
4
|
+
const value_1 = require("./value");
|
|
5
|
+
class UndefinedValue extends value_1.Value {
|
|
6
|
+
render(output) {
|
|
7
|
+
output.append('undefined');
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.UndefinedValue = UndefinedValue;
|
|
11
|
+
//# sourceMappingURL=undefined.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undefined.js","sourceRoot":"","sources":["../../src/sourcegen/undefined.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAE/B,MAAa,cAAe,SAAQ,aAAK;IACvC,MAAM,CAAE,MAAc;QACpB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unknown = void 0;
|
|
4
|
+
const arraybuilder_1 = require("./arraybuilder");
|
|
5
|
+
const boolean_1 = require("./boolean");
|
|
6
|
+
const null_1 = require("./null");
|
|
7
|
+
const number_1 = require("./number");
|
|
8
|
+
const objectbuilder_1 = require("./objectbuilder");
|
|
9
|
+
const string_1 = require("./string");
|
|
10
|
+
const undefined_1 = require("./undefined");
|
|
11
|
+
function unknown(value) {
|
|
12
|
+
if (value === null) {
|
|
13
|
+
return new null_1.NullValue();
|
|
14
|
+
}
|
|
15
|
+
if (value === undefined) {
|
|
16
|
+
return new undefined_1.UndefinedValue();
|
|
17
|
+
}
|
|
18
|
+
switch (typeof value) {
|
|
19
|
+
case 'string':
|
|
20
|
+
return new string_1.StringValue(value);
|
|
21
|
+
case 'boolean':
|
|
22
|
+
return new boolean_1.BooleanValue(value);
|
|
23
|
+
case 'number':
|
|
24
|
+
return new number_1.NumberValue(value);
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(value)) {
|
|
27
|
+
return (0, arraybuilder_1.array)(builder => {
|
|
28
|
+
for (const item of value) {
|
|
29
|
+
builder.value(unknown(item));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return (0, objectbuilder_1.object)(builder => {
|
|
34
|
+
for (const [key, val] of Object.entries(value)) {
|
|
35
|
+
builder.value(key, unknown(val));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
exports.unknown = unknown;
|
|
40
|
+
//# sourceMappingURL=unknown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../src/sourcegen/unknown.ts"],"names":[],"mappings":";;;AAAA,iDAAsC;AACtC,uCAAwC;AACxC,iCAAkC;AAClC,qCAAsC;AACtC,mDAAwC;AACxC,qCAAsC;AACtC,2CAA4C;AAG5C,SAAgB,OAAO,CAAE,KAAU;IACjC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,gBAAS,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,0BAAc,EAAE,CAAA;IAC7B,CAAC;IAED,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,IAAI,oBAAW,CAAC,KAAK,CAAC,CAAA;QAC/B,KAAK,SAAS;YACZ,OAAO,IAAI,sBAAY,CAAC,KAAK,CAAC,CAAA;QAChC,KAAK,QAAQ;YACX,OAAO,IAAI,oBAAW,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAA,sBAAM,EAAC,OAAO,CAAC,EAAE;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AA/BD,0BA+BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/sourcegen/value.ts"],"names":[],"mappings":";;;AAEA,MAAsB,KAAK;CAE1B;AAFD,sBAEC"}
|