sonamu 0.10.12 → 0.10.13
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/ai/agents/agent.d.ts +1 -1
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +5 -6
- package/dist/ai/agents/types.d.ts +1 -1
- package/dist/ai/agents/types.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/api.js +18 -18
- package/dist/ai/providers/rtzr/error.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/error.js +17 -15
- package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/model.js +3 -2
- package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/options.js +16 -16
- package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/provider.js +9 -9
- package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/utils.js +1 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +17 -17
- package/dist/api/code-converters.d.ts +4 -2
- package/dist/api/code-converters.d.ts.map +1 -1
- package/dist/api/code-converters.js +100 -19
- package/dist/api/config.d.ts +16 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +28 -21
- package/dist/api/context.d.ts +2 -2
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +1 -1
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +18 -11
- package/dist/api/http-validator.d.ts +36 -0
- package/dist/api/http-validator.d.ts.map +1 -0
- package/dist/api/http-validator.js +72 -0
- package/dist/api/index.js +6 -4
- package/dist/api/sonamu.d.ts +59 -20
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +250 -106
- package/dist/api/websocket-helpers.d.ts +7 -5
- package/dist/api/websocket-helpers.d.ts.map +1 -1
- package/dist/api/websocket-helpers.js +6 -6
- package/dist/auth/audit-log/builders.d.ts.map +1 -1
- package/dist/auth/audit-log/builders.js +1 -1
- package/dist/auth/audit-log/client-ip.d.ts +1 -1
- package/dist/auth/audit-log/client-ip.d.ts.map +1 -1
- package/dist/auth/audit-log/client-ip.js +4 -2
- package/dist/auth/audit-log/events.d.ts +5 -1
- package/dist/auth/audit-log/events.d.ts.map +1 -1
- package/dist/auth/audit-log/events.js +1 -1
- package/dist/auth/audit-log/plugin.d.ts +0 -8
- package/dist/auth/audit-log/plugin.d.ts.map +1 -1
- package/dist/auth/audit-log/plugin.js +48 -52
- package/dist/auth/audit-log-ingestor.d.ts.map +1 -1
- package/dist/auth/audit-log-ingestor.js +16 -12
- package/dist/auth/auth-generator.d.ts.map +1 -1
- package/dist/auth/auth-generator.js +1 -1
- package/dist/auth/better-auth-request.d.ts.map +1 -1
- package/dist/auth/better-auth-request.js +6 -5
- package/dist/auth/knex-adapter.js +1 -1
- package/dist/auth/plugins/entity-definitions/index.d.ts +13 -1
- package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/index.js +1 -1
- package/dist/auth/plugins/wrappers/admin.d.ts +1 -1
- package/dist/bin/build-config.d.ts +25 -0
- package/dist/bin/build-config.d.ts.map +1 -1
- package/dist/bin/build-config.js +105 -2
- package/dist/bin/cli.js +131 -27
- package/dist/bin/compiler-policy.d.ts +3 -0
- package/dist/bin/compiler-policy.d.ts.map +1 -0
- package/dist/bin/compiler-policy.js +24 -0
- package/dist/bin/fixture.d.ts.map +1 -1
- package/dist/bin/fixture.js +5 -3
- package/dist/bin/test-command.d.ts +22 -1
- package/dist/bin/test-command.d.ts.map +1 -1
- package/dist/bin/test-command.js +18 -10
- package/dist/bin/ts-loader-registration.d.ts +7 -1
- package/dist/bin/ts-loader-registration.d.ts.map +1 -1
- package/dist/bin/ts-loader-registration.js +13 -4
- package/dist/cache/decorator.d.ts.map +1 -1
- package/dist/cache/decorator.js +11 -4
- package/dist/compress/compress.d.ts.map +1 -1
- package/dist/compress/compress.js +1 -1
- package/dist/cone/cone-generator.d.ts +14 -1
- package/dist/cone/cone-generator.d.ts.map +1 -1
- package/dist/cone/cone-generator.js +13 -9
- package/dist/database/_batch_update.js +1 -1
- package/dist/database/base-model.d.ts +22 -10
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +26 -16
- package/dist/database/base-model.types.d.ts +15 -3
- package/dist/database/base-model.types.d.ts.map +1 -1
- package/dist/database/db.d.ts +12 -2
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +10 -7
- package/dist/database/knex.d.ts.map +1 -1
- package/dist/database/knex.js +17 -14
- package/dist/database/puri.d.ts +11 -9
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +93 -79
- package/dist/database/puri.types.d.ts +21 -21
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +1 -1
- package/dist/database/upsert-builder.d.ts +12 -10
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +20 -12
- package/dist/dict/sd.d.ts.map +1 -1
- package/dist/dict/sd.js +1 -1
- package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
- package/dist/dict/sonamu-dictionary.js +1 -1
- package/dist/dict/utils.d.ts.map +1 -1
- package/dist/dict/utils.js +7 -2
- package/dist/entity/entity-manager.d.ts +13 -4
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +19 -11
- package/dist/entity/entity-template-cone.d.ts +73 -5
- package/dist/entity/entity-template-cone.d.ts.map +1 -1
- package/dist/entity/entity-template-cone.js +4 -2
- package/dist/entity/entity.d.ts +6 -2
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +30 -28
- package/dist/env.d.ts +3 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +1 -1
- package/dist/exceptions/error-handler.d.ts.map +1 -1
- package/dist/exceptions/error-handler.js +7 -2
- package/dist/exceptions/so-exceptions.d.ts +24 -20
- package/dist/exceptions/so-exceptions.d.ts.map +1 -1
- package/dist/exceptions/so-exceptions.js +4 -2
- package/dist/filter/utils.d.ts +7 -2
- package/dist/filter/utils.d.ts.map +1 -1
- package/dist/filter/utils.js +8 -6
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/logger/configure.d.ts.map +1 -1
- package/dist/logger/configure.js +10 -10
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +50 -46
- package/dist/migration/index-where-predicate.d.ts.map +1 -1
- package/dist/migration/index-where-predicate.js +22 -8
- package/dist/migration/migration-set.d.ts.map +1 -1
- package/dist/migration/migration-set.js +1 -1
- package/dist/migration/migrator.d.ts +3 -2
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +27 -21
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +51 -36
- package/dist/migration/slack-confirm.d.ts.map +1 -1
- package/dist/migration/slack-confirm.js +1 -1
- package/dist/naite/naite-reporter.js +2 -2
- package/dist/naite/naite.d.ts +74 -15
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +5 -19
- package/dist/runtime-type.d.ts +6 -0
- package/dist/runtime-type.d.ts.map +1 -0
- package/dist/runtime-type.js +26 -0
- package/dist/ssr/hmr-opt-out.d.ts +26 -0
- package/dist/ssr/hmr-opt-out.d.ts.map +1 -0
- package/dist/ssr/hmr-opt-out.js +59 -0
- package/dist/ssr/renderer.d.ts.map +1 -1
- package/dist/ssr/renderer.js +4 -1
- package/dist/storage/base-file.js +14 -14
- package/dist/storage/buffered-file.d.ts +2 -2
- package/dist/storage/buffered-file.d.ts.map +1 -1
- package/dist/storage/buffered-file.js +12 -12
- package/dist/storage/s3-driver.d.ts.map +1 -1
- package/dist/storage/s3-driver.js +1 -1
- package/dist/storage/uploaded-file.d.ts +2 -2
- package/dist/storage/uploaded-file.d.ts.map +1 -1
- package/dist/storage/uploaded-file.js +8 -8
- package/dist/stream/sse.js +11 -11
- package/dist/stream/ws-core.d.ts +1 -1
- package/dist/stream/ws-core.d.ts.map +1 -1
- package/dist/stream/ws-delivery.d.ts +1 -1
- package/dist/stream/ws-delivery.d.ts.map +1 -1
- package/dist/stream/ws-delivery.js +6 -4
- package/dist/stream/ws-local-connection-store.d.ts.map +1 -1
- package/dist/stream/ws-local-connection-store.js +4 -2
- package/dist/stream/ws-presence-store.js +1 -1
- package/dist/stream/ws-registry.d.ts +4 -4
- package/dist/stream/ws-registry.d.ts.map +1 -1
- package/dist/stream/ws-registry.js +4 -2
- package/dist/stream/ws-telemetry.d.ts +16 -12
- package/dist/stream/ws-telemetry.d.ts.map +1 -1
- package/dist/stream/ws-telemetry.js +22 -18
- package/dist/stream/ws.d.ts +18 -12
- package/dist/stream/ws.d.ts.map +1 -1
- package/dist/stream/ws.js +26 -22
- package/dist/syncer/api-parser.js +1 -1
- package/dist/syncer/checksum.d.ts.map +1 -1
- package/dist/syncer/checksum.js +7 -8
- package/dist/syncer/code-generator.d.ts.map +1 -1
- package/dist/syncer/code-generator.js +13 -14
- package/dist/syncer/entity-operations.d.ts.map +1 -1
- package/dist/syncer/entity-operations.js +5 -6
- package/dist/syncer/file-copy.d.ts +5 -0
- package/dist/syncer/file-copy.d.ts.map +1 -0
- package/dist/syncer/file-copy.js +36 -0
- package/dist/syncer/file-patterns.d.ts +1 -0
- package/dist/syncer/file-patterns.d.ts.map +1 -1
- package/dist/syncer/file-patterns.js +5 -2
- package/dist/syncer/file-tracking.d.ts.map +1 -1
- package/dist/syncer/file-tracking.js +5 -4
- package/dist/syncer/filesystem-dependencies.d.ts +15 -0
- package/dist/syncer/filesystem-dependencies.d.ts.map +1 -0
- package/dist/syncer/filesystem-dependencies.js +53 -0
- package/dist/syncer/module-loader.d.ts +1 -1
- package/dist/syncer/module-loader.d.ts.map +1 -1
- package/dist/syncer/module-loader.js +6 -4
- package/dist/syncer/syncer-actions.d.ts +4 -0
- package/dist/syncer/syncer-actions.d.ts.map +1 -1
- package/dist/syncer/syncer-actions.js +34 -17
- package/dist/syncer/syncer.d.ts +17 -6
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +71 -29
- package/dist/syncer/watcher.d.ts.map +1 -1
- package/dist/syncer/watcher.js +3 -3
- package/dist/tasks/decorator.d.ts +6 -6
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +4 -4
- package/dist/tasks/step-wrapper.d.ts +6 -4
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +5 -5
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +13 -7
- package/dist/template/entity-converter.d.ts +1 -1
- package/dist/template/entity-converter.d.ts.map +1 -1
- package/dist/template/entity-converter.js +2 -2
- package/dist/template/helpers.d.ts +8 -6
- package/dist/template/helpers.d.ts.map +1 -1
- package/dist/template/helpers.js +1 -1
- package/dist/template/implementations/generated.template.d.ts.map +1 -1
- package/dist/template/implementations/generated.template.js +4 -4
- package/dist/template/implementations/generated_http.template.d.ts +7 -4
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_http.template.js +21 -21
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_sso.template.js +6 -3
- package/dist/template/implementations/http_validators.template.d.ts +18 -0
- package/dist/template/implementations/http_validators.template.d.ts.map +1 -0
- package/dist/template/implementations/http_validators.template.js +127 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +1 -1
- package/dist/template/implementations/queries.template.js +1 -1
- package/dist/template/implementations/sd.template.d.ts.map +1 -1
- package/dist/template/implementations/sd.template.js +79 -39
- package/dist/template/implementations/services.template.d.ts.map +1 -1
- package/dist/template/implementations/services.template.js +6 -4
- package/dist/template/implementations/view_form.template.d.ts +6 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +23 -15
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +11 -6
- package/dist/template/template-manager.d.ts.map +1 -1
- package/dist/template/template-manager.js +9 -7
- package/dist/template/template-types.d.ts +12 -5
- package/dist/template/template-types.d.ts.map +1 -1
- package/dist/template/template-types.js +1 -1
- package/dist/template/template.d.ts +2 -2
- package/dist/template/template.d.ts.map +1 -1
- package/dist/template/template.js +6 -4
- package/dist/template/zod-converter.d.ts +0 -19
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +100 -84
- package/dist/testing/_relation-graph.d.ts.map +1 -1
- package/dist/testing/_relation-graph.js +2 -1
- package/dist/testing/bootstrap.d.ts.map +1 -1
- package/dist/testing/bootstrap.js +9 -6
- package/dist/testing/data-explorer.d.ts +32 -7
- package/dist/testing/data-explorer.d.ts.map +1 -1
- package/dist/testing/data-explorer.js +77 -31
- package/dist/testing/dev-test-routes.d.ts +8 -1
- package/dist/testing/dev-test-routes.d.ts.map +1 -1
- package/dist/testing/dev-test-routes.js +125 -108
- package/dist/testing/dev-vitest-manager.d.ts +54 -8
- package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
- package/dist/testing/dev-vitest-manager.js +24 -9
- package/dist/testing/faker-mappings.d.ts +412 -1
- package/dist/testing/faker-mappings.d.ts.map +1 -1
- package/dist/testing/faker-mappings.js +1 -1
- package/dist/testing/filesystem.d.ts +2 -0
- package/dist/testing/filesystem.d.ts.map +1 -0
- package/dist/testing/filesystem.js +7 -0
- package/dist/testing/fixture-generator.d.ts +25 -8
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +132 -73
- package/dist/testing/fixture-loader.d.ts +3 -1
- package/dist/testing/fixture-loader.d.ts.map +1 -1
- package/dist/testing/fixture-loader.js +1 -20
- package/dist/testing/fixture-manager.d.ts +8 -7
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +91 -59
- package/dist/testing/global-setup.d.ts.map +1 -1
- package/dist/testing/global-setup.js +5 -2
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +6 -3
- package/dist/types/types.d.ts +101 -99
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +234 -225
- package/dist/ui/ai-api.d.ts.map +1 -1
- package/dist/ui/ai-api.js +1 -1
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +28 -18
- package/dist/ui/api.d.ts.map +1 -1
- package/dist/ui/api.js +135 -128
- package/dist/ui/async-route.d.ts +3 -0
- package/dist/ui/async-route.d.ts.map +1 -0
- package/dist/ui/async-route.js +12 -0
- package/dist/ui/cdd-service.d.ts +9 -7
- package/dist/ui/cdd-service.d.ts.map +1 -1
- package/dist/ui/cdd-service.js +7 -5
- package/dist/ui/migrations-api.d.ts.map +1 -1
- package/dist/ui/migrations-api.js +17 -15
- package/dist/ui-web/assets/index-DV1AAq6W.js +178 -0
- package/dist/ui-web/index.html +1 -1
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +7 -5
- package/dist/utils/fs-utils.d.ts +3 -3
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +6 -6
- package/dist/utils/model.d.ts +3 -5
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +1 -1
- package/dist/utils/object-utils.d.ts +1 -1
- package/dist/utils/object-utils.d.ts.map +1 -1
- package/dist/utils/object-utils.js +17 -16
- package/dist/utils/process-utils.d.ts.map +1 -1
- package/dist/utils/process-utils.js +4 -2
- package/dist/utils/runtime-value.d.ts +13 -0
- package/dist/utils/runtime-value.d.ts.map +1 -0
- package/dist/utils/runtime-value.js +40 -0
- package/dist/utils/sql-parser.d.ts +8 -1
- package/dist/utils/sql-parser.d.ts.map +1 -1
- package/dist/utils/sql-parser.js +6 -3
- package/dist/utils/type-utils.d.ts.map +1 -1
- package/dist/utils/type-utils.js +10 -8
- package/dist/utils/utils.d.ts +2 -2
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +11 -8
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +7 -4
- package/dist/vector/chunking.d.ts.map +1 -1
- package/dist/vector/chunking.js +1 -1
- package/dist/vector/embedding.d.ts.map +1 -1
- package/dist/vector/embedding.js +1 -1
- package/dist/vector/types.d.ts +3 -2
- package/dist/vector/types.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/ai/agents/agent.ts +5 -5
- package/src/ai/agents/types.ts +1 -1
- package/src/ai/providers/rtzr/__tests__/model.test.ts +2 -2
- package/src/ai/providers/rtzr/error.ts +5 -3
- package/src/ai/providers/rtzr/model.ts +3 -2
- package/src/ai/providers/rtzr/options.ts +10 -5
- package/src/ai/providers/rtzr/provider.ts +10 -10
- package/src/ai/providers/rtzr/utils.ts +3 -1
- package/src/api/__tests__/config.test.ts +11 -21
- package/src/api/__tests__/sonamu.http-validator.test.ts +512 -0
- package/src/api/__tests__/sonamu.websocket.test.ts +51 -41
- package/src/api/__tests__/zod-compiler-policy.test.ts +95 -0
- package/src/api/caster.ts +6 -8
- package/src/api/code-converters.ts +136 -36
- package/src/api/config.ts +62 -4
- package/src/api/context.ts +3 -3
- package/src/api/decorators.ts +28 -17
- package/src/api/http-validator.ts +149 -0
- package/src/api/sonamu.ts +459 -152
- package/src/api/websocket-helpers.ts +24 -17
- package/src/auth/audit-log/builders.ts +3 -2
- package/src/auth/audit-log/client-ip.ts +4 -2
- package/src/auth/audit-log/events.ts +15 -1
- package/src/auth/audit-log/plugin.ts +129 -200
- package/src/auth/audit-log-ingestor.ts +19 -15
- package/src/auth/auth-generator.ts +10 -5
- package/src/auth/better-auth-request.ts +4 -3
- package/src/auth/knex-adapter.ts +8 -2
- package/src/auth/plugins/entity-definitions/index.ts +6 -5
- package/src/bin/__tests__/http-validator-benchmark.test.ts +94 -0
- package/src/bin/__tests__/test-command.test.ts +9 -15
- package/src/bin/__tests__/ts-loader-register.test.ts +15 -17
- package/src/bin/__tests__/zod-compiler-build.test.ts +307 -0
- package/src/bin/build-config.ts +167 -0
- package/src/bin/cli.ts +153 -36
- package/src/bin/compiler-policy.ts +35 -0
- package/src/bin/fixture.ts +14 -3
- package/src/bin/test-command.ts +74 -29
- package/src/bin/ts-loader-registration.ts +22 -4
- package/src/cache/decorator.ts +10 -3
- package/src/compress/compress.ts +17 -4
- package/src/cone/cone-generator.ts +34 -6
- package/src/database/__tests__/db.test.ts +1 -0
- package/src/database/__tests__/puri.test.ts +16 -15
- package/src/database/__tests__/transaction-scope.test.ts +5 -0
- package/src/database/_batch_update.ts +1 -0
- package/src/database/base-model.ts +81 -50
- package/src/database/base-model.types.ts +6 -6
- package/src/database/db.ts +29 -19
- package/src/database/knex.ts +30 -17
- package/src/database/puri-subset.test-d.ts +17 -0
- package/src/database/puri.ts +181 -143
- package/src/database/puri.types.test-d.ts +31 -1
- package/src/database/puri.types.ts +23 -21
- package/src/database/upsert-builder.ts +75 -53
- package/src/dict/sd.ts +15 -5
- package/src/dict/sonamu-dictionary.ts +6 -6
- package/src/dict/utils.ts +9 -1
- package/src/entity/entity-manager.ts +26 -9
- package/src/entity/entity-template-cone.ts +5 -10
- package/src/entity/entity.ts +50 -34
- package/src/env.ts +7 -3
- package/src/exceptions/error-handler.ts +17 -2
- package/src/exceptions/so-exceptions.ts +26 -20
- package/src/filter/utils.ts +21 -11
- package/src/index.ts +3 -0
- package/src/logger/configure.ts +26 -18
- package/src/migration/__tests__/migrator.test.ts +50 -57
- package/src/migration/code-generation.ts +132 -104
- package/src/migration/index-where-predicate.ts +51 -24
- package/src/migration/migration-set.ts +11 -5
- package/src/migration/migrator.ts +68 -41
- package/src/migration/postgresql-schema-reader.ts +52 -47
- package/src/migration/slack-confirm.ts +17 -15
- package/src/naite/naite-reporter.ts +1 -1
- package/src/naite/naite.ts +97 -24
- package/src/runtime-type.ts +34 -0
- package/src/ssr/hmr-opt-out.ts +78 -0
- package/src/ssr/renderer.ts +6 -0
- package/src/storage/base-file.ts +13 -13
- package/src/storage/buffered-file.ts +11 -11
- package/src/storage/s3-driver.ts +4 -1
- package/src/storage/uploaded-file.ts +8 -8
- package/src/stream/__tests__/ws-contracts.test.ts +4 -2
- package/src/stream/__tests__/ws-telemetry.test.ts +1 -1
- package/src/stream/__tests__/ws.test.ts +30 -6
- package/src/stream/sse.ts +12 -11
- package/src/stream/ws-core.ts +1 -1
- package/src/stream/ws-delivery.ts +16 -7
- package/src/stream/ws-local-connection-store.ts +2 -3
- package/src/stream/ws-presence-store.ts +6 -1
- package/src/stream/ws-registry.ts +16 -7
- package/src/stream/ws-telemetry.ts +66 -43
- package/src/stream/ws.ts +73 -39
- package/src/syncer/__tests__/api-parser.websocket-type-ref.test.ts +3 -2
- package/src/syncer/__tests__/http-validator-registry.test.ts +137 -0
- package/src/syncer/api-parser.ts +67 -27
- package/src/syncer/checksum.ts +17 -11
- package/src/syncer/code-generator.ts +25 -17
- package/src/syncer/entity-operations.ts +3 -5
- package/src/syncer/file-copy.ts +46 -0
- package/src/syncer/file-patterns.ts +11 -8
- package/src/syncer/file-tracking.ts +3 -4
- package/src/syncer/filesystem-dependencies.ts +73 -0
- package/src/syncer/module-loader.ts +8 -4
- package/src/syncer/syncer-actions.ts +56 -18
- package/src/syncer/syncer.ts +116 -43
- package/src/syncer/watcher.ts +8 -4
- package/src/tasks/decorator.ts +20 -12
- package/src/tasks/step-wrapper.ts +19 -9
- package/src/tasks/workflow-manager.ts +15 -9
- package/src/template/__tests__/http_validators.template.test.ts +160 -0
- package/src/template/__tests__/services.template.mutation.test.ts +24 -23
- package/src/template/__tests__/services.template.websocket.test.ts +21 -25
- package/src/template/entity-converter.ts +5 -2
- package/src/template/helpers.ts +8 -9
- package/src/template/implementations/generated.template.ts +5 -4
- package/src/template/implementations/generated_http.template.ts +61 -15
- package/src/template/implementations/generated_sso.template.ts +15 -4
- package/src/template/implementations/http_validators.template.ts +175 -0
- package/src/template/implementations/model.template.ts +3 -1
- package/src/template/implementations/sd.template.ts +81 -41
- package/src/template/implementations/services.template.ts +2 -2
- package/src/template/implementations/view_form.template.ts +56 -39
- package/src/template/implementations/view_list.template.ts +31 -23
- package/src/template/template-manager.ts +15 -13
- package/src/template/template-types.ts +13 -5
- package/src/template/template.ts +4 -3
- package/src/template/zod-converter.ts +206 -91
- package/src/testing/__tests__/dev-test-routes.test.ts +85 -25
- package/src/testing/__tests__/dev-vitest-manager.test.ts +15 -15
- package/src/testing/_relation-graph.ts +4 -1
- package/src/testing/bootstrap.ts +12 -5
- package/src/testing/data-explorer.ts +102 -53
- package/src/testing/dev-test-routes.ts +87 -50
- package/src/testing/dev-vitest-manager.ts +88 -32
- package/src/testing/faker-mappings.ts +2 -2
- package/src/testing/filesystem.ts +1 -0
- package/src/testing/fixture-generator.ts +191 -131
- package/src/testing/fixture-loader.ts +5 -1
- package/src/testing/fixture-manager.ts +129 -90
- package/src/testing/global-setup.ts +7 -3
- package/src/testing/index.ts +5 -0
- package/src/types/__tests__/entity-json-schema-search-text.test.ts +9 -3
- package/src/types/types.ts +184 -158
- package/src/ui/ai-api.ts +9 -7
- package/src/ui/ai-client.ts +61 -56
- package/src/ui/api.ts +727 -616
- package/src/ui/async-route.ts +4 -0
- package/src/ui/cdd-service.ts +35 -12
- package/src/ui/migrations-api.ts +63 -51
- package/src/utils/formatter.ts +7 -3
- package/src/utils/fs-utils.ts +5 -5
- package/src/utils/model.ts +4 -5
- package/src/utils/object-utils.ts +32 -22
- package/src/utils/process-utils.ts +4 -1
- package/src/utils/runtime-value.ts +43 -0
- package/src/utils/sql-parser.ts +13 -6
- package/src/utils/type-utils.ts +9 -7
- package/src/utils/utils.ts +19 -21
- package/src/utils/zod-error.ts +4 -2
- package/src/vector/chunking.ts +6 -1
- package/src/vector/embedding.ts +2 -1
- package/src/vector/types.ts +4 -2
- package/tsdown.api.config.ts +5 -2
- package/dist/ui-web/assets/index-C0m1pk6K.js +0 -177
|
@@ -10,37 +10,37 @@ var init_base_file = __esmMin((() => {
|
|
|
10
10
|
_url;
|
|
11
11
|
_signedUrl;
|
|
12
12
|
constructor(params) {
|
|
13
|
-
this
|
|
14
|
-
this
|
|
15
|
-
this
|
|
16
|
-
this
|
|
17
|
-
this
|
|
13
|
+
this["_filename"] = params.filename;
|
|
14
|
+
this["_mimetype"] = params.mimetype;
|
|
15
|
+
this["_size"] = params.size;
|
|
16
|
+
this["_url"] = params.url;
|
|
17
|
+
this["_signedUrl"] = params.signedUrl;
|
|
18
18
|
}
|
|
19
19
|
/** 원본 파일명 */
|
|
20
20
|
get filename() {
|
|
21
|
-
return this
|
|
21
|
+
return this["_filename"];
|
|
22
22
|
}
|
|
23
23
|
/** MIME 타입 */
|
|
24
24
|
get mimetype() {
|
|
25
|
-
return this
|
|
25
|
+
return this["_mimetype"];
|
|
26
26
|
}
|
|
27
27
|
/** 파일 크기 (bytes) */
|
|
28
28
|
get size() {
|
|
29
|
-
return this
|
|
29
|
+
return this["_size"];
|
|
30
30
|
}
|
|
31
31
|
/** 확장자 (점 제외) */
|
|
32
32
|
get extname() {
|
|
33
|
-
return mime.extension(this
|
|
33
|
+
return mime.extension(this["_mimetype"]);
|
|
34
34
|
}
|
|
35
35
|
/** 저장된 URL (Unsigned) */
|
|
36
36
|
get url() {
|
|
37
|
-
if (this
|
|
38
|
-
return this
|
|
37
|
+
if (this["_url"] === void 0) throw new Error("url이 설정되지 않았습니다.");
|
|
38
|
+
return this["_url"];
|
|
39
39
|
}
|
|
40
40
|
/** 저장된 URL (Signed) */
|
|
41
41
|
get signedUrl() {
|
|
42
|
-
if (this
|
|
43
|
-
return this
|
|
42
|
+
if (this["_signedUrl"] === void 0) throw new Error("signedUrl이 설정되지 않았습니다.");
|
|
43
|
+
return this["_signedUrl"];
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
}));
|
|
@@ -48,4 +48,4 @@ var init_base_file = __esmMin((() => {
|
|
|
48
48
|
init_base_file();
|
|
49
49
|
export { BaseFile, init_base_file };
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2Jhc2UtZmlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuXG4vKipcbiAqIO2MjOydvOydmCDquLDrs7gg66mU7YOA642w7J207YSwKGZpbGVuYW1lLCBtaW1ldHlwZSwgc2l6ZSDrk7Ep7JeQIOuMgO2VnCDsoJHqt7zsnpAg7KCc6rO1XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsZSB7XG4gIHByb3RlY3RlZCBfZmlsZW5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9taW1ldHlwZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpemU6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF91cmw/
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL2Jhc2UtZmlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuXG4vKipcbiAqIO2MjOydvOydmCDquLDrs7gg66mU7YOA642w7J207YSwKGZpbGVuYW1lLCBtaW1ldHlwZSwgc2l6ZSDrk7Ep7JeQIOuMgO2VnCDsoJHqt7zsnpAg7KCc6rO1XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsZSB7XG4gIHByb3RlY3RlZCBfZmlsZW5hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9taW1ldHlwZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpemU6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF91cmw/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmVkVXJsPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczoge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBzaXplOiBudW1iZXI7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIHNpZ25lZFVybD86IHN0cmluZztcbiAgfSkge1xuICAgIHRoaXNbXCJfZmlsZW5hbWVcIl0gPSBwYXJhbXMuZmlsZW5hbWU7XG4gICAgdGhpc1tcIl9taW1ldHlwZVwiXSA9IHBhcmFtcy5taW1ldHlwZTtcbiAgICB0aGlzW1wiX3NpemVcIl0gPSBwYXJhbXMuc2l6ZTtcbiAgICB0aGlzW1wiX3VybFwiXSA9IHBhcmFtcy51cmw7XG4gICAgdGhpc1tcIl9zaWduZWRVcmxcIl0gPSBwYXJhbXMuc2lnbmVkVXJsO1xuICB9XG5cbiAgLyoqIOybkOuzuCDtjIzsnbzrqoUgKi9cbiAgZ2V0IGZpbGVuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXNbXCJfZmlsZW5hbWVcIl07XG4gIH1cblxuICAvKiogTUlNRSDtg4DsnoUgKi9cbiAgZ2V0IG1pbWV0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXNbXCJfbWltZXR5cGVcIl07XG4gIH1cblxuICAvKiog7YyM7J28IO2BrOq4sCAoYnl0ZXMpICovXG4gIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXNbXCJfc2l6ZVwiXTtcbiAgfVxuXG4gIC8qKiDtmZXsnqXsnpAgKOygkCDsoJzsmbgpICovXG4gIGdldCBleHRuYW1lKCk6IHN0cmluZyB8IGZhbHNlIHtcbiAgICByZXR1cm4gbWltZS5leHRlbnNpb24odGhpc1tcIl9taW1ldHlwZVwiXSk7XG4gIH1cblxuICAvKiog7KCA7J6l65CcIFVSTCAoVW5zaWduZWQpICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpc1tcIl91cmxcIl0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs7J20IOyEpOygleuQmOyngCDslYrslZjsirXri4jri6QuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpc1tcIl91cmxcIl07XG4gIH1cblxuICAvKiog7KCA7J6l65CcIFVSTCAoU2lnbmVkKSAqL1xuICBnZXQgc2lnbmVkVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXNbXCJfc2lnbmVkVXJsXCJdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInNpZ25lZFVybOydtCDshKTsoJXrkJjsp4Ag7JWK7JWY7Iq164uI64ukLlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNbXCJfc2lnbmVkVXJsXCJdO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0NBS3NCLFdBQXRCLE1BQStCO0VBQzdCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxZQUFZLFFBTVQ7R0FDRCxLQUFLLGVBQWUsT0FBTztHQUMzQixLQUFLLGVBQWUsT0FBTztHQUMzQixLQUFLLFdBQVcsT0FBTztHQUN2QixLQUFLLFVBQVUsT0FBTztHQUN0QixLQUFLLGdCQUFnQixPQUFPO0VBQzlCOztFQUdBLElBQUksV0FBbUI7R0FDckIsT0FBTyxLQUFLO0VBQ2Q7O0VBR0EsSUFBSSxXQUFtQjtHQUNyQixPQUFPLEtBQUs7RUFDZDs7RUFHQSxJQUFJLE9BQWU7R0FDakIsT0FBTyxLQUFLO0VBQ2Q7O0VBR0EsSUFBSSxVQUEwQjtHQUM1QixPQUFPLEtBQUssVUFBVSxLQUFLLFlBQVk7RUFDekM7O0VBR0EsSUFBSSxNQUFjO0dBQ2hCLElBQUksS0FBSyxZQUFZLFFBQ25CLE1BQU0sSUFBSSxNQUFNLGtCQUFrQjtHQUVwQyxPQUFPLEtBQUs7RUFDZDs7RUFHQSxJQUFJLFlBQW9CO0dBQ3RCLElBQUksS0FBSyxrQkFBa0IsUUFDekIsTUFBTSxJQUFJLE1BQU0sd0JBQXdCO0dBRTFDLE9BQU8sS0FBSztFQUNkO0NBQ0YifQ==
|
|
@@ -6,8 +6,8 @@ import { type DriverKey } from "./drivers";
|
|
|
6
6
|
* 메모리에 로드된 상태로, md5 계산이나 이미지 처리 등 유연한 작업이 가능합니다.
|
|
7
7
|
*/
|
|
8
8
|
export declare class BufferedFile extends BaseFile {
|
|
9
|
-
private
|
|
10
|
-
private
|
|
9
|
+
private fileValue;
|
|
10
|
+
private bufferValue;
|
|
11
11
|
constructor(file: MultipartFile, buffer: Buffer);
|
|
12
12
|
/** 파일 Buffer */
|
|
13
13
|
get buffer(): Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffered-file.d.ts","sourceRoot":"","sources":["../../src/storage/buffered-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"buffered-file.d.ts","sourceRoot":"","sources":["../../src/storage/buffered-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;IAU/C,gBAAgB;IAChB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,gBAAgB;IACV,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B;;;;;OAKG;IACG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnE,0BAA0B;IAC1B,IAAI,GAAG,IAAI,aAAa,CAEvB;CACF"}
|
|
@@ -6,24 +6,24 @@ var BufferedFile;
|
|
|
6
6
|
var init_buffered_file = __esmMin((() => {
|
|
7
7
|
init_base_file();
|
|
8
8
|
BufferedFile = class extends BaseFile {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
fileValue;
|
|
10
|
+
bufferValue;
|
|
11
11
|
constructor(file, buffer) {
|
|
12
12
|
super({
|
|
13
13
|
filename: file.filename,
|
|
14
14
|
mimetype: file.mimetype,
|
|
15
15
|
size: buffer.length
|
|
16
16
|
});
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
17
|
+
this.fileValue = file;
|
|
18
|
+
this.bufferValue = buffer;
|
|
19
19
|
}
|
|
20
20
|
/** 파일 Buffer */
|
|
21
21
|
get buffer() {
|
|
22
|
-
return this.
|
|
22
|
+
return this.bufferValue;
|
|
23
23
|
}
|
|
24
24
|
/** MD5 해시 계산 */
|
|
25
25
|
async md5() {
|
|
26
|
-
return createHash("md5").update(this.
|
|
26
|
+
return createHash("md5").update(this.bufferValue).digest("hex");
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* 파일을 디스크에 저장
|
|
@@ -34,14 +34,14 @@ var init_buffered_file = __esmMin((() => {
|
|
|
34
34
|
async saveToDisk(diskName, key) {
|
|
35
35
|
const { Sonamu } = await import("../api/sonamu.js");
|
|
36
36
|
const disk = Sonamu.storage.use(diskName);
|
|
37
|
-
await disk.put(key, new Uint8Array(this.
|
|
38
|
-
this
|
|
39
|
-
this
|
|
40
|
-
return this
|
|
37
|
+
await disk.put(key, new Uint8Array(this.bufferValue), { contentType: this.mimetype });
|
|
38
|
+
this["_url"] = await disk.getUrl(key);
|
|
39
|
+
this["_signedUrl"] = await disk.getSignedUrl(key);
|
|
40
|
+
return this["_url"];
|
|
41
41
|
}
|
|
42
42
|
/** 원본 MultipartFile 접근 */
|
|
43
43
|
get raw() {
|
|
44
|
-
return this.
|
|
44
|
+
return this.fileValue;
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
}));
|
|
@@ -49,4 +49,4 @@ var init_buffered_file = __esmMin((() => {
|
|
|
49
49
|
init_buffered_file();
|
|
50
50
|
export { BufferedFile, init_buffered_file };
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+47KeAIOyymOumrCDrk7Eg7Jyg7Jew7ZWcIOyekeyXheydtCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWZmZXJlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgZmlsZVZhbHVlOiBNdWx0aXBhcnRGaWxlO1xuICBwcml2YXRlIGJ1ZmZlclZhbHVlOiBCdWZmZXI7XG5cbiAgY29uc3RydWN0b3IoZmlsZTogTXVsdGlwYXJ0RmlsZSwgYnVmZmVyOiBCdWZmZXIpIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWxlbmFtZTogZmlsZS5maWxlbmFtZSxcbiAgICAgIG1pbWV0eXBlOiBmaWxlLm1pbWV0eXBlLFxuICAgICAgc2l6ZTogYnVmZmVyLmxlbmd0aCxcbiAgICB9KTtcbiAgICB0aGlzLmZpbGVWYWx1ZSA9IGZpbGU7XG4gICAgdGhpcy5idWZmZXJWYWx1ZSA9IGJ1ZmZlcjtcbiAgfVxuXG4gIC8qKiDtjIzsnbwgQnVmZmVyICovXG4gIGdldCBidWZmZXIoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5idWZmZXJWYWx1ZTtcbiAgfVxuXG4gIC8qKiBNRDUg7ZW07IucIOqzhOyCsCAqL1xuICBhc3luYyBtZDUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gY3JlYXRlSGFzaChcIm1kNVwiKS51cGRhdGUodGhpcy5idWZmZXJWYWx1ZSkuZGlnZXN0KFwiaGV4XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2MjOydvOydhCDrlJTsiqTtgazsl5Ag7KCA7J6lXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEIChcImZzXCIg65iQ64qUIFwiczNcIilcbiAgICogQHBhcmFtIGtleSDsoIDsnqUg6rK966GcICjsmIg6ICd1cGxvYWRzL2F2YXRhci5wbmcnKVxuICAgKiBAcmV0dXJucyDsoIDsnqXrkJwg7YyM7J287J2YIFVSTFxuICAgKi9cbiAgYXN5bmMgc2F2ZVRvRGlzayhkaXNrTmFtZTogRHJpdmVyS2V5LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Iic7ZmYIOydmOyhtOyEsSDrsKnsp4Drpbwg7JyE7ZW0IOuPmeyggSBpbXBvcnRcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKGRpc2tOYW1lKTtcblxuICAgIGF3YWl0IGRpc2sucHV0KGtleSwgbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXJWYWx1ZSksIHtcbiAgICAgIGNvbnRlbnRUeXBlOiB0aGlzLm1pbWV0eXBlLFxuICAgIH0pO1xuXG4gICAgdGhpc1tcIl91cmxcIl0gPSBhd2FpdCBkaXNrLmdldFVybChrZXkpO1xuICAgIHRoaXNbXCJfc2lnbmVkVXJsXCJdID0gYXdhaXQgZGlzay5nZXRTaWduZWRVcmwoa2V5KTtcblxuICAgIC8vIHNpZ25lZCB1cmzsnYAg66eM66OMIOyLnOqwhOydtCDsnojquLAg65WM66y47JeQLCB1bnNpZ25lZCB1cmzsnYQg67CY7ZmY7ZWp64uI64ukLlxuICAgIHJldHVybiB0aGlzW1wiX3VybFwiXTtcbiAgfVxuXG4gIC8qKiDsm5Drs7ggTXVsdGlwYXJ0RmlsZSDsoJHqt7wgKi9cbiAgZ2V0IHJhdygpOiBNdWx0aXBhcnRGaWxlIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVmFsdWU7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2dCQUlzQztDQU96QixlQUFiLGNBQWtDLFNBQVM7RUFDekM7RUFDQTtFQUVBLFlBQVksTUFBcUIsUUFBZ0I7R0FDL0MsTUFBTTtJQUNKLFVBQVUsS0FBSztJQUNmLFVBQVUsS0FBSztJQUNmLE1BQU0sT0FBTztHQUNmLENBQUM7R0FDRCxLQUFLLFlBQVk7R0FDakIsS0FBSyxjQUFjO0VBQ3JCOztFQUdBLElBQUksU0FBaUI7R0FDbkIsT0FBTyxLQUFLO0VBQ2Q7O0VBR0EsTUFBTSxNQUF1QjtHQUMzQixPQUFPLFdBQVcsS0FBSyxDQUFDLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sS0FBSztFQUNoRTs7Ozs7OztFQVFBLE1BQU0sV0FBVyxVQUFxQixLQUE4QjtHQUVsRSxNQUFNLEVBQUUsV0FBVyxNQUFNLE9BQU87R0FDaEMsTUFBTSxPQUFPLE9BQU8sUUFBUSxJQUFJLFFBQVE7R0FFeEMsTUFBTSxLQUFLLElBQUksS0FBSyxJQUFJLFdBQVcsS0FBSyxXQUFXLEdBQUcsRUFDcEQsYUFBYSxLQUFLLFNBQ3BCLENBQUM7R0FFRCxLQUFLLFVBQVUsTUFBTSxLQUFLLE9BQU8sR0FBRztHQUNwQyxLQUFLLGdCQUFnQixNQUFNLEtBQUssYUFBYSxHQUFHO0dBR2hELE9BQU8sS0FBSztFQUNkOztFQUdBLElBQUksTUFBcUI7R0FDdkIsT0FBTyxLQUFLO0VBQ2Q7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAU;gBAEvB,OAAO,EAAE,eAAe;IAUpC;;;;;OAKG;IACY,SAAS,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAU;gBAEvB,OAAO,EAAE,eAAe;IAUpC;;;;;OAKG;IACY,SAAS,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
|
|
@@ -50,4 +50,4 @@ var SonamuS3Driver = class extends S3Driver {
|
|
|
50
50
|
//#endregion
|
|
51
51
|
export { SonamuS3Driver };
|
|
52
52
|
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3MzLWRyaXZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuXG5pbXBvcnQgeyBTM0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IHR5cGUgT2JqZWN0Q2FubmVkQUNMIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1zdG9yYWdlXCI7XG5pbXBvcnQgeyB0eXBlIE9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IFMzRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuLyoqXG4gKiBTb25hbXXsmqkgUzMg65Oc65287J2067KEXG4gKlxuICogZmx5ZHJpdmXsnZggUzNEcml2ZXLrpbwg7ZmV7J6l7ZWY7JesIHB1dFN0cmVhbeyXkOyEnFxuICogQGF3cy1zZGsvbGliLXN0b3JhZ2XsnZggVXBsb2FkIO2BtOuemOyKpOulvCDsgqzsmqntlanri4jri6QuXG4gKiDsnbTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLDrpbwg66qo66W064qUIOyDge2DnOyXkOyEnOuPhCDsl4XroZzrk5zqsIAg6rCA64ql7ZWp64uI64ukLlxuICpcbiAqIOq4sOyhtCBTM0RyaXZlci5wdXRTdHJlYW3snYAgUHV0T2JqZWN0Q29tbWFuZOulvCDsgqzsmqntlZjsl6wgQ29udGVudC1MZW5ndGjqsIAg7ZWE7JqU7ZaI7KeA66eMLFxuICogVXBsb2FkIO2BtOuemOyKpOuKlCBtdWx0aXBhcnQgdXBsb2Fk66W8IO2Gte2VtCDsiqTtirjrprwg7YGs6riwIOyXhuydtOuPhCDsl4XroZzrk5ztlaAg7IiYIOyeiOyKteuLiOuLpC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbmFtdVMzRHJpdmVyIGV4dGVuZHMgUzNEcml2ZXIge1xuICBwcml2YXRlIHNvbmFtdUNsaWVudDogUzNDbGllbnQ7XG4gIHByaXZhdGUgc29uYW11QnVja2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgc29uYW11VmlzaWJpbGl0eTogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICBwcml2YXRlIHNvbmFtdVN1cHBvcnRzQUNMOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzRHJpdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgLy8gUzNDbGllbnQg7J247Iqk7YS07IqkIOyggOyepSAoVXBsb2FkIO2BtOuemOyKpOyXkOyEnCDsgqzsmqkpXG4gICAgdGhpcy5zb25hbXVDbGllbnQgPSBcImNsaWVudFwiIGluIG9wdGlvbnMgPyBvcHRpb25zLmNsaWVudCA6IG5ldyBTM0NsaWVudChvcHRpb25zKTtcbiAgICB0aGlzLnNvbmFtdUJ1Y2tldCA9IG9wdGlvbnMuYnVja2V0O1xuICAgIHRoaXMuc29uYW11VmlzaWJpbGl0eSA9IG9wdGlvbnMudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIjtcbiAgICB0aGlzLnNvbmFtdVN1cHBvcnRzQUNMID0gb3B0aW9ucy5zdXBwb3J0c0FDTCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDsiqTtirjrprzsnYQgUzPsl5Ag7JeF66Gc65Oc7ZWp64uI64ukLlxuICAgKlxuICAgKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VmOyXrFxuICAgKiBtdWx0aXBhcnQgdXBsb2Fk66GcIOyymOumrO2VqeuLiOuLpC5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHB1dFN0cmVhbShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBjb250ZW50czogUmVhZGFibGUsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgICAgdmlzaWJpbGl0eT86IFwicHVibGljXCIgfCBcInByaXZhdGVcIjtcbiAgICAgIGNhY2hlQ29udHJvbD86IHN0cmluZztcbiAgICAgIGNvbnRlbnREaXNwb3NpdGlvbj86IHN0cmluZztcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gb3B0aW9ucz8udmlzaWJpbGl0eSA/
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3MzLWRyaXZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuXG5pbXBvcnQgeyBTM0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IHR5cGUgT2JqZWN0Q2FubmVkQUNMIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1zdG9yYWdlXCI7XG5pbXBvcnQgeyB0eXBlIE9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IFMzRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuLyoqXG4gKiBTb25hbXXsmqkgUzMg65Oc65287J2067KEXG4gKlxuICogZmx5ZHJpdmXsnZggUzNEcml2ZXLrpbwg7ZmV7J6l7ZWY7JesIHB1dFN0cmVhbeyXkOyEnFxuICogQGF3cy1zZGsvbGliLXN0b3JhZ2XsnZggVXBsb2FkIO2BtOuemOyKpOulvCDsgqzsmqntlanri4jri6QuXG4gKiDsnbTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLDrpbwg66qo66W064qUIOyDge2DnOyXkOyEnOuPhCDsl4XroZzrk5zqsIAg6rCA64ql7ZWp64uI64ukLlxuICpcbiAqIOq4sOyhtCBTM0RyaXZlci5wdXRTdHJlYW3snYAgUHV0T2JqZWN0Q29tbWFuZOulvCDsgqzsmqntlZjsl6wgQ29udGVudC1MZW5ndGjqsIAg7ZWE7JqU7ZaI7KeA66eMLFxuICogVXBsb2FkIO2BtOuemOyKpOuKlCBtdWx0aXBhcnQgdXBsb2Fk66W8IO2Gte2VtCDsiqTtirjrprwg7YGs6riwIOyXhuydtOuPhCDsl4XroZzrk5ztlaAg7IiYIOyeiOyKteuLiOuLpC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbmFtdVMzRHJpdmVyIGV4dGVuZHMgUzNEcml2ZXIge1xuICBwcml2YXRlIHNvbmFtdUNsaWVudDogUzNDbGllbnQ7XG4gIHByaXZhdGUgc29uYW11QnVja2V0OiBzdHJpbmc7XG4gIHByaXZhdGUgc29uYW11VmlzaWJpbGl0eTogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICBwcml2YXRlIHNvbmFtdVN1cHBvcnRzQUNMOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzRHJpdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgLy8gUzNDbGllbnQg7J247Iqk7YS07IqkIOyggOyepSAoVXBsb2FkIO2BtOuemOyKpOyXkOyEnCDsgqzsmqkpXG4gICAgdGhpcy5zb25hbXVDbGllbnQgPSBcImNsaWVudFwiIGluIG9wdGlvbnMgPyBvcHRpb25zLmNsaWVudCA6IG5ldyBTM0NsaWVudChvcHRpb25zKTtcbiAgICB0aGlzLnNvbmFtdUJ1Y2tldCA9IG9wdGlvbnMuYnVja2V0O1xuICAgIHRoaXMuc29uYW11VmlzaWJpbGl0eSA9IG9wdGlvbnMudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIjtcbiAgICB0aGlzLnNvbmFtdVN1cHBvcnRzQUNMID0gb3B0aW9ucy5zdXBwb3J0c0FDTCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDsiqTtirjrprzsnYQgUzPsl5Ag7JeF66Gc65Oc7ZWp64uI64ukLlxuICAgKlxuICAgKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VmOyXrFxuICAgKiBtdWx0aXBhcnQgdXBsb2Fk66GcIOyymOumrO2VqeuLiOuLpC5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHB1dFN0cmVhbShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBjb250ZW50czogUmVhZGFibGUsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgICAgdmlzaWJpbGl0eT86IFwicHVibGljXCIgfCBcInByaXZhdGVcIjtcbiAgICAgIGNhY2hlQ29udHJvbD86IHN0cmluZztcbiAgICAgIGNvbnRlbnREaXNwb3NpdGlvbj86IHN0cmluZztcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2aXNpYmlsaXR5ID0gb3B0aW9ucz8udmlzaWJpbGl0eSA/PyB0aGlzLnNvbmFtdVZpc2liaWxpdHk7XG5cbiAgICBjb25zdCB1cGxvYWRQYXJhbXM6IE9wdGlvbnNbXCJwYXJhbXNcIl0gPSB7XG4gICAgICBCdWNrZXQ6IHRoaXMuc29uYW11QnVja2V0LFxuICAgICAgS2V5OiBrZXksXG4gICAgICBCb2R5OiBjb250ZW50cyxcbiAgICAgIENvbnRlbnRUeXBlOiBvcHRpb25zPy5jb250ZW50VHlwZSxcbiAgICAgIENhY2hlQ29udHJvbDogb3B0aW9ucz8uY2FjaGVDb250cm9sLFxuICAgICAgQ29udGVudERpc3Bvc2l0aW9uOiBvcHRpb25zPy5jb250ZW50RGlzcG9zaXRpb24sXG4gICAgfTtcblxuICAgIC8vIEFDTCDsp4Dsm5Ag7Iuc7JeQ66eMIOyEpOyglVxuICAgIGlmICh0aGlzLnNvbmFtdVN1cHBvcnRzQUNMKSB7XG4gICAgICB1cGxvYWRQYXJhbXMuQUNMID1cbiAgICAgICAgLyogU0FGRVRZOiDtmLjstpwg6rK96rOE7J2YIOyEoO2WiSDqsoDspp3qs7wg7IaM7JygIO2DgOyehSDqs4Tslb3snbQg7J20IOqwkuydmCDtg4DsnoXsnYQg67O07J6l7ZWc64ukLiAqLyAoXG4gICAgICAgICAgdmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIiA/IFwicHVibGljLXJlYWRcIiA6IFwicHJpdmF0ZVwiXG4gICAgICAgICkgYXMgT2JqZWN0Q2FubmVkQUNMO1xuICAgIH1cblxuICAgIGNvbnN0IHVwbG9hZCA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiB0aGlzLnNvbmFtdUNsaWVudCxcbiAgICAgIHBhcmFtczogdXBsb2FkUGFyYW1zLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLGlCQUFiLGNBQW9DLFNBQVM7Q0FDM0M7Q0FDQTtDQUNBO0NBQ0E7Q0FFQSxZQUFZLFNBQTBCO0VBQ3BDLE1BQU0sT0FBTztFQUdiLEtBQUssZUFBZSxZQUFZLFVBQVUsUUFBUSxTQUFTLElBQUksU0FBUyxPQUFPO0VBQy9FLEtBQUssZUFBZSxRQUFRO0VBQzVCLEtBQUssbUJBQW1CLFFBQVEsY0FBYztFQUM5QyxLQUFLLG9CQUFvQixRQUFRLGVBQWU7Q0FDbEQ7Ozs7Ozs7Q0FRQSxNQUFlLFVBQ2IsS0FDQSxVQUNBLFNBTWU7RUFDZixNQUFNLGFBQWEsU0FBUyxjQUFjLEtBQUs7RUFFL0MsTUFBTSxlQUFrQztHQUN0QyxRQUFRLEtBQUs7R0FDYixLQUFLO0dBQ0wsTUFBTTtHQUNOLGFBQWEsU0FBUztHQUN0QixjQUFjLFNBQVM7R0FDdkIsb0JBQW9CLFNBQVM7RUFDL0I7RUFHQSxJQUFJLEtBQUssbUJBQ1AsYUFBYSxNQUVULGVBQWUsV0FBVyxnQkFBZ0I7RUFTaEQsTUFBTSxJQUxhLE9BQU87R0FDeEIsUUFBUSxLQUFLO0dBQ2IsUUFBUTtFQUNWLENBRU0sQ0FBQSxDQUFPLEtBQUs7Q0FDcEI7QUFDRiJ9
|
|
@@ -5,8 +5,8 @@ import { type DriverKey } from "./drivers";
|
|
|
5
5
|
* 이미 저장소에 스트리밍 완료된 상태로, url/key 등 메타데이터만 접근 가능합니다.
|
|
6
6
|
*/
|
|
7
7
|
export declare class UploadedFile extends BaseFile {
|
|
8
|
-
private
|
|
9
|
-
private
|
|
8
|
+
private keyValue;
|
|
9
|
+
private diskNameValue;
|
|
10
10
|
constructor(params: {
|
|
11
11
|
filename: string;
|
|
12
12
|
mimetype: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAY;gBAErB,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,SAAS,CAAC;KACrB;IAYD,cAAc;IACd,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,iBAAiB;IACjB,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAOlC"}
|
|
@@ -5,8 +5,8 @@ var UploadedFile;
|
|
|
5
5
|
var init_uploaded_file = __esmMin((() => {
|
|
6
6
|
init_base_file();
|
|
7
7
|
UploadedFile = class extends BaseFile {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
keyValue;
|
|
9
|
+
diskNameValue;
|
|
10
10
|
constructor(params) {
|
|
11
11
|
super({
|
|
12
12
|
filename: params.filename,
|
|
@@ -15,16 +15,16 @@ var init_uploaded_file = __esmMin((() => {
|
|
|
15
15
|
url: params.url,
|
|
16
16
|
signedUrl: params.signedUrl
|
|
17
17
|
});
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
18
|
+
this.keyValue = params.key;
|
|
19
|
+
this.diskNameValue = params.diskName;
|
|
20
20
|
}
|
|
21
21
|
/** 저장소 내 키 */
|
|
22
22
|
get key() {
|
|
23
|
-
return this.
|
|
23
|
+
return this.keyValue;
|
|
24
24
|
}
|
|
25
25
|
/** 저장된 디스크 이름 */
|
|
26
26
|
get diskName() {
|
|
27
|
-
return this.
|
|
27
|
+
return this.diskNameValue;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* 저장소에서 파일을 다운로드합니다.
|
|
@@ -32,7 +32,7 @@ var init_uploaded_file = __esmMin((() => {
|
|
|
32
32
|
*/
|
|
33
33
|
async download() {
|
|
34
34
|
const { Sonamu } = await import("../api/sonamu.js");
|
|
35
|
-
const uint8Array = await Sonamu.storage.use(this.
|
|
35
|
+
const uint8Array = await Sonamu.storage.use(this.diskNameValue).get(this.keyValue);
|
|
36
36
|
return Buffer.from(uint8Array);
|
|
37
37
|
}
|
|
38
38
|
};
|
|
@@ -41,4 +41,4 @@ var init_uploaded_file = __esmMin((() => {
|
|
|
41
41
|
init_uploaded_file();
|
|
42
42
|
export { UploadedFile, init_uploaded_file };
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS91cGxvYWRlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgeyB0eXBlIERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBTdHJlYW0g66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOydtOuvuCDsoIDsnqXshozsl5Ag7Iqk7Yq466as67CNIOyZhOujjOuQnCDsg4Htg5zroZwsIHVybC9rZXkg65OxIOuplO2DgOuNsOydtO2EsOunjCDsoJHqt7wg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIGtleVZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgZGlza05hbWVWYWx1ZTogRHJpdmVyS2V5O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczoge1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBzaXplOiBudW1iZXI7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgc2lnbmVkVXJsOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZGlza05hbWU6IERyaXZlcktleTtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpbGVuYW1lOiBwYXJhbXMuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogcGFyYW1zLm1pbWV0eXBlLFxuICAgICAgc2l6ZTogcGFyYW1zLnNpemUsXG4gICAgICB1cmw6IHBhcmFtcy51cmwsXG4gICAgICBzaWduZWRVcmw6IHBhcmFtcy5zaWduZWRVcmwsXG4gICAgfSk7XG4gICAgdGhpcy5rZXlWYWx1ZSA9IHBhcmFtcy5rZXk7XG4gICAgdGhpcy5kaXNrTmFtZVZhbHVlID0gcGFyYW1zLmRpc2tOYW1lO1xuICB9XG5cbiAgLyoqIOyggOyepeyGjCDrgrQg7YKkICovXG4gIGdldCBrZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rZXlWYWx1ZTtcbiAgfVxuXG4gIC8qKiDsoIDsnqXrkJwg65SU7Iqk7YGsIOydtOumhCAqL1xuICBnZXQgZGlza05hbWUoKTogRHJpdmVyS2V5IHtcbiAgICByZXR1cm4gdGhpcy5kaXNrTmFtZVZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIOyggOyepeyGjOyXkOyEnCDtjIzsnbzsnYQg64uk7Jq066Gc65Oc7ZWp64uI64ukLlxuICAgKiDsiqTtirjrprwg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbzsnYQg64KY7KSR7JeQIOyymOumrO2VtOyVvCDtlaAg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRvd25sb2FkKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZSh0aGlzLmRpc2tOYW1lVmFsdWUpO1xuXG4gICAgY29uc3QgdWludDhBcnJheSA9IGF3YWl0IGRpc2suZ2V0KHRoaXMua2V5VmFsdWUpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh1aW50OEFycmF5KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztnQkFBc0M7Q0FPekIsZUFBYixjQUFrQyxTQUFTO0VBQ3pDO0VBQ0E7RUFFQSxZQUFZLFFBUVQ7R0FDRCxNQUFNO0lBQ0osVUFBVSxPQUFPO0lBQ2pCLFVBQVUsT0FBTztJQUNqQixNQUFNLE9BQU87SUFDYixLQUFLLE9BQU87SUFDWixXQUFXLE9BQU87R0FDcEIsQ0FBQztHQUNELEtBQUssV0FBVyxPQUFPO0dBQ3ZCLEtBQUssZ0JBQWdCLE9BQU87RUFDOUI7O0VBR0EsSUFBSSxNQUFjO0dBQ2hCLE9BQU8sS0FBSztFQUNkOztFQUdBLElBQUksV0FBc0I7R0FDeEIsT0FBTyxLQUFLO0VBQ2Q7Ozs7O0VBTUEsTUFBTSxXQUE0QjtHQUNoQyxNQUFNLEVBQUUsV0FBVyxNQUFNLE9BQU87R0FHaEMsTUFBTSxhQUFhLE1BRk4sT0FBTyxRQUFRLElBQUksS0FBSyxhQUVaLENBQUEsQ0FBSyxJQUFJLEtBQUssUUFBUTtHQUMvQyxPQUFPLE9BQU8sS0FBSyxVQUFVO0VBQy9CO0NBQ0YifQ==
|
package/dist/stream/sse.js
CHANGED
|
@@ -18,21 +18,21 @@ var init_sse = __esmMin((() => {
|
|
|
18
18
|
SSEConnectionImpl = class {
|
|
19
19
|
socket;
|
|
20
20
|
reply;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
closedState = false;
|
|
22
|
+
closeCallbacks = [];
|
|
23
23
|
markClosed = () => {
|
|
24
|
-
this.
|
|
24
|
+
this.closedState = true;
|
|
25
25
|
this.fireCloseCallbacks();
|
|
26
26
|
};
|
|
27
27
|
get closed() {
|
|
28
|
-
return this.
|
|
28
|
+
return this.closedState;
|
|
29
29
|
}
|
|
30
30
|
onClose(callback) {
|
|
31
|
-
this.
|
|
31
|
+
this.closeCallbacks.push(callback);
|
|
32
32
|
}
|
|
33
33
|
fireCloseCallbacks() {
|
|
34
|
-
const callbacks = this.
|
|
35
|
-
this.
|
|
34
|
+
const callbacks = this.closeCallbacks;
|
|
35
|
+
this.closeCallbacks = [];
|
|
36
36
|
for (const cb of callbacks) cb();
|
|
37
37
|
}
|
|
38
38
|
constructor(socket, reply) {
|
|
@@ -42,15 +42,15 @@ var init_sse = __esmMin((() => {
|
|
|
42
42
|
this.socket.on("error", this.markClosed);
|
|
43
43
|
}
|
|
44
44
|
publish(event, data) {
|
|
45
|
-
if (this.
|
|
45
|
+
if (this.closedState) return;
|
|
46
46
|
this.reply.sse({
|
|
47
47
|
event,
|
|
48
48
|
data: JSON.stringify(data)
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
async end() {
|
|
52
|
-
if (this.
|
|
53
|
-
this.
|
|
52
|
+
if (this.closedState) return;
|
|
53
|
+
this.closedState = true;
|
|
54
54
|
this.socket.off("close", this.markClosed);
|
|
55
55
|
this.socket.off("error", this.markClosed);
|
|
56
56
|
this.fireCloseCallbacks();
|
|
@@ -67,4 +67,4 @@ var init_sse = __esmMin((() => {
|
|
|
67
67
|
init_sse();
|
|
68
68
|
export { createMockSSEFactory, createSSEFactory, init_sse };
|
|
69
69
|
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0vc3NlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5LCB0eXBlIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB7IHR5cGUgeiB9IGZyb20gXCJ6b2RcIjtcblxuLy8gTk9URShIYXplLCAyNTExMDYpOiBjb250ZXh0IHByb3ZpZGVy7JeQ7IScIOyduOyekOulvCDssYTsm4zso7zrqbQgY3JlYXRlU1NFKGV2ZW50cynrp4zsnLzroZwg7IKs7JqpIOqwgOuKpVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihcbiAgc29ja2V0OiBGYXN0aWZ5UmVxdWVzdFtcInNvY2tldFwiXSxcbiAgcmVwbHk6IEZhc3RpZnlSZXBseSxcbiAgX2V2ZW50czogVCxcbik6IFNTRUNvbm5lY3Rpb248VD4ge1xuICByZXR1cm4gbmV3IFNTRUNvbm5lY3Rpb25JbXBsPFQ+KHNvY2tldCwgcmVwbHkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja1NTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihfZXZlbnRzOiBUKTogU1NFQ29ubmVjdGlvbjxUPiB7XG4gIHJldHVybiB7XG4gICAgZ2V0IGNsb3NlZCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIG9uQ2xvc2U6IChfY2FsbGJhY2spID0+IHt9LFxuICAgIHB1Ymxpc2g6IChfZXZlbnQsIF9kYXRhKSA9PiB7fSxcbiAgICBlbmQ6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNTRUNvbm5lY3Rpb248VCBleHRlbmRzIHouWm9kT2JqZWN0PiB7XG4gIGdldCBjbG9zZWQoKTogYm9vbGVhbjtcbiAgb25DbG9zZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQ7XG4gIHB1Ymxpc2g8SyBleHRlbmRzIGtleW9mIHouaW5mZXI8VD4+KGV2ZW50OiBLLCBkYXRhOiB6LmluZmVyPFQ+W0tdKTogdm9pZDtcbiAgZW5kKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmNsYXNzIFNTRUNvbm5lY3Rpb25JbXBsPFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4gaW1wbGVtZW50cyBTU0VDb25uZWN0aW9uPFQ+
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0vc3NlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmFzdGlmeVJlcGx5LCB0eXBlIEZhc3RpZnlSZXF1ZXN0IH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB7IHR5cGUgeiB9IGZyb20gXCJ6b2RcIjtcblxuLy8gTk9URShIYXplLCAyNTExMDYpOiBjb250ZXh0IHByb3ZpZGVy7JeQ7IScIOyduOyekOulvCDssYTsm4zso7zrqbQgY3JlYXRlU1NFKGV2ZW50cynrp4zsnLzroZwg7IKs7JqpIOqwgOuKpVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihcbiAgc29ja2V0OiBGYXN0aWZ5UmVxdWVzdFtcInNvY2tldFwiXSxcbiAgcmVwbHk6IEZhc3RpZnlSZXBseSxcbiAgX2V2ZW50czogVCxcbik6IFNTRUNvbm5lY3Rpb248VD4ge1xuICByZXR1cm4gbmV3IFNTRUNvbm5lY3Rpb25JbXBsPFQ+KHNvY2tldCwgcmVwbHkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja1NTRUZhY3Rvcnk8VCBleHRlbmRzIHouWm9kT2JqZWN0PihfZXZlbnRzOiBUKTogU1NFQ29ubmVjdGlvbjxUPiB7XG4gIHJldHVybiB7XG4gICAgZ2V0IGNsb3NlZCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIG9uQ2xvc2U6IChfY2FsbGJhY2spID0+IHt9LFxuICAgIHB1Ymxpc2g6IChfZXZlbnQsIF9kYXRhKSA9PiB7fSxcbiAgICBlbmQ6ICgpID0+IFByb21pc2UucmVzb2x2ZSgpLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNTRUNvbm5lY3Rpb248VCBleHRlbmRzIHouWm9kT2JqZWN0PiB7XG4gIGdldCBjbG9zZWQoKTogYm9vbGVhbjtcbiAgb25DbG9zZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQ7XG4gIHB1Ymxpc2g8SyBleHRlbmRzIGtleW9mIHouaW5mZXI8VD4+KGV2ZW50OiBLLCBkYXRhOiB6LmluZmVyPFQ+W0tdKTogdm9pZDtcbiAgZW5kKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmNsYXNzIFNTRUNvbm5lY3Rpb25JbXBsPFQgZXh0ZW5kcyB6LlpvZE9iamVjdD4gaW1wbGVtZW50cyBTU0VDb25uZWN0aW9uPFQ+IHtcbiAgcHJpdmF0ZSBjbG9zZWRTdGF0ZSA9IGZhbHNlO1xuICBwcml2YXRlIGNsb3NlQ2FsbGJhY2tzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya0Nsb3NlZCA9ICgpID0+IHtcbiAgICB0aGlzLmNsb3NlZFN0YXRlID0gdHJ1ZTtcbiAgICB0aGlzLmZpcmVDbG9zZUNhbGxiYWNrcygpO1xuICB9O1xuXG4gIGdldCBjbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VkU3RhdGU7XG4gIH1cblxuICBvbkNsb3NlKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIOy9nOuwseydhCDtlZwg67KI66eMIOyLpO2Wie2VmOqzoCDrsLDsl7TsnYQg67mE7JuMIOykkeuztSDtmLjstpzsnYQg67Cp7KeAXG4gIHByaXZhdGUgZmlyZUNsb3NlQ2FsbGJhY2tzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuY2xvc2VDYWxsYmFja3M7XG4gICAgdGhpcy5jbG9zZUNhbGxiYWNrcyA9IFtdO1xuICAgIGZvciAoY29uc3QgY2Igb2YgY2FsbGJhY2tzKSB7XG4gICAgICBjYigpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ja2V0OiBGYXN0aWZ5UmVxdWVzdFtcInNvY2tldFwiXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcGx5OiBGYXN0aWZ5UmVwbHksXG4gICkge1xuICAgIHRoaXMuc29ja2V0Lm9uKFwiY2xvc2VcIiwgdGhpcy5tYXJrQ2xvc2VkKTtcbiAgICB0aGlzLnNvY2tldC5vbihcImVycm9yXCIsIHRoaXMubWFya0Nsb3NlZCk7XG4gIH1cblxuICBwdWJsaXNoPEsgZXh0ZW5kcyBrZXlvZiB6LmluZmVyPFQ+PihldmVudDogSywgZGF0YTogei5pbmZlcjxUPltLXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlZFN0YXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXBseS5zc2Uoe1xuICAgICAgZXZlbnQ6XG4gICAgICAgIC8qIFNBRkVUWTog65Ox66Gd65CcIFdlYlNvY2tldCDsnbTrsqTtirgg7Iqk7YKk66eI6rCAIOydtCDqsJLsnZgg7YOA7J6F7J2EIOuztOyepe2VnOuLpC4gKi8gZXZlbnQgYXMgc3RyaW5nLFxuICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBlbmQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY2xvc2VkU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsb3NlZFN0YXRlID0gdHJ1ZTtcbiAgICB0aGlzLnNvY2tldC5vZmYoXCJjbG9zZVwiLCB0aGlzLm1hcmtDbG9zZWQpO1xuICAgIHRoaXMuc29ja2V0Lm9mZihcImVycm9yXCIsIHRoaXMubWFya0Nsb3NlZCk7XG4gICAgdGhpcy5maXJlQ2xvc2VDYWxsYmFja3MoKTtcblxuICAgIHRoaXMucmVwbHkuc3NlKHtcbiAgICAgIGV2ZW50OiBcImVuZFwiLFxuICAgICAgZGF0YTogXCJFTkRcIixcbiAgICB9KTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDIwMCkpO1xuICAgIHRoaXMucmVwbHkucmF3LmVuZCgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBSUEsU0FBZ0IsaUJBQ2QsUUFDQSxPQUNBLFNBQ2tCO0NBQ2xCLE9BQU8sSUFBSSxrQkFBcUIsUUFBUSxLQUFLO0FBQy9DO0FBRUEsU0FBZ0IscUJBQTRDLFNBQThCO0NBQ3hGLE9BQU87RUFDTCxJQUFJLFNBQVM7R0FDWCxPQUFPO0VBQ1Q7RUFDQSxVQUFVLGNBQWMsQ0FBQztFQUN6QixVQUFVLFFBQVEsVUFBVSxDQUFDO0VBQzdCLFdBQVcsUUFBUSxRQUFRO0NBQzdCO0FBQ0Y7OztDQVNNLG9CQUFOLE1BQTJFO0VBMkJ0RDtFQUNBO0VBM0JuQixjQUFzQjtFQUN0QixpQkFBNEMsQ0FBQztFQUU3QyxtQkFBb0M7R0FDbEMsS0FBSyxjQUFjO0dBQ25CLEtBQUssbUJBQW1CO0VBQzFCO0VBRUEsSUFBSSxTQUFrQjtHQUNwQixPQUFPLEtBQUs7RUFDZDtFQUVBLFFBQVEsVUFBNEI7R0FDbEMsS0FBSyxlQUFlLEtBQUssUUFBUTtFQUNuQztFQUdBLHFCQUFtQztHQUNqQyxNQUFNLFlBQVksS0FBSztHQUN2QixLQUFLLGlCQUFpQixDQUFDO0dBQ3ZCLEtBQUssTUFBTSxNQUFNLFdBQ2YsR0FBRztFQUVQO0VBRUEsWUFDRSxRQUNBLE9BQ0E7R0FGaUIsS0FBQSxTQUFBO0dBQ0EsS0FBQSxRQUFBO0dBRWpCLEtBQUssT0FBTyxHQUFHLFNBQVMsS0FBSyxVQUFVO0dBQ3ZDLEtBQUssT0FBTyxHQUFHLFNBQVMsS0FBSyxVQUFVO0VBQ3pDO0VBRUEsUUFBb0MsT0FBVSxNQUEyQjtHQUN2RSxJQUFJLEtBQUssYUFDUDtHQUdGLEtBQUssTUFBTSxJQUFJO0lBRXlDO0lBQ3RELE1BQU0sS0FBSyxVQUFVLElBQUk7R0FDM0IsQ0FBQztFQUNIO0VBRUEsTUFBTSxNQUFxQjtHQUN6QixJQUFJLEtBQUssYUFDUDtHQUdGLEtBQUssY0FBYztHQUNuQixLQUFLLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVTtHQUN4QyxLQUFLLE9BQU8sSUFBSSxTQUFTLEtBQUssVUFBVTtHQUN4QyxLQUFLLG1CQUFtQjtHQUV4QixLQUFLLE1BQU0sSUFBSTtJQUNiLE9BQU87SUFDUCxNQUFNO0dBQ1IsQ0FBQztHQUVELE1BQU0sSUFBSSxTQUFTLFlBQVksV0FBVyxTQUFTLEdBQUcsQ0FBQztHQUN2RCxLQUFLLE1BQU0sSUFBSSxJQUFJO0VBQ3JCO0NBQ0YifQ==
|
package/dist/stream/ws-core.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface ManagedWebSocketConnection {
|
|
|
5
5
|
namespace: string;
|
|
6
6
|
closed: boolean;
|
|
7
7
|
readonly userId?: string;
|
|
8
|
-
publishUntyped(event: string, data:
|
|
8
|
+
publishUntyped<Data>(event: string, data: Data): void;
|
|
9
9
|
close(code?: number, reason?: string): void;
|
|
10
10
|
}
|
|
11
11
|
export type WebSocketRegistryStats = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-core.d.ts","sourceRoot":"","sources":["../../src/stream/ws-core.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAEhB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ws-core.d.ts","sourceRoot":"","sources":["../../src/stream/ws-core.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAEhB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare class WebSocketDeliveryEngine {
|
|
|
17
17
|
clusterBus: WebSocketClusterBus;
|
|
18
18
|
telemetryController?: WebSocketTelemetryController;
|
|
19
19
|
});
|
|
20
|
-
publishToAudience(audience: WebSocketAudience, event: string, data:
|
|
20
|
+
publishToAudience<Data>(audience: WebSocketAudience, event: string, data: Data): void;
|
|
21
21
|
shutdown(): Promise<void>;
|
|
22
22
|
getTelemetrySnapshot(): {
|
|
23
23
|
pendingFanOutJobs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-delivery.d.ts","sourceRoot":"","sources":["../../src/stream/ws-delivery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws-delivery.d.ts","sourceRoot":"","sources":["../../src/stream/ws-delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,KAAK,mBAAmB,EAAiC,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,gBAAgB,CAAC;AAKxB,qBAAa,uBAAuB;IAahC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAK1B;IACR,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAa;gBAGjC,OAAO,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,6BAA6B,CAAC;QAChD,gBAAgB,EAAE,yBAAyB,CAAC;QAC5C,UAAU,EAAE,mBAAmB,CAAC;QAChC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;KACpD;IAWH,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IA0E/E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,oBAAoB;;;;IAapB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,WAAW;CAqBpB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { init_runtime_type, runtimeTypeOf } from "../runtime-type.js";
|
|
2
3
|
import { NoopWebSocketTelemetryController, init_ws_telemetry } from "./ws-telemetry.js";
|
|
3
4
|
import { randomUUID } from "node:crypto";
|
|
4
5
|
//#region src/stream/ws-delivery.ts
|
|
5
6
|
var FAN_OUT_BATCH_SIZE, WebSocketDeliveryEngine;
|
|
6
7
|
var init_ws_delivery = __esmMin((() => {
|
|
8
|
+
init_runtime_type();
|
|
7
9
|
init_ws_telemetry();
|
|
8
10
|
FAN_OUT_BATCH_SIZE = 250;
|
|
9
11
|
WebSocketDeliveryEngine = class {
|
|
@@ -71,7 +73,7 @@ var init_ws_delivery = __esmMin((() => {
|
|
|
71
73
|
targetNodeCount: routingPlan.remoteNodeIds.length
|
|
72
74
|
}
|
|
73
75
|
});
|
|
74
|
-
}).catch((
|
|
76
|
+
}).catch((cause) => {
|
|
75
77
|
const durationMs = performance.now() - publishStartedAt;
|
|
76
78
|
this.telemetry.emit({
|
|
77
79
|
name: "ws.cluster.envelope.failed",
|
|
@@ -84,7 +86,7 @@ var init_ws_delivery = __esmMin((() => {
|
|
|
84
86
|
durationMs,
|
|
85
87
|
status: "error",
|
|
86
88
|
attributes: { event },
|
|
87
|
-
errorType:
|
|
89
|
+
errorType: cause instanceof Error ? cause.name : runtimeTypeOf(cause)
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
92
|
}
|
|
@@ -191,7 +193,7 @@ var init_ws_delivery = __esmMin((() => {
|
|
|
191
193
|
}
|
|
192
194
|
} catch (error) {
|
|
193
195
|
status = "error";
|
|
194
|
-
errorType = error instanceof Error ? error.name :
|
|
196
|
+
errorType = error instanceof Error ? error.name : runtimeTypeOf(error);
|
|
195
197
|
throw error;
|
|
196
198
|
} finally {
|
|
197
199
|
const durationMs = performance.now() - startedAt;
|
|
@@ -232,4 +234,4 @@ var init_ws_delivery = __esmMin((() => {
|
|
|
232
234
|
init_ws_delivery();
|
|
233
235
|
export { WebSocketDeliveryEngine, init_ws_delivery };
|
|
234
236
|
|
|
235
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZGVsaXZlcnkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1kZWxpdmVyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0QXVkaWVuY2UgfSBmcm9tIFwiLi93cy1hdWRpZW5jZVwiO1xuaW1wb3J0IHsgdHlwZSBXZWJTb2NrZXRBdWRpZW5jZVJlc29sdmVyIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2UtcmVzb2x2ZXJcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0Q2x1c3RlckJ1cywgdHlwZSBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGUgfSBmcm9tIFwiLi93cy1jbHVzdGVyLWJ1c1wiO1xuaW1wb3J0IHsgdHlwZSBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbiB9IGZyb20gXCIuL3dzLWNvcmVcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0TG9jYWxDb25uZWN0aW9uU3RvcmUgfSBmcm9tIFwiLi93cy1sb2NhbC1jb25uZWN0aW9uLXN0b3JlXCI7XG5pbXBvcnQge1xuICBOb29wV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcixcbiAgdHlwZSBXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyLFxufSBmcm9tIFwiLi93cy10ZWxlbWV0cnlcIjtcblxuLy8gZmFuLW91dOydhCBldmVudCBsb29wIHRpY2sg64uo7JyE66GcIOuCmOuIoCDtlZwg67KI7JeQIOq4tCDrj5nquLAg66Oo7ZSE66W8IOunjOuTpOyngCDslYrqsowg7ZWoXG5jb25zdCBGQU5fT1VUX0JBVENIX1NJWkUgPSAyNTA7XG5cbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXREZWxpdmVyeUVuZ2luZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVuZGluZ0Zhbk91dEpvYnM6IEFycmF5PHtcbiAgICB0YXJnZXRzOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbltdO1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgZGF0YTogdW5rbm93bjtcbiAgICBjdXJzb3I6IG51bWJlcjtcbiAgfT4gPSBbXTtcbiAgcHJpdmF0ZSBmYW5PdXRGbHVzaFNjaGVkdWxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlYWRvbmx5IHRlbGVtZXRyeTogV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1bnJlZ2lzdGVyTWV0cmljU291cmNlOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczoge1xuICAgICAgbm9kZUlkOiBzdHJpbmc7XG4gICAgICBsb2NhbENvbm5lY3Rpb25zOiBXZWJTb2NrZXRMb2NhbENvbm5lY3Rpb25TdG9yZTtcbiAgICAgIGF1ZGllbmNlUmVzb2x2ZXI6IFdlYlNvY2tldEF1ZGllbmNlUmVzb2x2ZXI7XG4gICAgICBjbHVzdGVyQnVzOiBXZWJTb2NrZXRDbHVzdGVyQnVzO1xuICAgICAgdGVsZW1ldHJ5Q29udHJvbGxlcj86IFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXI7XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy50ZWxlbWV0cnkgPSB0aGlzLm9wdGlvbnMudGVsZW1ldHJ5Q29udHJvbGxlciA/PyBuZXcgTm9vcFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXIoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlID0gdGhpcy5vcHRpb25zLmNsdXN0ZXJCdXMuc3Vic2NyaWJlKChlbnZlbG9wZSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVDbHVzdGVyRW52ZWxvcGUoZW52ZWxvcGUpO1xuICAgIH0pO1xuICAgIHRoaXMudW5yZWdpc3Rlck1ldHJpY1NvdXJjZSA9IHRoaXMudGVsZW1ldHJ5LnJlZ2lzdGVyTWV0cmljU291cmNlKHtcbiAgICAgIGNvbGxlY3Q6ICgpID0+IHRoaXMuZ2V0VGVsZW1ldHJ5U25hcHNob3QoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1Ymxpc2hUb0F1ZGllbmNlKGF1ZGllbmNlOiBXZWJTb2NrZXRBdWRpZW5jZSwgZXZlbnQ6IHN0cmluZywgZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRpbmdQbGFuID0gdGhpcy5vcHRpb25zLmF1ZGllbmNlUmVzb2x2ZXIucmVzb2x2ZShhdWRpZW5jZSk7XG4gICAgY29uc3QgbG9jYWxUYXJnZXRzID0gdGhpcy5vcHRpb25zLmxvY2FsQ29ubmVjdGlvbnMuZ2V0Q29ubmVjdGlvbnMocm91dGluZ1BsYW4ubG9jYWxTZXNzaW9uSWRzKTtcblxuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5mYW5vdXQucmVzb2x2ZWRcIixcbiAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgbG9jYWxUYXJnZXRDb3VudDogbG9jYWxUYXJnZXRzLmxlbmd0aCxcbiAgICAgICAgcmVtb3RlTm9kZUNvdW50OiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkTWV0cmljKHtcbiAgICAgIG5hbWU6IFwic29uYW11LndzLmZhbm91dC50YXJnZXRzXCIsXG4gICAgICBraW5kOiBcImhpc3RvZ3JhbVwiLFxuICAgICAgdmFsdWU6IGxvY2FsVGFyZ2V0cy5sZW5ndGggKyByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgIHVuaXQ6IFwiMVwiLFxuICAgICAgdGFnczogeyBhdWRpZW5jZV90eXBlOiBhdWRpZW5jZS50eXBlIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmVucXVldWVGYW5PdXQobG9jYWxUYXJnZXRzLCBldmVudCwgZGF0YSk7XG5cbiAgICBpZiAocm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnZlbG9wZTogV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlID0ge1xuICAgICAgaWQ6IHJhbmRvbVVVSUQoKSxcbiAgICAgIHNvdXJjZU5vZGVJZDogdGhpcy5vcHRpb25zLm5vZGVJZCxcbiAgICAgIHRhcmdldE5vZGVJZHM6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMsXG4gICAgICBhdWRpZW5jZSxcbiAgICAgIGV2ZW50LFxuICAgICAgZGF0YSxcbiAgICAgIGVtaXR0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICB9O1xuXG4gICAgY29uc3QgcHVibGlzaFN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIFByb21pc2UucmVzb2x2ZSh0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5wdWJsaXNoKGVudmVsb3BlKSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gcHVibGlzaFN0YXJ0ZWRBdDtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLnB1Ymxpc2hlZFwiLFxuICAgICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgICAgZGV0YWlsOiB7IGV2ZW50LCB0YXJnZXROb2RlQ291bnQ6IHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoIH0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmNsdXN0ZXIucHVibGlzaFwiLFxuICAgICAgICAgIGtpbmQ6IFwicHJvZHVjZXJcIixcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN0YXR1czogXCJ1bnNldFwiLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgdGFyZ2V0Tm9kZUNvdW50OiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHB1Ymxpc2hTdGFydGVkQXQ7XG4gICAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5mYWlsZWRcIixcbiAgICAgICAgICBsZXZlbDogXCJlcnJvclwiLFxuICAgICAgICAgIGRldGFpbDogeyBldmVudCB9LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICAgICAgb3BlcmF0aW9uTmFtZTogXCJ3cy5jbHVzdGVyLnB1Ymxpc2hcIixcbiAgICAgICAgICBraW5kOiBcInByb2R1Y2VyXCIsXG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7IGV2ZW50IH0sXG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubmFtZSA6IHR5cGVvZiBlcnJvcixcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNodXRkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMudW5yZWdpc3Rlck1ldHJpY1NvdXJjZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICBhd2FpdCB0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5zaHV0ZG93bigpO1xuICB9XG5cbiAgZ2V0VGVsZW1ldHJ5U25hcHNob3QoKTogeyBwZW5kaW5nRmFuT3V0Sm9iczogbnVtYmVyOyBwZW5kaW5nRmFuT3V0VGFyZ2V0czogbnVtYmVyIH0ge1xuICAgIGxldCBwZW5kaW5nRmFuT3V0VGFyZ2V0cyA9IDA7XG5cbiAgICBmb3IgKGNvbnN0IGpvYiBvZiB0aGlzLnBlbmRpbmdGYW5PdXRKb2JzKSB7XG4gICAgICBwZW5kaW5nRmFuT3V0VGFyZ2V0cyArPSBNYXRoLm1heChqb2IudGFyZ2V0cy5sZW5ndGggLSBqb2IuY3Vyc29yLCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGVuZGluZ0Zhbk91dEpvYnM6IHRoaXMucGVuZGluZ0Zhbk91dEpvYnMubGVuZ3RoLFxuICAgICAgcGVuZGluZ0Zhbk91dFRhcmdldHMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2x1c3RlckVudmVsb3BlKGVudmVsb3BlOiBXZWJTb2NrZXRDbHVzdGVyRW52ZWxvcGUpOiB2b2lkIHtcbiAgICBpZiAoZW52ZWxvcGUuc291cmNlTm9kZUlkID09PSB0aGlzLm9wdGlvbnMubm9kZUlkKSB7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLmlnbm9yZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgZGV0YWlsOiB7IHJlYXNvbjogXCJzZWxmU291cmNlXCIsIGV2ZW50OiBlbnZlbG9wZS5ldmVudCB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcyAmJlxuICAgICAgZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcy5sZW5ndGggPiAwICYmXG4gICAgICAhZW52ZWxvcGUudGFyZ2V0Tm9kZUlkcy5pbmNsdWRlcyh0aGlzLm9wdGlvbnMubm9kZUlkKVxuICAgICkge1xuICAgICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5pZ25vcmVkXCIsXG4gICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgIGRldGFpbDogeyByZWFzb246IFwidGFyZ2V0TWlzbWF0Y2hcIiwgZXZlbnQ6IGVudmVsb3BlLmV2ZW50IH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydGVkQXQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5yZWNlaXZlZFwiLFxuICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgIGRldGFpbDogeyBldmVudDogZW52ZWxvcGUuZXZlbnQsIHNvdXJjZU5vZGVJZDogZW52ZWxvcGUuc291cmNlTm9kZUlkIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByb3V0aW5nUGxhbiA9IHRoaXMub3B0aW9ucy5hdWRpZW5jZVJlc29sdmVyLnJlc29sdmUoZW52ZWxvcGUuYXVkaWVuY2UpO1xuICAgIGNvbnN0IGxvY2FsVGFyZ2V0cyA9IHRoaXMub3B0aW9ucy5sb2NhbENvbm5lY3Rpb25zLmdldENvbm5lY3Rpb25zKHJvdXRpbmdQbGFuLmxvY2FsU2Vzc2lvbklkcyk7XG4gICAgdGhpcy5lbnF1ZXVlRmFuT3V0KGxvY2FsVGFyZ2V0cywgZW52ZWxvcGUuZXZlbnQsIGVudmVsb3BlLmRhdGEpO1xuXG4gICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmNsdXN0ZXIucmVjZWl2ZVwiLFxuICAgICAga2luZDogXCJjb25zdW1lclwiLFxuICAgICAgZHVyYXRpb25NczogcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydGVkQXQsXG4gICAgICBzdGF0dXM6IFwidW5zZXRcIixcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgZXZlbnQ6IGVudmVsb3BlLmV2ZW50LFxuICAgICAgICBzb3VyY2VOb2RlSWQ6IGVudmVsb3BlLnNvdXJjZU5vZGVJZCxcbiAgICAgICAgbG9jYWxUYXJnZXRDb3VudDogbG9jYWxUYXJnZXRzLmxlbmd0aCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVucXVldWVGYW5PdXQodGFyZ2V0czogTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb25bXSwgZXZlbnQ6IHN0cmluZywgZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGlmICh0YXJnZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ0Zhbk91dEpvYnMucHVzaCh7XG4gICAgICB0YXJnZXRzLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhLFxuICAgICAgY3Vyc29yOiAwLFxuICAgIH0pO1xuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5mYW5vdXQuZW5xdWV1ZWRcIixcbiAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICBkZXRhaWw6IHsgdGFyZ2V0Q291bnQ6IHRhcmdldHMubGVuZ3RoLCBldmVudCB9LFxuICAgIH0pO1xuICAgIHRoaXMuc2NoZWR1bGVGYW5PdXRGbHVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZUZhbk91dEZsdXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZhbk91dEZsdXNoU2NoZWR1bGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mYW5PdXRGbHVzaFNjaGVkdWxlZCA9IHRydWU7XG4gICAgc2V0SW1tZWRpYXRlKCgpID0+IHtcbiAgICAgIHRoaXMuZmFuT3V0Rmx1c2hTY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmx1c2hGYW5PdXRKb2JzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZsdXNoRmFuT3V0Sm9icygpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydGVkQXQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICBsZXQgcHJvY2Vzc2VkID0gMDtcbiAgICBsZXQgc3RhdHVzOiBcInVuc2V0XCIgfCBcImVycm9yXCIgPSBcInVuc2V0XCI7XG4gICAgbGV0IGVycm9yVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgdHJ5IHtcbiAgICAgIHdoaWxlICh0aGlzLnBlbmRpbmdGYW5PdXRKb2JzLmxlbmd0aCA+IDAgJiYgcHJvY2Vzc2VkIDwgRkFOX09VVF9CQVRDSF9TSVpFKSB7XG4gICAgICAgIGNvbnN0IGpvYiA9IHRoaXMucGVuZGluZ0Zhbk91dEpvYnNbMF07XG5cbiAgICAgICAgd2hpbGUgKGpvYi5jdXJzb3IgPCBqb2IudGFyZ2V0cy5sZW5ndGggJiYgcHJvY2Vzc2VkIDwgRkFOX09VVF9CQVRDSF9TSVpFKSB7XG4gICAgICAgICAgdGhpcy5zYWZlUHVibGlzaChqb2IudGFyZ2V0c1tqb2IuY3Vyc29yXSwgam9iLmV2ZW50LCBqb2IuZGF0YSk7XG4gICAgICAgICAgam9iLmN1cnNvciArPSAxO1xuICAgICAgICAgIHByb2Nlc3NlZCArPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGpvYi5jdXJzb3IgPj0gam9iLnRhcmdldHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHN0YXR1cyA9IFwiZXJyb3JcIjtcbiAgICAgIGVycm9yVHlwZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5uYW1lIDogdHlwZW9mIGVycm9yO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0ZWRBdDtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmZhbm91dC5mbHVzaGVkXCIsXG4gICAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgICAgIGRldGFpbDogeyBwcm9jZXNzZWRDb3VudDogcHJvY2Vzc2VkIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LnJlY29yZFNwYW4oe1xuICAgICAgICBvcGVyYXRpb25OYW1lOiBcIndzLmZhbm91dC5kaXNwYXRjaFwiLFxuICAgICAgICBraW5kOiBcImludGVybmFsXCIsXG4gICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgIHN0YXR1cyxcbiAgICAgICAgYXR0cmlidXRlczogeyBwcm9jZXNzZWRDb3VudDogcHJvY2Vzc2VkIH0sXG4gICAgICAgIGVycm9yVHlwZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVGYW5PdXRGbHVzaCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2FmZVB1Ymxpc2goY29ubmVjdGlvbjogTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb24sIGV2ZW50OiBzdHJpbmcsIGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjb25uZWN0aW9uLmNsb3NlZCkge1xuICAgICAgICBjb25uZWN0aW9uLnB1Ymxpc2hVbnR5cGVkKGV2ZW50LCBkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmZhbm91dC5wdWJsaXNoLmZhaWxlZFwiLFxuICAgICAgICBsZXZlbDogXCJlcnJvclwiLFxuICAgICAgICBjb25uZWN0aW9uSWQ6IGNvbm5lY3Rpb24uaWQsXG4gICAgICAgIG5hbWVzcGFjZTogY29ubmVjdGlvbi5uYW1lc3BhY2UsXG4gICAgICAgIHVzZXJJZDogY29ubmVjdGlvbi51c2VySWQsXG4gICAgICAgIGRldGFpbDogeyBldmVudCB9LFxuICAgICAgfSk7XG4gICAgICBjb25uZWN0aW9uLmNsb3NlKDEwMTEsIFwiV2ViU29ja2V0IHB1Ymxpc2ggZmFpbGVkXCIpO1xu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
|
|
237
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZGVsaXZlcnkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS93cy1kZWxpdmVyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5cbmltcG9ydCB7IHJ1bnRpbWVUeXBlT2YgfSBmcm9tIFwiLi4vcnVudGltZS10eXBlXCI7XG5pbXBvcnQgeyB0eXBlIFdlYlNvY2tldEF1ZGllbmNlIH0gZnJvbSBcIi4vd3MtYXVkaWVuY2VcIjtcbmltcG9ydCB7IHR5cGUgV2ViU29ja2V0QXVkaWVuY2VSZXNvbHZlciB9IGZyb20gXCIuL3dzLWF1ZGllbmNlLXJlc29sdmVyXCI7XG5pbXBvcnQgeyB0eXBlIFdlYlNvY2tldENsdXN0ZXJCdXMsIHR5cGUgV2ViU29ja2V0Q2x1c3RlckVudmVsb3BlIH0gZnJvbSBcIi4vd3MtY2x1c3Rlci1idXNcIjtcbmltcG9ydCB7IHR5cGUgTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb24gfSBmcm9tIFwiLi93cy1jb3JlXCI7XG5pbXBvcnQgeyB0eXBlIFdlYlNvY2tldExvY2FsQ29ubmVjdGlvblN0b3JlIH0gZnJvbSBcIi4vd3MtbG9jYWwtY29ubmVjdGlvbi1zdG9yZVwiO1xuaW1wb3J0IHtcbiAgTm9vcFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXIsXG4gIHR5cGUgV2ViU29ja2V0VGVsZW1ldHJ5Q29udHJvbGxlcixcbn0gZnJvbSBcIi4vd3MtdGVsZW1ldHJ5XCI7XG5cbi8vIGZhbi1vdXTsnYQgZXZlbnQgbG9vcCB0aWNrIOuLqOychOuhnCDrgpjriKAg7ZWcIOuyiOyXkCDquLQg64+Z6riwIOujqO2UhOulvCDrp4zrk6Tsp4Ag7JWK6rKMIO2VqFxuY29uc3QgRkFOX09VVF9CQVRDSF9TSVpFID0gMjUwO1xuXG5leHBvcnQgY2xhc3MgV2ViU29ja2V0RGVsaXZlcnlFbmdpbmUge1xuICBwcml2YXRlIHJlYWRvbmx5IHBlbmRpbmdGYW5PdXRKb2JzOiBBcnJheTx7XG4gICAgdGFyZ2V0czogTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb25bXTtcbiAgICBldmVudDogc3RyaW5nO1xuICAgIGRhdGE6IHVua25vd247XG4gICAgY3Vyc29yOiBudW1iZXI7XG4gIH0+ID0gW107XG4gIHByaXZhdGUgZmFuT3V0Rmx1c2hTY2hlZHVsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZTogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZWxlbWV0cnk6IFdlYlNvY2tldFRlbGVtZXRyeUNvbnRyb2xsZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5yZWdpc3Rlck1ldHJpY1NvdXJjZTogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHtcbiAgICAgIG5vZGVJZDogc3RyaW5nO1xuICAgICAgbG9jYWxDb25uZWN0aW9uczogV2ViU29ja2V0TG9jYWxDb25uZWN0aW9uU3RvcmU7XG4gICAgICBhdWRpZW5jZVJlc29sdmVyOiBXZWJTb2NrZXRBdWRpZW5jZVJlc29sdmVyO1xuICAgICAgY2x1c3RlckJ1czogV2ViU29ja2V0Q2x1c3RlckJ1cztcbiAgICAgIHRlbGVtZXRyeUNvbnRyb2xsZXI/OiBXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyO1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMudGVsZW1ldHJ5ID0gdGhpcy5vcHRpb25zLnRlbGVtZXRyeUNvbnRyb2xsZXIgPz8gbmV3IE5vb3BXZWJTb2NrZXRUZWxlbWV0cnlDb250cm9sbGVyKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMub3B0aW9ucy5jbHVzdGVyQnVzLnN1YnNjcmliZSgoZW52ZWxvcGUpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ2x1c3RlckVudmVsb3BlKGVudmVsb3BlKTtcbiAgICB9KTtcbiAgICB0aGlzLnVucmVnaXN0ZXJNZXRyaWNTb3VyY2UgPSB0aGlzLnRlbGVtZXRyeS5yZWdpc3Rlck1ldHJpY1NvdXJjZSh7XG4gICAgICBjb2xsZWN0OiAoKSA9PiB0aGlzLmdldFRlbGVtZXRyeVNuYXBzaG90KCksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaXNoVG9BdWRpZW5jZTxEYXRhPihhdWRpZW5jZTogV2ViU29ja2V0QXVkaWVuY2UsIGV2ZW50OiBzdHJpbmcsIGRhdGE6IERhdGEpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0aW5nUGxhbiA9IHRoaXMub3B0aW9ucy5hdWRpZW5jZVJlc29sdmVyLnJlc29sdmUoYXVkaWVuY2UpO1xuICAgIGNvbnN0IGxvY2FsVGFyZ2V0cyA9IHRoaXMub3B0aW9ucy5sb2NhbENvbm5lY3Rpb25zLmdldENvbm5lY3Rpb25zKHJvdXRpbmdQbGFuLmxvY2FsU2Vzc2lvbklkcyk7XG5cbiAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgIG5hbWU6IFwid3MuZmFub3V0LnJlc29sdmVkXCIsXG4gICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIGxvY2FsVGFyZ2V0Q291bnQ6IGxvY2FsVGFyZ2V0cy5sZW5ndGgsXG4gICAgICAgIHJlbW90ZU5vZGVDb3VudDogcm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGgsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMudGVsZW1ldHJ5LnJlY29yZE1ldHJpYyh7XG4gICAgICBuYW1lOiBcInNvbmFtdS53cy5mYW5vdXQudGFyZ2V0c1wiLFxuICAgICAga2luZDogXCJoaXN0b2dyYW1cIixcbiAgICAgIHZhbHVlOiBsb2NhbFRhcmdldHMubGVuZ3RoICsgcm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGgsXG4gICAgICB1bml0OiBcIjFcIixcbiAgICAgIHRhZ3M6IHsgYXVkaWVuY2VfdHlwZTogYXVkaWVuY2UudHlwZSB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5lbnF1ZXVlRmFuT3V0KGxvY2FsVGFyZ2V0cywgZXZlbnQsIGRhdGEpO1xuXG4gICAgaWYgKHJvdXRpbmdQbGFuLnJlbW90ZU5vZGVJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52ZWxvcGU6IFdlYlNvY2tldENsdXN0ZXJFbnZlbG9wZSA9IHtcbiAgICAgIGlkOiByYW5kb21VVUlEKCksXG4gICAgICBzb3VyY2VOb2RlSWQ6IHRoaXMub3B0aW9ucy5ub2RlSWQsXG4gICAgICB0YXJnZXROb2RlSWRzOiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLFxuICAgICAgYXVkaWVuY2UsXG4gICAgICBldmVudCxcbiAgICAgIGRhdGEsXG4gICAgICBlbWl0dGVkQXQ6IERhdGUubm93KCksXG4gICAgfTtcblxuICAgIGNvbnN0IHB1Ymxpc2hTdGFydGVkQXQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICBQcm9taXNlLnJlc29sdmUodGhpcy5vcHRpb25zLmNsdXN0ZXJCdXMucHVibGlzaChlbnZlbG9wZSkpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHB1Ymxpc2hTdGFydGVkQXQ7XG4gICAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICAgIG5hbWU6IFwid3MuY2x1c3Rlci5lbnZlbG9wZS5wdWJsaXNoZWRcIixcbiAgICAgICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgICAgIGRldGFpbDogeyBldmVudCwgdGFyZ2V0Tm9kZUNvdW50OiByb3V0aW5nUGxhbi5yZW1vdGVOb2RlSWRzLmxlbmd0aCB9LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZWxlbWV0cnkucmVjb3JkU3Bhbih7XG4gICAgICAgICAgb3BlcmF0aW9uTmFtZTogXCJ3cy5jbHVzdGVyLnB1Ymxpc2hcIixcbiAgICAgICAgICBraW5kOiBcInByb2R1Y2VyXCIsXG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdGF0dXM6IFwidW5zZXRcIixcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHRhcmdldE5vZGVDb3VudDogcm91dGluZ1BsYW4ucmVtb3RlTm9kZUlkcy5sZW5ndGgsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChjYXVzZTogdW5rbm93bikgPT4ge1xuICAgICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBwdWJsaXNoU3RhcnRlZEF0O1xuICAgICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgICBuYW1lOiBcIndzLmNsdXN0ZXIuZW52ZWxvcGUuZmFpbGVkXCIsXG4gICAgICAgICAgbGV2ZWw6IFwiZXJyb3JcIixcbiAgICAgICAgICBkZXRhaWw6IHsgZXZlbnQgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGVsZW1ldHJ5LnJlY29yZFNwYW4oe1xuICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IFwid3MuY2x1c3Rlci5wdWJsaXNoXCIsXG4gICAgICAgICAga2luZDogXCJwcm9kdWNlclwiLFxuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgICAgYXR0cmlidXRlczogeyBldmVudCB9LFxuICAgICAgICAgIGVycm9yVHlwZTogY2F1c2UgaW5zdGFuY2VvZiBFcnJvciA/IGNhdXNlLm5hbWUgOiBydW50aW1lVHlwZU9mKGNhdXNlKSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNodXRkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMudW5yZWdpc3Rlck1ldHJpY1NvdXJjZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICBhd2FpdCB0aGlzLm9wdGlvbnMuY2x1c3RlckJ1cy5zaHV0ZG93bigpO1xuICB9XG5cbiAgZ2V0VGVsZW1ldHJ5U25hcHNob3QoKSB7XG4gICAgbGV0IHBlbmRpbmdGYW5PdXRUYXJnZXRzID0gMDtcblxuICAgIGZvciAoY29uc3Qgam9iIG9mIHRoaXMucGVuZGluZ0Zhbk91dEpvYnMpIHtcbiAgICAgIHBlbmRpbmdGYW5PdXRUYXJnZXRzICs9IE1hdGgubWF4KGpvYi50YXJnZXRzLmxlbmd0aCAtIGpvYi5jdXJzb3IsIDApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwZW5kaW5nRmFuT3V0Sm9iczogdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5sZW5ndGgsXG4gICAgICBwZW5kaW5nRmFuT3V0VGFyZ2V0cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbHVzdGVyRW52ZWxvcGUoZW52ZWxvcGU6IFdlYlNvY2tldENsdXN0ZXJFbnZlbG9wZSk6IHZvaWQge1xuICAgIGlmIChlbnZlbG9wZS5zb3VyY2VOb2RlSWQgPT09IHRoaXMub3B0aW9ucy5ub2RlSWQpIHtcbiAgICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgICBuYW1lOiBcIndzLmNsdXN0ZXIuZW52ZWxvcGUuaWdub3JlZFwiLFxuICAgICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgICBkZXRhaWw6IHsgcmVhc29uOiBcInNlbGZTb3VyY2VcIiwgZXZlbnQ6IGVudmVsb3BlLmV2ZW50IH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBlbnZlbG9wZS50YXJnZXROb2RlSWRzICYmXG4gICAgICBlbnZlbG9wZS50YXJnZXROb2RlSWRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICFlbnZlbG9wZS50YXJnZXROb2RlSWRzLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5ub2RlSWQpXG4gICAgKSB7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLmlnbm9yZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgICAgZGV0YWlsOiB7IHJlYXNvbjogXCJ0YXJnZXRNaXNtYXRjaFwiLCBldmVudDogZW52ZWxvcGUuZXZlbnQgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIHRoaXMudGVsZW1ldHJ5LmVtaXQoe1xuICAgICAgbmFtZTogXCJ3cy5jbHVzdGVyLmVudmVsb3BlLnJlY2VpdmVkXCIsXG4gICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgZGV0YWlsOiB7IGV2ZW50OiBlbnZlbG9wZS5ldmVudCwgc291cmNlTm9kZUlkOiBlbnZlbG9wZS5zb3VyY2VOb2RlSWQgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJvdXRpbmdQbGFuID0gdGhpcy5vcHRpb25zLmF1ZGllbmNlUmVzb2x2ZXIucmVzb2x2ZShlbnZlbG9wZS5hdWRpZW5jZSk7XG4gICAgY29uc3QgbG9jYWxUYXJnZXRzID0gdGhpcy5vcHRpb25zLmxvY2FsQ29ubmVjdGlvbnMuZ2V0Q29ubmVjdGlvbnMocm91dGluZ1BsYW4ubG9jYWxTZXNzaW9uSWRzKTtcbiAgICB0aGlzLmVucXVldWVGYW5PdXQobG9jYWxUYXJnZXRzLCBlbnZlbG9wZS5ldmVudCwgZW52ZWxvcGUuZGF0YSk7XG5cbiAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgIG9wZXJhdGlvbk5hbWU6IFwid3MuY2x1c3Rlci5yZWNlaXZlXCIsXG4gICAgICBraW5kOiBcImNvbnN1bWVyXCIsXG4gICAgICBkdXJhdGlvbk1zOiBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0ZWRBdCxcbiAgICAgIHN0YXR1czogXCJ1bnNldFwiLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBldmVudDogZW52ZWxvcGUuZXZlbnQsXG4gICAgICAgIHNvdXJjZU5vZGVJZDogZW52ZWxvcGUuc291cmNlTm9kZUlkLFxuICAgICAgICBsb2NhbFRhcmdldENvdW50OiBsb2NhbFRhcmdldHMubGVuZ3RoLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW5xdWV1ZUZhbk91dDxEYXRhPihcbiAgICB0YXJnZXRzOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbltdLFxuICAgIGV2ZW50OiBzdHJpbmcsXG4gICAgZGF0YTogRGF0YSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRhcmdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nRmFuT3V0Sm9icy5wdXNoKHtcbiAgICAgIHRhcmdldHMsXG4gICAgICBldmVudCxcbiAgICAgIGRhdGEsXG4gICAgICBjdXJzb3I6IDAsXG4gICAgfSk7XG4gICAgdGhpcy50ZWxlbWV0cnkuZW1pdCh7XG4gICAgICBuYW1lOiBcIndzLmZhbm91dC5lbnF1ZXVlZFwiLFxuICAgICAgbGV2ZWw6IFwiZGVidWdcIixcbiAgICAgIGRldGFpbDogeyB0YXJnZXRDb3VudDogdGFyZ2V0cy5sZW5ndGgsIGV2ZW50IH0sXG4gICAgfSk7XG4gICAgdGhpcy5zY2hlZHVsZUZhbk91dEZsdXNoKCk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlRmFuT3V0Rmx1c2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmFuT3V0Rmx1c2hTY2hlZHVsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZhbk91dEZsdXNoU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBzZXRJbW1lZGlhdGUoKCkgPT4ge1xuICAgICAgdGhpcy5mYW5PdXRGbHVzaFNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5mbHVzaEZhbk91dEpvYnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmx1c2hGYW5PdXRKb2JzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ZWRBdCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIGxldCBwcm9jZXNzZWQgPSAwO1xuICAgIGxldCBzdGF0dXM6IFwidW5zZXRcIiB8IFwiZXJyb3JcIiA9IFwidW5zZXRcIjtcbiAgICBsZXQgZXJyb3JUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgd2hpbGUgKHRoaXMucGVuZGluZ0Zhbk91dEpvYnMubGVuZ3RoID4gMCAmJiBwcm9jZXNzZWQgPCBGQU5fT1VUX0JBVENIX1NJWkUpIHtcbiAgICAgICAgY29uc3Qgam9iID0gdGhpcy5wZW5kaW5nRmFuT3V0Sm9ic1swXTtcblxuICAgICAgICB3aGlsZSAoam9iLmN1cnNvciA8IGpvYi50YXJnZXRzLmxlbmd0aCAmJiBwcm9jZXNzZWQgPCBGQU5fT1VUX0JBVENIX1NJWkUpIHtcbiAgICAgICAgICB0aGlzLnNhZmVQdWJsaXNoKGpvYi50YXJnZXRzW2pvYi5jdXJzb3JdLCBqb2IuZXZlbnQsIGpvYi5kYXRhKTtcbiAgICAgICAgICBqb2IuY3Vyc29yICs9IDE7XG4gICAgICAgICAgcHJvY2Vzc2VkICs9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoam9iLmN1cnNvciA+PSBqb2IudGFyZ2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdGYW5PdXRKb2JzLnNoaWZ0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc3RhdHVzID0gXCJlcnJvclwiO1xuICAgICAgZXJyb3JUeXBlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm5hbWUgOiBydW50aW1lVHlwZU9mKGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydGVkQXQ7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5mYW5vdXQuZmx1c2hlZFwiLFxuICAgICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgICAgICBkZXRhaWw6IHsgcHJvY2Vzc2VkQ291bnQ6IHByb2Nlc3NlZCB9LFxuICAgICAgfSk7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5yZWNvcmRTcGFuKHtcbiAgICAgICAgb3BlcmF0aW9uTmFtZTogXCJ3cy5mYW5vdXQuZGlzcGF0Y2hcIixcbiAgICAgICAga2luZDogXCJpbnRlcm5hbFwiLFxuICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICBzdGF0dXMsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgcHJvY2Vzc2VkQ291bnQ6IHByb2Nlc3NlZCB9LFxuICAgICAgICBlcnJvclR5cGUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMucGVuZGluZ0Zhbk91dEpvYnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNjaGVkdWxlRmFuT3V0Rmx1c2goKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNhZmVQdWJsaXNoPERhdGE+KFxuICAgIGNvbm5lY3Rpb246IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uLFxuICAgIGV2ZW50OiBzdHJpbmcsXG4gICAgZGF0YTogRGF0YSxcbiAgKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghY29ubmVjdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgY29ubmVjdGlvbi5wdWJsaXNoVW50eXBlZChldmVudCwgZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLnRlbGVtZXRyeS5lbWl0KHtcbiAgICAgICAgbmFtZTogXCJ3cy5mYW5vdXQucHVibGlzaC5mYWlsZWRcIixcbiAgICAgICAgbGV2ZWw6IFwiZXJyb3JcIixcbiAgICAgICAgY29ubmVjdGlvbklkOiBjb25uZWN0aW9uLmlkLFxuICAgICAgICBuYW1lc3BhY2U6IGNvbm5lY3Rpb24ubmFtZXNwYWNlLFxuICAgICAgICB1c2VySWQ6IGNvbm5lY3Rpb24udXNlcklkLFxuICAgICAgICBkZXRhaWw6IHsgZXZlbnQgfSxcbiAgICAgIH0pO1xuICAgICAgY29ubmVjdGlvbi5jbG9zZSgxMDExLCBcIldlYlNvY2tldCBwdWJsaXNoIGZhaWxlZFwiKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OzttQkFFK0M7bUJBU3hCO0NBR2pCLHFCQUFxQjtDQUVkLDBCQUFiLE1BQXFDO0VBYWhCO0VBWm5CLG9CQUtLLENBQUM7RUFDTix1QkFBK0I7RUFDL0I7RUFDQTtFQUNBO0VBRUEsWUFDRSxTQU9BO0dBUGlCLEtBQUEsVUFBQTtHQVFqQixLQUFLLFlBQVksS0FBSyxRQUFRLHVCQUF1QixJQUFJLGlDQUFpQztHQUMxRixLQUFLLGNBQWMsS0FBSyxRQUFRLFdBQVcsV0FBVyxhQUFhO0lBQ2pFLEtBQUssc0JBQXNCLFFBQVE7R0FDckMsQ0FBQztHQUNELEtBQUsseUJBQXlCLEtBQUssVUFBVSxxQkFBcUIsRUFDaEUsZUFBZSxLQUFLLHFCQUFxQixFQUMzQyxDQUFDO0VBQ0g7RUFFQSxrQkFBd0IsVUFBNkIsT0FBZSxNQUFrQjtHQUNwRixNQUFNLGNBQWMsS0FBSyxRQUFRLGlCQUFpQixRQUFRLFFBQVE7R0FDbEUsTUFBTSxlQUFlLEtBQUssUUFBUSxpQkFBaUIsZUFBZSxZQUFZLGVBQWU7R0FFN0YsS0FBSyxVQUFVLEtBQUs7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFDUCxRQUFRO0tBQ04sa0JBQWtCLGFBQWE7S0FDL0IsaUJBQWlCLFlBQVksY0FBYztJQUM3QztHQUNGLENBQUM7R0FDRCxLQUFLLFVBQVUsYUFBYTtJQUMxQixNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU8sYUFBYSxTQUFTLFlBQVksY0FBYztJQUN2RCxNQUFNO0lBQ04sTUFBTSxFQUFFLGVBQWUsU0FBUyxLQUFLO0dBQ3ZDLENBQUM7R0FFRCxLQUFLLGNBQWMsY0FBYyxPQUFPLElBQUk7R0FFNUMsSUFBSSxZQUFZLGNBQWMsV0FBVyxHQUN2QztHQUdGLE1BQU0sV0FBcUM7SUFDekMsSUFBSSxXQUFXO0lBQ2YsY0FBYyxLQUFLLFFBQVE7SUFDM0IsZUFBZSxZQUFZO0lBQzNC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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-local-connection-store.d.ts","sourceRoot":"","sources":["../../src/stream/ws-local-connection-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws-local-connection-store.d.ts","sourceRoot":"","sources":["../../src/stream/ws-local-connection-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,KAAK,oCAAoC,EAE1C,MAAM,gBAAgB,CAAC;AAExB,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiD;IAE7E,QAAQ,CAAC,UAAU,EAAE,0BAA0B,GAAG,IAAI;IAItD,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAItC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;IAI3E,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,0BAA0B,EAAE;IAqBrE,oBAAoB,IAAI,oCAAoC;IAqB5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAK/C"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { init_runtime_value, isFunctionValue } from "../utils/runtime-value.js";
|
|
2
3
|
//#region src/stream/ws-local-connection-store.ts
|
|
3
4
|
function isTelemetryInspectableConnection(connection) {
|
|
4
|
-
return "getTelemetrySnapshot" in connection &&
|
|
5
|
+
return "getTelemetrySnapshot" in connection && isFunctionValue(connection.getTelemetrySnapshot);
|
|
5
6
|
}
|
|
6
7
|
var WebSocketLocalConnectionStore;
|
|
7
8
|
var init_ws_local_connection_store = __esmMin((() => {
|
|
9
|
+
init_runtime_value();
|
|
8
10
|
WebSocketLocalConnectionStore = class {
|
|
9
11
|
connections = /* @__PURE__ */ new Map();
|
|
10
12
|
register(connection) {
|
|
@@ -52,4 +54,4 @@ var init_ws_local_connection_store = __esmMin((() => {
|
|
|
52
54
|
init_ws_local_connection_store();
|
|
53
55
|
export { WebSocketLocalConnectionStore, init_ws_local_connection_store };
|
|
54
56
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtbG9jYWwtY29ubmVjdGlvbi1zdG9yZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyZWFtL3dzLWxvY2FsLWNvbm5lY3Rpb24tc3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGdW5jdGlvblZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL3J1bnRpbWUtdmFsdWVcIjtcbmltcG9ydCB7IHR5cGUgTWFuYWdlZFdlYlNvY2tldENvbm5lY3Rpb24gfSBmcm9tIFwiLi93cy1jb3JlXCI7XG5pbXBvcnQge1xuICB0eXBlIFdlYlNvY2tldFRlbGVtZXRyeUNvbm5lY3Rpb25TbmFwc2hvdCxcbiAgdHlwZSBUZWxlbWV0cnlJbnNwZWN0YWJsZUNvbm5lY3Rpb24sXG59IGZyb20gXCIuL3dzLXRlbGVtZXRyeVwiO1xuXG5leHBvcnQgY2xhc3MgV2ViU29ja2V0TG9jYWxDb25uZWN0aW9uU3RvcmUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3Rpb25zID0gbmV3IE1hcDxzdHJpbmcsIE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uPigpO1xuXG4gIHJlZ2lzdGVyKGNvbm5lY3Rpb246IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoY29ubmVjdGlvbi5pZCwgY29ubmVjdGlvbik7XG4gIH1cblxuICB1bnJlZ2lzdGVyKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5kZWxldGUoY29ubmVjdGlvbklkKTtcbiAgfVxuXG4gIGdldENvbm5lY3Rpb24oY29ubmVjdGlvbklkOiBzdHJpbmcpOiBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbnMuZ2V0KGNvbm5lY3Rpb25JZCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9ucyhjb25uZWN0aW9uSWRzOiBzdHJpbmdbXSk6IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uW10ge1xuICAgIGNvbnN0IHRhcmdldHM6IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uW10gPSBbXTtcbiAgICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IGNvbm5lY3Rpb25JZCBvZiBjb25uZWN0aW9uSWRzKSB7XG4gICAgICBpZiAoc2Vlbi5oYXMoY29ubmVjdGlvbklkKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHNlZW4uYWRkKGNvbm5lY3Rpb25JZCk7XG5cbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmNvbm5lY3Rpb25zLmdldChjb25uZWN0aW9uSWQpO1xuICAgICAgaWYgKCFjb25uZWN0aW9uIHx8IGNvbm5lY3Rpb24uY2xvc2VkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0YXJnZXRzLnB1c2goY29ubmVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldHM7XG4gIH1cblxuICBnZXRUZWxlbWV0cnlTbmFwc2hvdCgpOiBXZWJTb2NrZXRUZWxlbWV0cnlDb25uZWN0aW9uU25hcHNob3Qge1xuICAgIGNvbnN0IHNuYXBzaG90OiBXZWJTb2NrZXRUZWxlbWV0cnlDb25uZWN0aW9uU25hcHNob3QgPSB7XG4gICAgICBwZW5kaW5nSW5ib3VuZE1lc3NhZ2VzOiAwLFxuICAgICAgcGVuZGluZ091dGJvdW5kTWVzc2FnZXM6IDAsXG4gICAgICBzb2NrZXRCdWZmZXJlZEJ5dGVzOiAwLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGNvbm5lY3Rpb24gb2YgdGhpcy5jb25uZWN0aW9ucy52YWx1ZXMoKSkge1xuICAgICAgaWYgKCFpc1RlbGVtZXRyeUluc3BlY3RhYmxlQ29ubmVjdGlvbihjb25uZWN0aW9uKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29ubmVjdGlvblNuYXBzaG90ID0gY29ubmVjdGlvbi5nZXRUZWxlbWV0cnlTbmFwc2hvdCgpO1xuICAgICAgc25hcHNob3QucGVuZGluZ0luYm91bmRNZXNzYWdlcyArPSBjb25uZWN0aW9uU25hcHNob3QucGVuZGluZ0luYm91bmRNZXNzYWdlcztcbiAgICAgIHNuYXBzaG90LnBlbmRpbmdPdXRib3VuZE1lc3NhZ2VzICs9IGNvbm5lY3Rpb25TbmFwc2hvdC5wZW5kaW5nT3V0Ym91bmRNZXNzYWdlcztcbiAgICAgIHNuYXBzaG90LnNvY2tldEJ1ZmZlcmVkQnl0ZXMgKz0gY29ubmVjdGlvblNuYXBzaG90LnNvY2tldEJ1ZmZlcmVkQnl0ZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNuYXBzaG90O1xuICB9XG5cbiAgY2xvc2VBbGwoY29kZT86IG51bWJlciwgcmVhc29uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBjb25uZWN0aW9uIG9mIHRoaXMuY29ubmVjdGlvbnMudmFsdWVzKCkpIHtcbiAgICAgIGNvbm5lY3Rpb24uY2xvc2UoY29kZSwgcmVhc29uKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNUZWxlbWV0cnlJbnNwZWN0YWJsZUNvbm5lY3Rpb24oXG4gIGNvbm5lY3Rpb246IE1hbmFnZWRXZWJTb2NrZXRDb25uZWN0aW9uLFxuKTogY29ubmVjdGlvbiBpcyBNYW5hZ2VkV2ViU29ja2V0Q29ubmVjdGlvbiAmIFRlbGVtZXRyeUluc3BlY3RhYmxlQ29ubmVjdGlvbiB7XG4gIHJldHVybiBcImdldFRlbGVtZXRyeVNuYXBzaG90XCIgaW4gY29ubmVjdGlvbiAmJiBpc0Z1bmN0aW9uVmFsdWUoY29ubmVjdGlvbi5nZXRUZWxlbWV0cnlTbmFwc2hvdCk7XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQXVFQSxTQUFTLGlDQUNQLFlBQzJFO0NBQzNFLE9BQU8sMEJBQTBCLGNBQWMsZ0JBQWdCLFdBQVcsb0JBQW9CO0FBQ2hHOzs7b0JBM0V3RDtDQU8zQyxnQ0FBYixNQUEyQztFQUN6Qyw4QkFBK0IsSUFBSSxJQUF3QztFQUUzRSxTQUFTLFlBQThDO0dBQ3JELEtBQUssWUFBWSxJQUFJLFdBQVcsSUFBSSxVQUFVO0VBQ2hEO0VBRUEsV0FBVyxjQUE0QjtHQUNyQyxLQUFLLFlBQVksT0FBTyxZQUFZO0VBQ3RDO0VBRUEsY0FBYyxjQUE4RDtHQUMxRSxPQUFPLEtBQUssWUFBWSxJQUFJLFlBQVk7RUFDMUM7RUFFQSxlQUFlLGVBQXVEO0dBQ3BFLE1BQU0sVUFBd0MsQ0FBQztHQUMvQyxNQUFNLHVCQUFPLElBQUksSUFBWTtHQUU3QixLQUFLLE1BQU0sZ0JBQWdCLGVBQWU7SUFDeEMsSUFBSSxLQUFLLElBQUksWUFBWSxHQUN2QjtJQUVGLEtBQUssSUFBSSxZQUFZO0lBRXJCLE1BQU0sYUFBYSxLQUFLLFlBQVksSUFBSSxZQUFZO0lBQ3BELElBQUksQ0FBQyxjQUFjLFdBQVcsUUFDNUI7SUFHRixRQUFRLEtBQUssVUFBVTtHQUN6QjtHQUVBLE9BQU87RUFDVDtFQUVBLHVCQUE2RDtHQUMzRCxNQUFNLFdBQWlEO0lBQ3JELHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIscUJBQXFCO0dBQ3ZCO0dBRUEsS0FBSyxNQUFNLGNBQWMsS0FBSyxZQUFZLE9BQU8sR0FBRztJQUNsRCxJQUFJLENBQUMsaUNBQWlDLFVBQVUsR0FDOUM7SUFHRixNQUFNLHFCQUFxQixXQUFXLHFCQUFxQjtJQUMzRCxTQUFTLDBCQUEwQixtQkFBbUI7SUFDdEQsU0FBUywyQkFBMkIsbUJBQW1CO0lBQ3ZELFNBQVMsdUJBQXVCLG1CQUFtQjtHQUNyRDtHQUVBLE9BQU87RUFDVDtFQUVBLFNBQVMsTUFBZSxRQUF1QjtHQUM3QyxLQUFLLE1BQU0sY0FBYyxLQUFLLFlBQVksT0FBTyxHQUMvQyxXQUFXLE1BQU0sTUFBTSxNQUFNO0VBRWpDO0NBQ0YifQ==
|