@leofcoin/peernet 1.1.82 → 1.1.83
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/exports/browser/{browser-DQJ6xf_F.js → browser-BogfGRzB.js} +2 -74
- package/exports/browser/browser-store.js +80 -76
- package/exports/browser/{client-C0VVXIWm.js → client-DD7vhDK_.js} +31 -8
- package/exports/browser/{identity-CQ_ieRiz.js → identity--VAIVSMm.js} +233 -213
- package/exports/browser/identity.js +1 -1
- package/exports/browser/{index-CEwkDK9g.js → index-Vgr1JQcP.js} +73 -52
- package/exports/browser/{index-BeqbCwUk.js → index-Vl0cNziw.js} +1 -1
- package/exports/browser/{messages-BdevLRCA.js → messages-CW17jRdc.js} +2 -2
- package/exports/browser/{peernet-DEIKLS2i.js → peernet-CuzuXSJb.js} +301 -4571
- package/exports/browser/peernet.d.ts +0 -1
- package/exports/browser/peernet.js +2 -2
- package/exports/browser/proto/data-response.proto.d.ts +1 -1
- package/exports/browser/proto/peernet.proto.d.ts +2 -2
- package/exports/browser/proto/ps.proto.d.ts +2 -2
- package/exports/browser/proto/request.proto.d.ts +1 -1
- package/exports/peernet.js +1 -6
- package/exports/store.js +12 -1
- package/exports/types/peernet.d.ts +0 -1
- package/exports/types/proto/data-response.proto.d.ts +1 -1
- package/exports/types/proto/peernet.proto.d.ts +2 -2
- package/exports/types/proto/ps.proto.d.ts +2 -2
- package/exports/types/proto/request.proto.d.ts +1 -1
- package/package.json +1 -2
- package/exports/browser/messages/chat.d.ts +0 -6
- package/exports/browser/messages/data-response.d.ts +0 -6
- package/exports/browser/messages/dht-response.d.ts +0 -6
- package/exports/browser/messages/dht.d.ts +0 -14
- package/exports/browser/messages/peer-response.d.ts +0 -6
- package/exports/browser/messages/peer.d.ts +0 -6
- package/exports/browser/messages/peernet.d.ts +0 -6
- package/exports/browser/messages/ps.d.ts +0 -6
- package/exports/browser/messages/request.d.ts +0 -6
- package/exports/browser/messages/response.d.ts +0 -6
- package/exports/types/messages/chat.d.ts +0 -6
- package/exports/types/messages/data-response.d.ts +0 -6
- package/exports/types/messages/dht-response.d.ts +0 -6
- package/exports/types/messages/dht.d.ts +0 -14
- package/exports/types/messages/peer-response.d.ts +0 -6
- package/exports/types/messages/peer.d.ts +0 -6
- package/exports/types/messages/peernet.d.ts +0 -6
- package/exports/types/messages/ps.d.ts +0 -6
- package/exports/types/messages/request.d.ts +0 -6
- package/exports/types/messages/response.d.ts +0 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs } from './identity
|
|
1
|
+
import { g as getDefaultExportFromCjs } from './identity--VAIVSMm.js';
|
|
2
2
|
|
|
3
3
|
var global;
|
|
4
4
|
var hasRequiredGlobal;
|
|
@@ -44,81 +44,9 @@ function requireGlobal () {
|
|
|
44
44
|
return global;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
var name = "websocket";
|
|
48
|
-
var description = "Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.";
|
|
49
|
-
var keywords = [
|
|
50
|
-
"websocket",
|
|
51
|
-
"websockets",
|
|
52
|
-
"socket",
|
|
53
|
-
"networking",
|
|
54
|
-
"comet",
|
|
55
|
-
"push",
|
|
56
|
-
"RFC-6455",
|
|
57
|
-
"realtime",
|
|
58
|
-
"server",
|
|
59
|
-
"client"
|
|
60
|
-
];
|
|
61
|
-
var author = "Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)";
|
|
62
|
-
var contributors = [
|
|
63
|
-
"Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"
|
|
64
|
-
];
|
|
65
47
|
var version$1 = "1.0.35";
|
|
66
|
-
var repository = {
|
|
67
|
-
type: "git",
|
|
68
|
-
url: "https://github.com/theturtle32/WebSocket-Node.git"
|
|
69
|
-
};
|
|
70
|
-
var homepage = "https://github.com/theturtle32/WebSocket-Node";
|
|
71
|
-
var engines = {
|
|
72
|
-
node: ">=4.0.0"
|
|
73
|
-
};
|
|
74
|
-
var dependencies = {
|
|
75
|
-
bufferutil: "^4.0.1",
|
|
76
|
-
debug: "^2.2.0",
|
|
77
|
-
"es5-ext": "^0.10.63",
|
|
78
|
-
"typedarray-to-buffer": "^3.1.5",
|
|
79
|
-
"utf-8-validate": "^5.0.2",
|
|
80
|
-
yaeti: "^0.0.6"
|
|
81
|
-
};
|
|
82
|
-
var devDependencies = {
|
|
83
|
-
"buffer-equal": "^1.0.0",
|
|
84
|
-
gulp: "^4.0.2",
|
|
85
|
-
"gulp-jshint": "^2.0.4",
|
|
86
|
-
"jshint-stylish": "^2.2.1",
|
|
87
|
-
jshint: "^2.0.0",
|
|
88
|
-
tape: "^4.9.1"
|
|
89
|
-
};
|
|
90
|
-
var config = {
|
|
91
|
-
verbose: false
|
|
92
|
-
};
|
|
93
|
-
var scripts = {
|
|
94
|
-
test: "tape test/unit/*.js",
|
|
95
|
-
gulp: "gulp"
|
|
96
|
-
};
|
|
97
|
-
var main = "index";
|
|
98
|
-
var directories = {
|
|
99
|
-
lib: "./lib"
|
|
100
|
-
};
|
|
101
|
-
var browser$3 = "lib/browser.js";
|
|
102
|
-
var license = "Apache-2.0";
|
|
103
48
|
var require$$0 = {
|
|
104
|
-
|
|
105
|
-
description: description,
|
|
106
|
-
keywords: keywords,
|
|
107
|
-
author: author,
|
|
108
|
-
contributors: contributors,
|
|
109
|
-
version: version$1,
|
|
110
|
-
repository: repository,
|
|
111
|
-
homepage: homepage,
|
|
112
|
-
engines: engines,
|
|
113
|
-
dependencies: dependencies,
|
|
114
|
-
devDependencies: devDependencies,
|
|
115
|
-
config: config,
|
|
116
|
-
scripts: scripts,
|
|
117
|
-
main: main,
|
|
118
|
-
directories: directories,
|
|
119
|
-
browser: browser$3,
|
|
120
|
-
license: license
|
|
121
|
-
};
|
|
49
|
+
version: version$1};
|
|
122
50
|
|
|
123
51
|
var version = require$$0.version;
|
|
124
52
|
|
|
@@ -1,30 +1,39 @@
|
|
|
1
1
|
import { K as KeyPath, a as KeyValue } from './value-C3vAp-wb.js';
|
|
2
2
|
|
|
3
|
-
if (!globalThis.DEBUG) {
|
|
4
|
-
|
|
5
|
-
if (globalThis.localStorage) {
|
|
6
|
-
DEBUG = globalThis.localStorage.getItem(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
3
|
+
if (!globalThis.DEBUG) {
|
|
4
|
+
globalThis.DEBUG = [];
|
|
5
|
+
if (globalThis.localStorage) {
|
|
6
|
+
const DEBUG = globalThis.localStorage.getItem("DEBUG");
|
|
7
|
+
if (DEBUG) {
|
|
8
|
+
globalThis.DEBUG = DEBUG.startsWith("[")
|
|
9
|
+
? JSON.parse(DEBUG).split(",")
|
|
10
|
+
: [DEBUG];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const getLogger = (trace) => (trace ? console.trace : console.log);
|
|
16
|
+
|
|
17
|
+
const debug$1 = (target, text, trace) => {
|
|
18
|
+
const _logger = getLogger(trace);
|
|
19
|
+
if (!globalThis.DEBUG || globalThis.DEBUG?.length === 0) return;
|
|
20
|
+
if (
|
|
21
|
+
globalThis.DEBUG === "true" ||
|
|
22
|
+
globalThis.DEBUG === true ||
|
|
23
|
+
globalThis.DEBUG?.indexOf(target) !== -1 ||
|
|
24
|
+
globalThis.DEBUG?.indexOf("*") !== -1 ||
|
|
25
|
+
globalThis.DEBUG?.indexOf(target.split("/")[0]) !== -1
|
|
26
|
+
)
|
|
27
|
+
if (text) _logger("\x1b[34m\x1b[1m%s", `${target}: ${text}`, "\x1b[0m");
|
|
28
|
+
else _logger("\x1b[34m\x1b[1m%s", `${target}`, "\x1b[0m");
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const createDebugger = (target) => (text) => debug$1(target, text);
|
|
32
|
+
|
|
33
|
+
if (!globalThis.debug) {
|
|
34
|
+
globalThis.debug = debug$1;
|
|
35
|
+
// todo: deprecate
|
|
36
|
+
globalThis.createDebugger = createDebugger;
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
const debug = globalThis.createDebugger('leofcoin/storage');
|
|
@@ -80,15 +89,9 @@ class BrowerStore {
|
|
|
80
89
|
}
|
|
81
90
|
}
|
|
82
91
|
async get(key) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
promiseResolve = resolve;
|
|
87
|
-
promiseReject = reject;
|
|
88
|
-
});
|
|
89
|
-
const promise = () => new Promise(async (resolve, reject) => {
|
|
90
|
-
debug(`get ${this.toKeyPath(key)}`);
|
|
91
|
-
setTimeout(async () => {
|
|
92
|
+
return new Promise((resolve, reject) => {
|
|
93
|
+
const task = async () => {
|
|
94
|
+
debug(`get ${this.toKeyPath(key)}`);
|
|
92
95
|
try {
|
|
93
96
|
let handle = await this.db.getFileHandle(this.toKeyPath(key));
|
|
94
97
|
let readBuffer;
|
|
@@ -109,30 +112,20 @@ class BrowerStore {
|
|
|
109
112
|
const file = await handle.getFile();
|
|
110
113
|
readBuffer = await file.arrayBuffer();
|
|
111
114
|
}
|
|
112
|
-
this.runQueue();
|
|
113
|
-
promiseResolve(new Uint8Array(readBuffer));
|
|
114
115
|
resolve(new Uint8Array(readBuffer));
|
|
115
116
|
}
|
|
116
117
|
catch (error) {
|
|
117
|
-
|
|
118
|
-
resolve(false);
|
|
118
|
+
reject(error);
|
|
119
119
|
}
|
|
120
|
-
}
|
|
120
|
+
};
|
|
121
|
+
this.queue.push(task);
|
|
122
|
+
this.runQueue();
|
|
121
123
|
});
|
|
122
|
-
this.queue.push(promise);
|
|
123
|
-
this.runQueue();
|
|
124
|
-
return result;
|
|
125
124
|
}
|
|
126
125
|
async put(key, value) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
promiseResolve = resolve;
|
|
131
|
-
promiseReject = reject;
|
|
132
|
-
});
|
|
133
|
-
const promise = () => new Promise(async (resolve, reject) => {
|
|
134
|
-
debug(`put ${this.toKeyPath(key)}`);
|
|
135
|
-
setTimeout(async () => {
|
|
126
|
+
return new Promise((resolve, reject) => {
|
|
127
|
+
const task = async () => {
|
|
128
|
+
debug(`put ${this.toKeyPath(key)}`);
|
|
136
129
|
try {
|
|
137
130
|
let handle = await this.db.getFileHandle(this.toKeyPath(key), { create: true });
|
|
138
131
|
let writeable;
|
|
@@ -144,22 +137,17 @@ class BrowerStore {
|
|
|
144
137
|
else {
|
|
145
138
|
writeable = await handle.createWritable();
|
|
146
139
|
}
|
|
147
|
-
;
|
|
148
|
-
(await writeable).
|
|
149
|
-
(await writeable).close();
|
|
150
|
-
this.runQueue();
|
|
140
|
+
await (await writeable).write(this.toKeyValue(value));
|
|
141
|
+
await (await writeable).close();
|
|
151
142
|
resolve(true);
|
|
152
|
-
promiseResolve(true);
|
|
153
143
|
}
|
|
154
144
|
catch (error) {
|
|
155
|
-
|
|
156
|
-
resolve(false);
|
|
145
|
+
reject(error);
|
|
157
146
|
}
|
|
158
|
-
}
|
|
147
|
+
};
|
|
148
|
+
this.queue.push(task);
|
|
149
|
+
this.runQueue();
|
|
159
150
|
});
|
|
160
|
-
this.queue.push(promise);
|
|
161
|
-
this.runQueue();
|
|
162
|
-
return result;
|
|
163
151
|
}
|
|
164
152
|
async runQueue() {
|
|
165
153
|
if (this.queue.length > 0 && !this.busy) {
|
|
@@ -174,24 +162,28 @@ class BrowerStore {
|
|
|
174
162
|
}
|
|
175
163
|
}
|
|
176
164
|
async delete(key) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
await this.db.getFileHandle(`${this.toKeyPath(key)}.crswap`);
|
|
181
|
-
setTimeout(() => resolve(this.delete(key)), 5);
|
|
182
|
-
}
|
|
183
|
-
catch (error) {
|
|
165
|
+
return new Promise((resolve, reject) => {
|
|
166
|
+
const task = async () => {
|
|
167
|
+
debug(`delete ${this.toKeyPath(key)}`);
|
|
184
168
|
try {
|
|
185
|
-
await this.db.
|
|
186
|
-
resolve(
|
|
169
|
+
await this.db.getFileHandle(`${this.toKeyPath(key)}.crswap`);
|
|
170
|
+
setTimeout(() => resolve(this.delete(key)), 5);
|
|
187
171
|
}
|
|
188
172
|
catch (error) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
173
|
+
try {
|
|
174
|
+
await this.db.removeEntry(this.toKeyPath(key));
|
|
175
|
+
resolve(true);
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
if (error.name === 'NoModificationAllowedError')
|
|
179
|
+
setTimeout(() => resolve(this.delete(key)), 5);
|
|
180
|
+
else
|
|
181
|
+
reject(error);
|
|
182
|
+
}
|
|
193
183
|
}
|
|
194
|
-
}
|
|
184
|
+
};
|
|
185
|
+
this.queue.push(task);
|
|
186
|
+
this.runQueue();
|
|
195
187
|
});
|
|
196
188
|
}
|
|
197
189
|
async clear() {
|
|
@@ -229,6 +221,18 @@ class BrowerStore {
|
|
|
229
221
|
async iterate() {
|
|
230
222
|
return this.db.entries();
|
|
231
223
|
}
|
|
224
|
+
async entries() {
|
|
225
|
+
let values = [];
|
|
226
|
+
for await (const [key, cursor] of this.db.entries()) {
|
|
227
|
+
values.push((async () => {
|
|
228
|
+
// huh? Outdated typings?
|
|
229
|
+
// @ts-ignore
|
|
230
|
+
const file = await cursor.getFile();
|
|
231
|
+
return [key, new Uint8Array(await file.arrayBuffer())];
|
|
232
|
+
})());
|
|
233
|
+
}
|
|
234
|
+
return Promise.all(values);
|
|
235
|
+
}
|
|
232
236
|
}
|
|
233
237
|
|
|
234
238
|
export { BrowerStore as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LittlePubSub } from './peernet-
|
|
2
|
-
import './identity
|
|
1
|
+
import { L as LittlePubSub } from './peernet-CuzuXSJb.js';
|
|
2
|
+
import './identity--VAIVSMm.js';
|
|
3
3
|
import './value-C3vAp-wb.js';
|
|
4
4
|
|
|
5
5
|
class Api {
|
|
@@ -210,7 +210,7 @@ class SocketRequestClient {
|
|
|
210
210
|
const init = async () => {
|
|
211
211
|
// @ts-ignore
|
|
212
212
|
if (!globalThis.WebSocket && !this.#experimentalWebsocket)
|
|
213
|
-
globalThis.WebSocket = (await import('./browser-
|
|
213
|
+
globalThis.WebSocket = (await import('./browser-BogfGRzB.js').then(function (n) { return n.b; })).default.w3cwebsocket;
|
|
214
214
|
const client = new WebSocket(this.#url, this.#protocol);
|
|
215
215
|
if (this.#experimentalWebsocket) {
|
|
216
216
|
client.addEventListener('error', this.onerror);
|
|
@@ -314,7 +314,7 @@ const iceServers = [
|
|
|
314
314
|
credential: 'openrelayproject'
|
|
315
315
|
}
|
|
316
316
|
];
|
|
317
|
-
const SimplePeer = (await import('./index-
|
|
317
|
+
const SimplePeer = (await import('./index-Vgr1JQcP.js').then(function (n) { return n.i; })).default;
|
|
318
318
|
class Peer extends SimplePeer {
|
|
319
319
|
peerId;
|
|
320
320
|
channelName;
|
|
@@ -391,6 +391,14 @@ class Peer extends SimplePeer {
|
|
|
391
391
|
this.send(data, id);
|
|
392
392
|
});
|
|
393
393
|
}
|
|
394
|
+
toJSON() {
|
|
395
|
+
return {
|
|
396
|
+
peerId: this.peerId,
|
|
397
|
+
channelName: this.channelName,
|
|
398
|
+
version: this.version,
|
|
399
|
+
bw: this.bw
|
|
400
|
+
};
|
|
401
|
+
}
|
|
394
402
|
}
|
|
395
403
|
|
|
396
404
|
const debug = globalThis.createDebugger('@netpeer/swarm/client');
|
|
@@ -538,8 +546,8 @@ class Client {
|
|
|
538
546
|
this.#connections[peerId].destroy();
|
|
539
547
|
delete this.#connections[peerId];
|
|
540
548
|
}
|
|
541
|
-
|
|
542
|
-
|
|
549
|
+
if (this.peerId !== peerId)
|
|
550
|
+
this.#createRTCPeerConnection(peerId, star, version, true);
|
|
543
551
|
debug(`peer ${peerId} joined`);
|
|
544
552
|
};
|
|
545
553
|
#inComingSignal = async ({ from, signal, channelName, version }, star) => {
|
|
@@ -547,13 +555,28 @@ class Client {
|
|
|
547
555
|
console.warn(`${from} joined using the wrong version.\nexpected: ${this.version} but got:${version}`);
|
|
548
556
|
return;
|
|
549
557
|
}
|
|
558
|
+
if (from === this.peerId) {
|
|
559
|
+
console.warn(`${from} tried to connect to itself.`);
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
550
562
|
let peer = this.#connections[from];
|
|
551
563
|
if (!peer) {
|
|
552
564
|
this.#createRTCPeerConnection(from, star, version);
|
|
553
565
|
peer = this.#connections[from];
|
|
554
566
|
}
|
|
555
|
-
if (
|
|
556
|
-
|
|
567
|
+
if (peer.connected) {
|
|
568
|
+
debug(`peer ${from} already connected`);
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
if (String(peer.channelName) !== String(channelName)) {
|
|
572
|
+
console.warn(`channelNames don't match: got ${peer.channelName}, expected: ${channelName}. Recreating connection.`);
|
|
573
|
+
// Destroy the existing peer connection
|
|
574
|
+
peer.destroy();
|
|
575
|
+
delete this.#connections[from];
|
|
576
|
+
// Create a new peer connection with the correct configuration
|
|
577
|
+
this.#createRTCPeerConnection(from, star, version, false);
|
|
578
|
+
peer = this.#connections[from];
|
|
579
|
+
}
|
|
557
580
|
peer.signal(signal);
|
|
558
581
|
};
|
|
559
582
|
#peerSignal = (peer, signal, star, version) => {
|