├── .github └── workflows │ └── test.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── LICENSE ├── README.md ├── config ├── eslint │ ├── config.json │ ├── src.json │ └── test.json ├── karma │ ├── config-integration.js │ └── config-unit.js ├── lint-staged │ └── config.json ├── prettier │ └── config.json ├── rollup │ └── bundle.mjs └── tslint │ └── src.json ├── package.json ├── src ├── classes │ ├── data-channel-observer.ts │ ├── data-channel-subject.ts │ ├── masked-subject.ts │ ├── transport-observable.ts │ ├── web-socket-observer.ts │ └── web-socket-subject.ts ├── factories │ ├── data-channel-observer.ts │ ├── data-channel-subject-factory.ts │ ├── masked-subject-factory.ts │ ├── transport-observable.ts │ ├── web-socket-observer.ts │ └── web-socket-subject-factory.ts ├── functions │ └── get-typed-keys.ts ├── interfaces │ ├── index.ts │ ├── remote-subject.ts │ ├── stringifyable-json-object.ts │ ├── stringifyable.ts │ └── subject-config.ts ├── module.ts ├── tsconfig.json └── types │ ├── binary-type.ts │ ├── data-channel-observer-factory.ts │ ├── data-channel-subject-factory-factory.ts │ ├── data-channel-subject-factory.ts │ ├── event-handler.ts │ ├── get-typed-keys-function.ts │ ├── index.ts │ ├── masked-subject-factory-factory.ts │ ├── masked-subject-factory.ts │ ├── stringifyable-json-object.ts │ ├── stringifyable-json-value.ts │ ├── transport-observable-factory.ts │ ├── web-socket-observer-factory.ts │ ├── web-socket-subject-factory-factory.ts │ └── web-socket-subject-factory.ts └── test ├── helper └── establish-data-channels.js ├── integration └── module.js ├── mock ├── data-channel.js └── web-socket.js └── unit ├── classes ├── data-channel-observer.js ├── data-channel-subject.js ├── masked-subject.js ├── transport-observable.js ├── web-socket-observer.js └── web-socket-subject.js └── factories └── transport-observable.js /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | node_modules/ 3 | /build/ 4 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/README.md -------------------------------------------------------------------------------- /config/eslint/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/eslint/config.json -------------------------------------------------------------------------------- /config/eslint/src.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/eslint/src.json -------------------------------------------------------------------------------- /config/eslint/test.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/eslint/test.json -------------------------------------------------------------------------------- /config/karma/config-integration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/karma/config-integration.js -------------------------------------------------------------------------------- /config/karma/config-unit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/karma/config-unit.js -------------------------------------------------------------------------------- /config/lint-staged/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/lint-staged/config.json -------------------------------------------------------------------------------- /config/prettier/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/prettier/config.json -------------------------------------------------------------------------------- /config/rollup/bundle.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/config/rollup/bundle.mjs -------------------------------------------------------------------------------- /config/tslint/src.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint-config-holy-grail" 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/package.json -------------------------------------------------------------------------------- /src/classes/data-channel-observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/data-channel-observer.ts -------------------------------------------------------------------------------- /src/classes/data-channel-subject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/data-channel-subject.ts -------------------------------------------------------------------------------- /src/classes/masked-subject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/masked-subject.ts -------------------------------------------------------------------------------- /src/classes/transport-observable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/transport-observable.ts -------------------------------------------------------------------------------- /src/classes/web-socket-observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/web-socket-observer.ts -------------------------------------------------------------------------------- /src/classes/web-socket-subject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/classes/web-socket-subject.ts -------------------------------------------------------------------------------- /src/factories/data-channel-observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/data-channel-observer.ts -------------------------------------------------------------------------------- /src/factories/data-channel-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/data-channel-subject-factory.ts -------------------------------------------------------------------------------- /src/factories/masked-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/masked-subject-factory.ts -------------------------------------------------------------------------------- /src/factories/transport-observable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/transport-observable.ts -------------------------------------------------------------------------------- /src/factories/web-socket-observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/web-socket-observer.ts -------------------------------------------------------------------------------- /src/factories/web-socket-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/factories/web-socket-subject-factory.ts -------------------------------------------------------------------------------- /src/functions/get-typed-keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/functions/get-typed-keys.ts -------------------------------------------------------------------------------- /src/interfaces/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/interfaces/index.ts -------------------------------------------------------------------------------- /src/interfaces/remote-subject.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/interfaces/remote-subject.ts -------------------------------------------------------------------------------- /src/interfaces/stringifyable-json-object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/interfaces/stringifyable-json-object.ts -------------------------------------------------------------------------------- /src/interfaces/stringifyable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/interfaces/stringifyable.ts -------------------------------------------------------------------------------- /src/interfaces/subject-config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/interfaces/subject-config.ts -------------------------------------------------------------------------------- /src/module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/module.ts -------------------------------------------------------------------------------- /src/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/tsconfig.json -------------------------------------------------------------------------------- /src/types/binary-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/binary-type.ts -------------------------------------------------------------------------------- /src/types/data-channel-observer-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/data-channel-observer-factory.ts -------------------------------------------------------------------------------- /src/types/data-channel-subject-factory-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/data-channel-subject-factory-factory.ts -------------------------------------------------------------------------------- /src/types/data-channel-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/data-channel-subject-factory.ts -------------------------------------------------------------------------------- /src/types/event-handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/event-handler.ts -------------------------------------------------------------------------------- /src/types/get-typed-keys-function.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/get-typed-keys-function.ts -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/index.ts -------------------------------------------------------------------------------- /src/types/masked-subject-factory-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/masked-subject-factory-factory.ts -------------------------------------------------------------------------------- /src/types/masked-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/masked-subject-factory.ts -------------------------------------------------------------------------------- /src/types/stringifyable-json-object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/stringifyable-json-object.ts -------------------------------------------------------------------------------- /src/types/stringifyable-json-value.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/stringifyable-json-value.ts -------------------------------------------------------------------------------- /src/types/transport-observable-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/transport-observable-factory.ts -------------------------------------------------------------------------------- /src/types/web-socket-observer-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/web-socket-observer-factory.ts -------------------------------------------------------------------------------- /src/types/web-socket-subject-factory-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/web-socket-subject-factory-factory.ts -------------------------------------------------------------------------------- /src/types/web-socket-subject-factory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/src/types/web-socket-subject-factory.ts -------------------------------------------------------------------------------- /test/helper/establish-data-channels.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/helper/establish-data-channels.js -------------------------------------------------------------------------------- /test/integration/module.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/integration/module.js -------------------------------------------------------------------------------- /test/mock/data-channel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/mock/data-channel.js -------------------------------------------------------------------------------- /test/mock/web-socket.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/mock/web-socket.js -------------------------------------------------------------------------------- /test/unit/classes/data-channel-observer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/data-channel-observer.js -------------------------------------------------------------------------------- /test/unit/classes/data-channel-subject.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/data-channel-subject.js -------------------------------------------------------------------------------- /test/unit/classes/masked-subject.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/masked-subject.js -------------------------------------------------------------------------------- /test/unit/classes/transport-observable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/transport-observable.js -------------------------------------------------------------------------------- /test/unit/classes/web-socket-observer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/web-socket-observer.js -------------------------------------------------------------------------------- /test/unit/classes/web-socket-subject.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/classes/web-socket-subject.js -------------------------------------------------------------------------------- /test/unit/factories/transport-observable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrisguttandin/rxjs-broker/HEAD/test/unit/factories/transport-observable.js --------------------------------------------------------------------------------