@leofcoin/peernet 1.1.46 → 1.1.48

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.
Files changed (85) hide show
  1. package/exports/browser/{index-b203939f.js → index-4df57fd7.js} +1 -1
  2. package/exports/browser/messages-194cb7ee.js +225 -0
  3. package/exports/browser/{peernet-4dde5a19.js → peernet-813e6173.js} +153 -148
  4. package/exports/browser/peernet.d.ts +233 -0
  5. package/exports/browser/peernet.js +1 -1
  6. package/exports/messages-dc960cb3.js +224 -0
  7. package/exports/peernet.js +152 -147
  8. package/exports/types/peernet.d.ts +233 -0
  9. package/package.json +3 -2
  10. package/rollup.config.js +2 -2
  11. package/src/peernet.ts +24 -9
  12. package/tsconfig.json +1 -0
  13. package/exports/browser/discovery/peer-discovery.d.ts +0 -7
  14. package/exports/browser/errors/errors.d.ts +0 -3
  15. package/exports/browser/handlers/data.d.ts +0 -2
  16. package/exports/browser/handlers/message.d.ts +0 -30
  17. package/exports/browser/messages/chat.d.ts +0 -6
  18. package/exports/browser/messages/data-response.d.ts +0 -6
  19. package/exports/browser/messages/data.d.ts +0 -10
  20. package/exports/browser/messages/dht-response.d.ts +0 -6
  21. package/exports/browser/messages/dht.d.ts +0 -14
  22. package/exports/browser/messages/file-link.d.ts +0 -10
  23. package/exports/browser/messages/file.d.ts +0 -10
  24. package/exports/browser/messages/peer-response.d.ts +0 -6
  25. package/exports/browser/messages/peer.d.ts +0 -6
  26. package/exports/browser/messages/peernet.d.ts +0 -6
  27. package/exports/browser/messages/ps.d.ts +0 -6
  28. package/exports/browser/messages/request.d.ts +0 -6
  29. package/exports/browser/messages/response.d.ts +0 -6
  30. package/exports/browser/messages-7138679c.js +0 -205
  31. package/exports/browser/messages.d.ts +0 -12
  32. package/exports/browser/peer-info.d.ts +0 -4
  33. package/exports/browser/prompts/password/browser.d.ts +0 -2
  34. package/exports/browser/prompts/password/node.d.ts +0 -2
  35. package/exports/browser/proto/chat-message.proto.d.ts +0 -7
  36. package/exports/browser/proto/data-response.proto.d.ts +0 -5
  37. package/exports/browser/proto/data.proto.d.ts +0 -5
  38. package/exports/browser/proto/dht-response.proto.d.ts +0 -5
  39. package/exports/browser/proto/dht.proto.d.ts +0 -5
  40. package/exports/browser/proto/file-link.proto.d.ts +0 -6
  41. package/exports/browser/proto/file.proto.d.ts +0 -6
  42. package/exports/browser/proto/peer-response.proto.d.ts +0 -4
  43. package/exports/browser/proto/peer.proto.d.ts +0 -4
  44. package/exports/browser/proto/peernet.proto.d.ts +0 -8
  45. package/exports/browser/proto/ps.proto.d.ts +0 -5
  46. package/exports/browser/proto/request.proto.d.ts +0 -5
  47. package/exports/browser/proto/response.proto.d.ts +0 -4
  48. package/exports/browser/utils/utils.d.ts +0 -7
  49. package/exports/discovery/peer-discovery.d.ts +0 -7
  50. package/exports/errors/errors.d.ts +0 -3
  51. package/exports/handlers/data.d.ts +0 -2
  52. package/exports/handlers/message.d.ts +0 -30
  53. package/exports/messages/chat.d.ts +0 -6
  54. package/exports/messages/data-response.d.ts +0 -6
  55. package/exports/messages/data.d.ts +0 -10
  56. package/exports/messages/dht-response.d.ts +0 -6
  57. package/exports/messages/dht.d.ts +0 -14
  58. package/exports/messages/file-link.d.ts +0 -10
  59. package/exports/messages/file.d.ts +0 -10
  60. package/exports/messages/peer-response.d.ts +0 -6
  61. package/exports/messages/peer.d.ts +0 -6
  62. package/exports/messages/peernet.d.ts +0 -6
  63. package/exports/messages/ps.d.ts +0 -6
  64. package/exports/messages/request.d.ts +0 -6
  65. package/exports/messages/response.d.ts +0 -6
  66. package/exports/messages-6645d42e.js +0 -204
  67. package/exports/messages.d.ts +0 -12
  68. package/exports/peer-info.d.ts +0 -4
  69. package/exports/prompts/password/browser.d.ts +0 -2
  70. package/exports/prompts/password/node.d.ts +0 -2
  71. package/exports/proto/chat-message.proto.d.ts +0 -7
  72. package/exports/proto/data-response.proto.d.ts +0 -5
  73. package/exports/proto/data.proto.d.ts +0 -5
  74. package/exports/proto/dht-response.proto.d.ts +0 -5
  75. package/exports/proto/dht.proto.d.ts +0 -5
  76. package/exports/proto/file-link.proto.d.ts +0 -6
  77. package/exports/proto/file.proto.d.ts +0 -6
  78. package/exports/proto/peer-response.proto.d.ts +0 -4
  79. package/exports/proto/peer.proto.d.ts +0 -4
  80. package/exports/proto/peernet.proto.d.ts +0 -8
  81. package/exports/proto/ps.proto.d.ts +0 -5
  82. package/exports/proto/request.proto.d.ts +0 -5
  83. package/exports/proto/response.proto.d.ts +0 -4
  84. package/exports/utils/utils.d.ts +0 -7
  85. /package/exports/{dht → types/dht}/dht.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import '@vandeurenglenn/debug';
2
2
  import PubSub from '@vandeurenglenn/little-pubsub';
3
3
  import { Codec } from '@leofcoin/codec-format-interface';
4
- import LeofcoinStorage from '@leofcoin/storage';
4
+ import LeofcoinStorageClass from '@leofcoin/storage';
5
5
  import { utils } from '@leofcoin/codecs';
6
6
  import MultiWallet from '@leofcoin/multi-wallet';
7
7
  import base58 from '@vandeurenglenn/base58';
@@ -10,55 +10,54 @@ import QrScanner from 'qr-scanner';
10
10
  import qrcode from 'qrcode';
11
11
 
12
12
  const BufferToUint8Array = data => {
13
- if (data.type === 'Buffer') {
14
- data = new Uint8Array(data.data);
15
- }
16
- return data;
13
+ if (data.type === 'Buffer') {
14
+ data = new Uint8Array(data.data);
15
+ }
16
+ return data
17
17
  };
18
+
18
19
  const protoFor = (message) => {
19
- const codec = new Codec(message);
20
- if (!codec.name)
21
- throw new Error('proto not found');
22
- const Proto = globalThis.peernet.protos[codec.name];
23
- if (!Proto)
24
- throw (new Error(`No proto defined for ${codec.name}`));
25
- return new Proto(message);
20
+ const codec = new Codec(message);
21
+ if (!codec.name) throw new Error('proto not found')
22
+ const Proto = globalThis.peernet.protos[codec.name];
23
+ if (!Proto) throw (new Error(`No proto defined for ${codec.name}`))
24
+ return new Proto(message)
26
25
  };
26
+
27
27
  /**
28
28
  * wether or not a peernet daemon is active
29
29
  * @return {Boolean}
30
30
  */
31
31
  const hasDaemon = async () => {
32
- try {
33
- let response = await fetch('http://127.0.0.1:1000/api/version');
34
- response = await response.json();
35
- return Boolean(response.client === '@peernet/api/http');
36
- }
37
- catch (e) {
38
- return false;
39
- }
32
+ try {
33
+ let response = await fetch('http://127.0.0.1:1000/api/version');
34
+ response = await response.json();
35
+ return Boolean(response.client === '@peernet/api/http')
36
+ } catch (e) {
37
+ return false
38
+ }
40
39
  };
40
+
41
41
  const https = () => {
42
- if (!globalThis.location)
43
- return false;
44
- return Boolean(globalThis.location.protocol === 'https:');
42
+ if (!globalThis.location) return false;
43
+ return Boolean(globalThis.location.protocol === 'https:')
45
44
  };
45
+
46
46
  /**
47
47
  * Get current environment
48
48
  * @return {String} current environment [node, electron, browser]
49
49
  */
50
50
  const environment = () => {
51
- const _navigator = globalThis.navigator;
52
- if (!_navigator) {
53
- return 'node';
54
- }
55
- else if (_navigator && /electron/i.test(_navigator.userAgent)) {
56
- return 'electron';
57
- }
58
- else {
59
- return 'browser';
60
- }
51
+ const _navigator = globalThis.navigator;
52
+ if (!_navigator) {
53
+ return 'node'
54
+ } else if (_navigator && /electron/i.test(_navigator.userAgent)) {
55
+ return 'electron'
56
+ } else {
57
+ return 'browser'
58
+ }
61
59
  };
60
+
62
61
  /**
63
62
  * * Get current environment
64
63
  * @return {Object} result
@@ -66,84 +65,84 @@ const environment = () => {
66
65
  * @property {Boolean} reult.environment Current environment
67
66
  */
68
67
  const target = async () => {
69
- let daemon = false;
70
- if (!https())
71
- daemon = await hasDaemon();
72
- return { daemon, environment: environment() };
68
+ let daemon = false;
69
+ if (!https()) daemon = await hasDaemon();
70
+
71
+ return {daemon, environment: environment()}
73
72
  };
74
73
 
75
74
  class PeerDiscovery {
76
- constructor(id) {
77
- this.id = id;
78
- }
79
- _getPeerId(id) {
80
- if (!peernet.peerMap || peernet.peerMap && peernet.peerMap.size === 0)
81
- return false;
82
- for (const entry of [...peernet.peerMap.entries()]) {
83
- for (const _id of entry[1]) {
84
- if (_id === id)
85
- return entry[0];
86
- }
87
- }
88
- }
89
- async discover(peer) {
90
- let id = this._getPeerId(peer.id);
91
- if (id)
92
- return id;
93
- const data = await new peernet.protos['peernet-peer']({ id: this.id });
94
- const node = await peernet.prepareMessage(peer.id, data.encoded);
95
- let response = await peer.request(node.encoded);
96
- response = await protoFor(response);
97
- response = await new peernet.protos['peernet-peer-response'](response.decoded.data);
98
- id = response.decoded.id;
99
- if (id === this.id)
100
- return;
101
- if (!peernet.peerMap.has(id))
102
- peernet.peerMap.set(id, [peer.id]);
103
- else {
104
- const connections = peernet.peerMap.get(id);
105
- if (connections.indexOf(peer.id) === -1) {
106
- connections.push(peer.id);
107
- peernet.peerMap.set(peer.id, connections);
108
- }
109
- }
110
- return id;
75
+ constructor(id) {
76
+ this.id = id;
77
+ }
78
+
79
+ _getPeerId(id) {
80
+ if (!peernet.peerMap || peernet.peerMap && peernet.peerMap.size === 0) return false
81
+
82
+ for (const entry of [...peernet.peerMap.entries()]) {
83
+ for (const _id of entry[1]) {
84
+ if (_id === id) return entry[0]
85
+ }
111
86
  }
112
- async discoverHandler(message, peer) {
113
- const { id, proto } = message;
114
- // if (typeof message.data === 'string') message.data = Buffer.from(message.data)
115
- if (proto.name === 'peernet-peer') {
116
- const from = proto.decoded.id;
117
- if (from === this.id)
118
- return;
119
- if (!peernet.peerMap.has(from))
120
- peernet.peerMap.set(from, [peer.id]);
121
- else {
122
- const connections = peernet.peerMap.get(from);
123
- if (connections.indexOf(peer.id) === -1) {
124
- connections.push(peer.id);
125
- peernet.peerMap.set(from, connections);
126
- }
127
- }
128
- const data = await new peernet.protos['peernet-peer-response']({ id: this.id });
129
- const node = await peernet.prepareMessage(from, data.encoded);
130
- peer.write(Buffer.from(JSON.stringify({ id, data: node.encoded })));
87
+ }
88
+
89
+ async discover(peer) {
90
+ let id = this._getPeerId(peer.id);
91
+ if (id) return id
92
+ const data = await new peernet.protos['peernet-peer']({id: this.id});
93
+ const node = await peernet.prepareMessage(peer.id, data.encoded);
94
+
95
+ let response = await peer.request(node.encoded);
96
+ response = await protoFor(response);
97
+ response = await new peernet.protos['peernet-peer-response'](response.decoded.data);
98
+
99
+ id = response.decoded.id;
100
+ if (id === this.id) return;
101
+
102
+ if (!peernet.peerMap.has(id)) peernet.peerMap.set(id, [peer.id]);
103
+ else {
104
+ const connections = peernet.peerMap.get(id);
105
+ if (connections.indexOf(peer.id) === -1) {
106
+ connections.push(peer.id);
107
+ peernet.peerMap.set(peer.id, connections);
108
+ }
109
+ }
110
+ return id
111
+ }
112
+
113
+ async discoverHandler(message, peer) {
114
+ const {id, proto} = message;
115
+ // if (typeof message.data === 'string') message.data = Buffer.from(message.data)
116
+ if (proto.name === 'peernet-peer') {
117
+ const from = proto.decoded.id;
118
+ if (from === this.id) return;
119
+
120
+ if (!peernet.peerMap.has(from)) peernet.peerMap.set(from, [peer.id]);
121
+ else {
122
+ const connections = peernet.peerMap.get(from);
123
+ if (connections.indexOf(peer.id) === -1) {
124
+ connections.push(peer.id);
125
+ peernet.peerMap.set(from, connections);
131
126
  }
132
- else if (proto.name === 'peernet-peer-response') {
133
- const from = proto.decoded.id;
134
- if (from === this.id)
135
- return;
136
- if (!peernet.peerMap.has(from))
137
- peernet.peerMap.set(from, [peer.id]);
138
- else {
139
- const connections = peernet.peerMap.get(from);
140
- if (connections.indexOf(peer.id) === -1) {
141
- connections.push(peer.id);
142
- peernet.peerMap.set(from, connections);
143
- }
144
- }
127
+ }
128
+ const data = await new peernet.protos['peernet-peer-response']({id: this.id});
129
+ const node = await peernet.prepareMessage(from, data.encoded);
130
+
131
+ peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
132
+ } else if (proto.name === 'peernet-peer-response') {
133
+ const from = proto.decoded.id;
134
+ if (from === this.id) return;
135
+
136
+ if (!peernet.peerMap.has(from)) peernet.peerMap.set(from, [peer.id]);
137
+ else {
138
+ const connections = peernet.peerMap.get(from);
139
+ if (connections.indexOf(peer.id) === -1) {
140
+ connections.push(peer.id);
141
+ peernet.peerMap.set(from, connections);
145
142
  }
143
+ }
146
144
  }
145
+ }
147
146
  }
148
147
 
149
148
  /**
@@ -256,52 +255,55 @@ class DhtEarth {
256
255
  }
257
256
 
258
257
  class MessageHandler {
259
- constructor(network) {
260
- this.network = network;
261
- }
262
- /**
263
- * hash and sign message
264
- *
265
- * @param {object} message
266
- * @param {Buffer} message.from peer id
267
- * @param {Buffer} message.to peer id
268
- * @param {string} message.data Peernet message
269
- * (PeernetMessage excluded) encoded as a string
270
- * @return message
271
- */
272
- async hashAndSignMessage(message) {
273
- const hash = await message.peernetHash;
274
- message.decoded.signature = globalThis.identity.sign(hash.buffer);
275
- return message;
276
- }
277
- /**
278
- * @param {String} from - peer id
279
- * @param {String} to - peer id
280
- * @param {String|PeernetMessage} data - data encoded message string
281
- * or the messageNode itself
282
- */
283
- async prepareMessage(message) {
284
- if (message.keys.includes('signature')) {
285
- message = await this.hashAndSignMessage(message);
286
- }
287
- return message;
258
+ constructor(network) {
259
+ this.network = network;
260
+ }
261
+ /**
262
+ * hash and sign message
263
+ *
264
+ * @param {object} message
265
+ * @param {Buffer} message.from peer id
266
+ * @param {Buffer} message.to peer id
267
+ * @param {string} message.data Peernet message
268
+ * (PeernetMessage excluded) encoded as a string
269
+ * @return message
270
+ */
271
+ async hashAndSignMessage(message) {
272
+ const hash = await message.peernetHash;
273
+ message.decoded.signature = globalThis.identity.sign(hash.buffer);
274
+ return message
275
+ }
276
+
277
+ /**
278
+ * @param {String} from - peer id
279
+ * @param {String} to - peer id
280
+ * @param {String|PeernetMessage} data - data encoded message string
281
+ * or the messageNode itself
282
+ */
283
+ async prepareMessage(message) {
284
+ if (message.keys.includes('signature')) {
285
+ message = await this.hashAndSignMessage(message);
288
286
  }
287
+
288
+ return message
289
+ }
289
290
  }
290
291
 
291
- const dataHandler = async (message) => {
292
- if (!message)
293
- return;
294
- const { data, id, from, peer } = message;
295
- const proto = await protoFor(data);
296
- peernet._protoHandler({ id, proto }, peernet.connections[from] || peer, from);
292
+ const dataHandler = async message => {
293
+ if (!message) return
294
+
295
+ const {data, id, from, peer} = message;
296
+ const proto = await protoFor(data);
297
+ peernet._protoHandler({id, proto}, peernet.connections[from] || peer, from);
297
298
  };
298
299
 
299
300
  const dhtError = (proto) => {
300
- const text = `Received proto ${proto.name} expected peernet-dht-response`;
301
- return new Error(`Routing error: ${text}`);
301
+ const text = `Received proto ${proto.name} expected peernet-dht-response`;
302
+ return new Error(`Routing error: ${text}`)
302
303
  };
304
+
303
305
  const nothingFoundError = (hash) => {
304
- return new Error(`nothing found for ${hash}`);
306
+ return new Error(`nothing found for ${hash}`)
305
307
  };
306
308
 
307
309
  class Identity {
@@ -379,10 +381,10 @@ class Identity {
379
381
  }
380
382
  }
381
383
 
382
- globalThis.LeofcoinStorage = LeofcoinStorage;
384
+ globalThis.LeofcoinStorage = LeofcoinStorageClass;
383
385
  globalThis.leofcoin = globalThis.leofcoin || {};
384
- globalThis.pubsub = globalThis.pubsub || new PubSub();
385
- globalThis.globalSub = globalThis.globalSub || new PubSub();
386
+ pubsub = pubsub || new PubSub();
387
+ globalSub = globalSub || new PubSub();
386
388
  /**
387
389
  * @access public
388
390
  * @example
@@ -402,11 +404,14 @@ class Peernet {
402
404
  stars;
403
405
  networkVersion;
404
406
  bw;
407
+ hasDaemon = false;
405
408
  autoStart = true;
406
409
  #starting = false;
407
410
  #started = false;
408
411
  #connections = {};
409
412
  requestProtos = {};
413
+ _messageHandler;
414
+ protos;
410
415
  /**
411
416
  * @access public
412
417
  * @param {Object} options
@@ -436,7 +441,7 @@ class Peernet {
436
441
  if (!options.root) {
437
442
  parts[1] ? options.root = `.${parts[0]}/${parts[1]}` : options.root = `.${this.network}`;
438
443
  }
439
- globalThis.peernet = this;
444
+ peernet = this;
440
445
  this.bw = {
441
446
  up: 0,
442
447
  down: 0,
@@ -512,7 +517,7 @@ class Peernet {
512
517
  this.root = options.root;
513
518
  const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
514
519
  // FolderMessageResponse
515
- } = await import(/* webpackChunkName: "messages" */ './messages-6645d42e.js');
520
+ } = await import(/* webpackChunkName: "messages" */ './messages-dc960cb3.js');
516
521
  /**
517
522
  * proto Object containing protos
518
523
  * @type {Object}
@@ -0,0 +1,233 @@
1
+ /// <reference types="node" />
2
+ import '@vandeurenglenn/debug';
3
+ import PubSub from '@vandeurenglenn/little-pubsub';
4
+ import DHT from './dht/dht.js';
5
+ import MessageHandler from './handlers/message.js';
6
+ import LeofcoinStorageClass from '@leofcoin/storage';
7
+ import Identity from './identity.js';
8
+ declare global {
9
+ var globalSub: PubSub;
10
+ var pubsub: PubSub;
11
+ var peernet: Peernet;
12
+ var LeofcoinStorage: typeof LeofcoinStorageClass;
13
+ var LeofcoinStorageClient: any;
14
+ }
15
+ /**
16
+ * @access public
17
+ * @example
18
+ * const peernet = new Peernet();
19
+ */
20
+ export default class Peernet {
21
+ #private;
22
+ identity: Identity;
23
+ stores: string[];
24
+ /**
25
+ * @type {Object}
26
+ * @property {Object} peer Instance of Peer
27
+ */
28
+ dht: DHT;
29
+ /** @leofcoin/peernet-swarm/client */
30
+ client: {
31
+ connections: [];
32
+ id: string;
33
+ removePeer: (peer: string) => {};
34
+ close: () => {};
35
+ };
36
+ network: string;
37
+ stars: string[];
38
+ networkVersion: string;
39
+ bw: {
40
+ up: number;
41
+ down: number;
42
+ };
43
+ hasDaemon: boolean;
44
+ autoStart: boolean;
45
+ requestProtos: {};
46
+ _messageHandler: MessageHandler;
47
+ protos: {};
48
+ /**
49
+ * @access public
50
+ * @param {Object} options
51
+ * @param {String} options.network - desired network
52
+ * @param {String} options.stars - star list for selected network (these should match, don't mix networks)
53
+ * @param {String} options.root - path to root directory
54
+ * @param {String} options.storePrefix - prefix for datatores (lfc)
55
+ *
56
+ * @return {Promise} instance of Peernet
57
+ *
58
+ * @example
59
+ * const peernet = new Peernet({network: 'leofcoin', root: '.leofcoin'});
60
+ */
61
+ constructor(options: any, password: any);
62
+ get id(): string;
63
+ get accounts(): Promise<[[name: string, externalAddress: string, internalAddress: string]]>;
64
+ get defaultStores(): string[];
65
+ addProto(name: any, proto: any): void;
66
+ addCodec(codec: any): void;
67
+ addStore(name: any, prefix: any, root: any, isPrivate?: boolean): Promise<void>;
68
+ /**
69
+ * @see MessageHandler
70
+ */
71
+ prepareMessage(data: any): Promise<any>;
72
+ /**
73
+ * @access public
74
+ *
75
+ * @return {Array} peerId
76
+ */
77
+ get peers(): [string, unknown][];
78
+ get connections(): unknown[];
79
+ get peerEntries(): unknown[];
80
+ /**
81
+ * @return {String} id - peerId
82
+ */
83
+ getConnection(id: any): never;
84
+ /**
85
+ * @private
86
+ *
87
+ * @param {Object} options
88
+ * @param {String} options.root - path to root directory
89
+ *
90
+ * @return {Promise} instance of Peernet
91
+ */
92
+ _init(options: any, password: any): Peernet;
93
+ start(): Promise<void>;
94
+ addRequestHandler(name: any, method: any): void;
95
+ sendMessage(peer: any, id: any, data: any): Promise<void>;
96
+ handleDHT(peer: any, id: any, proto: any): Promise<void>;
97
+ handleData(peer: any, id: any, proto: any): Promise<void>;
98
+ handleRequest(peer: any, id: any, proto: any): Promise<void>;
99
+ /**
100
+ * @private
101
+ *
102
+ * @param {Buffer} message - peernet message
103
+ * @param {PeernetPeer} peer - peernet peer
104
+ */
105
+ _protoHandler(message: any, peer: any, from: any): Promise<void>;
106
+ /**
107
+ * performs a walk and resolves first encounter
108
+ *
109
+ * @param {String} hash
110
+ */
111
+ walk(hash: any): Promise<any[]>;
112
+ /**
113
+ * Override DHT behavior, try's finding the content three times
114
+ *
115
+ * @param {String} hash
116
+ */
117
+ providersFor(hash: string, store?: undefined): Promise<Set<string>>;
118
+ get block(): {
119
+ get: (hash: any) => Promise<any>;
120
+ put: (hash: any, data: any) => Promise<any>;
121
+ has: (hash: any) => Promise<any>;
122
+ };
123
+ get transaction(): {
124
+ get: (hash: any) => Promise<any>;
125
+ put: (hash: any, data: any) => Promise<any>;
126
+ has: (hash: any) => Promise<any>;
127
+ };
128
+ requestData(hash: any, store: any): any;
129
+ get message(): {
130
+ /**
131
+ * Get content for given message hash
132
+ *
133
+ * @param {String} hash
134
+ */
135
+ get: (hash: any) => Promise<any>;
136
+ /**
137
+ * put message content
138
+ *
139
+ * @param {String} hash
140
+ * @param {Buffer} message
141
+ */
142
+ put: (hash: any, message: any) => Promise<any>;
143
+ /**
144
+ * @param {String} hash
145
+ * @return {Boolean}
146
+ */
147
+ has: (hash: any) => Promise<any>;
148
+ };
149
+ get data(): {
150
+ /**
151
+ * Get content for given data hash
152
+ *
153
+ * @param {String} hash
154
+ */
155
+ get: (hash: any) => Promise<any>;
156
+ /**
157
+ * put data content
158
+ *
159
+ * @param {String} hash
160
+ * @param {Buffer} data
161
+ */
162
+ put: (hash: any, data: any) => Promise<any>;
163
+ /**
164
+ * @param {String} hash
165
+ * @return {Boolean}
166
+ */
167
+ has: (hash: any) => Promise<any>;
168
+ };
169
+ get folder(): {
170
+ /**
171
+ * Get content for given data hash
172
+ *
173
+ * @param {String} hash
174
+ */
175
+ get: (hash: any) => Promise<any>;
176
+ /**
177
+ * put data content
178
+ *
179
+ * @param {String} hash
180
+ * @param {Buffer} data
181
+ */
182
+ put: (hash: any, data: any) => Promise<any>;
183
+ /**
184
+ * @param {String} hash
185
+ * @return {Boolean}
186
+ */
187
+ has: (hash: any) => Promise<any>;
188
+ };
189
+ addFolder(files: any): Promise<any>;
190
+ ls(hash: any, options: any): Promise<any[]>;
191
+ cat(hash: any, options: any): Promise<any>;
192
+ /**
193
+ * goes trough given stores and tries to find data for given hash
194
+ * @param {Array} stores
195
+ * @param {string} hash
196
+ */
197
+ whichStore(stores: any, hash: any): any;
198
+ /**
199
+ * Get content for given hash
200
+ *
201
+ * @param {String} hash - the hash of the wanted data
202
+ * @param {String} store - storeName to access
203
+ */
204
+ get(hash: any, store: any): Promise<any>;
205
+ /**
206
+ * put content
207
+ *
208
+ * @param {String} hash
209
+ * @param {Buffer} data
210
+ * @param {String} store - storeName to access
211
+ */
212
+ put(hash: any, data: any, store?: string): Promise<any>;
213
+ /**
214
+ * @param {String} hash
215
+ * @return {Boolean}
216
+ */
217
+ has(hash: any): Promise<boolean>;
218
+ /**
219
+ *
220
+ * @param {String} topic
221
+ * @param {String|Object|Array|Boolean|Buffer} data
222
+ */
223
+ publish(topic: any, data: any): Promise<void>;
224
+ createHash(data: any, name: any): any;
225
+ /**
226
+ *
227
+ * @param {String} topic
228
+ * @param {Method} cb
229
+ */
230
+ subscribe(topic: any, callback: any): Promise<void>;
231
+ removePeer(peer: any): Promise<any>;
232
+ get Buffer(): BufferConstructor;
233
+ }
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@leofcoin/peernet",
3
- "version": "1.1.46",
3
+ "version": "1.1.48",
4
4
  "description": "",
5
5
  "main": "src/peernet.js",
6
6
  "exports": {
7
7
  ".": {
8
8
  "import": "./exports/peernet.js",
9
- "require": "./exports/commonjs/peernet.js"
9
+ "require": "./exports/commonjs/peernet.js",
10
+ "types": "./exports/types/peernet.d.ts"
10
11
  },
11
12
  "./browser": "./exports/browser/peernet.js"
12
13
  },
package/rollup.config.js CHANGED
@@ -34,7 +34,7 @@ export default [{
34
34
  mainFields: ['browser', 'module', 'main']
35
35
  }),
36
36
 
37
- typescript({...tsconfig, outDir: './exports/browser'})
37
+ typescript({ compilerOptions: { outDir: './exports/browser'} })
38
38
  ],
39
39
  external: [
40
40
  './prompts/password.js'
@@ -49,7 +49,7 @@ export default [{
49
49
  modify({
50
50
  "@netpeer/p2pt-swarm": '@netpeer/p2pt-swarm'
51
51
  }),
52
- typescript({...tsconfig, outDir: './exports'})
52
+ typescript({ compilerOptions: { outDir: './exports', declarationDir: './exports/types'} })
53
53
  ],
54
54
  external: [
55
55
  './prompts/password.js'