@monolayer/sdk 1.2.0-canary.4
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 +21 -0
- package/README.md +25 -0
- package/dist/bin/cli.js +21609 -0
- package/dist/cjs/configuration.d.ts +65 -0
- package/dist/cjs/configuration.js +45 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/introspection.d.ts +2 -0
- package/dist/cjs/introspection.js +11 -0
- package/dist/cjs/make/broadcast.d.ts +10 -0
- package/dist/cjs/make/broadcast.js +37 -0
- package/dist/cjs/make/config.d.ts +2 -0
- package/dist/cjs/make/config.js +44 -0
- package/dist/cjs/make/cron.d.ts +9 -0
- package/dist/cjs/make/cron.js +30 -0
- package/dist/cjs/make/make.d.ts +6 -0
- package/dist/cjs/make/make.js +134 -0
- package/dist/cjs/make/manifest.d.ts +202 -0
- package/dist/cjs/make/manifest.js +165 -0
- package/dist/cjs/make/required-filtes.d.ts +1 -0
- package/dist/cjs/make/required-filtes.js +17 -0
- package/dist/cjs/make/task.d.ts +9 -0
- package/dist/cjs/make/task.js +30 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/packages/docker/df.d.ts +543 -0
- package/dist/cjs/packages/docker/df.js +395 -0
- package/dist/cjs/packages/docker/validator.d.ts +7 -0
- package/dist/cjs/packages/docker/validator.js +18 -0
- package/dist/cjs/packages/utils/create-file.d.ts +1 -0
- package/dist/cjs/packages/utils/create-file.js +18 -0
- package/dist/cjs/packages/utils/date-string.d.ts +1 -0
- package/dist/cjs/packages/utils/date-string.js +12 -0
- package/dist/cjs/packages/utils/exception.d.ts +1 -0
- package/dist/cjs/packages/utils/exception.js +8 -0
- package/dist/cjs/packages/utils/hash-value.d.ts +16 -0
- package/dist/cjs/packages/utils/hash-value.js +25 -0
- package/dist/cjs/packages/utils/import-default.d.ts +1 -0
- package/dist/cjs/packages/utils/import-default.js +14 -0
- package/dist/cjs/packages/utils/import-file.d.ts +8 -0
- package/dist/cjs/packages/utils/import-file.js +41 -0
- package/dist/cjs/packages/utils/log-with-spinner.d.ts +1 -0
- package/dist/cjs/packages/utils/log-with-spinner.js +24 -0
- package/dist/cjs/packages/utils/path.d.ts +2 -0
- package/dist/cjs/packages/utils/path.js +21 -0
- package/dist/cjs/packages/utils/playground.d.ts +1 -0
- package/dist/cjs/packages/utils/playground.js +35 -0
- package/dist/cjs/scaffolding/add-env-var.d.ts +6 -0
- package/dist/cjs/scaffolding/add-env-var.js +65 -0
- package/dist/cjs/scaffolding/add-import.d.ts +16 -0
- package/dist/cjs/scaffolding/add-import.js +43 -0
- package/dist/cjs/scaffolding/add-script.d.ts +1 -0
- package/dist/cjs/scaffolding/add-script.js +35 -0
- package/dist/cjs/scaffolding/broadcast-workload.d.ts +1 -0
- package/dist/cjs/scaffolding/broadcast-workload.js +36 -0
- package/dist/cjs/scaffolding/bucket-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/bucket-workload.js +23 -0
- package/dist/cjs/scaffolding/cron-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/cron-workload.js +28 -0
- package/dist/cjs/scaffolding/drizzle.d.ts +4 -0
- package/dist/cjs/scaffolding/drizzle.js +22 -0
- package/dist/cjs/scaffolding/lifecycle.d.ts +9 -0
- package/dist/cjs/scaffolding/lifecycle.js +61 -0
- package/dist/cjs/scaffolding/postgres-database-workload.d.ts +15 -0
- package/dist/cjs/scaffolding/postgres-database-workload.js +39 -0
- package/dist/cjs/scaffolding/prisma.d.ts +4 -0
- package/dist/cjs/scaffolding/prisma.js +40 -0
- package/dist/cjs/scaffolding/replace-string.d.ts +10 -0
- package/dist/cjs/scaffolding/replace-string.js +37 -0
- package/dist/cjs/scaffolding/task-workload.d.ts +6 -0
- package/dist/cjs/scaffolding/task-workload.js +30 -0
- package/dist/cjs/scaffolding/workload.d.ts +1 -0
- package/dist/cjs/scaffolding/workload.js +18 -0
- package/dist/cjs/scan/project.d.ts +23 -0
- package/dist/cjs/scan/project.js +79 -0
- package/dist/cjs/scan/workload-imports.d.ts +21 -0
- package/dist/cjs/scan/workload-imports.js +188 -0
- package/dist/cjs/test-helpers/postgres.d.ts +13 -0
- package/dist/cjs/test-helpers/postgres.js +52 -0
- package/dist/cjs/test-helpers/redis.d.ts +13 -0
- package/dist/cjs/test-helpers/redis.js +46 -0
- package/dist/cjs/test-helpers/task.d.ts +14 -0
- package/dist/cjs/test-helpers/task.js +18 -0
- package/dist/cjs/test-helpers.d.ts +3 -0
- package/dist/cjs/test-helpers.js +10 -0
- package/dist/cjs/workloads/app-lifecycle/after-rollout.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/after-rollout.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/before-rollout.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/before-rollout.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/bootstrap.d.ts +22 -0
- package/dist/cjs/workloads/app-lifecycle/bootstrap.js +28 -0
- package/dist/cjs/workloads/app-lifecycle/lifecycle-workload.d.ts +11 -0
- package/dist/cjs/workloads/app-lifecycle/lifecycle-workload.js +11 -0
- package/dist/cjs/workloads/assertions.d.ts +13 -0
- package/dist/cjs/workloads/assertions.js +14 -0
- package/dist/cjs/workloads/stateful/bucket.d.ts +82 -0
- package/dist/cjs/workloads/stateful/bucket.js +95 -0
- package/dist/cjs/workloads/stateful/database.d.ts +25 -0
- package/dist/cjs/workloads/stateful/database.js +42 -0
- package/dist/cjs/workloads/stateful/postgres-database.d.ts +29 -0
- package/dist/cjs/workloads/stateful/postgres-database.js +39 -0
- package/dist/cjs/workloads/stateful/redis.d.ts +30 -0
- package/dist/cjs/workloads/stateful/redis.js +40 -0
- package/dist/cjs/workloads/stateful/stateful-workload.d.ts +25 -0
- package/dist/cjs/workloads/stateful/stateful-workload.js +41 -0
- package/dist/cjs/workloads/stateless/broadcast/channel-data.d.ts +3 -0
- package/dist/cjs/workloads/stateless/broadcast/channel-data.js +6 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-client.d.ts +78 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-client.js +128 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-publisher.d.ts +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/app-sync-publisher.js +78 -0
- package/dist/cjs/workloads/stateless/broadcast/client/authenticator.d.ts +28 -0
- package/dist/cjs/workloads/stateless/broadcast/client/authenticator.js +43 -0
- package/dist/cjs/workloads/stateless/broadcast/client/broadcast-provider.d.ts +17 -0
- package/dist/cjs/workloads/stateless/broadcast/client/broadcast-provider.js +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/client.d.ts +8 -0
- package/dist/cjs/workloads/stateless/broadcast/client/client.js +28 -0
- package/dist/cjs/workloads/stateless/broadcast/client/connectionManager.d.ts +62 -0
- package/dist/cjs/workloads/stateless/broadcast/client/connectionManager.js +166 -0
- package/dist/cjs/workloads/stateless/broadcast/client/eventEmitter.d.ts +32 -0
- package/dist/cjs/workloads/stateless/broadcast/client/eventEmitter.js +53 -0
- package/dist/cjs/workloads/stateless/broadcast/client/messageBuilder.d.ts +24 -0
- package/dist/cjs/workloads/stateless/broadcast/client/messageBuilder.js +43 -0
- package/dist/cjs/workloads/stateless/broadcast/client/parser.d.ts +12 -0
- package/dist/cjs/workloads/stateless/broadcast/client/parser.js +22 -0
- package/dist/cjs/workloads/stateless/broadcast/client/provider.d.ts +4 -0
- package/dist/cjs/workloads/stateless/broadcast/client/provider.js +11 -0
- package/dist/cjs/workloads/stateless/broadcast/client/subscriptionManager.d.ts +34 -0
- package/dist/cjs/workloads/stateless/broadcast/client/subscriptionManager.js +91 -0
- package/dist/cjs/workloads/stateless/broadcast/client/types.d.ts +72 -0
- package/dist/cjs/workloads/stateless/broadcast/client/types.js +6 -0
- package/dist/cjs/workloads/stateless/broadcast/matcher.d.ts +13 -0
- package/dist/cjs/workloads/stateless/broadcast/matcher.js +46 -0
- package/dist/cjs/workloads/stateless/broadcast/router.d.ts +103 -0
- package/dist/cjs/workloads/stateless/broadcast/router.js +98 -0
- package/dist/cjs/workloads/stateless/broadcast/types.d.ts +17 -0
- package/dist/cjs/workloads/stateless/broadcast/types.js +2 -0
- package/dist/cjs/workloads/stateless/cron.d.ts +49 -0
- package/dist/cjs/workloads/stateless/cron.js +55 -0
- package/dist/cjs/workloads/stateless/stateless-workload.d.ts +3 -0
- package/dist/cjs/workloads/stateless/stateless-workload.js +7 -0
- package/dist/cjs/workloads/stateless/task/backoffs.d.ts +9 -0
- package/dist/cjs/workloads/stateless/task/backoffs.js +17 -0
- package/dist/cjs/workloads/stateless/task/dispatcher.d.ts +3 -0
- package/dist/cjs/workloads/stateless/task/dispatcher.js +22 -0
- package/dist/cjs/workloads/stateless/task/local.d.ts +14 -0
- package/dist/cjs/workloads/stateless/task/local.js +54 -0
- package/dist/cjs/workloads/stateless/task/perform-later.d.ts +2 -0
- package/dist/cjs/workloads/stateless/task/perform-later.js +7 -0
- package/dist/cjs/workloads/stateless/task/perform-now.d.ts +5 -0
- package/dist/cjs/workloads/stateless/task/perform-now.js +24 -0
- package/dist/cjs/workloads/stateless/task/perform.d.ts +7 -0
- package/dist/cjs/workloads/stateless/task/perform.js +10 -0
- package/dist/cjs/workloads/stateless/task/task.d.ts +88 -0
- package/dist/cjs/workloads/stateless/task/task.js +61 -0
- package/dist/cjs/workloads/stateless/task/validate-data-size.d.ts +1 -0
- package/dist/cjs/workloads/stateless/task/validate-data-size.js +10 -0
- package/dist/cjs/workloads/workload.d.ts +14 -0
- package/dist/cjs/workloads/workload.js +16 -0
- package/dist/cjs/workloads.d.ts +22 -0
- package/dist/cjs/workloads.js +30 -0
- package/dist/esm/configuration.d.ts +65 -0
- package/dist/esm/configuration.js +15 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/introspection.d.ts +2 -0
- package/dist/esm/introspection.js +2 -0
- package/dist/esm/make/broadcast.d.ts +10 -0
- package/dist/esm/make/broadcast.js +30 -0
- package/dist/esm/make/config.d.ts +2 -0
- package/dist/esm/make/config.js +41 -0
- package/dist/esm/make/cron.d.ts +9 -0
- package/dist/esm/make/cron.js +23 -0
- package/dist/esm/make/make.d.ts +6 -0
- package/dist/esm/make/make.js +120 -0
- package/dist/esm/make/manifest.d.ts +202 -0
- package/dist/esm/make/manifest.js +162 -0
- package/dist/esm/make/required-filtes.d.ts +1 -0
- package/dist/esm/make/required-filtes.js +11 -0
- package/dist/esm/make/task.d.ts +9 -0
- package/dist/esm/make/task.js +23 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/packages/docker/df.d.ts +543 -0
- package/dist/esm/packages/docker/df.js +381 -0
- package/dist/esm/packages/docker/validator.d.ts +7 -0
- package/dist/esm/packages/docker/validator.js +14 -0
- package/dist/esm/packages/utils/create-file.d.ts +1 -0
- package/dist/esm/packages/utils/create-file.js +11 -0
- package/dist/esm/packages/utils/date-string.d.ts +1 -0
- package/dist/esm/packages/utils/date-string.js +8 -0
- package/dist/esm/packages/utils/exception.d.ts +1 -0
- package/dist/esm/packages/utils/exception.js +4 -0
- package/dist/esm/packages/utils/hash-value.d.ts +16 -0
- package/dist/esm/packages/utils/hash-value.js +20 -0
- package/dist/esm/packages/utils/import-default.d.ts +1 -0
- package/dist/esm/packages/utils/import-default.js +10 -0
- package/dist/esm/packages/utils/import-file.d.ts +8 -0
- package/dist/esm/packages/utils/import-file.js +13 -0
- package/dist/esm/packages/utils/log-with-spinner.d.ts +1 -0
- package/dist/esm/packages/utils/log-with-spinner.js +17 -0
- package/dist/esm/packages/utils/path.d.ts +2 -0
- package/dist/esm/packages/utils/path.js +17 -0
- package/dist/esm/packages/utils/playground.d.ts +1 -0
- package/dist/esm/packages/utils/playground.js +11 -0
- package/dist/esm/scaffolding/add-env-var.d.ts +6 -0
- package/dist/esm/scaffolding/add-env-var.js +57 -0
- package/dist/esm/scaffolding/add-import.d.ts +16 -0
- package/dist/esm/scaffolding/add-import.js +39 -0
- package/dist/esm/scaffolding/add-script.d.ts +1 -0
- package/dist/esm/scaffolding/add-script.js +29 -0
- package/dist/esm/scaffolding/broadcast-workload.d.ts +1 -0
- package/dist/esm/scaffolding/broadcast-workload.js +30 -0
- package/dist/esm/scaffolding/bucket-workload.d.ts +6 -0
- package/dist/esm/scaffolding/bucket-workload.js +17 -0
- package/dist/esm/scaffolding/cron-workload.d.ts +6 -0
- package/dist/esm/scaffolding/cron-workload.js +22 -0
- package/dist/esm/scaffolding/drizzle.d.ts +4 -0
- package/dist/esm/scaffolding/drizzle.js +19 -0
- package/dist/esm/scaffolding/lifecycle.d.ts +9 -0
- package/dist/esm/scaffolding/lifecycle.js +53 -0
- package/dist/esm/scaffolding/postgres-database-workload.d.ts +15 -0
- package/dist/esm/scaffolding/postgres-database-workload.js +31 -0
- package/dist/esm/scaffolding/prisma.d.ts +4 -0
- package/dist/esm/scaffolding/prisma.js +34 -0
- package/dist/esm/scaffolding/replace-string.d.ts +10 -0
- package/dist/esm/scaffolding/replace-string.js +30 -0
- package/dist/esm/scaffolding/task-workload.d.ts +6 -0
- package/dist/esm/scaffolding/task-workload.js +24 -0
- package/dist/esm/scaffolding/workload.d.ts +1 -0
- package/dist/esm/scaffolding/workload.js +12 -0
- package/dist/esm/scan/project.d.ts +23 -0
- package/dist/esm/scan/project.js +69 -0
- package/dist/esm/scan/workload-imports.d.ts +21 -0
- package/dist/esm/scan/workload-imports.js +144 -0
- package/dist/esm/test-helpers/postgres.d.ts +13 -0
- package/dist/esm/test-helpers/postgres.js +26 -0
- package/dist/esm/test-helpers/redis.d.ts +13 -0
- package/dist/esm/test-helpers/redis.js +20 -0
- package/dist/esm/test-helpers/task.d.ts +14 -0
- package/dist/esm/test-helpers/task.js +14 -0
- package/dist/esm/test-helpers.d.ts +3 -0
- package/dist/esm/test-helpers.js +3 -0
- package/dist/esm/workloads/app-lifecycle/after-rollout.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/after-rollout.js +24 -0
- package/dist/esm/workloads/app-lifecycle/before-rollout.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/before-rollout.js +24 -0
- package/dist/esm/workloads/app-lifecycle/bootstrap.d.ts +22 -0
- package/dist/esm/workloads/app-lifecycle/bootstrap.js +24 -0
- package/dist/esm/workloads/app-lifecycle/lifecycle-workload.d.ts +11 -0
- package/dist/esm/workloads/app-lifecycle/lifecycle-workload.js +7 -0
- package/dist/esm/workloads/assertions.d.ts +13 -0
- package/dist/esm/workloads/assertions.js +6 -0
- package/dist/esm/workloads/stateful/bucket.d.ts +82 -0
- package/dist/esm/workloads/stateful/bucket.js +95 -0
- package/dist/esm/workloads/stateful/database.d.ts +25 -0
- package/dist/esm/workloads/stateful/database.js +42 -0
- package/dist/esm/workloads/stateful/postgres-database.d.ts +29 -0
- package/dist/esm/workloads/stateful/postgres-database.js +35 -0
- package/dist/esm/workloads/stateful/redis.d.ts +30 -0
- package/dist/esm/workloads/stateful/redis.js +36 -0
- package/dist/esm/workloads/stateful/stateful-workload.d.ts +25 -0
- package/dist/esm/workloads/stateful/stateful-workload.js +41 -0
- package/dist/esm/workloads/stateless/broadcast/channel-data.d.ts +3 -0
- package/dist/esm/workloads/stateless/broadcast/channel-data.js +2 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-client.d.ts +78 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-client.js +130 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-publisher.d.ts +34 -0
- package/dist/esm/workloads/stateless/broadcast/client/app-sync-publisher.js +76 -0
- package/dist/esm/workloads/stateless/broadcast/client/authenticator.d.ts +28 -0
- package/dist/esm/workloads/stateless/broadcast/client/authenticator.js +39 -0
- package/dist/esm/workloads/stateless/broadcast/client/broadcast-provider.d.ts +17 -0
- package/dist/esm/workloads/stateless/broadcast/client/broadcast-provider.js +29 -0
- package/dist/esm/workloads/stateless/broadcast/client/client.d.ts +8 -0
- package/dist/esm/workloads/stateless/broadcast/client/client.js +25 -0
- package/dist/esm/workloads/stateless/broadcast/client/connectionManager.d.ts +62 -0
- package/dist/esm/workloads/stateless/broadcast/client/connectionManager.js +164 -0
- package/dist/esm/workloads/stateless/broadcast/client/eventEmitter.d.ts +32 -0
- package/dist/esm/workloads/stateless/broadcast/client/eventEmitter.js +50 -0
- package/dist/esm/workloads/stateless/broadcast/client/messageBuilder.d.ts +24 -0
- package/dist/esm/workloads/stateless/broadcast/client/messageBuilder.js +39 -0
- package/dist/esm/workloads/stateless/broadcast/client/parser.d.ts +12 -0
- package/dist/esm/workloads/stateless/broadcast/client/parser.js +19 -0
- package/dist/esm/workloads/stateless/broadcast/client/provider.d.ts +4 -0
- package/dist/esm/workloads/stateless/broadcast/client/provider.js +8 -0
- package/dist/esm/workloads/stateless/broadcast/client/subscriptionManager.d.ts +34 -0
- package/dist/esm/workloads/stateless/broadcast/client/subscriptionManager.js +91 -0
- package/dist/esm/workloads/stateless/broadcast/client/types.d.ts +72 -0
- package/dist/esm/workloads/stateless/broadcast/client/types.js +5 -0
- package/dist/esm/workloads/stateless/broadcast/matcher.d.ts +13 -0
- package/dist/esm/workloads/stateless/broadcast/matcher.js +43 -0
- package/dist/esm/workloads/stateless/broadcast/router.d.ts +103 -0
- package/dist/esm/workloads/stateless/broadcast/router.js +93 -0
- package/dist/esm/workloads/stateless/broadcast/server/broadcast-server.d.ts +2 -0
- package/dist/esm/workloads/stateless/broadcast/server/broadcast-server.js +316 -0
- package/dist/esm/workloads/stateless/broadcast/types.d.ts +17 -0
- package/dist/esm/workloads/stateless/broadcast/types.js +1 -0
- package/dist/esm/workloads/stateless/cron.d.ts +49 -0
- package/dist/esm/workloads/stateless/cron.js +52 -0
- package/dist/esm/workloads/stateless/stateless-workload.d.ts +3 -0
- package/dist/esm/workloads/stateless/stateless-workload.js +8 -0
- package/dist/esm/workloads/stateless/task/backoffs.d.ts +9 -0
- package/dist/esm/workloads/stateless/task/backoffs.js +14 -0
- package/dist/esm/workloads/stateless/task/dispatcher.d.ts +3 -0
- package/dist/esm/workloads/stateless/task/dispatcher.js +18 -0
- package/dist/esm/workloads/stateless/task/local.d.ts +14 -0
- package/dist/esm/workloads/stateless/task/local.js +48 -0
- package/dist/esm/workloads/stateless/task/perform-later.d.ts +2 -0
- package/dist/esm/workloads/stateless/task/perform-later.js +4 -0
- package/dist/esm/workloads/stateless/task/perform-now.d.ts +5 -0
- package/dist/esm/workloads/stateless/task/perform-now.js +18 -0
- package/dist/esm/workloads/stateless/task/perform.d.ts +7 -0
- package/dist/esm/workloads/stateless/task/perform.js +8 -0
- package/dist/esm/workloads/stateless/task/task.d.ts +88 -0
- package/dist/esm/workloads/stateless/task/task.js +59 -0
- package/dist/esm/workloads/stateless/task/validate-data-size.d.ts +1 -0
- package/dist/esm/workloads/stateless/task/validate-data-size.js +7 -0
- package/dist/esm/workloads/workload.d.ts +14 -0
- package/dist/esm/workloads/workload.js +16 -0
- package/dist/esm/workloads.d.ts +22 -0
- package/dist/esm/workloads.js +13 -0
- package/package.json +155 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertRedis = assertRedis;
|
|
4
|
+
exports.assertPostgresDatabase = assertPostgresDatabase;
|
|
5
|
+
exports.assertBucket = assertBucket;
|
|
6
|
+
exports.assertCron = assertCron;
|
|
7
|
+
exports.assertTask = assertTask;
|
|
8
|
+
exports.assertBroadcast = assertBroadcast;
|
|
9
|
+
function assertRedis(workload) { }
|
|
10
|
+
function assertPostgresDatabase(workload) { }
|
|
11
|
+
function assertBucket(workload) { }
|
|
12
|
+
function assertCron(workload) { }
|
|
13
|
+
function assertTask(workload) { }
|
|
14
|
+
function assertBroadcast(workload) { }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { StatefulWorkload } from "../../workloads/stateful/stateful-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for an AWS S3 compatible storage.
|
|
4
|
+
*
|
|
5
|
+
* The `Bucket` workload is initialized with:
|
|
6
|
+
* - A valid bucket name.
|
|
7
|
+
*
|
|
8
|
+
* **NOTES**
|
|
9
|
+
*
|
|
10
|
+
* Launching the development or test containers with `npx monolayer start dev` will write the environment
|
|
11
|
+
* variable `ML_AWS_ENDPOINT_URL` will be written to the corresponding dotenv file (`.env` or `.env.test`)
|
|
12
|
+
*
|
|
13
|
+
* When initializing the S3 client, you need to configure `forcePathStyle` and `endpoint`
|
|
14
|
+
* if the dev or test container is running (*check for the `ML_AWS_ENDPOINT_URL` environment
|
|
15
|
+
* variable*). See the example.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { Bucket } from "@monolayer/sdk";
|
|
20
|
+
*
|
|
21
|
+
* const documents = new Bucket("documents");
|
|
22
|
+
*
|
|
23
|
+
* export default documents;
|
|
24
|
+
*
|
|
25
|
+
* // Client configuration
|
|
26
|
+
*
|
|
27
|
+
* import { S3Client } from "@aws-sdk/client-s3";
|
|
28
|
+
* import { bucketLocalConfiguration } from "@monolayer/sdk";
|
|
29
|
+
* export const s3Client = new S3Client({
|
|
30
|
+
* ...bucketLocalConfiguration(),
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Get Object
|
|
34
|
+
*
|
|
35
|
+
* const response = await s3Client.send(
|
|
36
|
+
* new GetObjectCommand({
|
|
37
|
+
* Bucket: documents.name,
|
|
38
|
+
* Key: "README.md",
|
|
39
|
+
* }),
|
|
40
|
+
* );
|
|
41
|
+
*
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare class Bucket extends StatefulWorkload {
|
|
45
|
+
/**
|
|
46
|
+
* Defines public access permissions for specific paths within the bucket.
|
|
47
|
+
* This allows anonymous users to perform actions on objects matching the specified path patterns.
|
|
48
|
+
*/
|
|
49
|
+
publicAccess: PublicAccess;
|
|
50
|
+
constructor(
|
|
51
|
+
/**
|
|
52
|
+
* Bucket ID.
|
|
53
|
+
*/
|
|
54
|
+
id: string,
|
|
55
|
+
/**
|
|
56
|
+
* Bucket options
|
|
57
|
+
*/
|
|
58
|
+
options?: BucketOptions);
|
|
59
|
+
get name(): string;
|
|
60
|
+
}
|
|
61
|
+
export declare function bucketLocalConfiguration(): {
|
|
62
|
+
forcePathStyle?: undefined;
|
|
63
|
+
endpoint?: undefined;
|
|
64
|
+
credentials?: undefined;
|
|
65
|
+
} | {
|
|
66
|
+
forcePathStyle: boolean;
|
|
67
|
+
endpoint: string | undefined;
|
|
68
|
+
credentials: {
|
|
69
|
+
accessKeyId: string;
|
|
70
|
+
secretAccessKey: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export type AccessGrant = "get" | "list" | "write" | "delete";
|
|
74
|
+
export type PublicAccess = Record<string, AccessGrant[]>;
|
|
75
|
+
export interface BucketOptions {
|
|
76
|
+
/**
|
|
77
|
+
* Defines public access permissions for specific paths within the bucket.
|
|
78
|
+
* This allows anonymous users to perform actions like 'get', 'list', 'write', or 'delete'
|
|
79
|
+
* on objects matching the specified path patterns.
|
|
80
|
+
*/
|
|
81
|
+
publicAccess?: PublicAccess;
|
|
82
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bucket = void 0;
|
|
4
|
+
exports.bucketLocalConfiguration = bucketLocalConfiguration;
|
|
5
|
+
const case_anything_1 = require("case-anything");
|
|
6
|
+
const stateful_workload_js_1 = require("../../workloads/stateful/stateful-workload.js");
|
|
7
|
+
/**
|
|
8
|
+
* Workload for an AWS S3 compatible storage.
|
|
9
|
+
*
|
|
10
|
+
* The `Bucket` workload is initialized with:
|
|
11
|
+
* - A valid bucket name.
|
|
12
|
+
*
|
|
13
|
+
* **NOTES**
|
|
14
|
+
*
|
|
15
|
+
* Launching the development or test containers with `npx monolayer start dev` will write the environment
|
|
16
|
+
* variable `ML_AWS_ENDPOINT_URL` will be written to the corresponding dotenv file (`.env` or `.env.test`)
|
|
17
|
+
*
|
|
18
|
+
* When initializing the S3 client, you need to configure `forcePathStyle` and `endpoint`
|
|
19
|
+
* if the dev or test container is running (*check for the `ML_AWS_ENDPOINT_URL` environment
|
|
20
|
+
* variable*). See the example.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { Bucket } from "@monolayer/sdk";
|
|
25
|
+
*
|
|
26
|
+
* const documents = new Bucket("documents");
|
|
27
|
+
*
|
|
28
|
+
* export default documents;
|
|
29
|
+
*
|
|
30
|
+
* // Client configuration
|
|
31
|
+
*
|
|
32
|
+
* import { S3Client } from "@aws-sdk/client-s3";
|
|
33
|
+
* import { bucketLocalConfiguration } from "@monolayer/sdk";
|
|
34
|
+
* export const s3Client = new S3Client({
|
|
35
|
+
* ...bucketLocalConfiguration(),
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* // Get Object
|
|
39
|
+
*
|
|
40
|
+
* const response = await s3Client.send(
|
|
41
|
+
* new GetObjectCommand({
|
|
42
|
+
* Bucket: documents.name,
|
|
43
|
+
* Key: "README.md",
|
|
44
|
+
* }),
|
|
45
|
+
* );
|
|
46
|
+
*
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
class Bucket extends stateful_workload_js_1.StatefulWorkload {
|
|
50
|
+
constructor(
|
|
51
|
+
/**
|
|
52
|
+
* Bucket ID.
|
|
53
|
+
*/
|
|
54
|
+
id,
|
|
55
|
+
/**
|
|
56
|
+
* Bucket options
|
|
57
|
+
*/
|
|
58
|
+
options) {
|
|
59
|
+
super(id);
|
|
60
|
+
this.publicAccess = options?.publicAccess ?? {};
|
|
61
|
+
}
|
|
62
|
+
get name() {
|
|
63
|
+
if (process.env.NODE_ENV === "production") {
|
|
64
|
+
const envVarName = (0, case_anything_1.snakeCase)(["ml", this.id, "bucket", "name"].join("-")).toUpperCase();
|
|
65
|
+
const bucketName = process.env[envVarName];
|
|
66
|
+
if (bucketName === undefined) {
|
|
67
|
+
throw new Error(`Undefined bucket name for Bucket ${this.id}. ${envVarName} not set.`);
|
|
68
|
+
}
|
|
69
|
+
return bucketName;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return [this.id, process.env.NODE_ENV].join("-");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
get connectionStringEnvVar() {
|
|
79
|
+
return bucketEndPointEnvVarName;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.Bucket = Bucket;
|
|
83
|
+
function bucketLocalConfiguration() {
|
|
84
|
+
if (process.env.NODE_ENV === "production")
|
|
85
|
+
return {};
|
|
86
|
+
return {
|
|
87
|
+
forcePathStyle: true,
|
|
88
|
+
endpoint: process.env[bucketEndPointEnvVarName],
|
|
89
|
+
credentials: {
|
|
90
|
+
accessKeyId: "minioadmin",
|
|
91
|
+
secretAccessKey: "minioadmin",
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const bucketEndPointEnvVarName = "ML_BUCKET_ENDPOINT";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { StatefulWorkloadWithClient } from "../../workloads/stateful/stateful-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Database workload.
|
|
4
|
+
*
|
|
5
|
+
* @group Abstract Classes
|
|
6
|
+
* @typeParam C - Client type
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class Database extends StatefulWorkloadWithClient {
|
|
9
|
+
/**
|
|
10
|
+
* Database name.
|
|
11
|
+
*/
|
|
12
|
+
readonly databaseName: string;
|
|
13
|
+
constructor(
|
|
14
|
+
/**
|
|
15
|
+
* Database name.
|
|
16
|
+
*/
|
|
17
|
+
databaseName: string);
|
|
18
|
+
/**
|
|
19
|
+
* Database ID
|
|
20
|
+
*
|
|
21
|
+
* **Note:**
|
|
22
|
+
* Alias of `ìd`.
|
|
23
|
+
*/
|
|
24
|
+
get databaseId(): string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Database = void 0;
|
|
4
|
+
const stateful_workload_js_1 = require("../../workloads/stateful/stateful-workload.js");
|
|
5
|
+
/**
|
|
6
|
+
* Database workload.
|
|
7
|
+
*
|
|
8
|
+
* @group Abstract Classes
|
|
9
|
+
* @typeParam C - Client type
|
|
10
|
+
*/
|
|
11
|
+
class Database extends stateful_workload_js_1.StatefulWorkloadWithClient {
|
|
12
|
+
constructor(
|
|
13
|
+
/**
|
|
14
|
+
* Database name.
|
|
15
|
+
*/
|
|
16
|
+
databaseName) {
|
|
17
|
+
super(databaseName);
|
|
18
|
+
this.databaseName = databaseName;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Database ID
|
|
22
|
+
*
|
|
23
|
+
* **Note:**
|
|
24
|
+
* Alias of `ìd`.
|
|
25
|
+
*/
|
|
26
|
+
get databaseId() {
|
|
27
|
+
return this.id;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
get connStringComponents() {
|
|
33
|
+
return [
|
|
34
|
+
this.connStringPrefix(),
|
|
35
|
+
...(this.id === this.databaseName
|
|
36
|
+
? [this.id]
|
|
37
|
+
: [this.id, this.databaseName]),
|
|
38
|
+
"database",
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Database = Database;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Database } from "../../workloads/stateful/database.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for PostgreSQL databases.
|
|
4
|
+
*
|
|
5
|
+
* A `PostgresDatabase` workload is initialized with:
|
|
6
|
+
* - A valid database name.
|
|
7
|
+
*
|
|
8
|
+
* The environment variable with the connection string for the database is named after
|
|
9
|
+
* the `databaseName` and the `databaseId`. See examples.
|
|
10
|
+
*
|
|
11
|
+
* **NOTES**
|
|
12
|
+
*
|
|
13
|
+
* When launching the development or test containers with `npx monolayer start dev`, the environment
|
|
14
|
+
* variable with the connection string for the workload's Docker container
|
|
15
|
+
* will be written to the corresponding dotenv file (`.env.local` or `.env.local.test`)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { PostgreSQL } from "@monolayer/sdk";
|
|
20
|
+
* import pg from "pg";
|
|
21
|
+
*
|
|
22
|
+
* // Workloads on different database servers
|
|
23
|
+
* export const producstDb = new PostgresDatabase("products");
|
|
24
|
+
*
|
|
25
|
+
* export const analyticsDb = new PostgresDatabase("analytics");
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class PostgresDatabase extends Database {
|
|
29
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PostgresDatabase = void 0;
|
|
4
|
+
const database_js_1 = require("../../workloads/stateful/database.js");
|
|
5
|
+
/**
|
|
6
|
+
* Workload for PostgreSQL databases.
|
|
7
|
+
*
|
|
8
|
+
* A `PostgresDatabase` workload is initialized with:
|
|
9
|
+
* - A valid database name.
|
|
10
|
+
*
|
|
11
|
+
* The environment variable with the connection string for the database is named after
|
|
12
|
+
* the `databaseName` and the `databaseId`. See examples.
|
|
13
|
+
*
|
|
14
|
+
* **NOTES**
|
|
15
|
+
*
|
|
16
|
+
* When launching the development or test containers with `npx monolayer start dev`, the environment
|
|
17
|
+
* variable with the connection string for the workload's Docker container
|
|
18
|
+
* will be written to the corresponding dotenv file (`.env.local` or `.env.local.test`)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { PostgreSQL } from "@monolayer/sdk";
|
|
23
|
+
* import pg from "pg";
|
|
24
|
+
*
|
|
25
|
+
* // Workloads on different database servers
|
|
26
|
+
* export const producstDb = new PostgresDatabase("products");
|
|
27
|
+
*
|
|
28
|
+
* export const analyticsDb = new PostgresDatabase("analytics");
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
class PostgresDatabase extends database_js_1.Database {
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
connStringPrefix() {
|
|
36
|
+
return "pg";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.PostgresDatabase = PostgresDatabase;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { StatefulWorkloadWithClient } from "../../workloads/stateful/stateful-workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* Workload for Redis API compatible servers.
|
|
4
|
+
*
|
|
5
|
+
* The `Redis` workload is initialized with:
|
|
6
|
+
* - A stable ID.
|
|
7
|
+
* - A client constructor function providing the client of your choice.
|
|
8
|
+
* The {@link Redis.client | client } accessor will call this function and memoize its result.
|
|
9
|
+
* The expected envirnoment variable name with the connection string is passed as an argument.
|
|
10
|
+
*
|
|
11
|
+
* **NOTES**
|
|
12
|
+
*
|
|
13
|
+
* When launching the development or test containers with `npx monolayer start dev`, the environment
|
|
14
|
+
* variable with the connection string for the workload's Docker container
|
|
15
|
+
* will be written to the corresponding dotenv file (`.env` or `.env.test`)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { Redis } from "@monolayer/sdk";
|
|
20
|
+
* import { Redis as IORedis } from "ioredis";
|
|
21
|
+
*
|
|
22
|
+
* const cache = new Redis("cache", (envVarName) =>
|
|
23
|
+
* new IORedis(process.env[envVarName]!)
|
|
24
|
+
* );
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @typeParam C - Client type
|
|
28
|
+
*/
|
|
29
|
+
export declare class Redis extends StatefulWorkloadWithClient {
|
|
30
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Redis = void 0;
|
|
4
|
+
const stateful_workload_js_1 = require("../../workloads/stateful/stateful-workload.js");
|
|
5
|
+
/**
|
|
6
|
+
* Workload for Redis API compatible servers.
|
|
7
|
+
*
|
|
8
|
+
* The `Redis` workload is initialized with:
|
|
9
|
+
* - A stable ID.
|
|
10
|
+
* - A client constructor function providing the client of your choice.
|
|
11
|
+
* The {@link Redis.client | client } accessor will call this function and memoize its result.
|
|
12
|
+
* The expected envirnoment variable name with the connection string is passed as an argument.
|
|
13
|
+
*
|
|
14
|
+
* **NOTES**
|
|
15
|
+
*
|
|
16
|
+
* When launching the development or test containers with `npx monolayer start dev`, the environment
|
|
17
|
+
* variable with the connection string for the workload's Docker container
|
|
18
|
+
* will be written to the corresponding dotenv file (`.env` or `.env.test`)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { Redis } from "@monolayer/sdk";
|
|
23
|
+
* import { Redis as IORedis } from "ioredis";
|
|
24
|
+
*
|
|
25
|
+
* const cache = new Redis("cache", (envVarName) =>
|
|
26
|
+
* new IORedis(process.env[envVarName]!)
|
|
27
|
+
* );
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @typeParam C - Client type
|
|
31
|
+
*/
|
|
32
|
+
class Redis extends stateful_workload_js_1.StatefulWorkloadWithClient {
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
get connStringComponents() {
|
|
37
|
+
return ["redis", this.id];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Redis = Redis;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Workload } from "../../workloads/workload.js";
|
|
2
|
+
/**
|
|
3
|
+
* @group Abstract Classes
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class StatefulWorkload extends Workload {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @group Abstract Classes
|
|
9
|
+
* @typeParam C - Client type
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class StatefulWorkloadWithClient extends StatefulWorkload {
|
|
12
|
+
constructor(
|
|
13
|
+
/**
|
|
14
|
+
* Unique ID.
|
|
15
|
+
*/
|
|
16
|
+
id: string);
|
|
17
|
+
/**
|
|
18
|
+
* Returns the unique environment variable name that should hold the connection string.
|
|
19
|
+
*/
|
|
20
|
+
get connectionStringEnvVar(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Reads the value fron environment variable name that should hold the connection string.
|
|
23
|
+
*/
|
|
24
|
+
get connectionString(): string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatefulWorkloadWithClient = exports.StatefulWorkload = void 0;
|
|
4
|
+
const case_anything_1 = require("case-anything");
|
|
5
|
+
const workload_js_1 = require("../../workloads/workload.js");
|
|
6
|
+
/**
|
|
7
|
+
* @group Abstract Classes
|
|
8
|
+
*/
|
|
9
|
+
class StatefulWorkload extends workload_js_1.Workload {
|
|
10
|
+
}
|
|
11
|
+
exports.StatefulWorkload = StatefulWorkload;
|
|
12
|
+
/**
|
|
13
|
+
* @group Abstract Classes
|
|
14
|
+
* @typeParam C - Client type
|
|
15
|
+
*/
|
|
16
|
+
class StatefulWorkloadWithClient extends StatefulWorkload {
|
|
17
|
+
constructor(
|
|
18
|
+
/**
|
|
19
|
+
* Unique ID.
|
|
20
|
+
*/
|
|
21
|
+
id) {
|
|
22
|
+
super(id);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns the unique environment variable name that should hold the connection string.
|
|
26
|
+
*/
|
|
27
|
+
get connectionStringEnvVar() {
|
|
28
|
+
return (0, case_anything_1.snakeCase)(["ml", ...this.connStringComponents, "url"].join("_")).toUpperCase();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Reads the value fron environment variable name that should hold the connection string.
|
|
32
|
+
*/
|
|
33
|
+
get connectionString() {
|
|
34
|
+
const value = process.env[this.connectionStringEnvVar];
|
|
35
|
+
if (value === undefined) {
|
|
36
|
+
throw new Error(`Expected environment variable with connection string ${this.connectionStringEnvVar}`);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.StatefulWorkloadWithClient = StatefulWorkloadWithClient;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module AppSyncEventsClient
|
|
3
|
+
* The main entry point for the AWS AppSync Events WebSocket client library.
|
|
4
|
+
*/
|
|
5
|
+
import type { ChannelData } from "../channel-data.js";
|
|
6
|
+
import type { RouteParams, ValidateUniqueParams } from "../types.js";
|
|
7
|
+
import { EventEmitter } from "./eventEmitter.js";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for the BroadcastClient.
|
|
10
|
+
*/
|
|
11
|
+
export interface BroadcastClientConfig {
|
|
12
|
+
url: string;
|
|
13
|
+
authorization: object;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A client for interacting with the AWS AppSync Events WebSocket API.
|
|
17
|
+
* This client handles connection management, authentication, and provides
|
|
18
|
+
* an interface for subscribing to and publishing events.
|
|
19
|
+
*/
|
|
20
|
+
export declare class BroadcastClient<C extends Record<string, ChannelData<any>>> {
|
|
21
|
+
private _channels;
|
|
22
|
+
private connectionManager;
|
|
23
|
+
private subscriptionManager;
|
|
24
|
+
eventEmitter: EventEmitter;
|
|
25
|
+
private readonly url;
|
|
26
|
+
private readonly host;
|
|
27
|
+
connected: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Creates an instance of AppSyncEventsClient.
|
|
30
|
+
* @param url The WebSocket URL for the AWS AppSync Events API.
|
|
31
|
+
* @param authorization The authorization object required for the WebSocket connection.
|
|
32
|
+
*/
|
|
33
|
+
constructor(opts: {
|
|
34
|
+
url: string;
|
|
35
|
+
host: string;
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Establishes a connection to the AWS AppSync Events WebSocket API.
|
|
39
|
+
* @returns A Promise that resolves when the connection is successfully established.
|
|
40
|
+
*/
|
|
41
|
+
connect(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Disconnects from the AWS AppSync Events WebSocket API.
|
|
44
|
+
*/
|
|
45
|
+
disconnect(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Subscribes to a specified channel to receive real-time events.
|
|
48
|
+
* @param channel The channel path to subscribe to.
|
|
49
|
+
* @param authorization The authorization object for the subscription.
|
|
50
|
+
* @returns The ID of the created subscription.
|
|
51
|
+
*/
|
|
52
|
+
subscribe(channel: string, authorization: object, callback: (payload: any) => void): string;
|
|
53
|
+
subscribeTo<T extends keyof C & string>(channelName: ValidateUniqueParams<T>, params: RouteParams<T>, callback: (data: C[T] extends ChannelData<infer P> ? P : never) => void): string | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Unsubscribes from a previously subscribed channel.
|
|
56
|
+
* @param subscriptionId The ID of the subscription to unsubscribe from.
|
|
57
|
+
*/
|
|
58
|
+
unsubscribe(subscriptionId: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Publishes events to a specified channel.
|
|
61
|
+
* @param channel The channel path to publish to.
|
|
62
|
+
* @param events An array of stringified JSON events to be published.
|
|
63
|
+
* @param authorization The authorization object for the publish operation.
|
|
64
|
+
*/
|
|
65
|
+
publish(channel: string, events: string[], authorization: object): void;
|
|
66
|
+
/**
|
|
67
|
+
* Registers a listener for a specific event emitted by the client.
|
|
68
|
+
* @param eventName The name of the event to listen for (e.g., 'message', 'connected', 'disconnected').
|
|
69
|
+
* @param listener The callback function to be invoked when the event is emitted.
|
|
70
|
+
*/
|
|
71
|
+
on(eventName: string, listener: (...args: any[]) => void): void;
|
|
72
|
+
/**
|
|
73
|
+
* Removes a registered listener for a specific event.
|
|
74
|
+
* @param eventName The name of the event to remove the listener from.
|
|
75
|
+
* @param listener The callback function to be removed.
|
|
76
|
+
*/
|
|
77
|
+
off(eventName: string, listener: (...args: any[]) => void): void;
|
|
78
|
+
}
|