taon 21.0.54 → 21.0.56
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/README.md +159 -159
- package/bin/start.js +17 -17
- package/bin/taon +5 -5
- package/bin/taon-debug +5 -5
- package/bin/taon-debug-brk +4 -4
- package/browser/README.md +24 -24
- package/browser/fesm2022/taon-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser-prod/README.md +24 -24
- package/browser-prod/fesm2022/taon-browser.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/icon-menu-taon.svg +15 -15
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib-prod/base-classes/base-abstract-entity.d.ts +7 -0
- package/lib-prod/base-classes/base-abstract-entity.js +32 -9
- package/lib-prod/base-classes/base-abstract-entity.js.map +1 -0
- package/lib-prod/base-classes/base-angular-service.d.ts +27 -0
- package/lib-prod/base-classes/base-angular-service.js +8 -3
- package/lib-prod/base-classes/base-angular-service.js.map +1 -0
- package/lib-prod/base-classes/base-class.d.ts +15 -0
- package/lib-prod/base-classes/base-class.js +15 -10
- package/lib-prod/base-classes/base-class.js.map +1 -0
- package/lib-prod/base-classes/base-context.d.ts +20 -0
- package/lib-prod/base-classes/base-context.js +13 -9
- package/lib-prod/base-classes/base-context.js.map +1 -0
- package/lib-prod/base-classes/base-controller.d.ts +84 -0
- package/lib-prod/base-classes/base-controller.js +45 -26
- package/lib-prod/base-classes/base-controller.js.map +1 -0
- package/lib-prod/base-classes/base-crud-controller.d.ts +28 -0
- package/lib-prod/base-classes/base-crud-controller.js +104 -50
- package/lib-prod/base-classes/base-crud-controller.js.map +1 -0
- package/lib-prod/base-classes/base-custom-repository.d.ts +3 -0
- package/lib-prod/base-classes/base-custom-repository.js +16 -6
- package/lib-prod/base-classes/base-custom-repository.js.map +1 -0
- package/lib-prod/base-classes/base-electron-service.d.ts +0 -0
- package/lib-prod/base-classes/base-electron-service.js +1 -0
- package/lib-prod/base-classes/base-electron-service.js.map +1 -0
- package/lib-prod/base-classes/base-entity.d.ts +16 -0
- package/lib-prod/base-classes/base-entity.js +16 -6
- package/lib-prod/base-classes/base-entity.js.map +1 -0
- package/lib-prod/base-classes/base-file-upload.middleware.d.ts +14 -0
- package/lib-prod/base-classes/base-file-upload.middleware.js +24 -14
- package/lib-prod/base-classes/base-file-upload.middleware.js.map +1 -0
- package/lib-prod/base-classes/base-injector.d.ts +67 -0
- package/lib-prod/base-classes/base-injector.js +27 -13
- package/lib-prod/base-classes/base-injector.js.map +1 -0
- package/lib-prod/base-classes/base-middleware.d.ts +38 -0
- package/lib-prod/base-classes/base-middleware.js +7 -2
- package/lib-prod/base-classes/base-middleware.js.map +1 -0
- package/lib-prod/base-classes/base-migration.d.ts +11 -0
- package/lib-prod/base-classes/base-migration.js +12 -7
- package/lib-prod/base-classes/base-migration.js.map +1 -0
- package/lib-prod/base-classes/base-provider.d.ts +8 -0
- package/lib-prod/base-classes/base-provider.js +7 -2
- package/lib-prod/base-classes/base-provider.js.map +1 -0
- package/lib-prod/base-classes/base-repository.d.ts +272 -0
- package/lib-prod/base-classes/base-repository.js +38 -21
- package/lib-prod/base-classes/base-repository.js.map +1 -0
- package/lib-prod/base-classes/base-subscriber-for-entity.d.ts +81 -0
- package/lib-prod/base-classes/base-subscriber-for-entity.js +16 -6
- package/lib-prod/base-classes/base-subscriber-for-entity.js.map +1 -0
- package/lib-prod/base-classes/base.d.ts +1 -0
- package/lib-prod/base-classes/base.js +3 -1
- package/lib-prod/base-classes/base.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +10 -6
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/config/controller-config.d.ts +21 -0
- package/lib-prod/config/controller-config.js +9 -3
- package/lib-prod/config/controller-config.js.map +1 -0
- package/lib-prod/config/controller-options.d.ts +16 -0
- package/lib-prod/config/controller-options.js +7 -2
- package/lib-prod/config/controller-options.js.map +1 -0
- package/lib-prod/config/method-config.d.ts +39 -0
- package/lib-prod/config/method-config.js +6 -1
- package/lib-prod/config/method-config.js.map +1 -0
- package/lib-prod/config/param-config.d.ts +8 -0
- package/lib-prod/config/param-config.js +6 -1
- package/lib-prod/config/param-config.js.map +1 -0
- package/lib-prod/constants.d.ts +9 -0
- package/lib-prod/constants.js +6 -7
- package/lib-prod/constants.js.map +1 -0
- package/lib-prod/context-db-migrations.d.ts +17 -0
- package/lib-prod/context-db-migrations.js +76 -69
- package/lib-prod/context-db-migrations.js.map +1 -0
- package/lib-prod/create-context.d.ts +78 -0
- package/lib-prod/create-context.js +19 -13
- package/lib-prod/create-context.js.map +1 -0
- package/lib-prod/decorators/classes/controller-decorator.d.ts +5 -0
- package/lib-prod/decorators/classes/controller-decorator.js +10 -6
- package/lib-prod/decorators/classes/controller-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/entity-decorator.d.ts +19 -0
- package/lib-prod/decorators/classes/entity-decorator.js +31 -16
- package/lib-prod/decorators/classes/entity-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/middleware-decorator.d.ts +8 -0
- package/lib-prod/decorators/classes/middleware-decorator.js +15 -9
- package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/migration-decorator.d.ts +7 -0
- package/lib-prod/decorators/classes/migration-decorator.js +14 -8
- package/lib-prod/decorators/classes/migration-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/provider-decorator.d.ts +7 -0
- package/lib-prod/decorators/classes/provider-decorator.js +14 -8
- package/lib-prod/decorators/classes/provider-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/repository-decorator.d.ts +7 -0
- package/lib-prod/decorators/classes/repository-decorator.js +14 -8
- package/lib-prod/decorators/classes/repository-decorator.js.map +1 -0
- package/lib-prod/decorators/classes/subscriber-decorator.d.ts +8 -0
- package/lib-prod/decorators/classes/subscriber-decorator.js +15 -8
- package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -0
- package/lib-prod/decorators/decorator-abstract-opt.d.ts +3 -0
- package/lib-prod/decorators/decorator-abstract-opt.js +6 -1
- package/lib-prod/decorators/decorator-abstract-opt.js.map +1 -0
- package/lib-prod/decorators/http/http-decorators.d.ts +3 -0
- package/lib-prod/decorators/http/http-decorators.js +7 -3
- package/lib-prod/decorators/http/http-decorators.js.map +1 -0
- package/lib-prod/decorators/http/http-methods-decorators.d.ts +70 -0
- package/lib-prod/decorators/http/http-methods-decorators.js +22 -12
- package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -0
- package/lib-prod/decorators/http/http-params-decorators.d.ts +8 -0
- package/lib-prod/decorators/http/http-params-decorators.js +15 -7
- package/lib-prod/decorators/http/http-params-decorators.js.map +1 -0
- package/lib-prod/dependency-injection/di-container.d.ts +5 -0
- package/lib-prod/dependency-injection/di-container.js +7 -2
- package/lib-prod/dependency-injection/di-container.js.map +1 -0
- package/lib-prod/endpoint-context-storage.d.ts +11 -0
- package/lib-prod/endpoint-context-storage.js +11 -4
- package/lib-prod/endpoint-context-storage.js.map +1 -0
- package/lib-prod/endpoint-context.d.ts +197 -0
- package/lib-prod/endpoint-context.js +460 -435
- package/lib-prod/endpoint-context.js.map +1 -0
- package/lib-prod/entity-process.d.ts +39 -0
- package/lib-prod/entity-process.js +77 -61
- package/lib-prod/entity-process.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +64 -0
- package/lib-prod/env/env.angular-node-app.js +69 -64
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +64 -0
- package/lib-prod/env/env.docs-webapp.js +69 -64
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +64 -0
- package/lib-prod/env/env.electron-app.js +69 -64
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +64 -0
- package/lib-prod/env/env.mobile-app.js +69 -64
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +69 -64
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
- package/lib-prod/env/env.vscode-plugin.js +69 -64
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +23 -6
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/express-types.d.ts +1 -0
- package/lib-prod/express-types.js +3 -1
- package/lib-prod/express-types.js.map +1 -0
- package/lib-prod/formly/formly.models.d.ts +1 -0
- package/lib-prod/formly/formly.models.js +3 -1
- package/lib-prod/formly/formly.models.js.map +1 -0
- package/lib-prod/formly/fromly.d.ts +16 -0
- package/lib-prod/formly/fromly.js +33 -29
- package/lib-prod/formly/fromly.js.map +1 -0
- package/lib-prod/formly/type-from-entity.d.ts +20 -0
- package/lib-prod/formly/type-from-entity.js +24 -15
- package/lib-prod/formly/type-from-entity.js.map +1 -0
- package/lib-prod/get-response-value.d.ts +6 -0
- package/lib-prod/get-response-value.js +6 -1
- package/lib-prod/get-response-value.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/index.d.ts +5 -0
- package/lib-prod/global-state/taon-global-state/index.js +22 -5
- package/lib-prod/global-state/taon-global-state/index.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +18 -14
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +7 -3
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +38 -19
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +41 -12
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +16 -6
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +7 -3
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +16 -6
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +23 -16
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +20 -13
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.d.ts +2 -0
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +8 -3
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/index.d.ts +10 -0
- package/lib-prod/global-state/taon-transaction-registry/index.js +27 -10
- package/lib-prod/global-state/taon-transaction-registry/index.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +20 -16
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +5 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +33 -18
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +55 -14
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +16 -6
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +6 -2
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +16 -6
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +20 -13
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -13
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +2 -0
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +5 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
- package/lib-prod/helpers/class-helpers.d.ts +22 -0
- package/lib-prod/helpers/class-helpers.js +78 -60
- package/lib-prod/helpers/class-helpers.js.map +1 -0
- package/lib-prod/helpers/clone-obj.d.ts +1 -0
- package/lib-prod/helpers/clone-obj.js +12 -7
- package/lib-prod/helpers/clone-obj.js.map +1 -0
- package/lib-prod/helpers/taon-helpers.d.ts +16 -0
- package/lib-prod/helpers/taon-helpers.js +36 -21
- package/lib-prod/helpers/taon-helpers.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js +2 -1
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +230 -0
- package/lib-prod/index.js +94 -73
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/inject.d.ts +4 -0
- package/lib-prod/inject.js +9 -4
- package/lib-prod/inject.js.map +1 -0
- package/lib-prod/migrations/index.d.ts +1 -0
- package/lib-prod/migrations/index.js +18 -1
- package/lib-prod/migrations/index.js.map +1 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -0
- package/lib-prod/models.d.ts +255 -0
- package/lib-prod/models.js +53 -14
- package/lib-prod/models.js.map +1 -0
- package/lib-prod/orm/columns.d.ts +32 -0
- package/lib-prod/orm/columns.js +70 -22
- package/lib-prod/orm/columns.js.map +1 -0
- package/lib-prod/orm/index.d.ts +1 -0
- package/lib-prod/orm/index.js +18 -1
- package/lib-prod/orm/index.js.map +1 -0
- package/lib-prod/package.json +1 -1
- package/lib-prod/realtime/realtime-client.d.ts +41 -0
- package/lib-prod/realtime/realtime-client.js +30 -24
- package/lib-prod/realtime/realtime-client.js.map +1 -0
- package/lib-prod/realtime/realtime-core.d.ts +40 -0
- package/lib-prod/realtime/realtime-core.js +51 -26
- package/lib-prod/realtime/realtime-core.js.map +1 -0
- package/lib-prod/realtime/realtime-server.d.ts +43 -0
- package/lib-prod/realtime/realtime-server.js +34 -28
- package/lib-prod/realtime/realtime-server.js.map +1 -0
- package/lib-prod/realtime/realtime-strategy/index.d.ts +4 -0
- package/lib-prod/realtime/realtime-strategy/index.js +21 -4
- package/lib-prod/realtime/realtime-strategy/index.js.map +1 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +80 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +41 -24
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +34 -20
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +16 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +12 -6
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.d.ts +11 -0
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +7 -1
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
- package/lib-prod/realtime/realtime-subs-manager.d.ts +14 -0
- package/lib-prod/realtime/realtime-subs-manager.js +19 -13
- package/lib-prod/realtime/realtime-subs-manager.js.map +1 -0
- package/lib-prod/realtime/realtime.models.d.ts +25 -0
- package/lib-prod/realtime/realtime.models.js +3 -1
- package/lib-prod/realtime/realtime.models.js.map +1 -0
- package/lib-prod/symbols.d.ts +63 -0
- package/lib-prod/symbols.js +20 -19
- package/lib-prod/symbols.js.map +1 -0
- package/lib-prod/ui/index.d.ts +1 -0
- package/lib-prod/ui/index.js +5 -1
- package/lib-prod/ui/index.js.map +1 -0
- package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -0
- package/lib-prod/ui/taon-admin-mode-configuration/index.js +5 -1
- package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +1 -0
- package/lib-prod/validators.d.ts +5 -0
- package/lib-prod/validators.js +20 -12
- package/lib-prod/validators.js.map +1 -0
- package/lib-prod.split-namespaces.json +91 -31
- package/package.json +1 -1
- package/websql/README.md +24 -24
- package/websql/fesm2022/taon-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/README.md +24 -24
- package/websql-prod/fesm2022/taon-websql.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type * as Electron from 'electron';
|
|
2
|
+
import { ServerOptions } from 'socket.io';
|
|
3
|
+
import { EndpointContext } from '../../endpoint-context';
|
|
4
|
+
import { RealtimeModels__NS__EventHandler } from '../realtime.models';
|
|
5
|
+
import { RealtimeStrategy } from './realtime-strategy';
|
|
6
|
+
export declare class MockServerIpc {
|
|
7
|
+
contextName: string;
|
|
8
|
+
static serverByContextName: Map<string, MockServerIpc>;
|
|
9
|
+
static from(contextName: string): MockServerIpc;
|
|
10
|
+
namespacesByName: Map<string, MockNamespaceIpc>;
|
|
11
|
+
constructor(contextName: string);
|
|
12
|
+
of(namespace: string): MockNamespaceIpc;
|
|
13
|
+
}
|
|
14
|
+
export declare class MockNamespaceIpc {
|
|
15
|
+
/**
|
|
16
|
+
* Namespace name
|
|
17
|
+
*/
|
|
18
|
+
name: string;
|
|
19
|
+
server: MockServerIpc;
|
|
20
|
+
electronClients: Set<globalThis.Electron.WebContents>;
|
|
21
|
+
roomsByRoomName: {
|
|
22
|
+
[roomName: string]: Set<Electron.WebContents>;
|
|
23
|
+
};
|
|
24
|
+
private namespaceEventHandlers;
|
|
25
|
+
constructor(
|
|
26
|
+
/**
|
|
27
|
+
* Namespace name
|
|
28
|
+
*/
|
|
29
|
+
name: string, server: MockServerIpc);
|
|
30
|
+
on(eventName: string, callback: RealtimeModels__NS__EventHandler): void;
|
|
31
|
+
off(event: string, callback?: RealtimeModels__NS__EventHandler): void;
|
|
32
|
+
emit(eventName: string, ...args: any[]): void;
|
|
33
|
+
to(roomName: string): RoomEmitterIpc;
|
|
34
|
+
in(roomName: string): RoomEmitterIpc;
|
|
35
|
+
join(webContents: Electron.WebContents, roomName: string): void;
|
|
36
|
+
leave(webContents: Electron.WebContents, roomName: string): void;
|
|
37
|
+
path(): string;
|
|
38
|
+
get nsp(): {
|
|
39
|
+
readonly name: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
declare class RoomEmitterIpc {
|
|
43
|
+
private electronClients;
|
|
44
|
+
/**
|
|
45
|
+
* namespace name
|
|
46
|
+
*/
|
|
47
|
+
private name;
|
|
48
|
+
private includeSender;
|
|
49
|
+
private sender;
|
|
50
|
+
constructor(electronClients: Set<Electron.WebContents>,
|
|
51
|
+
/**
|
|
52
|
+
* namespace name
|
|
53
|
+
*/
|
|
54
|
+
name: string, includeSender?: boolean, sender?: MockSocketIpc);
|
|
55
|
+
emit(eventName: string, ...args: any[]): void;
|
|
56
|
+
}
|
|
57
|
+
export declare class MockSocketIpc {
|
|
58
|
+
namespaceName: string;
|
|
59
|
+
private socketEventHandlers;
|
|
60
|
+
get name(): string;
|
|
61
|
+
/**
|
|
62
|
+
* @param namespaceName instead url for ipc
|
|
63
|
+
*/
|
|
64
|
+
constructor(namespaceName: string);
|
|
65
|
+
on(eventName: string, callback: (event: any, ...args: any[]) => void): void;
|
|
66
|
+
off(event: string, callback?: (event: any, ...args: any[]) => void): void;
|
|
67
|
+
emit(event: string, ...args: any[]): void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Purpose:
|
|
71
|
+
* - backend-browser communication between 2 processes in electron mode
|
|
72
|
+
*/
|
|
73
|
+
export declare class RealtimeStrategyIpc extends RealtimeStrategy {
|
|
74
|
+
protected ctx: EndpointContext;
|
|
75
|
+
toString(): string;
|
|
76
|
+
constructor(ctx: EndpointContext);
|
|
77
|
+
ioServer(__: string, opt: ServerOptions): any;
|
|
78
|
+
get ioClient(): any;
|
|
79
|
+
}
|
|
80
|
+
export {};
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RealtimeStrategyIpc = exports.MockSocketIpc = exports.MockNamespaceIpc = exports.MockServerIpc = void 0;
|
|
4
|
+
const electron_1 = require("electron"); // @backend
|
|
5
|
+
const symbols_1 = require("../../symbols");
|
|
6
|
+
const realtime_strategy_1 = require("./realtime-strategy");
|
|
4
7
|
//#endregion
|
|
5
8
|
//#region mock server ipc
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
class MockServerIpc {
|
|
10
|
+
contextName;
|
|
11
|
+
static serverByContextName = new Map();
|
|
8
12
|
static from(contextName) {
|
|
9
13
|
if (!MockServerIpc.serverByContextName.has(contextName)) {
|
|
10
14
|
MockServerIpc.serverByContextName.set(contextName, new MockServerIpc(contextName));
|
|
11
15
|
}
|
|
12
16
|
return MockServerIpc.serverByContextName.get(contextName);
|
|
13
17
|
}
|
|
18
|
+
namespacesByName = new Map();
|
|
14
19
|
//#region constructor
|
|
15
20
|
constructor(contextName) {
|
|
16
21
|
this.contextName = contextName;
|
|
17
|
-
this.namespacesByName = new Map();
|
|
18
22
|
MockServerIpc.serverByContextName.set(contextName, this);
|
|
19
23
|
}
|
|
20
24
|
//#endregion
|
|
@@ -26,9 +30,16 @@ export class MockServerIpc {
|
|
|
26
30
|
return this.namespacesByName.get(namespace);
|
|
27
31
|
}
|
|
28
32
|
}
|
|
33
|
+
exports.MockServerIpc = MockServerIpc;
|
|
29
34
|
//#endregion
|
|
30
35
|
//#region mock namespace ipc
|
|
31
|
-
|
|
36
|
+
class MockNamespaceIpc {
|
|
37
|
+
name;
|
|
38
|
+
server;
|
|
39
|
+
//#region fields & getters
|
|
40
|
+
electronClients = new Set();
|
|
41
|
+
roomsByRoomName = {};
|
|
42
|
+
namespaceEventHandlers = {};
|
|
32
43
|
//#endregion
|
|
33
44
|
//#region constructor
|
|
34
45
|
constructor(
|
|
@@ -38,10 +49,6 @@ export class MockNamespaceIpc {
|
|
|
38
49
|
name, server) {
|
|
39
50
|
this.name = name;
|
|
40
51
|
this.server = server;
|
|
41
|
-
//#region fields & getters
|
|
42
|
-
this.electronClients = new Set();
|
|
43
|
-
this.roomsByRoomName = {};
|
|
44
|
-
this.namespaceEventHandlers = {};
|
|
45
52
|
}
|
|
46
53
|
//#endregion
|
|
47
54
|
//#region on
|
|
@@ -52,18 +59,18 @@ export class MockNamespaceIpc {
|
|
|
52
59
|
this.namespaceEventHandlers[eventName] = new Set();
|
|
53
60
|
}
|
|
54
61
|
this.namespaceEventHandlers[eventName].add(callback);
|
|
55
|
-
ipcMain.on(listenKey, (eventElectron, ...args) => {
|
|
62
|
+
electron_1.ipcMain.on(listenKey, (eventElectron, ...args) => {
|
|
56
63
|
this.electronClients.add(eventElectron.sender);
|
|
57
64
|
const connectionListener = `(${this.name}) "connection"`;
|
|
58
65
|
if (connectionListener === listenKey) {
|
|
59
66
|
callback(this, ...args);
|
|
60
67
|
}
|
|
61
68
|
else {
|
|
62
|
-
if (eventName.includes(`:${Symbols__NS__REALTIME.KEYroomSubscribe}`)) {
|
|
69
|
+
if (eventName.includes(`:${symbols_1.Symbols__NS__REALTIME.KEYroomSubscribe}`)) {
|
|
63
70
|
const roomName = args[0];
|
|
64
71
|
this.join(eventElectron.sender, roomName);
|
|
65
72
|
}
|
|
66
|
-
else if (eventName.includes(`:${Symbols__NS__REALTIME.KEYroomUnsubscribe}`)) {
|
|
73
|
+
else if (eventName.includes(`:${symbols_1.Symbols__NS__REALTIME.KEYroomUnsubscribe}`)) {
|
|
67
74
|
const roomName = args[0];
|
|
68
75
|
this.leave(eventElectron.sender, roomName);
|
|
69
76
|
}
|
|
@@ -89,7 +96,7 @@ export class MockNamespaceIpc {
|
|
|
89
96
|
delete this.namespaceEventHandlers[event];
|
|
90
97
|
}
|
|
91
98
|
const removeKey = `(${this.name}) "${event}"`;
|
|
92
|
-
ipcMain.removeListener(removeKey, callback);
|
|
99
|
+
electron_1.ipcMain.removeListener(removeKey, callback);
|
|
93
100
|
//#endregion
|
|
94
101
|
}
|
|
95
102
|
//#endregion
|
|
@@ -152,9 +159,14 @@ export class MockNamespaceIpc {
|
|
|
152
159
|
};
|
|
153
160
|
}
|
|
154
161
|
}
|
|
162
|
+
exports.MockNamespaceIpc = MockNamespaceIpc;
|
|
155
163
|
//#endregion
|
|
156
164
|
//#region room emitter ipc
|
|
157
165
|
class RoomEmitterIpc {
|
|
166
|
+
electronClients;
|
|
167
|
+
name;
|
|
168
|
+
includeSender;
|
|
169
|
+
sender;
|
|
158
170
|
//#region constructor
|
|
159
171
|
constructor(electronClients,
|
|
160
172
|
/**
|
|
@@ -177,7 +189,15 @@ class RoomEmitterIpc {
|
|
|
177
189
|
}
|
|
178
190
|
//#endregion
|
|
179
191
|
//#region mock socket ipc
|
|
180
|
-
|
|
192
|
+
class MockSocketIpc {
|
|
193
|
+
namespaceName;
|
|
194
|
+
//#region fields & getters
|
|
195
|
+
//#region fields & getters / ipc renderer
|
|
196
|
+
/* */
|
|
197
|
+
/* */
|
|
198
|
+
//#endregion
|
|
199
|
+
//#region fields & getters / event handlers by name
|
|
200
|
+
socketEventHandlers = {};
|
|
181
201
|
//#endregion
|
|
182
202
|
//#region fields & getters / name
|
|
183
203
|
get name() {
|
|
@@ -193,13 +213,6 @@ export class MockSocketIpc {
|
|
|
193
213
|
/* */
|
|
194
214
|
/* */
|
|
195
215
|
this.namespaceName = namespaceName;
|
|
196
|
-
//#region fields & getters
|
|
197
|
-
//#region fields & getters / ipc renderer
|
|
198
|
-
/* */
|
|
199
|
-
/* */
|
|
200
|
-
//#endregion
|
|
201
|
-
//#region fields & getters / event handlers by name
|
|
202
|
-
this.socketEventHandlers = {};
|
|
203
216
|
}
|
|
204
217
|
//#endregion
|
|
205
218
|
//#region on
|
|
@@ -247,12 +260,14 @@ export class MockSocketIpc {
|
|
|
247
260
|
/* */
|
|
248
261
|
}
|
|
249
262
|
}
|
|
263
|
+
exports.MockSocketIpc = MockSocketIpc;
|
|
250
264
|
//#endregion
|
|
251
265
|
/**
|
|
252
266
|
* Purpose:
|
|
253
267
|
* - backend-browser communication between 2 processes in electron mode
|
|
254
268
|
*/
|
|
255
|
-
|
|
269
|
+
class RealtimeStrategyIpc extends realtime_strategy_1.RealtimeStrategy {
|
|
270
|
+
ctx;
|
|
256
271
|
//#region to string
|
|
257
272
|
toString() {
|
|
258
273
|
return 'ipc';
|
|
@@ -278,3 +293,5 @@ export class RealtimeStrategyIpc extends RealtimeStrategy {
|
|
|
278
293
|
return clientIo;
|
|
279
294
|
}
|
|
280
295
|
}
|
|
296
|
+
exports.RealtimeStrategyIpc = RealtimeStrategyIpc;
|
|
297
|
+
//# sourceMappingURL=realtime-strategy-ipc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-strategy-ipc.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EndpointContext } from '../../endpoint-context';
|
|
2
|
+
import { RealtimeStrategy } from './realtime-strategy';
|
|
3
|
+
import { ServerOptions } from 'socket.io';
|
|
4
|
+
/**
|
|
5
|
+
* Purpose:
|
|
6
|
+
* - browser-browser communication mock (in websql mode)
|
|
7
|
+
*/
|
|
8
|
+
export declare class RealtimeStrategyMock extends RealtimeStrategy {
|
|
9
|
+
protected ctx: EndpointContext;
|
|
10
|
+
toString(): string;
|
|
11
|
+
constructor(ctx: EndpointContext);
|
|
12
|
+
ioServer(url: string, opt: ServerOptions): any;
|
|
13
|
+
get ioClient(): any;
|
|
14
|
+
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RealtimeStrategyMock = void 0;
|
|
4
|
+
const realtime_strategy_1 = require("./realtime-strategy");
|
|
5
|
+
const symbols_1 = require("../../symbols");
|
|
3
6
|
//#endregion
|
|
4
7
|
//#region mock server
|
|
5
8
|
class MockServer {
|
|
6
|
-
|
|
9
|
+
url;
|
|
10
|
+
static serverByUrl = new Map();
|
|
7
11
|
static from(url) {
|
|
8
12
|
if (!MockServer.serverByUrl.has(url)) {
|
|
9
13
|
MockServer.serverByUrl.set(url, new MockServer(url));
|
|
@@ -13,10 +17,10 @@ class MockServer {
|
|
|
13
17
|
get allServers() {
|
|
14
18
|
return Array.from(MockServer.serverByUrl.values());
|
|
15
19
|
}
|
|
20
|
+
namespacesByName = new Map();
|
|
16
21
|
//#region constructor
|
|
17
22
|
constructor(url) {
|
|
18
23
|
this.url = url;
|
|
19
|
-
this.namespacesByName = new Map();
|
|
20
24
|
MockServer.serverByUrl.set(url, this);
|
|
21
25
|
}
|
|
22
26
|
//#endregion
|
|
@@ -36,6 +40,20 @@ class MockServer {
|
|
|
36
40
|
//#endregion
|
|
37
41
|
//#region mock namespace
|
|
38
42
|
class MockNamespace {
|
|
43
|
+
name;
|
|
44
|
+
server;
|
|
45
|
+
/**
|
|
46
|
+
* All sockets connected to this namespace
|
|
47
|
+
*/
|
|
48
|
+
allSocketsForNamespace = new Set();
|
|
49
|
+
/**
|
|
50
|
+
* Rooms and their sockets
|
|
51
|
+
*/
|
|
52
|
+
socketByRoomName = {};
|
|
53
|
+
/**
|
|
54
|
+
* Event handlers for this namespace
|
|
55
|
+
*/
|
|
56
|
+
namespaceEventHandlers = {};
|
|
39
57
|
//#region constructor
|
|
40
58
|
constructor(
|
|
41
59
|
/**
|
|
@@ -44,18 +62,6 @@ class MockNamespace {
|
|
|
44
62
|
name, server) {
|
|
45
63
|
this.name = name;
|
|
46
64
|
this.server = server;
|
|
47
|
-
/**
|
|
48
|
-
* All sockets connected to this namespace
|
|
49
|
-
*/
|
|
50
|
-
this.allSocketsForNamespace = new Set();
|
|
51
|
-
/**
|
|
52
|
-
* Rooms and their sockets
|
|
53
|
-
*/
|
|
54
|
-
this.socketByRoomName = {};
|
|
55
|
-
/**
|
|
56
|
-
* Event handlers for this namespace
|
|
57
|
-
*/
|
|
58
|
-
this.namespaceEventHandlers = {};
|
|
59
65
|
}
|
|
60
66
|
//#endregion
|
|
61
67
|
//#region on
|
|
@@ -135,6 +141,9 @@ class MockNamespace {
|
|
|
135
141
|
//#endregion
|
|
136
142
|
//#region room emitter
|
|
137
143
|
class RoomEmitter {
|
|
144
|
+
sockets;
|
|
145
|
+
includeSender;
|
|
146
|
+
sender;
|
|
138
147
|
//#region constructor
|
|
139
148
|
constructor(sockets, includeSender = false, sender = null) {
|
|
140
149
|
this.sockets = sockets;
|
|
@@ -158,13 +167,15 @@ class RoomEmitter {
|
|
|
158
167
|
//#endregion
|
|
159
168
|
//#region mock socket
|
|
160
169
|
class MockSocket {
|
|
170
|
+
url;
|
|
171
|
+
namespaceInstance;
|
|
172
|
+
socketEventHandlers = {};
|
|
161
173
|
get id() {
|
|
162
174
|
return this.nsp.name;
|
|
163
175
|
}
|
|
164
176
|
//#region constructor
|
|
165
177
|
constructor(url, opts) {
|
|
166
178
|
this.url = url;
|
|
167
|
-
this.socketEventHandlers = {};
|
|
168
179
|
// @ts-ignore
|
|
169
180
|
const [baseUrl, namespace] = [url, opts.path || '/'];
|
|
170
181
|
// console.log({ url, baseUrl, namespace });
|
|
@@ -209,11 +220,11 @@ class MockSocket {
|
|
|
209
220
|
//#region emit
|
|
210
221
|
emit(eventName, ...args) {
|
|
211
222
|
eventName = eventName || '';
|
|
212
|
-
if (eventName.includes(`:${Symbols__NS__REALTIME.KEYroomSubscribe}`)) {
|
|
223
|
+
if (eventName.includes(`:${symbols_1.Symbols__NS__REALTIME.KEYroomSubscribe}`)) {
|
|
213
224
|
const room = args[0];
|
|
214
225
|
this.join(room);
|
|
215
226
|
}
|
|
216
|
-
else if (eventName.includes(`:${Symbols__NS__REALTIME.KEYroomUnsubscribe}`)) {
|
|
227
|
+
else if (eventName.includes(`:${symbols_1.Symbols__NS__REALTIME.KEYroomUnsubscribe}`)) {
|
|
217
228
|
const room = args[0];
|
|
218
229
|
this.leave(room);
|
|
219
230
|
}
|
|
@@ -263,7 +274,8 @@ class MockSocket {
|
|
|
263
274
|
* Purpose:
|
|
264
275
|
* - browser-browser communication mock (in websql mode)
|
|
265
276
|
*/
|
|
266
|
-
|
|
277
|
+
class RealtimeStrategyMock extends realtime_strategy_1.RealtimeStrategy {
|
|
278
|
+
ctx;
|
|
267
279
|
//#region toString
|
|
268
280
|
toString() {
|
|
269
281
|
return 'mock';
|
|
@@ -287,3 +299,5 @@ export class RealtimeStrategyMock extends RealtimeStrategy {
|
|
|
287
299
|
return clientIo;
|
|
288
300
|
}
|
|
289
301
|
}
|
|
302
|
+
exports.RealtimeStrategyMock = RealtimeStrategyMock;
|
|
303
|
+
//# sourceMappingURL=realtime-strategy-mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-strategy-mock.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EndpointContext } from '../../endpoint-context';
|
|
2
|
+
import { RealtimeStrategy } from './realtime-strategy';
|
|
3
|
+
import { Server } from 'socket.io';
|
|
4
|
+
import { io } from 'socket.io-client';
|
|
5
|
+
/**
|
|
6
|
+
* Purpose:
|
|
7
|
+
* - backend-browser communication
|
|
8
|
+
* - backend-backend communication
|
|
9
|
+
*/
|
|
10
|
+
export declare class RealtimeStrategySocketIO extends RealtimeStrategy {
|
|
11
|
+
protected ctx: EndpointContext;
|
|
12
|
+
toString(): string;
|
|
13
|
+
constructor(ctx: EndpointContext);
|
|
14
|
+
ioServer(...args: any[]): Server<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
|
|
15
|
+
get ioClient(): typeof io;
|
|
16
|
+
}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RealtimeStrategySocketIO = void 0;
|
|
4
|
+
const realtime_strategy_1 = require("./realtime-strategy");
|
|
2
5
|
//#region @backend
|
|
3
|
-
|
|
6
|
+
const socket_io_1 = require("socket.io");
|
|
4
7
|
//#endregion
|
|
5
|
-
|
|
8
|
+
const socket_io_client_1 = require("socket.io-client");
|
|
6
9
|
/**
|
|
7
10
|
* Purpose:
|
|
8
11
|
* - backend-browser communication
|
|
9
12
|
* - backend-backend communication
|
|
10
13
|
*/
|
|
11
|
-
|
|
14
|
+
class RealtimeStrategySocketIO extends realtime_strategy_1.RealtimeStrategy {
|
|
15
|
+
ctx;
|
|
12
16
|
toString() {
|
|
13
17
|
return 'socket-io';
|
|
14
18
|
}
|
|
@@ -18,10 +22,12 @@ export class RealtimeStrategySocketIO extends RealtimeStrategy {
|
|
|
18
22
|
}
|
|
19
23
|
ioServer(...args) {
|
|
20
24
|
//#region @backendFunc
|
|
21
|
-
return new Server(...args);
|
|
25
|
+
return new socket_io_1.Server(...args);
|
|
22
26
|
//#endregion
|
|
23
27
|
}
|
|
24
28
|
get ioClient() {
|
|
25
|
-
return io;
|
|
29
|
+
return socket_io_client_1.io;
|
|
26
30
|
}
|
|
27
31
|
}
|
|
32
|
+
exports.RealtimeStrategySocketIO = RealtimeStrategySocketIO;
|
|
33
|
+
//# sourceMappingURL=realtime-strategy-socket-io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-strategy-socket-io.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEA,2DAAuD;AACvD,kBAAkB;AAClB,yCAAkD;AAClD,YAAY;AACZ,uDAA6E;AAE7E;;;;GAIG;AACH,MAAa,wBAAyB,SAAQ,oCAAgB;IAItC;IAHtB,QAAQ;QACN,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,YAAsB,GAAoB;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;QADS,QAAG,GAAH,GAAG,CAAiB;IAE1C,CAAC;IAED,QAAQ,CAAC,GAAG,IAAI;QACd,sBAAsB;QACtB,OAAO,IAAI,kBAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,YAAY;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,qBAAE,CAAC;IACZ,CAAC;CACF;AAjBD,4DAiBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EndpointContext } from '../../endpoint-context';
|
|
2
|
+
import type { Server, ServerOptions } from 'socket.io';
|
|
3
|
+
import type { io } from 'socket.io-client';
|
|
4
|
+
import { DefaultEventsMap } from 'socket.io';
|
|
5
|
+
export declare abstract class RealtimeStrategy {
|
|
6
|
+
protected ctx: EndpointContext;
|
|
7
|
+
constructor(ctx: EndpointContext);
|
|
8
|
+
get ioClient(): typeof io;
|
|
9
|
+
ioServer(url: string, opt: ServerOptions): Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
|
|
10
|
+
abstract toString(): string;
|
|
11
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RealtimeStrategy = void 0;
|
|
4
|
+
class RealtimeStrategy {
|
|
5
|
+
ctx;
|
|
2
6
|
constructor(ctx) {
|
|
3
7
|
this.ctx = ctx;
|
|
4
8
|
}
|
|
@@ -9,3 +13,5 @@ export class RealtimeStrategy {
|
|
|
9
13
|
throw new Error('Not implemented');
|
|
10
14
|
}
|
|
11
15
|
}
|
|
16
|
+
exports.RealtimeStrategy = RealtimeStrategy;
|
|
17
|
+
//# sourceMappingURL=realtime-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-strategy.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAKA,MAAsB,gBAAgB;IACd;IAAtB,YAAsB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE9C,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ,CACN,GAAW,EACX,GAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CAGF;AAfD,4CAeC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Subscriber } from 'rxjs';
|
|
2
|
+
import { Socket as SocketClient } from 'socket.io-client';
|
|
3
|
+
import { DefaultEventsMap } from 'socket.io';
|
|
4
|
+
import { RealtimeModels__NS__SubsManagerOpt } from './realtime.models';
|
|
5
|
+
export declare class RealtimeSubsManager {
|
|
6
|
+
private options;
|
|
7
|
+
private isListening;
|
|
8
|
+
private observers;
|
|
9
|
+
constructor(options: RealtimeModels__NS__SubsManagerOpt);
|
|
10
|
+
startListenIfNotStarted(realtime: SocketClient<DefaultEventsMap, DefaultEventsMap>): void;
|
|
11
|
+
add(observer: Subscriber<any>): void;
|
|
12
|
+
remove(observer: Subscriber<any>): void;
|
|
13
|
+
private update;
|
|
14
|
+
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RealtimeSubsManager = void 0;
|
|
1
4
|
//#endregion
|
|
2
|
-
|
|
3
|
-
|
|
5
|
+
const lib_prod_1 = require("tnp-core/lib-prod");
|
|
6
|
+
const symbols_1 = require("../symbols");
|
|
4
7
|
//#endregion
|
|
5
|
-
|
|
8
|
+
class RealtimeSubsManager {
|
|
9
|
+
options;
|
|
10
|
+
isListening = false;
|
|
11
|
+
observers = [];
|
|
6
12
|
constructor(options) {
|
|
7
13
|
this.options = options;
|
|
8
|
-
this.isListening = false;
|
|
9
|
-
this.observers = [];
|
|
10
14
|
}
|
|
11
15
|
//#region methods & getters / start listen if not started
|
|
12
16
|
startListenIfNotStarted(realtime) {
|
|
@@ -22,18 +26,18 @@ export class RealtimeSubsManager {
|
|
|
22
26
|
// console.info(`[BROWSER]][IPC] subscribe to "${this.options?.roomName}" by sending event: "${subscribeEvent}"`, this.options);
|
|
23
27
|
this.isListening = true;
|
|
24
28
|
if (this.options.customEvent) {
|
|
25
|
-
const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.options.core.ctx.contextName);
|
|
29
|
+
const subscribeEvent = symbols_1.Symbols__NS__REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.options.core.ctx.contextName);
|
|
26
30
|
// this means: send to current client custom event notification
|
|
27
31
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
28
32
|
}
|
|
29
33
|
else {
|
|
30
|
-
if (___NS__isString(this.options.property)) {
|
|
31
|
-
const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
34
|
+
if ((0, lib_prod_1.___NS__isString)(this.options.property)) {
|
|
35
|
+
const subscribeEvent = symbols_1.Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
32
36
|
// this means: send to current client entity property events updates
|
|
33
37
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
34
38
|
}
|
|
35
39
|
else {
|
|
36
|
-
const subscribeEvent = Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
40
|
+
const subscribeEvent = symbols_1.Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
37
41
|
// this means: send to current client entity update events
|
|
38
42
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
39
43
|
}
|
|
@@ -61,14 +65,14 @@ export class RealtimeSubsManager {
|
|
|
61
65
|
const { core, customEvent, roomName, property } = this.options;
|
|
62
66
|
const realtime = core.socketFE;
|
|
63
67
|
if (customEvent) {
|
|
64
|
-
realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
|
|
68
|
+
realtime.emit(symbols_1.Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
|
|
65
69
|
}
|
|
66
70
|
else {
|
|
67
|
-
if (___NS__isString(property)) {
|
|
68
|
-
realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
71
|
+
if ((0, lib_prod_1.___NS__isString)(property)) {
|
|
72
|
+
realtime.emit(symbols_1.Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
69
73
|
}
|
|
70
74
|
else {
|
|
71
|
-
realtime.emit(Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
75
|
+
realtime.emit(symbols_1.Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
78
|
}
|
|
@@ -86,3 +90,5 @@ export class RealtimeSubsManager {
|
|
|
86
90
|
});
|
|
87
91
|
}
|
|
88
92
|
}
|
|
93
|
+
exports.RealtimeSubsManager = RealtimeSubsManager;
|
|
94
|
+
//# sourceMappingURL=realtime-subs-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-subs-manager.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RealtimeCore } from './realtime-core';
|
|
2
|
+
export type RealtimeModels__NS__SubsManagerOpt = {
|
|
3
|
+
core: RealtimeCore;
|
|
4
|
+
customEvent: string;
|
|
5
|
+
roomName: string;
|
|
6
|
+
property: string;
|
|
7
|
+
};
|
|
8
|
+
export interface RealtimeModels__NS__ChangeOption {
|
|
9
|
+
/**
|
|
10
|
+
* Specify property name to listen changes on that property only;
|
|
11
|
+
*/
|
|
12
|
+
property?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Override custom event name to listen
|
|
15
|
+
*/
|
|
16
|
+
customEvent?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Value from entity object.
|
|
19
|
+
* Key for this value is usually id or unique key
|
|
20
|
+
* property defined in entity decorator.
|
|
21
|
+
* TODO @LAST IMPLEMENT unique key support
|
|
22
|
+
*/
|
|
23
|
+
idOrUniqValue?: any;
|
|
24
|
+
}
|
|
25
|
+
export type RealtimeModels__NS__EventHandler = (...args: any[]) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;AAgCA,iCAAiC"}
|