taon 18.0.17 → 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.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 +33 -30
- 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.d.ts +0 -0
- 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
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LW1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUVwRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBQ3hELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBR0QsWUFBc0IsR0FBb0I7UUFDeEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBaUI7SUFFMUMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sVUFBaUIsQ0FBQztJQUMzQixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQUksRUFBRTtRQUNKLE9BQU8sTUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEZBQTBGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IFNlcnZlciB9IGZyb20gJ3NvY2tldC5pbyc7XG5pbXBvcnQgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5JztcbmltcG9ydCB7IE1vY2tTZXJ2ZXIsIG1vY2tJbyB9IGZyb20gJy4vcmVhbHRpbWUtc3RyYXRlZ3ktbW9jay1tb2RlbHMnXG5cbi8qKlxuICogUHVycG9zZTpcbiAqIC0gYnJvd3Nlci1icm93c2VyIGNvbW11bmljYXRpb24gbW9jayAoaW4gd2Vic3FsIG1vZGUpXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFsdGltZVN0cmF0ZWd5TW9jayBleHRlbmRzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnbW9jayc7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjdHg6IEVuZHBvaW50Q29udGV4dCkge1xuICAgIHN1cGVyKGN0eCk7XG4gIH1cblxuICBnZXQgU2VydmVyKCkge1xuICAgIHJldHVybiBNb2NrU2VydmVyIGFzIGFueTtcbiAgfTtcblxuICBnZXQgaW8oKSB7XG4gICAgcmV0dXJuIG1vY2tJbyBhcyBhbnk7XG4gIH1cblxuICBlc3RhYmxpc2hDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl19
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LW1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU94QyxNQUFNLFVBQVU7YUFDUCxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFzQixBQUFoQyxDQUFpQztJQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUtELFlBQW1CLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBSDlCLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBSWxELFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBSUQsRUFBRSxDQUFDLFNBQWlCO1FBQ2xCLElBQUksQ0FB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QVEsQ0FBQyxHQUFXLEVBQUUsR0FBa0I7UUFDdEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFRLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE1BQU0sUUFBUSxHQUFHLENBQ2YsR0FBVyxFQUNYLElBQThDLEVBQ2xDLEVBQUU7WUFDZCxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBVyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxRQUFlLENBQUM7SUFDekIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwRkFBMEYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgdHlwZSB7IEVuZHBvaW50Q29udGV4dCB9IGZyb20gJy4uLy4uL2VuZHBvaW50LWNvbnRleHQnO1xuaW1wb3J0IHsgUmVhbHRpbWVTdHJhdGVneSB9IGZyb20gJy4vcmVhbHRpbWUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgU3ltYm9scyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTWFuYWdlck9wdGlvbnMsIFNvY2tldE9wdGlvbnMgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFJlYWx0aW1lTW9kZWxzIH0gZnJvbSAnLi4vcmVhbHRpbWUubW9kZWxzJztcbmltcG9ydCB7IFNlcnZlck9wdGlvbnMgfSBmcm9tICdzb2NrZXQuaW8nO1xuXG5cblxuY2xhc3MgTW9ja1NlcnZlciB7XG4gIHN0YXRpYyBzZXJ2ZXJCeVVybCA9IG5ldyBNYXA8c3RyaW5nLCBNb2NrU2VydmVyPigpO1xuICBzdGF0aWMgZnJvbSh1cmw6IHN0cmluZyk6IE1vY2tTZXJ2ZXIge1xuICAgIGlmICghTW9ja1NlcnZlci5zZXJ2ZXJCeVVybC5oYXModXJsKSkge1xuICAgICAgTW9ja1NlcnZlci5zZXJ2ZXJCeVVybC5zZXQodXJsLCBuZXcgTW9ja1NlcnZlcih1cmwpKTtcbiAgICB9XG4gICAgcmV0dXJuIE1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuZ2V0KHVybCk7XG4gIH1cblxuICBnZXQgYWxsU2VydmVycygpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShNb2NrU2VydmVyLnNlcnZlckJ5VXJsLnZhbHVlcygpKTtcbiAgfVxuXG4gIG5hbWVzcGFjZXNCeU5hbWUgPSBuZXcgTWFwPHN0cmluZywgTW9ja05hbWVzcGFjZT4oKTtcblxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1cmw6IHN0cmluZykge1xuICAgIE1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuc2V0KHVybCwgdGhpcyk7XG4gIH1cblxuXG5cbiAgb2YobmFtZXNwYWNlOiBzdHJpbmcpOiBNb2NrTmFtZXNwYWNlIHtcbiAgICBpZiAoIXRoaXMubmFtZXNwYWNlc0J5TmFtZS5oYXMobmFtZXNwYWNlKSkge1xuICAgICAgdGhpcy5uYW1lc3BhY2VzQnlOYW1lLnNldChuYW1lc3BhY2UsIG5ldyBNb2NrTmFtZXNwYWNlKG5hbWVzcGFjZSwgdGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYW1lc3BhY2VzQnlOYW1lLmdldChuYW1lc3BhY2UpO1xuICB9XG5cblxuXG4gIHBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMudXJsO1xuICB9XG5cbn1cblxuXG5cbmNsYXNzIE1vY2tOYW1lc3BhY2Uge1xuICAvKipcbiAgICogQWxsIHNvY2tldHMgY29ubmVjdGVkIHRvIHRoaXMgbmFtZXNwYWNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWxsU29ja2V0c0Zvck5hbWVzcGFjZSA9IG5ldyBTZXQ8TW9ja1NvY2tldD4oKTtcbiAgLyoqXG4gICAqIFJvb21zIGFuZCB0aGVpciBzb2NrZXRzXG4gICAqL1xuICBwcml2YXRlIHNvY2tldEJ5Um9vbU5hbWU6IHtcbiAgICBbcm9vbU5hbWU6IHN0cmluZ106IFNldDxNb2NrU29ja2V0PjtcbiAgfSA9IHt9O1xuICAvKipcbiAgICogRXZlbnQgaGFuZGxlcnMgZm9yIHRoaXMgbmFtZXNwYWNlXG4gICAqL1xuICBwdWJsaWMgbmFtZXNwYWNlRXZlbnRIYW5kbGVyczoge1xuICAgIFtldmVudE5hbWU6IHN0cmluZ106IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+O1xuICB9ID0ge307XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgbmFtZXNwYWNlIG5hbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBzZXJ2ZXI6IE1vY2tTZXJ2ZXIsXG4gICkge31cblxuXG5cbiAgb24oZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcik6IHZvaWQge1xuXG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZUV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gPVxuICAgICAgICBuZXcgU2V0PFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcj4oKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubmFtZXNwYWNlRXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmhhcyhoYW5kbGVyKSkge1xuICAgICAgdGhpcy5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0uYWRkKGhhbmRsZXIpO1xuICAgIH1cblxuXG5cbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29ubmVjdGlvbicpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmVtaXQoJ2Nvbm5lY3Rpb24nLCB0aGlzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cblxuICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5hbGxTb2NrZXRzRm9yTmFtZXNwYWNlPy5mb3JFYWNoKHNvY2tldCA9PiB7XG4gICAgICBzb2NrZXQuZW1pdChldmVudCwgLi4uYXJncyk7XG4gICAgfSk7XG4gIH1cblxuXG5cbiAgY29ubmVjdChzb2NrZXQ6IE1vY2tTb2NrZXQpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFNvY2tldHNGb3JOYW1lc3BhY2UuYWRkKHNvY2tldCk7XG4gICAgc29ja2V0Lm5hbWVzcGFjZUluc3RhbmNlID0gdGhpcztcbiAgfVxuXG5cblxuICB0byhyb29tTmFtZTogc3RyaW5nKTogUm9vbUVtaXR0ZXIge1xuICAgIGNvbnN0IHNvY2tldHNJblJvb20gPSB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdO1xuICAgIHJldHVybiBuZXcgUm9vbUVtaXR0ZXIoc29ja2V0c0luUm9vbSwgdHJ1ZSk7XG4gIH1cblxuXG5cbiAgaW4ocm9vbU5hbWU6IHN0cmluZyk6IFJvb21FbWl0dGVyIHtcbiAgICBjb25zdCBzb2NrZXRzSW5Sb29tID0gdGhpcy5zb2NrZXRCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICByZXR1cm4gbmV3IFJvb21FbWl0dGVyKHNvY2tldHNJblJvb20sIGZhbHNlKTtcbiAgfVxuXG5cblxuICBqb2luUm9vbShyb29tTmFtZTogc3RyaW5nLCBzb2NrZXQ6IE1vY2tTb2NrZXQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV0pIHtcbiAgICAgIHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV0gPSBuZXcgU2V0PE1vY2tTb2NrZXQ+KCk7XG4gICAgfVxuICAgIHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV0uYWRkKHNvY2tldCk7XG4gIH1cblxuXG5cbiAgbGVhdmVSb29tKHJvb21OYW1lOiBzdHJpbmcsIHNvY2tldDogTW9ja1NvY2tldCk6IHZvaWQge1xuICAgIGNvbnN0IHJvb21Tb2NrZXRzID0gdGhpcy5zb2NrZXRCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICBpZiAocm9vbVNvY2tldHMpIHtcbiAgICAgIHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV0uZGVsZXRlKHNvY2tldCk7XG4gICAgfVxuICB9XG5cblxuXG4gIGdldCBuc3AoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gc2VsZi5uYW1lO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuICBwYXRoKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cbn1cblxuXG5cbmNsYXNzIFJvb21FbWl0dGVyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNvY2tldHM6IFNldDxNb2NrU29ja2V0PixcbiAgICBwcml2YXRlIGluY2x1ZGVTZW5kZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwcml2YXRlIHNlbmRlcjogTW9ja1NvY2tldCA9IG51bGwsIC8vIFRPRE8gUVVJQ0sgRklYIGhvdyB0byBpbmNsdWRlIHNlbmRlclxuICApIHt9XG5cblxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkIHtcblxuXG5cbiAgICB0aGlzLnNvY2tldHM/LmZvckVhY2goc29ja2V0ID0+IHtcblxuICAgICAgaWYgKHRoaXMuaW5jbHVkZVNlbmRlciB8fCBzb2NrZXQgIT09IHRoaXMuc2VuZGVyKSB7XG4gICAgICAgIHNvY2tldC5lbWl0KGV2ZW50LCAuLi5hcmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59XG5cblxuXG5jbGFzcyBNb2NrU29ja2V0IHtcbiAgcHVibGljIG5hbWVzcGFjZUluc3RhbmNlOiBNb2NrTmFtZXNwYWNlO1xuICBwcml2YXRlIHNvY2tldEV2ZW50SGFuZGxlcnMgPSB7fSBhcyB7XG4gICAgW2V2ZW50TmFtZTogc3RyaW5nXTogU2V0PFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcj47XG4gIH07XG4gIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uc3AubmFtZTtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVybDogc3RyaW5nLFxuICAgIG9wdHM/OiBQYXJ0aWFsPE1hbmFnZXJPcHRpb25zICYgU29ja2V0T3B0aW9ucz4sXG4gICkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBbYmFzZVVybCwgbmFtZXNwYWNlXSA9IFt1cmwsIG9wdHMucGF0aCB8fCAnLyddO1xuXG4gICAgY29uc3QgbmFtZXNwYWNlTmFtZSA9IG5hbWVzcGFjZSB8fCAnLyc7XG5cblxuICAgIGNvbnN0IHNlcnZlciA9IE1vY2tTZXJ2ZXIuZnJvbSh1cmwpO1xuXG4gICAgY29uc3QgbnMgPSBzZXJ2ZXIub2YobmFtZXNwYWNlTmFtZSk7XG4gICAgbnMuY29ubmVjdCh0aGlzKTtcbiAgfVxuXG5cblxuICBnZXQgbnNwKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYubmFtZXNwYWNlSW5zdGFuY2U/Lm5hbWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuXG5cbiAgcGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lc3BhY2VJbnN0YW5jZT8ubmFtZTtcbiAgfVxuXG5cblxuICBvbihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogUmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gPVxuICAgICAgICBuZXcgU2V0PFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcj4oKTtcbiAgICB9XG4gICAgdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0uYWRkKGhhbmRsZXIpO1xuXG5cbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29ubmVjdCcpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmVtaXQoJ2Nvbm5lY3QnKTtcblxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cblxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgZXZlbnROYW1lID0gZXZlbnROYW1lIHx8ICcnO1xuXG4gICAgaWYgKGV2ZW50TmFtZS5pbmNsdWRlcyhgOiR7U3ltYm9scy5SRUFMVElNRS5LRVlyb29tU3Vic2NyaWJlfWApKSB7XG4gICAgICBjb25zdCByb29tID0gYXJnc1swXTtcbiAgICAgIHRoaXMuam9pbihyb29tKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50TmFtZS5pbmNsdWRlcyhgOiR7U3ltYm9scy5SRUFMVElNRS5LRVlyb29tVW5zdWJzY3JpYmV9YCkpIHtcbiAgICAgIGNvbnN0IHJvb20gPSBhcmdzWzBdO1xuICAgICAgdGhpcy5sZWF2ZShyb29tKTtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBpZiAodGhpcy5uYW1lc3BhY2VJbnN0YW5jZSkge1xuICAgICAgICBjb25zdCBuYW1lc3BhY2VFdmVudEhhbmRsZXJzID1cbiAgICAgICAgICB0aGlzLm5hbWVzcGFjZUluc3RhbmNlLm5hbWVzcGFjZUV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSB8fCBbXTtcblxuXG4gICAgICAgIGZvciAoY29uc3QgbmFtZXNwYWNlRXZlbnRIYW5kbGVyIG9mIG5hbWVzcGFjZUV2ZW50SGFuZGxlcnMpIHtcbiAgICAgICAgICBpZiAobmFtZXNwYWNlRXZlbnRIYW5kbGVyKSB7XG4gICAgICAgICAgICBuYW1lc3BhY2VFdmVudEhhbmRsZXIoLi4uYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWxsU29ja2V0c0Zvck5hbWVzcGFjZUV4Y2VwdEN1cnJlbnQgPSBBcnJheS5mcm9tKFxuICAgICAgICAgIHRoaXMubmFtZXNwYWNlSW5zdGFuY2UuYWxsU29ja2V0c0Zvck5hbWVzcGFjZS52YWx1ZXMoKSxcbiAgICAgICAgKS5maWx0ZXIoc29ja2V0ID0+IHNvY2tldCAhPT0gdGhpcyk7XG5cblxuICAgICAgICBmb3IgKGNvbnN0IHNvY2tldCBvZiBhbGxTb2NrZXRzRm9yTmFtZXNwYWNlRXhjZXB0Q3VycmVudCkge1xuICAgICAgICAgIGNvbnN0IHNvY2tldEV2ZW50SGFuZGxlcnMgPSBzb2NrZXQuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdO1xuICAgICAgICAgIGZvciAoY29uc3Qgc29ja2V0RXZlbnRIYW5kbGVyIG9mIHNvY2tldEV2ZW50SGFuZGxlcnMpIHtcbiAgICAgICAgICAgIGlmIChzb2NrZXRFdmVudEhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgc29ja2V0RXZlbnRIYW5kbGVyKC4uLmFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgY29uc3Qgc29ja2V0RXZlbnRIYW5kbGVycyA9IHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdIHx8IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGNsaWVudEhhbmRsZXIgb2Ygc29ja2V0RXZlbnRIYW5kbGVycykge1xuICAgICAgICAgIGlmIChjbGllbnRIYW5kbGVyKSB7XG4gICAgICAgICAgICBjbGllbnRIYW5kbGVyKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBqb2luKHJvb21OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm5hbWVzcGFjZUluc3RhbmNlLmpvaW5Sb29tKHJvb21OYW1lLCB0aGlzKTtcbiAgfVxuXG5cblxuICBsZWF2ZShyb29tTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uYW1lc3BhY2VJbnN0YW5jZS5sZWF2ZVJvb20ocm9vbU5hbWUsIHRoaXMpO1xuICB9XG5cbn1cblxuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJyb3dzZXItYnJvd3NlciBjb21tdW5pY2F0aW9uIG1vY2sgKGluIHdlYnNxbCBtb2RlKVxuICovXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdHJhdGVneU1vY2sgZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnbW9jayc7XG4gIH1cblxuXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7XG4gICAgc3VwZXIoY3R4KTtcbiAgfVxuXG5cblxuICBpb1NlcnZlcih1cmw6IHN0cmluZywgb3B0OiBTZXJ2ZXJPcHRpb25zKSB7XG4gICAgY29uc3Qgc2VydmVyID0gTW9ja1NlcnZlci5mcm9tKHVybCB8fCB0aGlzLmN0eC51cmkub3JpZ2luKTtcbiAgICByZXR1cm4gc2VydmVyLm9mKG9wdD8ucGF0aCB8fCAnLycpIGFzIGFueTtcbiAgfVxuXG4gIGdldCBpb0NsaWVudCgpIHtcbiAgICBjb25zdCBjbGllbnRJbyA9IChcbiAgICAgIHVyaTogc3RyaW5nLFxuICAgICAgb3B0cz86IFBhcnRpYWw8TWFuYWdlck9wdGlvbnMgJiBTb2NrZXRPcHRpb25zPixcbiAgICApOiBNb2NrU29ja2V0ID0+IHtcbiAgICAgIHJldHVybiBuZXcgTW9ja1NvY2tldCh1cmkgfHwgdGhpcy5jdHgudXJpLm9yaWdpbiwgb3B0cyBhcyBhbnkpO1xuICAgIH07XG4gICAgcmV0dXJuIGNsaWVudElvIGFzIGFueTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLEVBQUUsRUFBeUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM1RCxRQUFRO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO0lBRTFDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxJQUFJO1FBQ2xCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrRkFBK0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgRGVmYXVsdEV2ZW50c01hcCB9IGZyb20gJ3NvY2tldC5pby9kaXN0L3R5cGVkLWV2ZW50cyc7XG5pbXBvcnQgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5Jztcbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGlvLCBNYW5hZ2VyT3B0aW9ucywgU29ja2V0LCBTb2NrZXRPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbi8qKlxuICogUHVycG9zZTpcbiAqIC0gYmFja2VuZC1icm93c2VyIGNvbW11bmljYXRpb25cbiAqIC0gYmFja2VuZC1iYWNrZW5kIGNvbW11bmljYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lTb2NrZXRJTyBleHRlbmRzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnc29ja2V0LWlvJztcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgaW9TZXJ2ZXIoLi4uYXJncykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgZ2V0IGlvQ2xpZW50KCkge1xuICAgIHJldHVybiBpbztcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLnRzIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQWdCLGdCQUFnQjtJQUNwQyxZQUFzQixHQUFvQjtRQUFwQixRQUFHLEdBQUgsR0FBRyxDQUFpQjtJQUFHLENBQUM7SUFFOUMsSUFBSSxRQUFRO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQ04sR0FBVyxFQUNYLEdBQWtCO1FBRWxCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBR0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFGQUFxRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB0eXBlIHsgU2VydmVyLCBTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvJztcbmltcG9ydCB0eXBlIHsgaW8gfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IERlZmF1bHRFdmVudHNNYXAgfSBmcm9tICdzb2NrZXQuaW8vZGlzdC90eXBlZC1ldmVudHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVhbHRpbWVTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjdHg6IEVuZHBvaW50Q29udGV4dCkge31cblxuICBnZXQgaW9DbGllbnQoKTogdHlwZW9mIGlvIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgaW9TZXJ2ZXIoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3B0OiBTZXJ2ZXJPcHRpb25zLFxuICApOiBTZXJ2ZXI8RGVmYXVsdEV2ZW50c01hcCwgRGVmYXVsdEV2ZW50c01hcCwgRGVmYXVsdEV2ZW50c01hcCwgYW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGFic3RyYWN0IHRvU3RyaW5nKCk6IHN0cmluZztcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LnRzIl19
|
|
@@ -18,17 +18,19 @@ export class RealtimeSubsManager {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
if (!this.isListening) {
|
|
21
|
-
const subscribeEvent = Symbols.REALTIME.ROOM_NAME.SUBSCRIBE.CUSTOM(this.options.core.ctx.contextName);
|
|
22
21
|
this.isListening = true;
|
|
23
22
|
if (this.options.customEvent) {
|
|
23
|
+
const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.options.core.ctx.contextName);
|
|
24
24
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
27
|
if (_.isString(this.options.property)) {
|
|
28
|
-
|
|
28
|
+
const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
29
|
+
realtime.emit(subscribeEvent, this.options.roomName);
|
|
29
30
|
}
|
|
30
31
|
else {
|
|
31
|
-
|
|
32
|
+
const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
33
|
+
realtime.emit(subscribeEvent, this.options.roomName);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
realtime.on(this.options.roomName, data => {
|
|
@@ -44,16 +46,16 @@ export class RealtimeSubsManager {
|
|
|
44
46
|
if (this.observers.length === 0) {
|
|
45
47
|
this.isListening = false;
|
|
46
48
|
const { core, customEvent, roomName, property } = this.options;
|
|
47
|
-
const realtime = core.
|
|
49
|
+
const realtime = core.socketFE;
|
|
48
50
|
if (customEvent) {
|
|
49
|
-
realtime.emit(Symbols.REALTIME.
|
|
51
|
+
realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
|
|
50
52
|
}
|
|
51
53
|
else {
|
|
52
54
|
if (_.isString(property)) {
|
|
53
|
-
realtime.emit(Symbols.REALTIME.
|
|
55
|
+
realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
54
56
|
}
|
|
55
57
|
else {
|
|
56
|
-
realtime.emit(Symbols.REALTIME.
|
|
58
|
+
realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -76,4 +78,4 @@ export class RealtimeSubsManager {
|
|
|
76
78
|
}
|
|
77
79
|
;
|
|
78
80
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-subs-manager.ts
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3Vicy1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtc3Vicy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNckMsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUFvQixPQUFzQztRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUZsRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQXNCLEVBQUUsQ0FBQztJQUNtQixDQUFDO0lBRzlELHVCQUF1QixDQUNyQixRQUEwRDtRQUUxRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUNyRSxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztZQUMxRSxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFFeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM3QixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FB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QUM7UUFHNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFFaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0QixDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUVBQXVFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ltYm9scyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgU29ja2V0IGFzIFNvY2tldENsaWVudCB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHsgRGVmYXVsdEV2ZW50c01hcCB9IGZyb20gJ3NvY2tldC5pby9kaXN0L3R5cGVkLWV2ZW50cyc7XG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4vcmVhbHRpbWUubW9kZWxzJztcblxuXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdWJzTWFuYWdlciB7XG4gIHByaXZhdGUgaXNMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvYnNlcnZlcnM6IFN1YnNjcmliZXI8YW55PltdID0gW107XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9uczogUmVhbHRpbWVNb2RlbHMuU3Vic01hbmFnZXJPcHQpIHt9XG5cblxuICBzdGFydExpc3RlbklmTm90U3RhcnRlZChcbiAgICByZWFsdGltZTogU29ja2V0Q2xpZW50PERlZmF1bHRFdmVudHNNYXAsIERlZmF1bHRFdmVudHNNYXA+LFxuICApIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNvcmUuY3R4LmRpc2FibGVkUmVhbHRpbWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihgW1Rhb25dW3N0YXJ0TGlzdGVuSWZOb3RTdGFydGVkXSBzb2NrZXRzIGFyZSBkaXNhYmxlZGApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcmVhbHRpbWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihgW1Rhb25dW3N0YXJ0TGlzdGVuSWZOb3RTdGFydGVkXSBpbnZhbGlkIHNvY2tldCBjb25uZWN0aW9uYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzTGlzdGVuaW5nKSB7XG5cbiAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSB0cnVlO1xuXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmN1c3RvbUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmliZUV2ZW50ID0gU3ltYm9scy5SRUFMVElNRS5ST09NX1NVQlNDUklCRV9DVVNUT00oXG4gICAgICAgICAgdGhpcy5vcHRpb25zLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIHJlYWx0aW1lLmVtaXQoc3Vic2NyaWJlRXZlbnQsIHRoaXMub3B0aW9ucy5yb29tTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoXy5pc1N0cmluZyh0aGlzLm9wdGlvbnMucHJvcGVydHkpKSB7XG4gICAgICAgICAgY29uc3Qgc3Vic2NyaWJlRXZlbnQgPVxuICAgICAgICAgICAgU3ltYm9scy5SRUFMVElNRS5ST09NX1NVQlNDUklCRV9FTlRJVFlfUFJPUEVSVFlfVVBEQVRFX0VWRU5UUyhcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIHJlYWx0aW1lLmVtaXQoc3Vic2NyaWJlRXZlbnQsIHRoaXMub3B0aW9ucy5yb29tTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc3Vic2NyaWJlRXZlbnQgPVxuICAgICAgICAgICAgU3ltYm9scy5SRUFMVElNRS5ST09NX1NVQlNDUklCRV9FTlRJVFlfVVBEQVRFX0VWRU5UUyhcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIHJlYWx0aW1lLmVtaXQoc3Vic2NyaWJlRXZlbnQsIHRoaXMub3B0aW9ucy5yb29tTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICByZWFsdGltZS5vbih0aGlzLm9wdGlvbnMucm9vbU5hbWUsIGRhdGEgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZShkYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cblxuICBhZGQob2JzZXJ2ZXI6IFN1YnNjcmliZXI8YW55Pikge1xuXG4gICAgdGhpcy5vYnNlcnZlcnMucHVzaChvYnNlcnZlcik7XG4gIH1cblxuXG5cbiAgcmVtb3ZlKG9ic2VydmVyOiBTdWJzY3JpYmVyPGFueT4pIHtcblxuICAgIHRoaXMub2JzZXJ2ZXJzID0gdGhpcy5vYnNlcnZlcnMuZmlsdGVyKG9icyA9PiBvYnMgIT09IG9ic2VydmVyKTtcbiAgICBpZiAodGhpcy5vYnNlcnZlcnMubGVuZ3RoID09PSAwKSB7XG5cbiAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHsgY29yZSwgY3VzdG9tRXZlbnQsIHJvb21OYW1lLCBwcm9wZXJ0eSB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgICBjb25zdCByZWFsdGltZSA9IGNvcmUuc29ja2V0RkU7XG5cbiAgICAgIGlmIChjdXN0b21FdmVudCkge1xuICAgICAgICByZWFsdGltZS5lbWl0KFxuICAgICAgICAgIFN5bWJvbHMuUkVBTFRJTUUuUk9PTV9VTlNVQlNDUklCRV9DVVNUT00oXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuY29yZS5jdHguY29udGV4dE5hbWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgICByb29tTmFtZSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSkge1xuICAgICAgICAgIHJlYWx0aW1lLmVtaXQoXG4gICAgICAgICAgICBTeW1ib2xzLlJFQUxUSU1FLlJPT01fVU5TVUJTQ1JJQkVfRU5USVRZX1BST1BFUlRZX1VQREFURV9FVkVOVFMoXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5jb3JlLmN0eC5jb250ZXh0TmFtZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICByb29tTmFtZSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlYWx0aW1lLmVtaXQoXG4gICAgICAgICAgICBTeW1ib2xzLlJFQUxUSU1FLlJPT01fVU5TVUJTQ1JJQkVfRU5USVRZX1VQREFURV9FVkVOVFMoXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5jb3JlLmN0eC5jb250ZXh0TmFtZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICByb29tTmFtZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHByaXZhdGUgdXBkYXRlKGRhdGE6IGFueSkge1xuXG4gICAgY29uc3Qgbmdab25lID0gdGhpcy5vcHRpb25zLmNvcmUuY3R4Lm5nWm9uZTtcblxuXG4gICAgdGhpcy5vYnNlcnZlcnMuZm9yRWFjaChvYnNlcnZlciA9PiB7XG5cbiAgICAgIGlmICghb2JzZXJ2ZXIuY2xvc2VkKSB7XG4gICAgICAgIGlmIChuZ1pvbmUpIHtcbiAgICAgICAgICBuZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN1YnMtbWFuYWdlci50cyJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
;
|
|
2
2
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime.models.ts
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCQyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB0eXBlIHsgUmVhbHRpbWVDb3JlIH0gZnJvbSAnLi9yZWFsdGltZS1jb3JlJztcblxuZXhwb3J0IG5hbWVzcGFjZSBSZWFsdGltZU1vZGVscyB7XG4gIGV4cG9ydCB0eXBlIFN1YnNNYW5hZ2VyT3B0ID0ge1xuICAgIGNvcmU6IFJlYWx0aW1lQ29yZTtcbiAgICBjdXN0b21FdmVudDogc3RyaW5nO1xuICAgIHJvb21OYW1lOiBzdHJpbmc7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgfTtcblxuICBleHBvcnQgdHlwZSBDaGFuZ2VPcHRpb24gPSB7XG4gICAgcHJvcGVydHk/OiBzdHJpbmc7XG4gICAgY3VzdG9tRXZlbnQ/OiBzdHJpbmc7XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRXZlbnRIYW5kbGVyID0gKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUubW9kZWxzLnRzIl19
|
|
@@ -9,45 +9,52 @@ export var Symbols;
|
|
|
9
9
|
Symbols.orignalClass = OrignalClassKey;
|
|
10
10
|
Symbols.orignalClassClonesObj = `$$originalClassClonesObj$$`;
|
|
11
11
|
Symbols.classMethodsNames = `$$classMethodsNames$$`;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* for backendSocket.in(ROOM_NAME).emit(EVENT)
|
|
14
|
+
*
|
|
15
|
+
* Room names are uniqe..
|
|
16
|
+
* here I am limiting number of event for clients.
|
|
17
|
+
*/
|
|
18
|
+
class Realtime {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.KEYroomSubscribe = `roomSubscribe`;
|
|
21
|
+
this.KEYroomUnsubscribe = `roomUnsubscribe`;
|
|
22
|
+
}
|
|
23
|
+
NAMESPACE(contextName) {
|
|
24
|
+
return `${contextName}-taonRealtimeNsp`;
|
|
25
|
+
}
|
|
14
26
|
TABLE_CHANGE(contextName, tableName) {
|
|
15
27
|
return `${contextName}:listentablename${tableName}`;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
ENTITY_UPDATE_EVENTS: (contextName) => `${contextName}:roomUnsubscribeEntityEvents`,
|
|
47
|
-
ENTITY_PROPERTY_UPDATE_EVENTS: (contextName) => `${contextName}:roomUnsubscribeEntityPropertyEvents`,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
};
|
|
28
|
+
}
|
|
29
|
+
ROOM_NAME_CUSTOM(contextName, customEvent) {
|
|
30
|
+
return `${contextName}:CustomRoomEvent${customEvent}`;
|
|
31
|
+
}
|
|
32
|
+
ROOM_SUBSCRIBE_CUSTOM(contextName) {
|
|
33
|
+
return `${contextName}:${this.KEYroomSubscribe}CustomRoomEvent`;
|
|
34
|
+
}
|
|
35
|
+
ROOM_UNSUBSCRIBE_CUSTOM(contextName) {
|
|
36
|
+
return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
|
|
37
|
+
}
|
|
38
|
+
ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
|
|
39
|
+
return `${contextName}:room${_.camelCase(className)}${entityId}`.toLowerCase();
|
|
40
|
+
}
|
|
41
|
+
ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
|
|
42
|
+
return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
|
|
43
|
+
}
|
|
44
|
+
ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
|
|
45
|
+
return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
|
|
46
|
+
}
|
|
47
|
+
ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
|
|
48
|
+
return `${contextName}:room${_.camelCase(className)}${_.camelCase(property)}${entityId}`.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
|
|
51
|
+
return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
|
|
52
|
+
}
|
|
53
|
+
ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
|
|
54
|
+
return `${contextName}:${this.KEYroomUnsubscribe}EntityPropertyEvents`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
Symbols.REALTIME = new Realtime();
|
|
51
58
|
Symbols.metadata = {
|
|
52
59
|
className: `class:realname`,
|
|
53
60
|
options: {
|
|
@@ -86,4 +93,4 @@ export var Symbols;
|
|
|
86
93
|
})(Symbols || (Symbols = {}));
|
|
87
94
|
;
|
|
88
95
|
({}); // @--end-of-file-for-module=taon lib/symbols.ts
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUQsTUFBTSxLQUFXLE9BQU8sQ0E2SHZCO0FBN0hELFdBQWlCLE9BQU87SUFDVCw0QkFBb0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUNoQywrQkFBdUIsR0FBVyxNQUFNLENBQUMsdUJBQXVCLENBQUM7SUFDakUsbUNBQTJCLEdBQVcsbUJBQW1CLENBQUM7SUFDMUQsb0JBQVksR0FBVyxlQUFlLENBQUM7SUFDdkMsNkJBQXFCLEdBQVcsNEJBQTRCLENBQUM7SUFDN0QseUJBQWlCLEdBQVcsdUJBQXVCLENBQUM7SUFFakU7Ozs7O09BS0c7SUFDSCxNQUFNLFFBQVE7UUFBZDtZQU9XLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztZQUNuQyx1QkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztRQThEbEQsQ0FBQztRQXJFQyxTQUFTLENBQUMsV0FBbUI7WUFDM0IsT0FBTyxHQUFHLFdBQVcsa0JBQWtCLENBQUM7UUFDMUMsQ0FBQztRQUNELFlBQVksQ0FBQyxXQUFtQixFQUFFLFNBQWlCO1lBQ2pELE9BQU8sR0FBRyxXQUFXLG1CQUFtQixTQUFTLEVBQUUsQ0FBQztRQUN0RCxDQUFDO1FBaUJELGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsV0FBbUI7WUFDdkQsT0FBTyxHQUFHLFdBQVcsbUJBQW1CLFdBQVcsRUFBRSxDQUFDO1FBQ3hELENBQUM7UUFFRCxxQkFBcUIsQ0FBQyxXQUFtQjtZQUN2QyxPQUFPLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsaUJBQWlCLENBQUM7UUFDbEUsQ0FBQztRQUNELHVCQUF1QixDQUFDLFdBQW1CO1lBQ3pDLE9BQU8sR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixpQkFBaUIsQ0FBQztRQUNwRSxDQUFDO1FBSUQsdUJBQXVCLENBQ3JCLFdBQW1CLEVBQ25CLFNBQWlCLEVBQ2pCLFFBQXlCO1lBRXpCLE9BQU8sR0FBRyxXQUFXLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRixDQUFDO1FBQ0QsbUNBQW1DLENBQUMsV0FBbUI7WUFDckQsT0FBTyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLGNBQWMsQ0FBQztRQUMvRCxDQUFDO1FBRUQscUNBQXFDLENBQUMsV0FBbUI7WUFDdkQsT0FBTyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLGNBQWMsQ0FBQztRQUNqRSxDQUFDO1FBSUQsZ0NBQWdDLENBQzlCLFdBQW1CLEVBQ25CLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLFFBQXlCO1lBRXpCLE9BQU8sR0FBRyxXQUFXLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pHLENBQUM7UUFFRCw0Q0FBNEMsQ0FBQyxXQUFtQjtZQUM5RCxPQUFPLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0Isc0JBQXNCLENBQUM7UUFDdkUsQ0FBQztRQUVELDhDQUE4QyxDQUFDLFdBQW1CO1lBQ2hFLE9BQU8sR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixzQkFBc0IsQ0FBQztRQUN6RSxDQUFDO0tBRUY7SUFFWSxnQkFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFMUIsZ0JBQVEsR0FBRztRQUN0QixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLE9BQU8sRUFBRTtZQUNQLGlCQUFpQixFQUFFLDRCQUE0QjtZQUMvQyxVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLGdCQUFnQixFQUFFLDJCQUEyQjtZQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDO0tBQ0YsQ0FBQztJQUVXLFdBQUcsR0FBRztRQUNqQixlQUFlLEVBQUUsTUFBTSxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsd0JBQXdCLEVBQUUsTUFBTSxFQUFFO1FBQ2xDLDhCQUE4QixFQUFFLE1BQU0sRUFBRTtRQUN4Qyw2QkFBNkIsRUFBRSxNQUFNLEVBQUU7UUFDdkMsNEJBQTRCLEVBQUUsTUFBTSxFQUFFO1FBRXRDLGFBQWEsRUFBRSxlQUFlO1FBQzlCLHlCQUF5QixFQUFFLGlCQUFpQjtRQUM1QyxnQ0FBZ0MsRUFBRSxpQkFBaUI7UUFDbkQscUJBQXFCLEVBQUUsZUFBZTtRQUN0QyxpQ0FBaUMsRUFBRSxjQUFjO1FBQ2pELGtDQUFrQyxFQUFFLGVBQWU7UUFDbkQsb0JBQW9CLEVBQUUsMEJBQTBCO1FBQ2hELHVCQUF1QixFQUFFLDBCQUEwQjtRQUNuRCxVQUFVLEVBQUUsc0JBQXNCO1FBQ2xDLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRSxNQUFNLEVBQUU7U0FDdEI7UUFDRCxjQUFjLEVBQUU7WUFDZCxnQkFBZ0IsRUFBRSw2RkFBNkY7U0FDaEg7S0FDRixDQUFDO0FBQ0osQ0FBQyxFQTdIZ0IsT0FBTyxLQUFQLE9BQU8sUUE2SHZCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgT3JpZ25hbENsYXNzS2V5IH0gZnJvbSAndGFvbi10eXBlb3JtL2Jyb3dzZXInO1xuaW1wb3J0IHsgU1lNQk9MIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuXG5leHBvcnQgbmFtZXNwYWNlIFN5bWJvbHMge1xuICBleHBvcnQgY29uc3QgY3R4SW5DbGFzc09yQ2xhc3NPYmogPSBTeW1ib2woKTtcbiAgZXhwb3J0IGNvbnN0IGNsYXNzTmFtZVN0YXRpY1Byb3BlcnR5OiBzdHJpbmcgPSBTWU1CT0wuQ2xhc3NOYW1lU3RhdGljUHJvcGVydHk7XG4gIGV4cG9ydCBjb25zdCBmdWxsQ2xhc3NOYW1lU3RhdGljUHJvcGVydHk6IHN0cmluZyA9IGAkJGZ1bGxjbGFzc05hbWUkJGA7XG4gIGV4cG9ydCBjb25zdCBvcmlnbmFsQ2xhc3M6IHN0cmluZyA9IE9yaWduYWxDbGFzc0tleTtcbiAgZXhwb3J0IGNvbnN0IG9yaWduYWxDbGFzc0Nsb25lc09iajogc3RyaW5nID0gYCQkb3JpZ2luYWxDbGFzc0Nsb25lc09iaiQkYDtcbiAgZXhwb3J0IGNvbnN0IGNsYXNzTWV0aG9kc05hbWVzOiBzdHJpbmcgPSBgJCRjbGFzc01ldGhvZHNOYW1lcyQkYDtcblxuICAvKipcbiAgICogZm9yIGJhY2tlbmRTb2NrZXQuaW4oUk9PTV9OQU1FKS5lbWl0KEVWRU5UKVxuICAgKlxuICAgKiBSb29tIG5hbWVzIGFyZSB1bmlxZS4uXG4gICAqIGhlcmUgSSBhbSBsaW1pdGluZyBudW1iZXIgb2YgZXZlbnQgZm9yIGNsaWVudHMuXG4gICAqL1xuICBjbGFzcyBSZWFsdGltZSB7XG4gICAgTkFNRVNQQUNFKGNvbnRleHROYW1lOiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBgJHtjb250ZXh0TmFtZX0tdGFvblJlYWx0aW1lTnNwYDtcbiAgICB9XG4gICAgVEFCTEVfQ0hBTkdFKGNvbnRleHROYW1lOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gYCR7Y29udGV4dE5hbWV9Omxpc3RlbnRhYmxlbmFtZSR7dGFibGVOYW1lfWA7XG4gICAgfVxuICAgIHJlYWRvbmx5IEtFWXJvb21TdWJzY3JpYmUgPSBgcm9vbVN1YnNjcmliZWA7XG4gICAgcmVhZG9ubHkgS0VZcm9vbVVuc3Vic2NyaWJlID0gYHJvb21VbnN1YnNjcmliZWA7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICAgIFJPT01fTkFNRV9DVVNUT00oY29udGV4dE5hbWU6IHN0cmluZywgY3VzdG9tRXZlbnQ6IHN0cmluZykge1xuICAgICAgcmV0dXJuIGAke2NvbnRleHROYW1lfTpDdXN0b21Sb29tRXZlbnQke2N1c3RvbUV2ZW50fWA7XG4gICAgfVxuXG4gICAgUk9PTV9TVUJTQ1JJQkVfQ1VTVE9NKGNvbnRleHROYW1lOiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBgJHtjb250ZXh0TmFtZX06JHt0aGlzLktFWXJvb21TdWJzY3JpYmV9Q3VzdG9tUm9vbUV2ZW50YDtcbiAgICB9XG4gICAgUk9PTV9VTlNVQlNDUklCRV9DVVNUT00oY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIGAke2NvbnRleHROYW1lfToke3RoaXMuS0VZcm9vbVVuc3Vic2NyaWJlfUN1c3RvbVJvb21FdmVudGA7XG4gICAgfVxuXG5cblxuICAgIFJPT01fTkFNRV9VUERBVEVfRU5USVRZKFxuICAgICAgY29udGV4dE5hbWU6IHN0cmluZyxcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgICAgZW50aXR5SWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICApIHtcbiAgICAgIHJldHVybiBgJHtjb250ZXh0TmFtZX06cm9vbSR7Xy5jYW1lbENhc2UoY2xhc3NOYW1lKX0ke2VudGl0eUlkfWAudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gICAgUk9PTV9TVUJTQ1JJQkVfRU5USVRZX1VQREFURV9FVkVOVFMoY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIGAke2NvbnRleHROYW1lfToke3RoaXMuS0VZcm9vbVN1YnNjcmliZX1FbnRpdHlFdmVudHNgO1xuICAgIH1cblxuICAgIFJPT01fVU5TVUJTQ1JJQkVfRU5USVRZX1VQREFURV9FVkVOVFMoY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIGAke2NvbnRleHROYW1lfToke3RoaXMuS0VZcm9vbVVuc3Vic2NyaWJlfUVudGl0eUV2ZW50c2A7XG4gICAgfVxuXG5cblxuICAgIFJPT01fTkFNRV9VUERBVEVfRU5USVRZX1BST1BFUlRZKFxuICAgICAgY29udGV4dE5hbWU6IHN0cmluZyxcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICAgIGVudGl0eUlkOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgKSB7XG4gICAgICByZXR1cm4gYCR7Y29udGV4dE5hbWV9OnJvb20ke18uY2FtZWxDYXNlKGNsYXNzTmFtZSl9JHtfLmNhbWVsQ2FzZShwcm9wZXJ0eSl9JHtlbnRpdHlJZH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgUk9PTV9TVUJTQ1JJQkVfRU5USVRZX1BST1BFUlRZX1VQREFURV9FVkVOVFMoY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIGAke2NvbnRleHROYW1lfToke3RoaXMuS0VZcm9vbVN1YnNjcmliZX1FbnRpdHlQcm9wZXJ0eUV2ZW50c2A7XG4gICAgfVxuXG4gICAgUk9PTV9VTlNVQlNDUklCRV9FTlRJVFlfUFJPUEVSVFlfVVBEQVRFX0VWRU5UUyhjb250ZXh0TmFtZTogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gYCR7Y29udGV4dE5hbWV9OiR7dGhpcy5LRVlyb29tVW5zdWJzY3JpYmV9RW50aXR5UHJvcGVydHlFdmVudHNgO1xuICAgIH1cblxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFJFQUxUSU1FID0gbmV3IFJlYWx0aW1lKCk7XG5cbiAgZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICAgIGNsYXNzTmFtZTogYGNsYXNzOnJlYWxuYW1lYCxcbiAgICBvcHRpb25zOiB7XG4gICAgICBydW50aW1lQ29udHJvbGxlcjogYHJ1bnRpbWU6Y29udHJvbGxlcjpvcHRpb25zYCxcbiAgICAgIGNvbnRyb2xsZXI6IGBjb250cm9sbGVyOm9wdGlvbnNgLFxuICAgICAgY29udHJvbGxlck1ldGhvZDogYGNvbnRyb2xsZXI6bWV0aG9kOm9wdGlvbnNgLFxuICAgICAgZW50aXR5OiBgZW50aXR5Om9wdGlvbnNgLFxuICAgICAgcmVwb3NpdG9yeTogYHJlcG9zaXRvcnk6b3B0aW9uc2AsXG4gICAgICBwcm92aWRlcjogYHByb3ZpZGVyOm9wdGlvbnNgLFxuICAgICAgc3Vic2NyaWJlcjogYHN1YnNjcmliZXI6b3B0aW9uc2AsXG4gICAgfSxcbiAgfTtcblxuICBleHBvcnQgY29uc3Qgb2xkID0ge1xuICAgIEhBU19UQUJMRV9JTl9EQjogU3ltYm9sKCksXG4gICAgTURDX0tFWTogYG1vZGVsZGF0YWNvbmZpZ2AsXG4gICAgV0VCU1FMX1JFU1RfUFJPR1JFU1NfRlVOOiBTeW1ib2woKSxcbiAgICBXRUJTUUxfUkVTVF9QUk9HUkVTU19GVU5fU1RBUlQ6IFN5bWJvbCgpLFxuICAgIFdFQlNRTF9SRVNUX1BST0dSRVNTX0ZVTl9ET05FOiBTeW1ib2woKSxcbiAgICBXRUJTUUxfUkVTVF9QUk9HUkVTU19USU1FT1VUOiBTeW1ib2woKSxcblxuICAgIFhfVE9UQUxfQ09VTlQ6IGB4LXRvdGFsLWNvdW50YCxcbiAgICBDSVJDVVJBTF9PQkpFQ1RTX01BUF9CT0RZOiBgY2lyY3VyYWxtYXBib2R5YCxcbiAgICBDSVJDVVJBTF9PQkpFQ1RTX01BUF9RVUVSWV9QQVJBTTogYGNpcmN1cmFsbWFwYm9keWAsXG4gICAgTUFQUElOR19DT05GSUdfSEVBREVSOiBgbWFwcGluZ2hlYWRlcmAsXG4gICAgTUFQUElOR19DT05GSUdfSEVBREVSX0JPRFlfUEFSQU1TOiBgbWhib2R5cGFyYW1zYCxcbiAgICBNQVBQSU5HX0NPTkZJR19IRUFERVJfUVVFUllfUEFSQU1TOiBgbWhxdWVyeXBhcmFtc2AsXG4gICAgRU5EUE9JTlRfTUVUQV9DT05GSUc6IGBuZzJfcmVzdF9lbmRwb2ludF9jb25maWdgLFxuICAgIENMQVNTX0RFQ09SQVRPUl9DT05URVhUOiBgJCRuZzJfcmVzdF9jbGFzc19jb250ZXh0YCxcbiAgICBTT0NLRVRfTVNHOiBgc29ja2V0bWVzc2FnZW5nMnJlc3RgLFxuICAgIEFOR1VMQVI6IHtcbiAgICAgIElOUFVUX05BTUVTOiBTeW1ib2woKSxcbiAgICB9LFxuICAgIEVSUk9SX01FU1NBR0VTOiB7XG4gICAgICBDTEFTU19OQU1FX01BVENIOiBgUGxlYXNlIGNoZWNrIGlmIHlvdXIgXCJjbGFzcyBuYW1lXCIgbWF0Y2hlcyAgQENvbnRyb2xsZXIoIGNsYXNzTmFtZSApIG9yIEBFbnRpdHkoIGNsYXNzTmFtZSApYCxcbiAgICB9LFxuICB9O1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvc3ltYm9scy50cyJdfQ==
|