@leofcoin/peernet 1.1.46 → 1.1.47

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 (87) hide show
  1. package/exports/browser/browser-store.js +62 -1
  2. package/exports/browser/{index-b203939f.js → index-96b718dc.js} +1 -2
  3. package/exports/browser/messages-591e0b2c.js +224 -0
  4. package/exports/browser/{peernet-4dde5a19.js → peernet-20a06ecc.js} +176 -339
  5. package/exports/browser/peernet.d.ts +233 -0
  6. package/exports/browser/peernet.js +1 -2
  7. package/exports/messages-dc960cb3.js +224 -0
  8. package/exports/peernet.js +150 -146
  9. package/exports/types/peernet.d.ts +233 -0
  10. package/package.json +3 -2
  11. package/rollup.config.js +2 -2
  12. package/src/peernet.ts +23 -8
  13. package/tsconfig.json +1 -0
  14. package/exports/browser/discovery/peer-discovery.d.ts +0 -7
  15. package/exports/browser/errors/errors.d.ts +0 -3
  16. package/exports/browser/handlers/data.d.ts +0 -2
  17. package/exports/browser/handlers/message.d.ts +0 -30
  18. package/exports/browser/messages/chat.d.ts +0 -6
  19. package/exports/browser/messages/data-response.d.ts +0 -6
  20. package/exports/browser/messages/data.d.ts +0 -10
  21. package/exports/browser/messages/dht-response.d.ts +0 -6
  22. package/exports/browser/messages/dht.d.ts +0 -14
  23. package/exports/browser/messages/file-link.d.ts +0 -10
  24. package/exports/browser/messages/file.d.ts +0 -10
  25. package/exports/browser/messages/peer-response.d.ts +0 -6
  26. package/exports/browser/messages/peer.d.ts +0 -6
  27. package/exports/browser/messages/peernet.d.ts +0 -6
  28. package/exports/browser/messages/ps.d.ts +0 -6
  29. package/exports/browser/messages/request.d.ts +0 -6
  30. package/exports/browser/messages/response.d.ts +0 -6
  31. package/exports/browser/messages-7138679c.js +0 -205
  32. package/exports/browser/messages.d.ts +0 -12
  33. package/exports/browser/peer-info.d.ts +0 -4
  34. package/exports/browser/prompts/password/browser.d.ts +0 -2
  35. package/exports/browser/prompts/password/node.d.ts +0 -2
  36. package/exports/browser/proto/chat-message.proto.d.ts +0 -7
  37. package/exports/browser/proto/data-response.proto.d.ts +0 -5
  38. package/exports/browser/proto/data.proto.d.ts +0 -5
  39. package/exports/browser/proto/dht-response.proto.d.ts +0 -5
  40. package/exports/browser/proto/dht.proto.d.ts +0 -5
  41. package/exports/browser/proto/file-link.proto.d.ts +0 -6
  42. package/exports/browser/proto/file.proto.d.ts +0 -6
  43. package/exports/browser/proto/peer-response.proto.d.ts +0 -4
  44. package/exports/browser/proto/peer.proto.d.ts +0 -4
  45. package/exports/browser/proto/peernet.proto.d.ts +0 -8
  46. package/exports/browser/proto/ps.proto.d.ts +0 -5
  47. package/exports/browser/proto/request.proto.d.ts +0 -5
  48. package/exports/browser/proto/response.proto.d.ts +0 -4
  49. package/exports/browser/utils/utils.d.ts +0 -7
  50. package/exports/browser/value-157ab062.js +0 -64
  51. package/exports/discovery/peer-discovery.d.ts +0 -7
  52. package/exports/errors/errors.d.ts +0 -3
  53. package/exports/handlers/data.d.ts +0 -2
  54. package/exports/handlers/message.d.ts +0 -30
  55. package/exports/messages/chat.d.ts +0 -6
  56. package/exports/messages/data-response.d.ts +0 -6
  57. package/exports/messages/data.d.ts +0 -10
  58. package/exports/messages/dht-response.d.ts +0 -6
  59. package/exports/messages/dht.d.ts +0 -14
  60. package/exports/messages/file-link.d.ts +0 -10
  61. package/exports/messages/file.d.ts +0 -10
  62. package/exports/messages/peer-response.d.ts +0 -6
  63. package/exports/messages/peer.d.ts +0 -6
  64. package/exports/messages/peernet.d.ts +0 -6
  65. package/exports/messages/ps.d.ts +0 -6
  66. package/exports/messages/request.d.ts +0 -6
  67. package/exports/messages/response.d.ts +0 -6
  68. package/exports/messages-6645d42e.js +0 -204
  69. package/exports/messages.d.ts +0 -12
  70. package/exports/peer-info.d.ts +0 -4
  71. package/exports/prompts/password/browser.d.ts +0 -2
  72. package/exports/prompts/password/node.d.ts +0 -2
  73. package/exports/proto/chat-message.proto.d.ts +0 -7
  74. package/exports/proto/data-response.proto.d.ts +0 -5
  75. package/exports/proto/data.proto.d.ts +0 -5
  76. package/exports/proto/dht-response.proto.d.ts +0 -5
  77. package/exports/proto/dht.proto.d.ts +0 -5
  78. package/exports/proto/file-link.proto.d.ts +0 -6
  79. package/exports/proto/file.proto.d.ts +0 -6
  80. package/exports/proto/peer-response.proto.d.ts +0 -4
  81. package/exports/proto/peer.proto.d.ts +0 -4
  82. package/exports/proto/peernet.proto.d.ts +0 -8
  83. package/exports/proto/ps.proto.d.ts +0 -5
  84. package/exports/proto/request.proto.d.ts +0 -5
  85. package/exports/proto/response.proto.d.ts +0 -4
  86. package/exports/utils/utils.d.ts +0 -7
  87. /package/exports/{dht → types/dht}/dht.d.ts +0 -0
@@ -1,7 +1,6 @@
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';
5
4
  import { utils } from '@leofcoin/codecs';
6
5
  import MultiWallet from '@leofcoin/multi-wallet';
7
6
  import base58 from '@vandeurenglenn/base58';
@@ -10,55 +9,54 @@ import QrScanner from 'qr-scanner';
10
9
  import qrcode from 'qrcode';
11
10
 
12
11
  const BufferToUint8Array = data => {
13
- if (data.type === 'Buffer') {
14
- data = new Uint8Array(data.data);
15
- }
16
- return data;
12
+ if (data.type === 'Buffer') {
13
+ data = new Uint8Array(data.data);
14
+ }
15
+ return data
17
16
  };
17
+
18
18
  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);
19
+ const codec = new Codec(message);
20
+ if (!codec.name) throw new Error('proto not found')
21
+ const Proto = globalThis.peernet.protos[codec.name];
22
+ if (!Proto) throw (new Error(`No proto defined for ${codec.name}`))
23
+ return new Proto(message)
26
24
  };
25
+
27
26
  /**
28
27
  * wether or not a peernet daemon is active
29
28
  * @return {Boolean}
30
29
  */
31
30
  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
- }
31
+ try {
32
+ let response = await fetch('http://127.0.0.1:1000/api/version');
33
+ response = await response.json();
34
+ return Boolean(response.client === '@peernet/api/http')
35
+ } catch (e) {
36
+ return false
37
+ }
40
38
  };
39
+
41
40
  const https = () => {
42
- if (!globalThis.location)
43
- return false;
44
- return Boolean(globalThis.location.protocol === 'https:');
41
+ if (!globalThis.location) return false;
42
+ return Boolean(globalThis.location.protocol === 'https:')
45
43
  };
44
+
46
45
  /**
47
46
  * Get current environment
48
47
  * @return {String} current environment [node, electron, browser]
49
48
  */
50
49
  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
- }
50
+ const _navigator = globalThis.navigator;
51
+ if (!_navigator) {
52
+ return 'node'
53
+ } else if (_navigator && /electron/i.test(_navigator.userAgent)) {
54
+ return 'electron'
55
+ } else {
56
+ return 'browser'
57
+ }
61
58
  };
59
+
62
60
  /**
63
61
  * * Get current environment
64
62
  * @return {Object} result
@@ -66,84 +64,84 @@ const environment = () => {
66
64
  * @property {Boolean} reult.environment Current environment
67
65
  */
68
66
  const target = async () => {
69
- let daemon = false;
70
- if (!https())
71
- daemon = await hasDaemon();
72
- return { daemon, environment: environment() };
67
+ let daemon = false;
68
+ if (!https()) daemon = await hasDaemon();
69
+
70
+ return {daemon, environment: environment()}
73
71
  };
74
72
 
75
73
  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;
74
+ constructor(id) {
75
+ this.id = id;
76
+ }
77
+
78
+ _getPeerId(id) {
79
+ if (!peernet.peerMap || peernet.peerMap && peernet.peerMap.size === 0) return false
80
+
81
+ for (const entry of [...peernet.peerMap.entries()]) {
82
+ for (const _id of entry[1]) {
83
+ if (_id === id) return entry[0]
84
+ }
111
85
  }
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 })));
86
+ }
87
+
88
+ async discover(peer) {
89
+ let id = this._getPeerId(peer.id);
90
+ if (id) return id
91
+ const data = await new peernet.protos['peernet-peer']({id: this.id});
92
+ const node = await peernet.prepareMessage(peer.id, data.encoded);
93
+
94
+ let response = await peer.request(node.encoded);
95
+ response = await protoFor(response);
96
+ response = await new peernet.protos['peernet-peer-response'](response.decoded.data);
97
+
98
+ id = response.decoded.id;
99
+ if (id === this.id) return;
100
+
101
+ if (!peernet.peerMap.has(id)) peernet.peerMap.set(id, [peer.id]);
102
+ else {
103
+ const connections = peernet.peerMap.get(id);
104
+ if (connections.indexOf(peer.id) === -1) {
105
+ connections.push(peer.id);
106
+ peernet.peerMap.set(peer.id, connections);
107
+ }
108
+ }
109
+ return id
110
+ }
111
+
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) return;
118
+
119
+ if (!peernet.peerMap.has(from)) peernet.peerMap.set(from, [peer.id]);
120
+ else {
121
+ const connections = peernet.peerMap.get(from);
122
+ if (connections.indexOf(peer.id) === -1) {
123
+ connections.push(peer.id);
124
+ peernet.peerMap.set(from, connections);
131
125
  }
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
- }
126
+ }
127
+ const data = await new peernet.protos['peernet-peer-response']({id: this.id});
128
+ const node = await peernet.prepareMessage(from, data.encoded);
129
+
130
+ peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
131
+ } else if (proto.name === 'peernet-peer-response') {
132
+ const from = proto.decoded.id;
133
+ if (from === this.id) return;
134
+
135
+ if (!peernet.peerMap.has(from)) peernet.peerMap.set(from, [peer.id]);
136
+ else {
137
+ const connections = peernet.peerMap.get(from);
138
+ if (connections.indexOf(peer.id) === -1) {
139
+ connections.push(peer.id);
140
+ peernet.peerMap.set(from, connections);
145
141
  }
142
+ }
146
143
  }
144
+ }
147
145
  }
148
146
 
149
147
  /**
@@ -256,52 +254,55 @@ class DhtEarth {
256
254
  }
257
255
 
258
256
  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;
257
+ constructor(network) {
258
+ this.network = network;
259
+ }
260
+ /**
261
+ * hash and sign message
262
+ *
263
+ * @param {object} message
264
+ * @param {Buffer} message.from peer id
265
+ * @param {Buffer} message.to peer id
266
+ * @param {string} message.data Peernet message
267
+ * (PeernetMessage excluded) encoded as a string
268
+ * @return message
269
+ */
270
+ async hashAndSignMessage(message) {
271
+ const hash = await message.peernetHash;
272
+ message.decoded.signature = globalThis.identity.sign(hash.buffer);
273
+ return message
274
+ }
275
+
276
+ /**
277
+ * @param {String} from - peer id
278
+ * @param {String} to - peer id
279
+ * @param {String|PeernetMessage} data - data encoded message string
280
+ * or the messageNode itself
281
+ */
282
+ async prepareMessage(message) {
283
+ if (message.keys.includes('signature')) {
284
+ message = await this.hashAndSignMessage(message);
288
285
  }
286
+
287
+ return message
288
+ }
289
289
  }
290
290
 
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);
291
+ const dataHandler = async message => {
292
+ if (!message) return
293
+
294
+ const {data, id, from, peer} = message;
295
+ const proto = await protoFor(data);
296
+ peernet._protoHandler({id, proto}, peernet.connections[from] || peer, from);
297
297
  };
298
298
 
299
299
  const dhtError = (proto) => {
300
- const text = `Received proto ${proto.name} expected peernet-dht-response`;
301
- return new Error(`Routing error: ${text}`);
300
+ const text = `Received proto ${proto.name} expected peernet-dht-response`;
301
+ return new Error(`Routing error: ${text}`)
302
302
  };
303
+
303
304
  const nothingFoundError = (hash) => {
304
- return new Error(`nothing found for ${hash}`);
305
+ return new Error(`nothing found for ${hash}`)
305
306
  };
306
307
 
307
308
  class Identity {
@@ -381,8 +382,8 @@ class Identity {
381
382
 
382
383
  globalThis.LeofcoinStorage = LeofcoinStorage;
383
384
  globalThis.leofcoin = globalThis.leofcoin || {};
384
- globalThis.pubsub = globalThis.pubsub || new PubSub();
385
- globalThis.globalSub = globalThis.globalSub || new PubSub();
385
+ pubsub = pubsub || new PubSub();
386
+ globalSub = globalSub || new PubSub();
386
387
  /**
387
388
  * @access public
388
389
  * @example
@@ -402,11 +403,14 @@ class Peernet {
402
403
  stars;
403
404
  networkVersion;
404
405
  bw;
406
+ hasDaemon = false;
405
407
  autoStart = true;
406
408
  #starting = false;
407
409
  #started = false;
408
410
  #connections = {};
409
411
  requestProtos = {};
412
+ _messageHandler;
413
+ protos;
410
414
  /**
411
415
  * @access public
412
416
  * @param {Object} options
@@ -436,7 +440,7 @@ class Peernet {
436
440
  if (!options.root) {
437
441
  parts[1] ? options.root = `.${parts[0]}/${parts[1]}` : options.root = `.${this.network}`;
438
442
  }
439
- globalThis.peernet = this;
443
+ peernet = this;
440
444
  this.bw = {
441
445
  up: 0,
442
446
  down: 0,
@@ -512,7 +516,7 @@ class Peernet {
512
516
  this.root = options.root;
513
517
  const { RequestMessage, ResponseMessage, PeerMessage, PeerMessageResponse, PeernetMessage, DHTMessage, DHTMessageResponse, DataMessage, DataMessageResponse, PsMessage, ChatMessage, PeernetFile
514
518
  // FolderMessageResponse
515
- } = await import(/* webpackChunkName: "messages" */ './messages-6645d42e.js');
519
+ } = await import(/* webpackChunkName: "messages" */ './messages-dc960cb3.js');
516
520
  /**
517
521
  * proto Object containing protos
518
522
  * @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 { LeofcoinStorage as 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.47",
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'