taon 18.0.15 → 18.0.18
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 +6 -3
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
- package/browser/esm2022/lib/base-classes/base.mjs +1 -3
- package/browser/esm2022/lib/create-context.mjs +20 -1
- package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
- package/browser/esm2022/lib/endpoint-context.mjs +10 -136
- package/browser/esm2022/lib/entity-process.mjs +3 -3
- package/browser/esm2022/lib/helpers/class-helpers.mjs +2 -2
- package/browser/esm2022/lib/index.mjs +1 -14
- package/browser/esm2022/lib/inject.mjs +4 -38
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/esm2022/lib/realtime/realtime-client.mjs +32 -20
- package/browser/esm2022/lib/realtime/realtime-core.mjs +15 -7
- package/browser/esm2022/lib/realtime/realtime-server.mjs +34 -16
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +198 -29
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
- package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
- package/browser/esm2022/lib/realtime/realtime.models.mjs +1 -1
- package/browser/esm2022/lib/symbols.mjs +45 -38
- package/browser/fesm2022/taon.mjs +557 -559
- package/browser/fesm2022/taon.mjs.map +1 -1
- package/browser/lib/base-classes/base-context.d.ts +4 -0
- package/browser/lib/base-classes/base.d.ts +4 -2
- package/browser/lib/create-context.d.ts +13 -0
- package/browser/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
- package/browser/lib/helpers/class-helpers.d.ts +1 -1
- package/browser/lib/index.d.ts +12 -13
- package/browser/lib/inject.d.ts +1 -8
- package/browser/lib/models.d.ts +17 -9
- package/browser/lib/realtime/realtime-client.d.ts +8 -2
- package/browser/lib/realtime/realtime-core.d.ts +6 -6
- package/browser/lib/realtime/realtime-server.d.ts +9 -4
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
- package/browser/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
- package/browser/lib/realtime/realtime.models.d.ts +1 -0
- package/browser/lib/symbols.d.ts +30 -36
- package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
- package/client/esm2022/lib/base-classes/base.mjs +1 -3
- package/client/esm2022/lib/create-context.mjs +20 -1
- package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
- package/client/esm2022/lib/endpoint-context.mjs +10 -136
- package/client/esm2022/lib/entity-process.mjs +3 -3
- package/client/esm2022/lib/helpers/class-helpers.mjs +2 -2
- package/client/esm2022/lib/index.mjs +1 -14
- package/client/esm2022/lib/inject.mjs +4 -38
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/esm2022/lib/realtime/realtime-client.mjs +32 -20
- package/client/esm2022/lib/realtime/realtime-core.mjs +15 -7
- package/client/esm2022/lib/realtime/realtime-server.mjs +34 -16
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +198 -29
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
- package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
- package/client/esm2022/lib/realtime/realtime.models.mjs +1 -1
- package/client/esm2022/lib/symbols.mjs +45 -38
- package/client/fesm2022/taon.mjs +557 -559
- package/client/fesm2022/taon.mjs.map +1 -1
- package/client/lib/base-classes/base-context.d.ts +4 -0
- package/client/lib/base-classes/base.d.ts +4 -2
- package/client/lib/create-context.d.ts +13 -0
- package/client/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
- package/client/lib/helpers/class-helpers.d.ts +1 -1
- package/client/lib/index.d.ts +12 -13
- package/client/lib/inject.d.ts +1 -8
- package/client/lib/models.d.ts +17 -9
- package/client/lib/realtime/realtime-client.d.ts +8 -2
- package/client/lib/realtime/realtime-core.d.ts +6 -6
- package/client/lib/realtime/realtime-server.d.ts +9 -4
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
- package/client/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
- package/client/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
- package/client/lib/realtime/realtime.models.d.ts +1 -0
- package/client/lib/symbols.d.ts +30 -36
- package/lib/base-classes/base-context.d.ts +4 -0
- package/lib/base-classes/base-subscriber-for-entity.js +38 -19
- package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
- package/lib/base-classes/base.d.ts +4 -2
- package/lib/base-classes/base.js +0 -2
- package/lib/base-classes/base.js.map +1 -1
- package/lib/create-context.d.ts +13 -0
- package/lib/create-context.js +19 -8
- package/lib/create-context.js.map +1 -1
- package/lib/decorators/classes/subscriber-decorator.d.ts +1 -1
- package/lib/decorators/classes/subscriber-decorator.js +7 -58
- package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
- package/lib/endpoint-context.js +33 -9
- package/lib/endpoint-context.js.map +1 -1
- package/lib/entity-process.js +2 -2
- package/lib/entity-process.js.map +1 -1
- package/lib/formly/formly-repeat-component.js +1 -1
- package/lib/formly/formly-repeat-component.js.map +1 -1
- package/lib/helpers/class-helpers.d.ts +1 -1
- package/lib/helpers/class-helpers.js +2 -2
- package/lib/helpers/class-helpers.js.map +1 -1
- package/lib/index._auto-generated_.js +6 -0
- package/lib/index._auto-generated_.js.map +1 -0
- package/lib/index.d.ts +12 -13
- package/lib/index.js +1 -17
- package/lib/index.js.map +1 -1
- package/lib/inject.d.ts +3 -7
- package/lib/inject.js +57 -42
- package/lib/inject.js.map +1 -1
- package/lib/models.d.ts +17 -9
- package/lib/models.js.map +1 -1
- package/lib/realtime/realtime-client.d.ts +8 -2
- package/lib/realtime/realtime-client.js +36 -21
- package/lib/realtime/realtime-client.js.map +1 -1
- package/lib/realtime/realtime-core.d.ts +6 -6
- package/lib/realtime/realtime-core.js +17 -6
- package/lib/realtime/realtime-core.js.map +1 -1
- package/lib/realtime/realtime-server.d.ts +9 -4
- package/lib/realtime/realtime-server.js +98 -76
- package/lib/realtime/realtime-server.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -11
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js +301 -40
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
- package/lib/realtime/realtime-strategy/realtime-strategy-mock.js +358 -14
- package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +3 -3
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js +10 -14
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
- package/lib/realtime/realtime-strategy/realtime-strategy.js +9 -2
- package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
- package/lib/realtime/realtime-subs-manager.js +10 -8
- package/lib/realtime/realtime-subs-manager.js.map +1 -1
- package/lib/realtime/realtime.models.d.ts +1 -0
- package/lib/symbols.d.ts +30 -36
- package/lib/symbols.js +63 -39
- package/lib/symbols.js.map +1 -1
- package/lib/ui/directives/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
- package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
- package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
- package/lib/ui/taon-progress-bar/index.js +2 -2
- package/lib/ui/taon-session-passcode/index.js +2 -2
- package/package.json +10 -8
- package/tmp-environment.json +36 -31
- package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
- package/websql/esm2022/lib/base-classes/base.mjs +1 -3
- package/websql/esm2022/lib/create-context.mjs +20 -1
- package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
- package/websql/esm2022/lib/endpoint-context.mjs +16 -18
- package/websql/esm2022/lib/entity-process.mjs +3 -3
- package/websql/esm2022/lib/helpers/class-helpers.mjs +2 -2
- package/websql/esm2022/lib/index.mjs +1 -14
- package/websql/esm2022/lib/inject.mjs +4 -38
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/esm2022/lib/realtime/realtime-client.mjs +32 -20
- package/websql/esm2022/lib/realtime/realtime-core.mjs +15 -7
- package/websql/esm2022/lib/realtime/realtime-server.mjs +90 -72
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +200 -30
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
- package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
- package/websql/esm2022/lib/realtime/realtime.models.mjs +1 -1
- package/websql/esm2022/lib/symbols.mjs +45 -38
- package/websql/fesm2022/taon.mjs +669 -687
- package/websql/fesm2022/taon.mjs.map +1 -1
- package/websql/lib/base-classes/base-context.d.ts +4 -0
- package/websql/lib/base-classes/base.d.ts +4 -2
- package/websql/lib/create-context.d.ts +13 -0
- package/websql/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
- package/websql/lib/helpers/class-helpers.d.ts +1 -1
- package/websql/lib/index.d.ts +12 -13
- package/websql/lib/inject.d.ts +1 -8
- package/websql/lib/models.d.ts +17 -9
- package/websql/lib/realtime/realtime-client.d.ts +8 -2
- package/websql/lib/realtime/realtime-core.d.ts +6 -6
- package/websql/lib/realtime/realtime-server.d.ts +9 -4
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
- package/websql/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
- package/websql/lib/realtime/realtime.models.d.ts +1 -0
- package/websql/lib/symbols.d.ts +30 -36
- package/browser/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
- package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
- package/browser/lib/base-classes/base-subscriber.d.ts +0 -5
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
- package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
- package/client/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
- package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
- package/client/lib/base-classes/base-subscriber.d.ts +0 -5
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
- package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
- package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
- package/lib/base-classes/base-subscriber.d.ts +0 -4
- package/lib/base-classes/base-subscriber.js +0 -25
- package/lib/base-classes/base-subscriber.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +0 -5
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +0 -139
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -16
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +0 -68
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -10
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +0 -56
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -10
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +0 -50
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -13
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +0 -3
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -2
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +0 -6
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -16
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +0 -54
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -17
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +0 -52
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -11
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +0 -39
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -13
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +0 -46
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +0 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -11
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +0 -3
- package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +0 -1
- package/websql/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
- package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
- package/websql/lib/base-classes/base-subscriber.d.ts +0 -5
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
- package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
- /package/lib/{realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts → index._auto-generated_.d.ts} +0 -0
|
@@ -1,6 +1,193 @@
|
|
|
1
1
|
import { RealtimeStrategy } from './realtime-strategy';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export class MockServerIpc {
|
|
3
|
+
static { this.serverByContextName = new Map(); }
|
|
4
|
+
static from(contextName) {
|
|
5
|
+
if (!MockServerIpc.serverByContextName.has(contextName)) {
|
|
6
|
+
MockServerIpc.serverByContextName.set(contextName, new MockServerIpc(contextName));
|
|
7
|
+
}
|
|
8
|
+
return MockServerIpc.serverByContextName.get(contextName);
|
|
9
|
+
}
|
|
10
|
+
constructor(contextName) {
|
|
11
|
+
this.contextName = contextName;
|
|
12
|
+
this.namespacesByName = new Map();
|
|
13
|
+
MockServerIpc.serverByContextName.set(contextName, this);
|
|
14
|
+
}
|
|
15
|
+
of(namespace) {
|
|
16
|
+
if (!this.namespacesByName.has(namespace)) {
|
|
17
|
+
this.namespacesByName.set(namespace, new MockNamespaceIpc(namespace, this));
|
|
18
|
+
}
|
|
19
|
+
return this.namespacesByName.get(namespace);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class MockNamespaceIpc {
|
|
23
|
+
constructor(
|
|
24
|
+
/**
|
|
25
|
+
* Namespace name
|
|
26
|
+
*/
|
|
27
|
+
name, server) {
|
|
28
|
+
this.name = name;
|
|
29
|
+
this.server = server;
|
|
30
|
+
this.electronClients = new Set();
|
|
31
|
+
this.roomsByRoomName = {};
|
|
32
|
+
this.namespaceEventHandlers = {};
|
|
33
|
+
}
|
|
34
|
+
on(eventName, callback) {
|
|
35
|
+
/* */
|
|
36
|
+
/* */
|
|
37
|
+
/* */
|
|
38
|
+
/* */
|
|
39
|
+
/* */
|
|
40
|
+
/* */
|
|
41
|
+
/* */
|
|
42
|
+
/* */
|
|
43
|
+
/* */
|
|
44
|
+
/* */
|
|
45
|
+
/* */
|
|
46
|
+
/* */
|
|
47
|
+
/* */
|
|
48
|
+
/* */
|
|
49
|
+
/* */
|
|
50
|
+
/* */
|
|
51
|
+
/* */
|
|
52
|
+
/* */
|
|
53
|
+
/* */
|
|
54
|
+
/* */
|
|
55
|
+
/* */
|
|
56
|
+
/* */
|
|
57
|
+
/* */
|
|
58
|
+
/* */
|
|
59
|
+
/* */
|
|
60
|
+
/* */
|
|
61
|
+
/* */
|
|
62
|
+
/* */
|
|
63
|
+
/* */
|
|
64
|
+
return (void 0);
|
|
65
|
+
}
|
|
66
|
+
off(event, callback) {
|
|
67
|
+
/* */
|
|
68
|
+
/* */
|
|
69
|
+
/* */
|
|
70
|
+
/* */
|
|
71
|
+
/* */
|
|
72
|
+
/* */
|
|
73
|
+
/* */
|
|
74
|
+
/* */
|
|
75
|
+
/* */
|
|
76
|
+
/* */
|
|
77
|
+
/* */
|
|
78
|
+
/* */
|
|
79
|
+
return (void 0);
|
|
80
|
+
}
|
|
81
|
+
emit(eventName, ...args) {
|
|
82
|
+
/* */
|
|
83
|
+
/* */
|
|
84
|
+
/* */
|
|
85
|
+
/* */
|
|
86
|
+
/* */
|
|
87
|
+
/* */
|
|
88
|
+
/* */
|
|
89
|
+
/* */
|
|
90
|
+
/* */
|
|
91
|
+
return (void 0);
|
|
92
|
+
}
|
|
93
|
+
to(roomName) {
|
|
94
|
+
const electronClientsInroom = this.roomsByRoomName[roomName];
|
|
95
|
+
return new RoomEmitterIpc(electronClientsInroom, this.name, true);
|
|
96
|
+
}
|
|
97
|
+
in(roomName) {
|
|
98
|
+
const electronClientsInroom = this.roomsByRoomName[roomName];
|
|
99
|
+
return new RoomEmitterIpc(electronClientsInroom, this.name, false);
|
|
100
|
+
}
|
|
101
|
+
join(webContents, roomName) {
|
|
102
|
+
if (!this.roomsByRoomName[roomName]) {
|
|
103
|
+
this.roomsByRoomName[roomName] = new Set();
|
|
104
|
+
}
|
|
105
|
+
this.roomsByRoomName[roomName].add(webContents);
|
|
106
|
+
}
|
|
107
|
+
leave(webContents, roomName) {
|
|
108
|
+
if (this.roomsByRoomName[roomName]) {
|
|
109
|
+
this.roomsByRoomName[roomName].delete(webContents);
|
|
110
|
+
if (this.roomsByRoomName[roomName].size === 0) {
|
|
111
|
+
delete this.roomsByRoomName[roomName];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
path() {
|
|
116
|
+
return this.name;
|
|
117
|
+
}
|
|
118
|
+
get nsp() {
|
|
119
|
+
const self = this;
|
|
120
|
+
return {
|
|
121
|
+
get name() {
|
|
122
|
+
return self.name;
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
class RoomEmitterIpc {
|
|
128
|
+
constructor(electronClients,
|
|
129
|
+
/**
|
|
130
|
+
* namespace name
|
|
131
|
+
*/
|
|
132
|
+
name, includeSender = false, sender = null) {
|
|
133
|
+
this.electronClients = electronClients;
|
|
134
|
+
this.name = name;
|
|
135
|
+
this.includeSender = includeSender;
|
|
136
|
+
this.sender = sender;
|
|
137
|
+
}
|
|
138
|
+
emit(eventName, ...args) {
|
|
139
|
+
const emitEvent = `(${this.name}) "${eventName}"`;
|
|
140
|
+
this.electronClients?.forEach(webContents => {
|
|
141
|
+
webContents.send(emitEvent, ...args);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
export class MockSocketIpc {
|
|
146
|
+
get name() {
|
|
147
|
+
return this.namespaceName;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* @param namespaceName instead url for ipc
|
|
151
|
+
*/
|
|
152
|
+
constructor(namespaceName) {
|
|
153
|
+
this.namespaceName = namespaceName;
|
|
154
|
+
this.socketEventHandlers = {};
|
|
155
|
+
this.ipcRenderer = window.require('electron').ipcRenderer;
|
|
156
|
+
}
|
|
157
|
+
on(eventName, callback) {
|
|
158
|
+
if (!this.socketEventHandlers[eventName]) {
|
|
159
|
+
this.socketEventHandlers[eventName] = new Set();
|
|
160
|
+
}
|
|
161
|
+
this.socketEventHandlers[eventName].add(callback);
|
|
162
|
+
const listenToEvent = `(${this.name}) "${eventName}"`;
|
|
163
|
+
this.ipcRenderer.on(listenToEvent, (rendereEvent, data) => {
|
|
164
|
+
callback(data);
|
|
165
|
+
});
|
|
166
|
+
if (eventName === 'connect') {
|
|
167
|
+
const connectionEventKey = `(${this.name}) "connection"`;
|
|
168
|
+
this.ipcRenderer.send(connectionEventKey, this.name);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
off(event, callback) {
|
|
172
|
+
if (!this.socketEventHandlers[event]) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (callback) {
|
|
176
|
+
this.socketEventHandlers[event].delete(callback);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
delete this.socketEventHandlers[event];
|
|
180
|
+
}
|
|
181
|
+
const removeListener = `(${this.name}) "${event}"`;
|
|
182
|
+
this.ipcRenderer.removeListener(removeListener, data => {
|
|
183
|
+
callback(data);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
emit(event, ...args) {
|
|
187
|
+
const emitEvent = `(${this.name}) "${event}"`;
|
|
188
|
+
this.ipcRenderer.send(emitEvent, ...args);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
4
191
|
/**
|
|
5
192
|
* Purpose:
|
|
6
193
|
* - backend-browser communication between 2 processes in electron mode
|
|
@@ -9,40 +196,23 @@ export class RealtimeStrategyIpc extends RealtimeStrategy {
|
|
|
9
196
|
toString() {
|
|
10
197
|
return 'ipc';
|
|
11
198
|
}
|
|
12
|
-
establishConnection() {
|
|
13
|
-
throw new Error('Method not implemented.');
|
|
14
|
-
}
|
|
15
199
|
constructor(ctx) {
|
|
16
200
|
super(ctx);
|
|
17
201
|
this.ctx = ctx;
|
|
18
|
-
this.contextsServers = {};
|
|
19
|
-
this.contextsIO = {};
|
|
20
202
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
const wrap = new IpcRendererWrapper(this.ctx.contextName);
|
|
27
|
-
const nsp = wrap.of(namespacePath);
|
|
28
|
-
this.contextsIO[namespacePath] = nsp;
|
|
29
|
-
return nsp;
|
|
30
|
-
});
|
|
31
|
-
return void 0;
|
|
203
|
+
ioServer(__, opt) {
|
|
204
|
+
const namespace = opt?.path || '/';
|
|
205
|
+
const server = MockServerIpc.from(this.ctx.contextName);
|
|
206
|
+
return server.of(namespace);
|
|
32
207
|
}
|
|
33
|
-
get
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const nsp = wrap.of(namespacePath);
|
|
40
|
-
this.contextsServers[namespacePath] = nsp;
|
|
41
|
-
return nsp;
|
|
42
|
-
});
|
|
43
|
-
return void 0;
|
|
208
|
+
get ioClient() {
|
|
209
|
+
const clientIo = (__, opt) => {
|
|
210
|
+
const namespace = opt?.path || '/';
|
|
211
|
+
return new MockSocketIpc(namespace);
|
|
212
|
+
};
|
|
213
|
+
return clientIo;
|
|
44
214
|
}
|
|
45
215
|
}
|
|
46
216
|
;
|
|
47
217
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-ipc.ts
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxJQUFJLGFBQWEsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBRzNHOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDdkQsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELG1CQUFtQjtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBSTFDLG9CQUFlLEdBQXNDLEVBQUUsQ0FBQztRQUN4RCxlQUFVLEdBQXlDLEVBQUUsQ0FBQztJQUh0RCxDQUFDO0lBS0QsSUFBSSxFQUFFO1FBRUosT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTFELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFVLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQVEsQ0FBQztRQUVWLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUVSLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQVUsQ0FBQztZQUNqRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBUSxDQUFDO1FBRVYsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlGQUF5RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBpb0lwY1N0cmF0ZWd5IGFzIElvSXBjU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy1tb2RlbHMvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLW1haW4td3JhcHBlcic7XG5pbXBvcnQgeyBJcGNSZW5kZXJlcldyYXBwZXIgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy1tb2RlbHMvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLXJlbmRlcmVyLXdyYXBwZXInO1xuaW1wb3J0IHR5cGUgeyBpbyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJhY2tlbmQtYnJvd3NlciBjb21tdW5pY2F0aW9uIGJldHdlZW4gMiBwcm9jZXNzZXMgaW4gZWxlY3Ryb24gbW9kZVxuICovXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdHJhdGVneUlwYyBleHRlbmRzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaXBjJztcbiAgfVxuICBlc3RhYmxpc2hDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgY29udGV4dHNTZXJ2ZXJzOiB7IFtjb250ZXh0TmFtZTogc3RyaW5nXTogU2VydmVyIH0gPSB7fTtcbiAgY29udGV4dHNJTzogeyBbY29udGV4dE5hbWU6IHN0cmluZ106IHR5cGVvZiBpbyB9ID0ge307XG5cbiAgZ2V0IGlvKCkge1xuXG4gICAgcmV0dXJuICgoX18sIHsgcGF0aDogbmFtZXNwYWNlUGF0aCB9KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0c0lPW25hbWVzcGFjZVBhdGhdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHRzSU9bbmFtZXNwYWNlUGF0aF07XG4gICAgICB9XG4gICAgICBjb25zdCB3cmFwID0gbmV3IElwY1JlbmRlcmVyV3JhcHBlcih0aGlzLmN0eC5jb250ZXh0TmFtZSk7XG5cbiAgICAgIGNvbnN0IG5zcCA9IHdyYXAub2YobmFtZXNwYWNlUGF0aCk7XG4gICAgICB0aGlzLmNvbnRleHRzSU9bbmFtZXNwYWNlUGF0aF0gPSBuc3AgYXMgYW55O1xuICAgICAgcmV0dXJuIG5zcDtcbiAgICB9KSBhcyBhbnk7XG5cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBTZXJ2ZXIoKSB7XG5cbiAgICByZXR1cm4gKChfX18sIHsgcGF0aDogbmFtZXNwYWNlUGF0aCB9KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0c1NlcnZlcnNbbmFtZXNwYWNlUGF0aF0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dHNTZXJ2ZXJzW25hbWVzcGFjZVBhdGhdO1xuICAgICAgfVxuICAgICAgY29uc3Qgd3JhcCA9IG5ldyBJb0lwY1N0cmF0ZWd5KHRoaXMuY3R4LmNvbnRleHROYW1lKTtcblxuICAgICAgY29uc3QgbnNwID0gd3JhcC5vZihuYW1lc3BhY2VQYXRoKTtcbiAgICAgIHRoaXMuY29udGV4dHNTZXJ2ZXJzW25hbWVzcGFjZVBhdGhdID0gbnNwIGFzIGFueTtcbiAgICAgIHJldHVybiBuc3A7XG4gICAgfSkgYXMgYW55O1xuXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLnRzIl19
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVl2RCxNQUFNLE9BQU8sYUFBYTthQUNqQix3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQUFBbkMsQ0FBb0M7SUFFOUQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFtQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3hELGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQ25DLFdBQVcsRUFDWCxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FDL0IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUtELFlBQW1CLFdBQW1CO1FBQW5CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBSHRDLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBSXJELGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFJRCxFQUFFLENBQUMsU0FBaUI7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUN2QixTQUFTLEVBQ1QsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQ3RDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQWEzQjtJQUNFOztPQUVHO0lBQ0ksSUFBWSxFQUNaLE1BQXFCO1FBRHJCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBaEI5QixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBQ2xELG9CQUFlLEdBRVgsRUFBRSxDQUFDO1FBRUMsMkJBQXNCLEdBRTFCLEVBQUUsQ0FBQztJQVVKLENBQUM7SUFJSixFQUFFLENBQUMsU0FBaUIsRUFBRSxRQUFxQztRQUM3RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxHQUFHLENBQUMsS0FBYSxFQUFFLFFBQXNDO1FBQzNELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLENBQUMsU0FBaUIsRUFBRSxHQUFHLElBQVc7UUFDeEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEVBQUUsQ0FBQyxRQUFnQjtRQUNqQixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFJRCxFQUFFLENBQUMsUUFBZ0I7UUFDakIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELE9BQU8sSUFBSSxjQUFjLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBSUQsSUFBSSxDQUFDLFdBQWlDLEVBQUUsUUFBZ0I7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0MsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFJRCxLQUFLLENBQUMsV0FBaUMsRUFBRSxRQUFnQjtRQUN2RCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBSUQsSUFBSSxHQUFHO1FBQ0wsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU87WUFDTCxJQUFJLElBQUk7Z0JBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUVGO0FBS0QsTUFBTSxjQUFjO0lBRWxCLFlBQ1UsZUFBMEM7SUFDbEQ7O09BRUc7SUFDSyxJQUFZLEVBQ1osZ0JBQXlCLEtBQUssRUFDOUIsU0FBd0IsSUFBSTtRQU41QixvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFJMUMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUNuQyxDQUFDO0lBSUosSUFBSSxDQUFDLFNBQWlCLEVBQUUsR0FBRyxJQUFXO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksTUFBTSxTQUFTLEdBQUcsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGO0FBSUQsTUFBTSxPQUFPLGFBQWE7SUFjeEIsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFNRDs7T0FFRztJQUNILFlBQW1CLGFBQXFCO1FBQXJCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBakJoQyx3QkFBbUIsR0FBRyxFQUU3QixDQUFDO1FBZ0JBLElBQUksQ0FBQyxXQUFXLEdBQUksTUFBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDckUsQ0FBQztJQUlELEVBQUUsQ0FBQyxTQUFpQixFQUFFLFFBQThDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRCxNQUFNLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLE1BQU0sU0FBUyxHQUFHLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3hELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFJRCxHQUFHLENBQUMsS0FBYSxFQUFFLFFBQStDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsQ0FBQztRQUVuRCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDckQsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQUksQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFXO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBRUY7QUFHRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQWdCO0lBRXZELFFBQVE7UUFDTixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFJRCxZQUFzQixHQUFvQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtJQUUxQyxDQUFDO0lBSUQsUUFBUSxDQUFDLEVBQVUsRUFBRSxHQUFrQjtRQUNyQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBUSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixNQUFNLFFBQVEsR0FBRyxDQUNmLEVBQVUsRUFDVixHQUE2QyxFQUM5QixFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDO1lBQ25DLE9BQU8sSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxRQUFlLENBQUM7SUFDekIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5RkFBeUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBTZXJ2ZXIsIFNlcnZlck9wdGlvbnMgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgdHlwZSB7IGlvLCBNYW5hZ2VyT3B0aW9ucywgU29ja2V0T3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBpcGNSZW5kZXJlciB9IGZyb20gJ2VsZWN0cm9uJztcbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuLi8uLi9zeW1ib2xzJztcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4uL3JlYWx0aW1lLm1vZGVscyc7XG5cblxuXG5leHBvcnQgY2xhc3MgTW9ja1NlcnZlcklwYyB7XG4gIHN0YXRpYyBzZXJ2ZXJCeUNvbnRleHROYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tTZXJ2ZXJJcGM+KCk7XG5cbiAgc3RhdGljIGZyb20oY29udGV4dE5hbWU6IHN0cmluZyk6IE1vY2tTZXJ2ZXJJcGMge1xuICAgIGlmICghTW9ja1NlcnZlcklwYy5zZXJ2ZXJCeUNvbnRleHROYW1lLmhhcyhjb250ZXh0TmFtZSkpIHtcbiAgICAgIE1vY2tTZXJ2ZXJJcGMuc2VydmVyQnlDb250ZXh0TmFtZS5zZXQoXG4gICAgICAgIGNvbnRleHROYW1lLFxuICAgICAgICBuZXcgTW9ja1NlcnZlcklwYyhjb250ZXh0TmFtZSksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gTW9ja1NlcnZlcklwYy5zZXJ2ZXJCeUNvbnRleHROYW1lLmdldChjb250ZXh0TmFtZSk7XG4gIH1cblxuICBuYW1lc3BhY2VzQnlOYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tOYW1lc3BhY2VJcGM+KCk7XG5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgIE1vY2tTZXJ2ZXJJcGMuc2VydmVyQnlDb250ZXh0TmFtZS5zZXQoY29udGV4dE5hbWUsIHRoaXMpO1xuICB9XG5cblxuXG4gIG9mKG5hbWVzcGFjZTogc3RyaW5nKTogTW9ja05hbWVzcGFjZUlwYyB7XG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZXNCeU5hbWUuaGFzKG5hbWVzcGFjZSkpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5zZXQoXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgbmV3IE1vY2tOYW1lc3BhY2VJcGMobmFtZXNwYWNlLCB0aGlzKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZXNCeU5hbWUuZ2V0KG5hbWVzcGFjZSk7XG4gIH1cblxufVxuXG5cblxuZXhwb3J0IGNsYXNzIE1vY2tOYW1lc3BhY2VJcGMge1xuXG4gIGVsZWN0cm9uQ2xpZW50cyA9IG5ldyBTZXQ8RWxlY3Ryb24uV2ViQ29udGVudHM+KCk7XG4gIHJvb21zQnlSb29tTmFtZToge1xuICAgIFtyb29tTmFtZTogc3RyaW5nXTogU2V0PEVsZWN0cm9uLldlYkNvbnRlbnRzPjtcbiAgfSA9IHt9O1xuXG4gIHByaXZhdGUgbmFtZXNwYWNlRXZlbnRIYW5kbGVyczoge1xuICAgIFtldmVudE5hbWU6IHN0cmluZ106IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+O1xuICB9ID0ge307XG5cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIE5hbWVzcGFjZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgc2VydmVyOiBNb2NrU2VydmVySXBjLFxuICApIHt9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogUmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgb2ZmKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrPzogUmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRvKHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbGVjdHJvbkNsaWVudHNJbnJvb20gPSB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgcmV0dXJuIG5ldyBSb29tRW1pdHRlcklwYyhlbGVjdHJvbkNsaWVudHNJbnJvb20sIHRoaXMubmFtZSwgdHJ1ZSk7XG4gIH1cblxuXG5cbiAgaW4ocm9vbU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZWN0cm9uQ2xpZW50c0lucm9vbSA9IHRoaXMucm9vbXNCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICByZXR1cm4gbmV3IFJvb21FbWl0dGVySXBjKGVsZWN0cm9uQ2xpZW50c0lucm9vbSwgdGhpcy5uYW1lLCBmYWxzZSk7XG4gIH1cblxuXG5cbiAgam9pbih3ZWJDb250ZW50czogRWxlY3Ryb24uV2ViQ29udGVudHMsIHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucm9vbXNCeVJvb21OYW1lW3Jvb21OYW1lXSkge1xuICAgICAgdGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdID0gbmV3IFNldCgpO1xuICAgIH1cbiAgICB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uYWRkKHdlYkNvbnRlbnRzKTtcbiAgfVxuXG5cblxuICBsZWF2ZSh3ZWJDb250ZW50czogRWxlY3Ryb24uV2ViQ29udGVudHMsIHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdKSB7XG4gICAgICB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uZGVsZXRlKHdlYkNvbnRlbnRzKTtcbiAgICAgIGlmICh0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uc2l6ZSA9PT0gMCkge1xuICAgICAgICBkZWxldGUgdGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBwYXRoKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuXG5cbiAgZ2V0IG5zcCgpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBzZWxmLm5hbWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxufVxuXG5cblxuXG5jbGFzcyBSb29tRW1pdHRlcklwYyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVjdHJvbkNsaWVudHM6IFNldDxFbGVjdHJvbi5XZWJDb250ZW50cz4sXG4gICAgLyoqXG4gICAgICogbmFtZXNwYWNlIG5hbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIGluY2x1ZGVTZW5kZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwcml2YXRlIHNlbmRlcjogTW9ja1NvY2tldElwYyA9IG51bGwsIC8vIFRPRE8gUVVJQ0sgRklYIGhvdyB0byBpbmNsdWRlIHNlbmRlclxuICApIHt9XG5cblxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgY29uc3QgZW1pdEV2ZW50ID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudE5hbWV9XCJgO1xuICAgIHRoaXMuZWxlY3Ryb25DbGllbnRzPy5mb3JFYWNoKHdlYkNvbnRlbnRzID0+IHtcbiAgICAgIHdlYkNvbnRlbnRzLnNlbmQoZW1pdEV2ZW50LCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgfVxuXG59XG5cblxuXG5leHBvcnQgY2xhc3MgTW9ja1NvY2tldElwYyB7XG5cblxuXG4gIGlwY1JlbmRlcmVyITogdHlwZW9mIGlwY1JlbmRlcmVyO1xuXG5cblxuICBwcml2YXRlIHNvY2tldEV2ZW50SGFuZGxlcnMgPSB7fSBhcyB7XG4gICAgW2V2ZW50TmFtZTogc3RyaW5nXTogU2V0PFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcj47XG4gIH07XG5cblxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZU5hbWU7XG4gIH1cblxuXG5cblxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZXNwYWNlTmFtZSBpbnN0ZWFkIHVybCBmb3IgaXBjXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZXNwYWNlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pcGNSZW5kZXJlciA9ICh3aW5kb3cgYXMgYW55KS5yZXF1aXJlKCdlbGVjdHJvbicpLmlwY1JlbmRlcmVyO1xuICB9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogKGV2ZW50OiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgaWYgKCF0aGlzLnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gPSBuZXcgU2V0KCk7XG4gICAgfVxuICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChjYWxsYmFjayk7XG5cbiAgICBjb25zdCBsaXN0ZW5Ub0V2ZW50ID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudE5hbWV9XCJgO1xuICAgIHRoaXMuaXBjUmVuZGVyZXIub24obGlzdGVuVG9FdmVudCwgKHJlbmRlcmVFdmVudCwgZGF0YSkgPT4ge1xuICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgfSk7XG5cbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29ubmVjdCcpIHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb25FdmVudEtleSA9IGAoJHt0aGlzLm5hbWV9KSBcImNvbm5lY3Rpb25cImA7XG4gICAgICB0aGlzLmlwY1JlbmRlcmVyLnNlbmQoY29ubmVjdGlvbkV2ZW50S2V5LCB0aGlzLm5hbWUpO1xuICAgIH1cbiAgfVxuXG5cblxuICBvZmYoZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s/OiAoZXZlbnQ6IGFueSwgLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICBpZiAoIXRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF0uZGVsZXRlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF07XG4gICAgfVxuICAgIGNvbnN0IHJlbW92ZUxpc3RlbmVyID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudH1cImA7XG5cbiAgICB0aGlzLmlwY1JlbmRlcmVyLnJlbW92ZUxpc3RlbmVyKHJlbW92ZUxpc3RlbmVyLCBkYXRhID0+IHtcbiAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cblxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCBlbWl0RXZlbnQgPSBgKCR7dGhpcy5uYW1lfSkgXCIke2V2ZW50fVwiYDtcbiAgICB0aGlzLmlwY1JlbmRlcmVyLnNlbmQoZW1pdEV2ZW50LCAuLi5hcmdzKTtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBQdXJwb3NlOlxuICogLSBiYWNrZW5kLWJyb3dzZXIgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIDIgcHJvY2Vzc2VzIGluIGVsZWN0cm9uIG1vZGVcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lJcGMgZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaXBjJztcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cblxuXG4gIGlvU2VydmVyKF9fOiBzdHJpbmcsIG9wdDogU2VydmVyT3B0aW9ucykge1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IG9wdD8ucGF0aCB8fCAnLyc7XG4gICAgY29uc3Qgc2VydmVyID0gTW9ja1NlcnZlcklwYy5mcm9tKHRoaXMuY3R4LmNvbnRleHROYW1lKTtcbiAgICByZXR1cm4gc2VydmVyLm9mKG5hbWVzcGFjZSkgYXMgYW55O1xuICB9XG5cbiAgZ2V0IGlvQ2xpZW50KCkge1xuICAgIGNvbnN0IGNsaWVudElvID0gKFxuICAgICAgX186IHN0cmluZyxcbiAgICAgIG9wdD86IFBhcnRpYWw8TWFuYWdlck9wdGlvbnMgJiBTb2NrZXRPcHRpb25zPixcbiAgICApOiBNb2NrU29ja2V0SXBjID0+IHtcbiAgICAgIGNvbnN0IG5hbWVzcGFjZSA9IG9wdD8ucGF0aCB8fCAnLyc7XG4gICAgICByZXR1cm4gbmV3IE1vY2tTb2NrZXRJcGMobmFtZXNwYWNlKTtcbiAgICB9O1xuICAgIHJldHVybiBjbGllbnRJbyBhcyBhbnk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLnRzIl19
|
|
@@ -1,5 +1,201 @@
|
|
|
1
1
|
import { RealtimeStrategy } from './realtime-strategy';
|
|
2
|
-
import {
|
|
2
|
+
import { Symbols } from '../../symbols';
|
|
3
|
+
class MockServer {
|
|
4
|
+
static { this.serverByUrl = new Map(); }
|
|
5
|
+
static from(url) {
|
|
6
|
+
if (!MockServer.serverByUrl.has(url)) {
|
|
7
|
+
MockServer.serverByUrl.set(url, new MockServer(url));
|
|
8
|
+
}
|
|
9
|
+
return MockServer.serverByUrl.get(url);
|
|
10
|
+
}
|
|
11
|
+
get allServers() {
|
|
12
|
+
return Array.from(MockServer.serverByUrl.values());
|
|
13
|
+
}
|
|
14
|
+
constructor(url) {
|
|
15
|
+
this.url = url;
|
|
16
|
+
this.namespacesByName = new Map();
|
|
17
|
+
MockServer.serverByUrl.set(url, this);
|
|
18
|
+
}
|
|
19
|
+
of(namespace) {
|
|
20
|
+
if (!this.namespacesByName.has(namespace)) {
|
|
21
|
+
this.namespacesByName.set(namespace, new MockNamespace(namespace, this));
|
|
22
|
+
}
|
|
23
|
+
return this.namespacesByName.get(namespace);
|
|
24
|
+
}
|
|
25
|
+
path() {
|
|
26
|
+
return this.url;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
class MockNamespace {
|
|
30
|
+
constructor(
|
|
31
|
+
/**
|
|
32
|
+
* unique namespace name
|
|
33
|
+
*/
|
|
34
|
+
name, server) {
|
|
35
|
+
this.name = name;
|
|
36
|
+
this.server = server;
|
|
37
|
+
/**
|
|
38
|
+
* All sockets connected to this namespace
|
|
39
|
+
*/
|
|
40
|
+
this.allSocketsForNamespace = new Set();
|
|
41
|
+
/**
|
|
42
|
+
* Rooms and their sockets
|
|
43
|
+
*/
|
|
44
|
+
this.socketByRoomName = {};
|
|
45
|
+
/**
|
|
46
|
+
* Event handlers for this namespace
|
|
47
|
+
*/
|
|
48
|
+
this.namespaceEventHandlers = {};
|
|
49
|
+
}
|
|
50
|
+
on(eventName, handler) {
|
|
51
|
+
if (!this.namespaceEventHandlers[eventName]) {
|
|
52
|
+
this.namespaceEventHandlers[eventName] =
|
|
53
|
+
new Set();
|
|
54
|
+
}
|
|
55
|
+
if (!this.namespaceEventHandlers[eventName].has(handler)) {
|
|
56
|
+
this.namespaceEventHandlers[eventName].add(handler);
|
|
57
|
+
}
|
|
58
|
+
if (eventName === 'connection') {
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
this.emit('connection', this);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
emit(event, ...args) {
|
|
65
|
+
this.allSocketsForNamespace?.forEach(socket => {
|
|
66
|
+
socket.emit(event, ...args);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
connect(socket) {
|
|
70
|
+
this.allSocketsForNamespace.add(socket);
|
|
71
|
+
socket.namespaceInstance = this;
|
|
72
|
+
}
|
|
73
|
+
to(roomName) {
|
|
74
|
+
const socketsInRoom = this.socketByRoomName[roomName];
|
|
75
|
+
return new RoomEmitter(socketsInRoom, true);
|
|
76
|
+
}
|
|
77
|
+
in(roomName) {
|
|
78
|
+
const socketsInRoom = this.socketByRoomName[roomName];
|
|
79
|
+
return new RoomEmitter(socketsInRoom, false);
|
|
80
|
+
}
|
|
81
|
+
joinRoom(roomName, socket) {
|
|
82
|
+
if (!this.socketByRoomName[roomName]) {
|
|
83
|
+
this.socketByRoomName[roomName] = new Set();
|
|
84
|
+
}
|
|
85
|
+
this.socketByRoomName[roomName].add(socket);
|
|
86
|
+
}
|
|
87
|
+
leaveRoom(roomName, socket) {
|
|
88
|
+
const roomSockets = this.socketByRoomName[roomName];
|
|
89
|
+
if (roomSockets) {
|
|
90
|
+
this.socketByRoomName[roomName].delete(socket);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
get nsp() {
|
|
94
|
+
const self = this;
|
|
95
|
+
return {
|
|
96
|
+
get name() {
|
|
97
|
+
return self.name;
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
path() {
|
|
102
|
+
return this.name;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
class RoomEmitter {
|
|
106
|
+
constructor(sockets, includeSender = false, sender = null) {
|
|
107
|
+
this.sockets = sockets;
|
|
108
|
+
this.includeSender = includeSender;
|
|
109
|
+
this.sender = sender;
|
|
110
|
+
}
|
|
111
|
+
emit(event, ...args) {
|
|
112
|
+
this.sockets?.forEach(socket => {
|
|
113
|
+
if (this.includeSender || socket !== this.sender) {
|
|
114
|
+
socket.emit(event, ...args);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
class MockSocket {
|
|
120
|
+
get id() {
|
|
121
|
+
return this.nsp.name;
|
|
122
|
+
}
|
|
123
|
+
constructor(url, opts) {
|
|
124
|
+
this.url = url;
|
|
125
|
+
this.socketEventHandlers = {};
|
|
126
|
+
// @ts-ignore
|
|
127
|
+
const [baseUrl, namespace] = [url, opts.path || '/'];
|
|
128
|
+
const namespaceName = namespace || '/';
|
|
129
|
+
const server = MockServer.from(url);
|
|
130
|
+
const ns = server.of(namespaceName);
|
|
131
|
+
ns.connect(this);
|
|
132
|
+
}
|
|
133
|
+
get nsp() {
|
|
134
|
+
const self = this;
|
|
135
|
+
return {
|
|
136
|
+
get name() {
|
|
137
|
+
return self.namespaceInstance?.name;
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
path() {
|
|
142
|
+
return this.namespaceInstance?.name;
|
|
143
|
+
}
|
|
144
|
+
on(eventName, handler) {
|
|
145
|
+
if (!this.socketEventHandlers[eventName]) {
|
|
146
|
+
this.socketEventHandlers[eventName] =
|
|
147
|
+
new Set();
|
|
148
|
+
}
|
|
149
|
+
this.socketEventHandlers[eventName].add(handler);
|
|
150
|
+
if (eventName === 'connect') {
|
|
151
|
+
setTimeout(() => {
|
|
152
|
+
this.emit('connect');
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
emit(eventName, ...args) {
|
|
157
|
+
eventName = eventName || '';
|
|
158
|
+
if (eventName.includes(`:${Symbols.REALTIME.KEYroomSubscribe}`)) {
|
|
159
|
+
const room = args[0];
|
|
160
|
+
this.join(room);
|
|
161
|
+
}
|
|
162
|
+
else if (eventName.includes(`:${Symbols.REALTIME.KEYroomUnsubscribe}`)) {
|
|
163
|
+
const room = args[0];
|
|
164
|
+
this.leave(room);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
if (this.namespaceInstance) {
|
|
168
|
+
const namespaceEventHandlers = this.namespaceInstance.namespaceEventHandlers[eventName] || [];
|
|
169
|
+
for (const namespaceEventHandler of namespaceEventHandlers) {
|
|
170
|
+
if (namespaceEventHandler) {
|
|
171
|
+
namespaceEventHandler(...args);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const allSocketsForNamespaceExceptCurrent = Array.from(this.namespaceInstance.allSocketsForNamespace.values()).filter(socket => socket !== this);
|
|
175
|
+
for (const socket of allSocketsForNamespaceExceptCurrent) {
|
|
176
|
+
const socketEventHandlers = socket.socketEventHandlers[eventName];
|
|
177
|
+
for (const socketEventHandler of socketEventHandlers) {
|
|
178
|
+
if (socketEventHandler) {
|
|
179
|
+
socketEventHandler(...args);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
const socketEventHandlers = this.socketEventHandlers[eventName] || [];
|
|
184
|
+
for (const clientHandler of socketEventHandlers) {
|
|
185
|
+
if (clientHandler) {
|
|
186
|
+
clientHandler(...args);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
join(roomName) {
|
|
193
|
+
this.namespaceInstance.joinRoom(roomName, this);
|
|
194
|
+
}
|
|
195
|
+
leave(roomName) {
|
|
196
|
+
this.namespaceInstance.leaveRoom(roomName, this);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
3
199
|
/**
|
|
4
200
|
* Purpose:
|
|
5
201
|
* - browser-browser communication mock (in websql mode)
|
|
@@ -12,17 +208,17 @@ export class RealtimeStrategyMock extends RealtimeStrategy {
|
|
|
12
208
|
super(ctx);
|
|
13
209
|
this.ctx = ctx;
|
|
14
210
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
;
|
|
19
|
-
get io() {
|
|
20
|
-
return mockIo;
|
|
211
|
+
ioServer(url, opt) {
|
|
212
|
+
const server = MockServer.from(url || this.ctx.uri.origin);
|
|
213
|
+
return server.of(opt?.path || '/');
|
|
21
214
|
}
|
|
22
|
-
|
|
23
|
-
|
|
215
|
+
get ioClient() {
|
|
216
|
+
const clientIo = (uri, opts) => {
|
|
217
|
+
return new MockSocket(uri || this.ctx.uri.origin, opts);
|
|
218
|
+
};
|
|
219
|
+
return clientIo;
|
|
24
220
|
}
|
|
25
221
|
}
|
|
26
222
|
;
|
|
27
223
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-mock.ts
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFcEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUN4RCxRQUFRO1FBQ04sT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO0lBRTFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLFVBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEVBQUU7UUFDSixPQUFPLE1BQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBGQUEwRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBNb2NrU2VydmVyLCBtb2NrSW8gfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LW1vY2stbW9kZWxzJ1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJyb3dzZXItYnJvd3NlciBjb21tdW5pY2F0aW9uIG1vY2sgKGluIHdlYnNxbCBtb2RlKVxuICovXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdHJhdGVneU1vY2sgZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ21vY2snO1xuICB9XG5cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgZ2V0IFNlcnZlcigpIHtcbiAgICByZXR1cm4gTW9ja1NlcnZlciBhcyBhbnk7XG4gIH07XG5cbiAgZ2V0IGlvKCkge1xuICAgIHJldHVybiBtb2NrSW8gYXMgYW55O1xuICB9XG5cbiAgZXN0YWJsaXNoQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktbW9jay50cyJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPeEMsTUFBTSxVQUFVO2FBQ1AsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQUFBaEMsQ0FBaUM7SUFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFXO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFLRCxZQUFtQixHQUFXO1FBQVgsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUg5QixxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUlsRCxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUlELEVBQUUsQ0FBQyxTQUFpQjtRQUNsQixJ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SUFJRCxRQUFRLENBQUMsR0FBVyxFQUFFLEdBQWtCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsQ0FBUSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixNQUFNLFFBQVEsR0FBRyxDQUNmLEdBQVcsRUFDWCxJQUE4QyxFQUNsQyxFQUFFO1lBQ2QsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQVcsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQztRQUNGLE9BQU8sUUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEZBQTBGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHR5cGUgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5JztcbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuLi8uLi9zeW1ib2xzJztcbmltcG9ydCB7IE1hbmFnZXJPcHRpb25zLCBTb2NrZXRPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4uL3JlYWx0aW1lLm1vZGVscyc7XG5pbXBvcnQgeyBTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvJztcblxuXG5cbmNsYXNzIE1vY2tTZXJ2ZXIge1xuICBzdGF0aWMgc2VydmVyQnlVcmwgPSBuZXcgTWFwPHN0cmluZywgTW9ja1NlcnZlcj4oKTtcbiAgc3RhdGljIGZyb20odXJsOiBzdHJpbmcpOiBNb2NrU2VydmVyIHtcbiAgICBpZiAoIU1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuaGFzKHVybCkpIHtcbiAgICAgIE1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuc2V0KHVybCwgbmV3IE1vY2tTZXJ2ZXIodXJsKSk7XG4gICAgfVxuICAgIHJldHVybiBNb2NrU2VydmVyLnNlcnZlckJ5VXJsLmdldCh1cmwpO1xuICB9XG5cbiAgZ2V0IGFsbFNlcnZlcnMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oTW9ja1NlcnZlci5zZXJ2ZXJCeVVybC52YWx1ZXMoKSk7XG4gIH1cblxuICBuYW1lc3BhY2VzQnlOYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tOYW1lc3BhY2U+KCk7XG5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXJsOiBzdHJpbmcpIHtcbiAgICBNb2NrU2VydmVyLnNlcnZlckJ5VXJsLnNldCh1cmwsIHRoaXMpO1xuICB9XG5cblxuXG4gIG9mKG5hbWVzcGFjZTogc3RyaW5nKTogTW9ja05hbWVzcGFjZSB7XG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZXNCeU5hbWUuaGFzKG5hbWVzcGFjZSkpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5zZXQobmFtZXNwYWNlLCBuZXcgTW9ja05hbWVzcGFjZShuYW1lc3BhY2UsIHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5nZXQobmFtZXNwYWNlKTtcbiAgfVxuXG5cblxuICBwYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnVybDtcbiAgfVxuXG59XG5cblxuXG5jbGFzcyBNb2NrTmFtZXNwYWNlIHtcbiAgLyoqXG4gICAqIEFsbCBzb2NrZXRzIGNvbm5lY3RlZCB0byB0aGlzIG5hbWVzcGFjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsbFNvY2tldHNGb3JOYW1lc3BhY2UgPSBuZXcgU2V0PE1vY2tTb2NrZXQ+KCk7XG4gIC8qKlxuICAgKiBSb29tcyBhbmQgdGhlaXIgc29ja2V0c1xuICAgKi9cbiAgcHJpdmF0ZSBzb2NrZXRCeVJvb21OYW1lOiB7XG4gICAgW3Jvb21OYW1lOiBzdHJpbmddOiBTZXQ8TW9ja1NvY2tldD47XG4gIH0gPSB7fTtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXJzIGZvciB0aGlzIG5hbWVzcGFjZVxuICAgKi9cbiAgcHVibGljIG5hbWVzcGFjZUV2ZW50SGFuZGxlcnM6IHtcbiAgICBbZXZlbnROYW1lOiBzdHJpbmddOiBTZXQ8UmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyPjtcbiAgfSA9IHt9O1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogdW5pcXVlIG5hbWVzcGFjZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgc2VydmVyOiBNb2NrU2VydmVyLFxuICApIHt9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXIpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlRXZlbnRIYW5kbGVyc1tldmVudE5hbWVdID1cbiAgICAgICAgbmV3IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+KCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZUV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXS5oYXMoaGFuZGxlcikpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlRXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChoYW5kbGVyKTtcbiAgICB9XG5cblxuXG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2Nvbm5lY3Rpb24nKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdjb25uZWN0aW9uJywgdGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG5cbiAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuYWxsU29ja2V0c0Zvck5hbWVzcGFjZT8uZm9yRWFjaChzb2NrZXQgPT4ge1xuICAgICAgc29ja2V0LmVtaXQoZXZlbnQsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICB9XG5cblxuXG4gIGNvbm5lY3Qoc29ja2V0OiBNb2NrU29ja2V0KTogdm9pZCB7XG4gICAgdGhpcy5hbGxTb2NrZXRzRm9yTmFtZXNwYWNlLmFkZChzb2NrZXQpO1xuICAgIHNvY2tldC5uYW1lc3BhY2VJbnN0YW5jZSA9IHRoaXM7XG4gIH1cblxuXG5cbiAgdG8ocm9vbU5hbWU6IHN0cmluZyk6IFJvb21FbWl0dGVyIHtcbiAgICBjb25zdCBzb2NrZXRzSW5Sb29tID0gdGhpcy5zb2NrZXRCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICByZXR1cm4gbmV3IFJvb21FbWl0dGVyKHNvY2tldHNJblJvb20sIHRydWUpO1xuICB9XG5cblxuXG4gIGluKHJvb21OYW1lOiBzdHJpbmcpOiBSb29tRW1pdHRlciB7XG4gICAgY29uc3Qgc29ja2V0c0luUm9vbSA9IHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgcmV0dXJuIG5ldyBSb29tRW1pdHRlcihzb2NrZXRzSW5Sb29tLCBmYWxzZSk7XG4gIH1cblxuXG5cbiAgam9pblJvb20ocm9vbU5hbWU6IHN0cmluZywgc29ja2V0OiBNb2NrU29ja2V0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdKSB7XG4gICAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdID0gbmV3IFNldDxNb2NrU29ja2V0PigpO1xuICAgIH1cbiAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdLmFkZChzb2NrZXQpO1xuICB9XG5cblxuXG4gIGxlYXZlUm9vbShyb29tTmFtZTogc3RyaW5nLCBzb2NrZXQ6IE1vY2tTb2NrZXQpOiB2b2lkIHtcbiAgICBjb25zdCByb29tU29ja2V0cyA9IHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgaWYgKHJvb21Tb2NrZXRzKSB7XG4gICAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdLmRlbGV0ZShzb2NrZXQpO1xuICAgIH1cbiAgfVxuXG5cblxuICBnZXQgbnNwKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYubmFtZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG5cbiAgcGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG5cblxuXG5jbGFzcyBSb29tRW1pdHRlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzb2NrZXRzOiBTZXQ8TW9ja1NvY2tldD4sXG4gICAgcHJpdmF0ZSBpbmNsdWRlU2VuZGVyOiBib29sZWFuID0gZmFsc2UsXG4gICAgcHJpdmF0ZSBzZW5kZXI6IE1vY2tTb2NrZXQgPSBudWxsLCAvLyBUT0RPIFFVSUNLIEZJWCBob3cgdG8gaW5jbHVkZSBzZW5kZXJcbiAgKSB7fVxuXG5cblxuICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG5cblxuXG4gICAgdGhpcy5zb2NrZXRzPy5mb3JFYWNoKHNvY2tldCA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmluY2x1ZGVTZW5kZXIgfHwgc29ja2V0ICE9PSB0aGlzLnNlbmRlcikge1xuICAgICAgICBzb2NrZXQuZW1pdChldmVudCwgLi4uYXJncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufVxuXG5cblxuY2xhc3MgTW9ja1NvY2tldCB7XG4gIHB1YmxpYyBuYW1lc3BhY2VJbnN0YW5jZTogTW9ja05hbWVzcGFjZTtcbiAgcHJpdmF0ZSBzb2NrZXRFdmVudEhhbmRsZXJzID0ge30gYXMge1xuICAgIFtldmVudE5hbWU6IHN0cmluZ106IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+O1xuICB9O1xuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubnNwLm5hbWU7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB1cmw6IHN0cmluZyxcbiAgICBvcHRzPzogUGFydGlhbDxNYW5hZ2VyT3B0aW9ucyAmIFNvY2tldE9wdGlvbnM+LFxuICApIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgW2Jhc2VVcmwsIG5hbWVzcGFjZV0gPSBbdXJsLCBvcHRzLnBhdGggfHwgJy8nXTtcblxuICAgIGNvbnN0IG5hbWVzcGFjZU5hbWUgPSBuYW1lc3BhY2UgfHwgJy8nO1xuXG5cbiAgICBjb25zdCBzZXJ2ZXIgPSBNb2NrU2VydmVyLmZyb20odXJsKTtcblxuICAgIGNvbnN0IG5zID0gc2VydmVyLm9mKG5hbWVzcGFjZU5hbWUpO1xuICAgIG5zLmNvbm5lY3QodGhpcyk7XG4gIH1cblxuXG5cbiAgZ2V0IG5zcCgpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBzZWxmLm5hbWVzcGFjZUluc3RhbmNlPy5uYW1lO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuXG4gIHBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZXNwYWNlSW5zdGFuY2U/Lm5hbWU7XG4gIH1cblxuXG5cbiAgb24oZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdID1cbiAgICAgICAgbmV3IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+KCk7XG4gICAgfVxuICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChoYW5kbGVyKTtcblxuXG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2Nvbm5lY3QnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdjb25uZWN0Jyk7XG5cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cblxuICBlbWl0KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIGV2ZW50TmFtZSA9IGV2ZW50TmFtZSB8fCAnJztcblxuICAgIGlmIChldmVudE5hbWUuaW5jbHVkZXMoYDoke1N5bWJvbHMuUkVBTFRJTUUuS0VZcm9vbVN1YnNjcmliZX1gKSkge1xuICAgICAgY29uc3Qgcm9vbSA9IGFyZ3NbMF07XG4gICAgICB0aGlzLmpvaW4ocm9vbSk7XG4gICAgfSBlbHNlIGlmIChldmVudE5hbWUuaW5jbHVkZXMoYDoke1N5bWJvbHMuUkVBTFRJTUUuS0VZcm9vbVVuc3Vic2NyaWJlfWApKSB7XG4gICAgICBjb25zdCByb29tID0gYXJnc1swXTtcbiAgICAgIHRoaXMubGVhdmUocm9vbSk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgaWYgKHRoaXMubmFtZXNwYWNlSW5zdGFuY2UpIHtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlRXZlbnRIYW5kbGVycyA9XG4gICAgICAgICAgdGhpcy5uYW1lc3BhY2VJbnN0YW5jZS5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gfHwgW107XG5cblxuICAgICAgICBmb3IgKGNvbnN0IG5hbWVzcGFjZUV2ZW50SGFuZGxlciBvZiBuYW1lc3BhY2VFdmVudEhhbmRsZXJzKSB7XG4gICAgICAgICAgaWYgKG5hbWVzcGFjZUV2ZW50SGFuZGxlcikge1xuICAgICAgICAgICAgbmFtZXNwYWNlRXZlbnRIYW5kbGVyKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFNvY2tldHNGb3JOYW1lc3BhY2VFeGNlcHRDdXJyZW50ID0gQXJyYXkuZnJvbShcbiAgICAgICAgICB0aGlzLm5hbWVzcGFjZUluc3RhbmNlLmFsbFNvY2tldHNGb3JOYW1lc3BhY2UudmFsdWVzKCksXG4gICAgICAgICkuZmlsdGVyKHNvY2tldCA9PiBzb2NrZXQgIT09IHRoaXMpO1xuXG5cbiAgICAgICAgZm9yIChjb25zdCBzb2NrZXQgb2YgYWxsU29ja2V0c0Zvck5hbWVzcGFjZUV4Y2VwdEN1cnJlbnQpIHtcbiAgICAgICAgICBjb25zdCBzb2NrZXRFdmVudEhhbmRsZXJzID0gc29ja2V0LnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHNvY2tldEV2ZW50SGFuZGxlciBvZiBzb2NrZXRFdmVudEhhbmRsZXJzKSB7XG4gICAgICAgICAgICBpZiAoc29ja2V0RXZlbnRIYW5kbGVyKSB7XG4gICAgICAgICAgICAgIHNvY2tldEV2ZW50SGFuZGxlciguLi5hcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIGNvbnN0IHNvY2tldEV2ZW50SGFuZGxlcnMgPSB0aGlzLnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBjbGllbnRIYW5kbGVyIG9mIHNvY2tldEV2ZW50SGFuZGxlcnMpIHtcbiAgICAgICAgICBpZiAoY2xpZW50SGFuZGxlcikge1xuICAgICAgICAgICAgY2xpZW50SGFuZGxlciguLi5hcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgam9pbihyb29tTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uYW1lc3BhY2VJbnN0YW5jZS5qb2luUm9vbShyb29tTmFtZSwgdGhpcyk7XG4gIH1cblxuXG5cbiAgbGVhdmUocm9vbU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubmFtZXNwYWNlSW5zdGFuY2UubGVhdmVSb29tKHJvb21OYW1lLCB0aGlzKTtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBQdXJwb3NlOlxuICogLSBicm93c2VyLWJyb3dzZXIgY29tbXVuaWNhdGlvbiBtb2NrIChpbiB3ZWJzcWwgbW9kZSlcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lNb2NrIGV4dGVuZHMgUmVhbHRpbWVTdHJhdGVneSB7XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ21vY2snO1xuICB9XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjdHg6IEVuZHBvaW50Q29udGV4dCkge1xuICAgIHN1cGVyKGN0eCk7XG4gIH1cblxuXG5cbiAgaW9TZXJ2ZXIodXJsOiBzdHJpbmcsIG9wdDogU2VydmVyT3B0aW9ucykge1xuICAgIGNvbnN0IHNlcnZlciA9IE1vY2tTZXJ2ZXIuZnJvbSh1cmwgfHwgdGhpcy5jdHgudXJpLm9yaWdpbik7XG4gICAgcmV0dXJuIHNlcnZlci5vZihvcHQ/LnBhdGggfHwgJy8nKSBhcyBhbnk7XG4gIH1cblxuICBnZXQgaW9DbGllbnQoKSB7XG4gICAgY29uc3QgY2xpZW50SW8gPSAoXG4gICAgICB1cmk6IHN0cmluZyxcbiAgICAgIG9wdHM/OiBQYXJ0aWFsPE1hbmFnZXJPcHRpb25zICYgU29ja2V0T3B0aW9ucz4sXG4gICAgKTogTW9ja1NvY2tldCA9PiB7XG4gICAgICByZXR1cm4gbmV3IE1vY2tTb2NrZXQodXJpIHx8IHRoaXMuY3R4LnVyaS5vcmlnaW4sIG9wdHMgYXMgYW55KTtcbiAgICB9O1xuICAgIHJldHVybiBjbGllbnRJbyBhcyBhbnk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktbW9jay50cyJdfQ==
|
|
@@ -15,19 +15,15 @@ export class RealtimeStrategySocketIO extends RealtimeStrategy {
|
|
|
15
15
|
super(ctx);
|
|
16
16
|
this.ctx = ctx;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
ioServer(...args) {
|
|
19
19
|
/* */
|
|
20
20
|
/* */
|
|
21
21
|
return (void 0);
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
get io() {
|
|
23
|
+
get ioClient() {
|
|
25
24
|
return io;
|
|
26
25
|
}
|
|
27
|
-
establishConnection() {
|
|
28
|
-
throw new Error('Method not implemented.');
|
|
29
|
-
}
|
|
30
26
|
}
|
|
31
27
|
;
|
|
32
28
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-socket-io.ts
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LXNvY2tldC1pby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxFQUFFLEVBQXlDLE1BQU0sa0JBQWtCLENBQUM7QUFFN0U7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDNUQsUUFBUTtRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxZQUFzQixHQUFvQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtJQUUxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsSUFBSTtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0ZBQStGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IERlZmF1bHRFdmVudHNNYXAgfSBmcm9tICdzb2NrZXQuaW8vZGlzdC90eXBlZC1ldmVudHMnO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBpbywgTWFuYWdlck9wdGlvbnMsIFNvY2tldCwgU29ja2V0T3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJhY2tlbmQtYnJvd3NlciBjb21tdW5pY2F0aW9uXG4gKiAtIGJhY2tlbmQtYmFja2VuZCBjb21tdW5pY2F0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFsdGltZVN0cmF0ZWd5U29ja2V0SU8gZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3NvY2tldC1pbyc7XG4gIH1cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7XG4gICAgc3VwZXIoY3R4KTtcbiAgfVxuXG4gIGlvU2VydmVyKC4uLmFyZ3MpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGdldCBpb0NsaWVudCgpIHtcbiAgICByZXR1cm4gaW87XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LXNvY2tldC1pby50cyJdfQ==
|
|
@@ -2,9 +2,13 @@ export class RealtimeStrategy {
|
|
|
2
2
|
constructor(ctx) {
|
|
3
3
|
this.ctx = ctx;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
get ioClient() {
|
|
6
|
+
throw new Error('Not implemented');
|
|
7
|
+
}
|
|
8
|
+
ioServer(url, opt) {
|
|
9
|
+
throw new Error('Not implemented');
|
|
6
10
|
}
|
|
7
11
|
}
|
|
8
12
|
;
|
|
9
13
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy.ts
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsWUFBc0IsR0FBb0I7UUFBcEIsUUFBRyxHQUFILEdBQUcsQ0FBaUI7SUFBRyxDQUFDO0lBRTlDLElBQUksUUFBUTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxDQUNOLEdBQVcsRUFDWCxHQUFrQjtRQUVsQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztDQUdGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxRkFBcUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlciwgU2VydmVyT3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pbyc7XG5pbXBvcnQgdHlwZSB7IGlvIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBEZWZhdWx0RXZlbnRzTWFwIH0gZnJvbSAnc29ja2V0LmlvL2Rpc3QvdHlwZWQtZXZlbnRzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHt9XG5cbiAgZ2V0IGlvQ2xpZW50KCk6IHR5cGVvZiBpbyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGlvU2VydmVyKFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdDogU2VydmVyT3B0aW9ucyxcbiAgKTogU2VydmVyPERlZmF1bHRFdmVudHNNYXAsIERlZmF1bHRFdmVudHNNYXAsIERlZmF1bHRFdmVudHNNYXAsIGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBhYnN0cmFjdCB0b1N0cmluZygpOiBzdHJpbmc7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS50cyJdfQ==
|