@leofcoin/peernet 0.11.0 → 0.11.3

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 (46) hide show
  1. package/coverage/lcov-report/base.css +224 -0
  2. package/coverage/lcov-report/block-navigation.js +87 -0
  3. package/coverage/lcov-report/codec-format-interface.js.html +637 -0
  4. package/coverage/lcov-report/dht-response.js.html +193 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +131 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +196 -0
  11. package/coverage/lcov.info +199 -0
  12. package/dist/browser/326.peernet.js +1 -0
  13. package/dist/browser/peernet.js +2 -108930
  14. package/dist/browser/peernet.js.LICENSE.txt +40 -0
  15. package/dist/commonjs/{client-bd0caeb7.js → client-1a1f75e6.js} +41 -41
  16. package/dist/commonjs/{codec-4a768e5e.js → codec-8c8c652f.js} +118 -118
  17. package/dist/commonjs/codec-format-interface.js +167 -167
  18. package/dist/commonjs/codec.js +2 -2
  19. package/dist/commonjs/dht-response.js +11 -11
  20. package/dist/commonjs/dht.js +2 -2
  21. package/dist/commonjs/hash.js +149 -149
  22. package/dist/commonjs/{http-2b0735ef.js → http-e088ccdb.js} +1 -1
  23. package/dist/commonjs/peernet-message.js +4 -4
  24. package/dist/commonjs/peernet.js +850 -943
  25. package/dist/commonjs/request.js +2 -2
  26. package/dist/commonjs/response.js +3 -3
  27. package/dist/module/peernet.js +1373 -1466
  28. package/index.html +2 -2
  29. package/package.json +6 -21
  30. package/src/client.js +75 -75
  31. package/src/codec/codec-format-interface.js +172 -172
  32. package/src/codec/codec.js +124 -124
  33. package/src/dht/dht.js +121 -121
  34. package/src/discovery/peer-discovery.js +75 -75
  35. package/src/handlers/message.js +2 -4
  36. package/src/hash/hash.js +155 -155
  37. package/src/http/client/http-client.js +44 -44
  38. package/src/messages/dht-response.js +14 -14
  39. package/src/peer.js +67 -67
  40. package/src/peernet.js +613 -612
  41. package/src/proto/chat-message.proto.js +7 -7
  42. package/src/proto/peernet.proto.js +2 -2
  43. package/src/proto/response.proto.js +1 -1
  44. package/src/utils/utils.js +78 -78
  45. package/test.js +1 -1
  46. package/webpack.config.js +10 -4
@@ -1,7 +1,7 @@
1
- export default `
2
- message ChatMessage {
3
- required string value = 1;
4
- required string author = 2;
5
- required uint64 timestamp = 3;
6
- repeated string files = 4;
7
- }`
1
+ export default `
2
+ message ChatMessage {
3
+ required string value = 1;
4
+ required string author = 2;
5
+ required uint64 timestamp = 3;
6
+ repeated string files = 4;
7
+ }`
@@ -3,7 +3,7 @@ export default `
3
3
  message PeernetMessage {
4
4
  required bytes data = 1;
5
5
  required bytes signature = 2;
6
- optional bytes from = 3;
7
- optional bytes to = 4;
6
+ optional string from = 3;
7
+ optional string to = 4;
8
8
  optional string id = 5;
9
9
  }`
@@ -1,6 +1,6 @@
1
1
  export default `
2
2
  // PeernetResponseMessage
3
3
  message PeernetResponseMessage {
4
- required string response = 1;
4
+ required bytes response = 1;
5
5
  }
6
6
  `
@@ -1,78 +1,78 @@
1
- import fetch from 'node-fetch'
2
- import Codec from './../codec/codec.js'
3
-
4
- export const expected = (expected, actual) => {
5
- const rule = (entry) => {
6
- return !entry ? `: undefined - ${entry} ` :`: ${typeof entry} - `
7
- }
8
-
9
- const entries = Object.entries(actual)
10
- .map((entry) => entry.join(rule(entry[1])));
11
-
12
- return `\nExpected:
13
- ${expected.join('\n\t')}
14
-
15
- actual:
16
- ${entries.join('\n\t')}`;
17
- }
18
-
19
- export const debug = (log) => {
20
- if (globalThis.DEBUG || globalThis.debug) console.log(`%c ${log}`, 'color: #0080ff;')
21
- }
22
-
23
- export const protoFor = (data) => {
24
- if (!Buffer.isBuffer(data)) data = Buffer.from(data)
25
- const codec = new Codec(data)
26
- if (!codec.name) throw new Error('proto not found')
27
- const Proto = globalThis.peernet.protos[codec.name]
28
- if (!Proto) throw (new Error(`No proto defined for ${codec.name}`))
29
- return new Proto(data)
30
- }
31
-
32
- /**
33
- * wether or not a peernet daemon is active
34
- * @return {Boolean}
35
- */
36
- export const hasDaemon = async () => {
37
- try {
38
- let response = await fetch('http://127.0.0.1:1000/api/version')
39
- response = await response.json()
40
- return Boolean(response.client === '@peernet/api/http')
41
- } catch (e) {
42
- return false
43
- }
44
- }
45
-
46
- export const https = () => {
47
- if (!globalThis.location) return false;
48
- return Boolean(globalThis.location.protocol === 'https:')
49
- }
50
-
51
- /**
52
- * Get current environment
53
- * @return {String} current environment [node, electron, browser]
54
- */
55
- export const environment = () => {
56
- const _navigator = globalThis.navigator
57
- if (!_navigator) {
58
- return 'node'
59
- } else if (_navigator && /electron/i.test(_navigator.userAgent)) {
60
- return 'electron'
61
- } else {
62
- return 'browser'
63
- }
64
- }
65
-
66
- /**
67
- * * Get current environment
68
- * @return {Object} result
69
- * @property {Boolean} reult.daemon whether or not daemon is running
70
- * @property {Boolean} reult.environment Current environment
71
- */
72
- export const target = async () => {
73
- let daemon = false
74
- const env = await environment()
75
- if (!https()) daemon = await hasDaemon()
76
-
77
- return {daemon, environment: env}
78
- }
1
+ import fetch from 'node-fetch'
2
+ import Codec from './../codec/codec.js'
3
+
4
+ export const expected = (expected, actual) => {
5
+ const rule = (entry) => {
6
+ return !entry ? `: undefined - ${entry} ` :`: ${typeof entry} - `
7
+ }
8
+
9
+ const entries = Object.entries(actual)
10
+ .map((entry) => entry.join(rule(entry[1])));
11
+
12
+ return `\nExpected:
13
+ ${expected.join('\n\t')}
14
+
15
+ actual:
16
+ ${entries.join('\n\t')}`;
17
+ }
18
+
19
+ export const debug = (log) => {
20
+ if (globalThis.DEBUG || globalThis.debug) console.log(`%c ${log}`, 'color: #0080ff;')
21
+ }
22
+
23
+ export const protoFor = (data) => {
24
+ if (!Buffer.isBuffer(data)) data = Buffer.from(data)
25
+ const codec = new Codec(data)
26
+ if (!codec.name) throw new Error('proto not found')
27
+ const Proto = globalThis.peernet.protos[codec.name]
28
+ if (!Proto) throw (new Error(`No proto defined for ${codec.name}`))
29
+ return new Proto(data)
30
+ }
31
+
32
+ /**
33
+ * wether or not a peernet daemon is active
34
+ * @return {Boolean}
35
+ */
36
+ export const hasDaemon = async () => {
37
+ try {
38
+ let response = await fetch('http://127.0.0.1:1000/api/version')
39
+ response = await response.json()
40
+ return Boolean(response.client === '@peernet/api/http')
41
+ } catch (e) {
42
+ return false
43
+ }
44
+ }
45
+
46
+ export const https = () => {
47
+ if (!globalThis.location) return false;
48
+ return Boolean(globalThis.location.protocol === 'https:')
49
+ }
50
+
51
+ /**
52
+ * Get current environment
53
+ * @return {String} current environment [node, electron, browser]
54
+ */
55
+ export const environment = () => {
56
+ const _navigator = globalThis.navigator
57
+ if (!_navigator) {
58
+ return 'node'
59
+ } else if (_navigator && /electron/i.test(_navigator.userAgent)) {
60
+ return 'electron'
61
+ } else {
62
+ return 'browser'
63
+ }
64
+ }
65
+
66
+ /**
67
+ * * Get current environment
68
+ * @return {Object} result
69
+ * @property {Boolean} reult.daemon whether or not daemon is running
70
+ * @property {Boolean} reult.environment Current environment
71
+ */
72
+ export const target = async () => {
73
+ let daemon = false
74
+ const env = await environment()
75
+ if (!https()) daemon = await hasDaemon()
76
+
77
+ return {daemon, environment: env}
78
+ }
package/test.js CHANGED
@@ -23,6 +23,6 @@ pubsub.subscribe('peer:connected', async peer => {
23
23
  response = new globalThis.peernet.protos['peernet-response'](proto.decoded.data)
24
24
  console.log({response});
25
25
 
26
- const block = JSON.parse(response.decoded.response)
26
+ const block = new TextDecoder().decode(response.decoded.response)
27
27
  console.log(block);
28
28
  })
package/webpack.config.js CHANGED
@@ -1,7 +1,7 @@
1
1
  const path = require('path');
2
2
  const webpack = require('webpack');
3
- module.exports = {
4
- entry: './dist/browser/peernet.js',
3
+ module.exports = [{
4
+ entry: './src/peernet.js',
5
5
  plugins: [
6
6
  // Work around for Buffer is undefined:
7
7
  // https://github.com/webpack/changelog-v5/issues/10
@@ -10,14 +10,20 @@ module.exports = {
10
10
  }),
11
11
  new webpack.ProvidePlugin({
12
12
  process: 'process/browser',
13
+ }),
14
+ new webpack.DefinePlugin({
15
+ HTTP_IMPORT: '',
16
+ "import fetch from 'node-fetch'": ''
13
17
  })
14
18
  ],
15
19
  optimization: {
16
- minimize: false
20
+ minimize: true
17
21
  },
18
22
  resolve: {
19
23
  extensions: [ '.ts', '.js' ],
20
24
  fallback: {
25
+ fs: false,
26
+ util: false,
21
27
  "stream": require.resolve("stream-browserify"),
22
28
  "buffer": require.resolve("buffer"),
23
29
  "path": require.resolve("path-browserify"),
@@ -32,4 +38,4 @@ resolve: {
32
38
  filename: 'peernet.js',
33
39
  path: path.resolve(__dirname, 'dist', 'browser'),
34
40
  },
35
- };
41
+ }];