@dxos/messaging 0.8.4-main.406dc2a → 0.8.4-main.548089c
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-CD3GXEDZ.mjs → chunk-L7NDSF6K.mjs} +301 -354
- package/dist/lib/browser/{chunk-CD3GXEDZ.mjs.map → chunk-L7NDSF6K.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +15 -38
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/lib/node-esm/{chunk-IVXFEWLW.mjs → chunk-PVWR5V42.mjs} +301 -354
- package/dist/lib/node-esm/{chunk-IVXFEWLW.mjs.map → chunk-PVWR5V42.mjs.map} +2 -2
- 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 +15 -38
- package/dist/lib/node-esm/testing/index.mjs.map +2 -2
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
MemorySignalManager,
|
|
4
4
|
MemorySignalManagerContext,
|
|
5
5
|
Messenger
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-L7NDSF6K.mjs";
|
|
7
7
|
|
|
8
8
|
// src/testing/test-peer.ts
|
|
9
9
|
import { Event } from "@dxos/async";
|
|
@@ -48,21 +48,16 @@ var createMessage = (author, recipient, payload = PAYLOAD_1) => ({
|
|
|
48
48
|
var messageEqual = (msg1, msg2) => msg1.author.peerKey === msg2.author.peerKey && msg1.recipient.peerKey === msg2.recipient.peerKey && PublicKey.from(msg1.payload.value).equals(msg2.payload.value);
|
|
49
49
|
|
|
50
50
|
// src/testing/test-peer.ts
|
|
51
|
-
function _define_property(obj, key, value) {
|
|
52
|
-
if (key in obj) {
|
|
53
|
-
Object.defineProperty(obj, key, {
|
|
54
|
-
value,
|
|
55
|
-
enumerable: true,
|
|
56
|
-
configurable: true,
|
|
57
|
-
writable: true
|
|
58
|
-
});
|
|
59
|
-
} else {
|
|
60
|
-
obj[key] = value;
|
|
61
|
-
}
|
|
62
|
-
return obj;
|
|
63
|
-
}
|
|
64
51
|
var __dxlog_file = "/__w/dxos/dxos/packages/core/mesh/messaging/src/testing/test-peer.ts";
|
|
65
52
|
var TestPeer = class extends Resource {
|
|
53
|
+
testBuilder;
|
|
54
|
+
peerId = PublicKey2.random();
|
|
55
|
+
signalManager;
|
|
56
|
+
messenger;
|
|
57
|
+
defaultReceived = new Event();
|
|
58
|
+
constructor(testBuilder) {
|
|
59
|
+
super(), this.testBuilder = testBuilder;
|
|
60
|
+
}
|
|
66
61
|
get peerInfo() {
|
|
67
62
|
return buf.create(PeerSchema, {
|
|
68
63
|
peerKey: this.peerId.toHex(),
|
|
@@ -102,26 +97,16 @@ var TestPeer = class extends Resource {
|
|
|
102
97
|
await this.messenger.close();
|
|
103
98
|
await this.signalManager.close();
|
|
104
99
|
}
|
|
105
|
-
constructor(testBuilder) {
|
|
106
|
-
super(), _define_property(this, "testBuilder", void 0), _define_property(this, "peerId", void 0), _define_property(this, "signalManager", void 0), _define_property(this, "messenger", void 0), _define_property(this, "defaultReceived", void 0), this.testBuilder = testBuilder, this.peerId = PublicKey2.random(), this.defaultReceived = new Event();
|
|
107
|
-
}
|
|
108
100
|
};
|
|
109
101
|
|
|
110
102
|
// src/testing/test-builder.ts
|
|
111
|
-
function _define_property2(obj, key, value) {
|
|
112
|
-
if (key in obj) {
|
|
113
|
-
Object.defineProperty(obj, key, {
|
|
114
|
-
value,
|
|
115
|
-
enumerable: true,
|
|
116
|
-
configurable: true,
|
|
117
|
-
writable: true
|
|
118
|
-
});
|
|
119
|
-
} else {
|
|
120
|
-
obj[key] = value;
|
|
121
|
-
}
|
|
122
|
-
return obj;
|
|
123
|
-
}
|
|
124
103
|
var TestBuilder = class {
|
|
104
|
+
options;
|
|
105
|
+
_signalContext = new MemorySignalManagerContext();
|
|
106
|
+
_peers = [];
|
|
107
|
+
constructor(options) {
|
|
108
|
+
this.options = options;
|
|
109
|
+
}
|
|
125
110
|
async createSignalManager(peer) {
|
|
126
111
|
const signalManager = await this.options.signalManagerFactory?.(peer) ?? new MemorySignalManager(this._signalContext);
|
|
127
112
|
if (this.options.messageDisruption) {
|
|
@@ -148,14 +133,6 @@ var TestBuilder = class {
|
|
|
148
133
|
async close() {
|
|
149
134
|
await Promise.all(this._peers.map((peer) => peer.close()));
|
|
150
135
|
}
|
|
151
|
-
constructor(options) {
|
|
152
|
-
_define_property2(this, "options", void 0);
|
|
153
|
-
_define_property2(this, "_signalContext", void 0);
|
|
154
|
-
_define_property2(this, "_peers", void 0);
|
|
155
|
-
this.options = options;
|
|
156
|
-
this._signalContext = new MemorySignalManagerContext();
|
|
157
|
-
this._peers = [];
|
|
158
|
-
}
|
|
159
136
|
};
|
|
160
137
|
export {
|
|
161
138
|
PAYLOAD_1,
|
|
@@ -2,6 +2,6 @@
|
|
|
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
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": ";;;;;;;;AAIA,SAASA,aAAa;AACtB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAC3B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,WAAW;;;ACLpB,SAAqBC,oBAAoB;AAEzC,SAASC,iBAAiB;;;ACCnB,IAAMC,YAAsD;EACjE,SAAS;EACTC,UAAU;EACVC,OAAOC,OAAOC,KAAK,GAAA;AACrB;AAEO,IAAMC,YAAsD;EACjE,SAAS;EACTJ,UAAU;EACVC,OAAOC,OAAOC,KAAK,GAAA;AACrB;AAEO,IAAME,YAAsD;EACjE,SAAS;EACTL,UAAU;EACVC,OAAOC,OAAOC,KAAK,GAAA;AACrB;;;ADXO,IAAMG,sBAAsB,CAACC,QAAuBC,eAA0BC,SACnFC,aACEH,OAAOI,WAAWC,QAChB,CAAC,EAAEC,eAAeC,MAAK,MACrB,CAAC,CAACD,iBAAiBJ,KAAKM,YAAYF,cAAcJ,KAAKM,WAAWP,cAAcQ,OAAOF,KAAAA,CAAAA,GAE3F,GAAA;AAGG,IAAMG,iBAAiB,CAACV,QAAuBC,eAA0BC,SAC9EC,aACEH,OAAOI,WAAWC,QAChB,CAAC,EAAEM,UAAUJ,MAAK,MAAO,CAAC,CAACI,YAAYT,KAAKM,YAAYG,SAAST,KAAKM,WAAWP,cAAcQ,OAAOF,KAAAA,CAAAA,GAExG,GAAA;AAGG,IAAMK,wBAAwB,CAACC,OAAuBC,oBAAAA;AAC3D,SAAOX,aACLU,MAAMR,QACJ,CAACU,QACCA,IAAIC,OAAOR,YAAYM,gBAAgBE,OAAOR,WAC9CO,IAAIE,UAAUT,YAAYM,gBAAgBG,UAAUT,WACpDU,UAAUC,KAAKJ,IAAIK,QAAQC,KAAK,EAAEZ,OAAOK,gBAAgBM,QAAQC,KAAK,CAAA,GAE1E,GAAA;AAEJ;AAEO,IAAMC,gBAAgB,CAACN,QAAkBC,WAAqBG,UAAeG,eAAwB;EAC1GP;EACAC;EACAG;AACF;AAEO,IAAMI,eAAe,CAACC,MAAeC,SAC1CD,KAAKT,OAAOR,YAAYkB,KAAKV,OAAOR,WACpCiB,KAAKR,UAAUT,YAAYkB,KAAKT,UAAUT,WAC1CU,UAAUC,KAAKM,KAAKL,QAAQC,KAAK,EAAEZ,OAAOiB,KAAKN,QAAQC,KAAK
|
|
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", "
|
|
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", "peerId", "PublicKey", "random", "signalManager", "messenger", "defaultReceived", "Event", "testBuilder", "peerInfo", "buf", "create", "PeerSchema", "peerKey", "toHex", "identityKey", "waitTillReceive", "message", "expectReceivedMessage", "waitForPeerAvailable", "topic", "peer", "expectPeerAvailable", "waitForPeerLeft", "expectPeerLeft", "_open", "createSignalManager", "Messenger", "retryDelay", "open", "listen", "onMessage", "msg", "emit", "catch", "err", "log", "_close", "close", "TestBuilder", "_signalContext", "MemorySignalManagerContext", "_peers", "options", "createSignalManager", "peer", "signalManager", "signalManagerFactory", "MemorySignalManager", "messageDisruption", "trueSend", "sendMessage", "bind", "message", "msg", "createPeer", "TestPeer", "open", "push", "createPeers", "count", "Promise", "all", "Array", "from", "length", "close", "map"]
|
|
7
7
|
}
|