@dxos/messaging 0.8.3 → 0.8.4-main.1da679c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{chunk-ISA3S2ZX.mjs → chunk-46VUJLOF.mjs} +451 -334
- package/dist/lib/browser/chunk-46VUJLOF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +46 -17
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/{chunk-SO4RY3ON.mjs → chunk-4SVYY5G5.mjs} +451 -334
- package/dist/lib/node-esm/chunk-4SVYY5G5.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +46 -17
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/messenger.blueprint-test.d.ts.map +1 -1
- package/dist/types/src/messenger.d.ts +1 -1
- package/dist/types/src/messenger.d.ts.map +1 -1
- package/dist/types/src/signal-client/signal-client.d.ts +2 -2
- package/dist/types/src/signal-client/signal-client.d.ts.map +1 -1
- package/dist/types/src/signal-client/signal-local-state.d.ts +1 -1
- package/dist/types/src/signal-client/signal-local-state.d.ts.map +1 -1
- package/dist/types/src/signal-client/signal-rpc-client.d.ts.map +1 -1
- package/dist/types/src/signal-manager/edge-signal-manager.d.ts +1 -1
- package/dist/types/src/signal-manager/edge-signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-manager/index.d.ts +1 -1
- package/dist/types/src/signal-manager/index.d.ts.map +1 -1
- package/dist/types/src/signal-manager/memory-signal-manager.d.ts +1 -1
- package/dist/types/src/signal-manager/memory-signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-manager/signal-manager.d.ts +1 -1
- package/dist/types/src/signal-manager/signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-manager/websocket-signal-manager.d.ts +1 -1
- package/dist/types/src/signal-manager/websocket-signal-manager.d.ts.map +1 -1
- package/dist/types/src/signal-methods.d.ts +2 -2
- package/dist/types/src/signal-methods.d.ts.map +1 -1
- package/dist/types/src/testing/test-builder.d.ts +1 -1
- package/dist/types/src/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-peer.d.ts +1 -1
- package/dist/types/src/testing/test-peer.d.ts.map +1 -1
- package/dist/types/src/testing/utils.d.ts +1 -1
- package/dist/types/src/testing/utils.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -16
- package/src/messenger.blueprint-test.ts +2 -2
- package/src/messenger.node.test.ts +2 -2
- package/src/messenger.ts +1 -1
- package/src/signal-client/signal-client.node.test.ts +4 -3
- package/src/signal-client/signal-client.ts +7 -6
- package/src/signal-client/signal-local-state.ts +4 -3
- package/src/signal-client/signal-rpc-client.node.test.ts +1 -1
- package/src/signal-client/signal-rpc-client.ts +4 -4
- package/src/signal-manager/edge-signal-manager.ts +6 -5
- package/src/signal-manager/index.ts +1 -1
- package/src/signal-manager/memory-signal-manager.ts +2 -1
- package/src/signal-manager/signal-manager.ts +1 -1
- package/src/signal-manager/websocket-signal-manager.node.test.ts +3 -2
- package/src/signal-manager/websocket-signal-manager.ts +4 -3
- package/src/signal-methods.ts +3 -3
- package/src/testing/test-builder.ts +3 -2
- package/src/testing/test-peer.ts +3 -2
- package/src/testing/utils.ts +3 -2
- package/dist/lib/browser/chunk-ISA3S2ZX.mjs.map +0 -7
- package/dist/lib/node/chunk-GMND65DN.cjs +0 -2291
- package/dist/lib/node/chunk-GMND65DN.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -43
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/testing/index.cjs +0 -159
- package/dist/lib/node/testing/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-SO4RY3ON.mjs.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/testing/test-peer.ts", "../../../../src/testing/utils.ts", "../../../../src/testing/test-messages.ts", "../../../../src/testing/test-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { Resource } from '@dxos/context';\nimport { PeerSchema } from '@dxos/edge-client';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { buf } from '@dxos/protocols/buf';\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;AAIA,SAASA,aAAa;AACtB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAC3B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,WAAW;;;ACLpB,
|
|
6
|
-
"names": ["Event", "Resource", "PeerSchema", "PublicKey", "log", "buf", "asyncTimeout", "PublicKey", "PAYLOAD_1", "type_url", "value", "Buffer", "from", "PAYLOAD_2", "PAYLOAD_3", "expectPeerAvailable", "client", "expectedTopic", "peer", "asyncTimeout", "swarmEvent", "waitFor", "peerAvailable", "topic", "peerKey", "equals", "expectPeerLeft", "peerLeft", "expectReceivedMessage", "event", "expectedMessage", "msg", "author", "recipient", "PublicKey", "from", "payload", "value", "createMessage", "PAYLOAD_1", "messageEqual", "msg1", "msg2", "TestPeer", "Resource", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { Resource } from '@dxos/context';\nimport { PeerSchema } from '@dxos/edge-client';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { buf } from '@dxos/protocols/buf';\n\nimport { Messenger } from '../messenger';\nimport { type SignalManager } from '../signal-manager';\nimport { type Message, type PeerInfo } from '../signal-methods';\n\nimport { type TestBuilder } from './test-builder';\nimport { expectPeerAvailable, expectPeerLeft, expectReceivedMessage } from './utils';\n\nexport class TestPeer extends Resource {\n public peerId = PublicKey.random();\n public signalManager!: SignalManager;\n public messenger!: Messenger;\n public defaultReceived = new Event<Message>();\n\n constructor(private readonly testBuilder: TestBuilder) {\n super();\n }\n\n get peerInfo(): PeerInfo {\n return buf.create(PeerSchema, { peerKey: this.peerId.toHex(), identityKey: this.peerId.toHex() });\n }\n\n async waitTillReceive(message: Message): Promise<Message> {\n return expectReceivedMessage(this.defaultReceived, message);\n }\n\n async waitForPeerAvailable(topic: PublicKey, peer: PeerInfo) {\n return expectPeerAvailable(this.signalManager, topic, peer);\n }\n\n async waitForPeerLeft(topic: PublicKey, peer: PeerInfo) {\n return expectPeerLeft(this.signalManager, topic, peer);\n }\n\n protected override async _open(): Promise<void> {\n this.signalManager = await this.testBuilder.createSignalManager(this);\n this.messenger = new Messenger({ signalManager: this.signalManager, retryDelay: 300 });\n\n await this.signalManager.open();\n this.messenger.open();\n await this.messenger\n .listen({\n peer: this.peerInfo,\n onMessage: async (msg) => {\n this.defaultReceived.emit(msg);\n },\n })\n .catch((err) => log.catch(err));\n }\n\n protected override async _close(): Promise<void> {\n await this.messenger.close();\n await this.signalManager.close();\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type Event, asyncTimeout } from '@dxos/async';\nimport { type Any } from '@dxos/codec-protobuf';\nimport { PublicKey } from '@dxos/keys';\n\nimport { type Message, type PeerInfo, type SignalMethods } from '../signal-methods';\n\nimport { PAYLOAD_1 } from './test-messages';\n\nexport const expectPeerAvailable = (client: SignalMethods, expectedTopic: PublicKey, peer: PeerInfo) =>\n asyncTimeout(\n client.swarmEvent.waitFor(\n ({ peerAvailable, topic }) =>\n !!peerAvailable && peer.peerKey === peerAvailable.peer.peerKey && expectedTopic.equals(topic),\n ),\n 6000,\n );\n\nexport const expectPeerLeft = (client: SignalMethods, expectedTopic: PublicKey, peer: PeerInfo) =>\n asyncTimeout(\n client.swarmEvent.waitFor(\n ({ peerLeft, topic }) => !!peerLeft && peer.peerKey === peerLeft.peer.peerKey && expectedTopic.equals(topic),\n ),\n 6000,\n );\n\nexport const expectReceivedMessage = (event: Event<Message>, expectedMessage: Message) => {\n return asyncTimeout(\n event.waitFor(\n (msg) =>\n msg.author.peerKey === expectedMessage.author.peerKey &&\n msg.recipient.peerKey === expectedMessage.recipient.peerKey &&\n PublicKey.from(msg.payload.value).equals(expectedMessage.payload.value),\n ),\n 5000,\n );\n};\n\nexport const createMessage = (author: PeerInfo, recipient: PeerInfo, payload: Any = PAYLOAD_1): Message => ({\n author,\n recipient,\n payload,\n});\n\nexport const messageEqual = (msg1: Message, msg2: Message) =>\n msg1.author.peerKey === msg2.author.peerKey &&\n msg1.recipient.peerKey === msg2.recipient.peerKey &&\n PublicKey.from(msg1.payload.value).equals(msg2.payload.value);\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type TaggedType } from '@dxos/codec-protobuf';\nimport { type TYPES } from '@dxos/protocols/proto';\n\nexport const PAYLOAD_1: TaggedType<TYPES, 'google.protobuf.Any'> = {\n '@type': 'google.protobuf.Any',\n type_url: 'dxos.Example1',\n value: Buffer.from('1'),\n};\n\nexport const PAYLOAD_2: TaggedType<TYPES, 'google.protobuf.Any'> = {\n '@type': 'google.protobuf.Any',\n type_url: 'dxos.Example2',\n value: Buffer.from('2'),\n};\n\nexport const PAYLOAD_3: TaggedType<TYPES, 'google.protobuf.Any'> = {\n '@type': 'google.protobuf.Any',\n type_url: 'dxos.Example3',\n value: Buffer.from('3'),\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { MemorySignalManager, MemorySignalManagerContext, type SignalManager } from '../signal-manager';\nimport { type Message } from '../signal-methods';\n\nimport { TestPeer } from './test-peer';\n\nexport type TestBuilderOptions = {\n signalManagerFactory?: (peer: TestPeer) => Promise<SignalManager>;\n messageDisruption?: (msg: Message) => Message[];\n};\n\nexport class TestBuilder {\n private _signalContext = new MemorySignalManagerContext();\n private readonly _peers: TestPeer[] = [];\n\n constructor(public options: TestBuilderOptions) {}\n\n async createSignalManager(peer: TestPeer): Promise<SignalManager> {\n const signalManager =\n (await this.options.signalManagerFactory?.(peer)) ?? new MemorySignalManager(this._signalContext);\n\n if (this.options.messageDisruption) {\n // Imitates signal network disruptions (e. g. message doubling, ).\n const trueSend = signalManager.sendMessage.bind(signalManager);\n signalManager.sendMessage = async (message: Message) => {\n for (const msg of this.options.messageDisruption!(message)) {\n await trueSend(msg);\n }\n };\n }\n\n return signalManager;\n }\n\n async createPeer(): Promise<TestPeer> {\n const peer = new TestPeer(this);\n await peer.open();\n this._peers.push(peer);\n return peer;\n }\n\n async createPeers(count: number): Promise<TestPeer[]> {\n return Promise.all(Array.from({ length: count }, () => this.createPeer()));\n }\n\n async close(): Promise<void> {\n await Promise.all(this._peers.map((peer) => peer.close()));\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Event", "Resource", "PeerSchema", "PublicKey", "log", "buf", "asyncTimeout", "PublicKey", "PAYLOAD_1", "type_url", "value", "Buffer", "from", "PAYLOAD_2", "PAYLOAD_3", "expectPeerAvailable", "client", "expectedTopic", "peer", "asyncTimeout", "swarmEvent", "waitFor", "peerAvailable", "topic", "peerKey", "equals", "expectPeerLeft", "peerLeft", "expectReceivedMessage", "event", "expectedMessage", "msg", "author", "recipient", "PublicKey", "from", "payload", "value", "createMessage", "PAYLOAD_1", "messageEqual", "msg1", "msg2", "TestPeer", "Resource", "peerInfo", "buf", "create", "PeerSchema", "peerKey", "peerId", "toHex", "identityKey", "waitTillReceive", "message", "expectReceivedMessage", "defaultReceived", "waitForPeerAvailable", "topic", "peer", "expectPeerAvailable", "signalManager", "waitForPeerLeft", "expectPeerLeft", "_open", "testBuilder", "createSignalManager", "messenger", "Messenger", "retryDelay", "open", "listen", "onMessage", "msg", "emit", "catch", "err", "log", "_close", "close", "PublicKey", "random", "Event", "TestBuilder", "createSignalManager", "peer", "signalManager", "options", "signalManagerFactory", "MemorySignalManager", "_signalContext", "messageDisruption", "trueSend", "sendMessage", "bind", "message", "msg", "createPeer", "TestPeer", "open", "_peers", "push", "createPeers", "count", "Promise", "all", "Array", "from", "length", "close", "map", "_define_property", "MemorySignalManagerContext"]
|
|
7
7
|
}
|