node-datachannel 0.2.1 → 0.2.4

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 (114) hide show
  1. package/.github/workflows/build-linux.yml +2 -0
  2. package/.github/workflows/build-win.yml +1 -7
  3. package/CMakeLists.txt +2 -2
  4. package/README.md +18 -3
  5. package/lib/datachannel-stream.js +86 -0
  6. package/lib/index.d.ts +16 -2
  7. package/lib/index.js +3 -1
  8. package/node_modules/decompress-response/index.d.ts +14 -21
  9. package/node_modules/decompress-response/index.js +34 -16
  10. package/node_modules/decompress-response/license +1 -1
  11. package/node_modules/decompress-response/package.json +23 -17
  12. package/node_modules/decompress-response/readme.md +2 -6
  13. package/node_modules/detect-libc/README.md +124 -42
  14. package/node_modules/detect-libc/index.d.ts +11 -0
  15. package/node_modules/detect-libc/lib/detect-libc.js +166 -80
  16. package/node_modules/detect-libc/lib/process.js +16 -0
  17. package/node_modules/detect-libc/package.json +20 -20
  18. package/node_modules/{semver → lru-cache}/LICENSE +0 -0
  19. package/node_modules/lru-cache/README.md +166 -0
  20. package/node_modules/lru-cache/index.js +334 -0
  21. package/node_modules/lru-cache/node_modules/yallist/LICENSE +15 -0
  22. package/node_modules/lru-cache/node_modules/yallist/README.md +204 -0
  23. package/node_modules/lru-cache/node_modules/yallist/iterator.js +8 -0
  24. package/node_modules/lru-cache/node_modules/yallist/package.json +65 -0
  25. package/node_modules/lru-cache/node_modules/yallist/yallist.js +426 -0
  26. package/node_modules/lru-cache/package.json +74 -0
  27. package/node_modules/mimic-response/index.d.ts +2 -2
  28. package/node_modules/mimic-response/index.js +41 -2
  29. package/node_modules/mimic-response/package.json +17 -17
  30. package/node_modules/mimic-response/readme.md +22 -1
  31. package/node_modules/node-abi/.circleci/config.yml +63 -0
  32. package/node_modules/node-abi/.releaserc.json +9 -0
  33. package/node_modules/node-abi/abi_registry.json +45 -3
  34. package/node_modules/node-abi/index.js +5 -2
  35. package/node_modules/node-abi/node_modules/semver/CHANGELOG.md +111 -0
  36. package/node_modules/node-abi/node_modules/semver/LICENSE +15 -0
  37. package/node_modules/{semver → node-abi/node_modules/semver}/README.md +180 -26
  38. package/node_modules/node-abi/node_modules/semver/bin/semver.js +173 -0
  39. package/node_modules/node-abi/node_modules/semver/classes/comparator.js +135 -0
  40. package/node_modules/node-abi/node_modules/semver/classes/index.js +5 -0
  41. package/node_modules/node-abi/node_modules/semver/classes/range.js +510 -0
  42. package/node_modules/node-abi/node_modules/semver/classes/semver.js +287 -0
  43. package/node_modules/node-abi/node_modules/semver/functions/clean.js +6 -0
  44. package/node_modules/node-abi/node_modules/semver/functions/cmp.js +48 -0
  45. package/node_modules/node-abi/node_modules/semver/functions/coerce.js +51 -0
  46. package/node_modules/node-abi/node_modules/semver/functions/compare-build.js +7 -0
  47. package/node_modules/node-abi/node_modules/semver/functions/compare-loose.js +3 -0
  48. package/node_modules/node-abi/node_modules/semver/functions/compare.js +5 -0
  49. package/node_modules/node-abi/node_modules/semver/functions/diff.js +23 -0
  50. package/node_modules/node-abi/node_modules/semver/functions/eq.js +3 -0
  51. package/node_modules/node-abi/node_modules/semver/functions/gt.js +3 -0
  52. package/node_modules/node-abi/node_modules/semver/functions/gte.js +3 -0
  53. package/node_modules/node-abi/node_modules/semver/functions/inc.js +15 -0
  54. package/node_modules/node-abi/node_modules/semver/functions/lt.js +3 -0
  55. package/node_modules/node-abi/node_modules/semver/functions/lte.js +3 -0
  56. package/node_modules/node-abi/node_modules/semver/functions/major.js +3 -0
  57. package/node_modules/node-abi/node_modules/semver/functions/minor.js +3 -0
  58. package/node_modules/node-abi/node_modules/semver/functions/neq.js +3 -0
  59. package/node_modules/node-abi/node_modules/semver/functions/parse.js +33 -0
  60. package/node_modules/node-abi/node_modules/semver/functions/patch.js +3 -0
  61. package/node_modules/node-abi/node_modules/semver/functions/prerelease.js +6 -0
  62. package/node_modules/node-abi/node_modules/semver/functions/rcompare.js +3 -0
  63. package/node_modules/node-abi/node_modules/semver/functions/rsort.js +3 -0
  64. package/node_modules/node-abi/node_modules/semver/functions/satisfies.js +10 -0
  65. package/node_modules/node-abi/node_modules/semver/functions/sort.js +3 -0
  66. package/node_modules/node-abi/node_modules/semver/functions/valid.js +6 -0
  67. package/node_modules/node-abi/node_modules/semver/index.js +48 -0
  68. package/node_modules/node-abi/node_modules/semver/internal/constants.js +17 -0
  69. package/node_modules/node-abi/node_modules/semver/internal/debug.js +9 -0
  70. package/node_modules/node-abi/node_modules/semver/internal/identifiers.js +23 -0
  71. package/node_modules/node-abi/node_modules/semver/internal/parse-options.js +11 -0
  72. package/node_modules/node-abi/node_modules/semver/internal/re.js +182 -0
  73. package/node_modules/{semver → node-abi/node_modules/semver}/package.json +32 -23
  74. package/node_modules/node-abi/node_modules/semver/preload.js +2 -0
  75. package/node_modules/{semver → node-abi/node_modules/semver}/range.bnf +0 -0
  76. package/node_modules/node-abi/node_modules/semver/ranges/gtr.js +4 -0
  77. package/node_modules/node-abi/node_modules/semver/ranges/intersects.js +7 -0
  78. package/node_modules/node-abi/node_modules/semver/ranges/ltr.js +4 -0
  79. package/node_modules/node-abi/node_modules/semver/ranges/max-satisfying.js +25 -0
  80. package/node_modules/node-abi/node_modules/semver/ranges/min-satisfying.js +24 -0
  81. package/node_modules/node-abi/node_modules/semver/ranges/min-version.js +60 -0
  82. package/node_modules/node-abi/node_modules/semver/ranges/outside.js +80 -0
  83. package/node_modules/node-abi/node_modules/semver/ranges/simplify.js +44 -0
  84. package/node_modules/node-abi/node_modules/semver/ranges/subset.js +222 -0
  85. package/node_modules/node-abi/node_modules/semver/ranges/to-comparators.js +8 -0
  86. package/node_modules/node-abi/node_modules/semver/ranges/valid.js +11 -0
  87. package/node_modules/node-abi/package.json +20 -17
  88. package/node_modules/node-abi/test/index.js +7 -15
  89. package/node_modules/prebuild-install/CHANGELOG.md +24 -7
  90. package/node_modules/prebuild-install/README.md +24 -4
  91. package/node_modules/prebuild-install/asset.js +10 -10
  92. package/node_modules/prebuild-install/bin.js +13 -13
  93. package/node_modules/prebuild-install/download.js +22 -22
  94. package/node_modules/prebuild-install/log.js +4 -4
  95. package/node_modules/prebuild-install/package.json +18 -19
  96. package/node_modules/prebuild-install/proxy.js +10 -10
  97. package/node_modules/prebuild-install/rc.js +12 -12
  98. package/node_modules/prebuild-install/util.js +14 -14
  99. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  100. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  101. package/node_modules/simple-get/README.md +17 -3
  102. package/node_modules/simple-get/index.js +9 -0
  103. package/node_modules/simple-get/package.json +27 -13
  104. package/package.json +6 -5
  105. package/src/media-audio-wrapper.cpp +2 -2
  106. package/src/peer-connection-wrapper.cpp +63 -10
  107. package/src/peer-connection-wrapper.h +7 -2
  108. package/test/test.js +45 -0
  109. package/node_modules/detect-libc/.npmignore +0 -7
  110. package/node_modules/detect-libc/bin/detect-libc.js +0 -18
  111. package/node_modules/node-abi/.travis.yml +0 -17
  112. package/node_modules/semver/CHANGELOG.md +0 -39
  113. package/node_modules/semver/bin/semver +0 -160
  114. package/node_modules/semver/semver.js +0 -1483
package/test/test.js CHANGED
@@ -145,4 +145,49 @@ describe('P2P', () => {
145
145
  }, 12 * 1000);
146
146
 
147
147
  });
148
+ });
149
+
150
+ function waitForGathering(peer) {
151
+ return new Promise((resolve) => {
152
+ peer.onGatheringStateChange((state) => {
153
+ if (state === 'complete') resolve();
154
+ });
155
+ // Handle race conditions where gathering has already completed
156
+ if (peer.gatheringState() === 'complete') resolve();
157
+ });
158
+ }
159
+
160
+ describe('DataChannel streams', () => {
161
+
162
+ test('can build an echo pipeline', async () => {
163
+ let clientPeer = new nodeDataChannel.PeerConnection("Client", { iceServers: [] });
164
+ let echoPeer = new nodeDataChannel.PeerConnection("Client", { iceServers: [] });
165
+
166
+ const echoStream = new nodeDataChannel.DataChannelStream(
167
+ echoPeer.createDataChannel("echo-channel")
168
+ );
169
+ echoStream.pipe(echoStream); // Echo all received data back to the client
170
+
171
+ await waitForGathering(echoPeer);
172
+
173
+ const { sdp: echoDescSdp, type: echoDescType } = echoPeer.localDescription();
174
+ clientPeer.setRemoteDescription(echoDescSdp, echoDescType);
175
+ await waitForGathering(clientPeer);
176
+
177
+ const { sdp: clientDescSdp, type: clientDescType } = clientPeer.localDescription();
178
+ echoPeer.setRemoteDescription(clientDescSdp, clientDescType);
179
+
180
+ const clientChannel = await new Promise((resolve) => clientPeer.onDataChannel(resolve));
181
+
182
+ const clientResponsePromise = new Promise((resolve) => clientChannel.onMessage(resolve));
183
+ clientChannel.sendMessage("test message");
184
+
185
+ expect(await clientResponsePromise).toBe("test message");
186
+
187
+ clientChannel.close();
188
+ await new Promise((resolve) => echoStream.on('end', resolve));
189
+
190
+ clientPeer.close();
191
+ echoPeer.close();
192
+ });
148
193
  });
@@ -1,7 +0,0 @@
1
- .nyc_output
2
- .travis.yml
3
- coverage
4
- test.js
5
- node_modules
6
- /.circleci
7
- /tests/integration
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- 'use strict';
4
-
5
- var spawnSync = require('child_process').spawnSync;
6
- var libc = require('../');
7
-
8
- var spawnOptions = {
9
- env: process.env,
10
- shell: true,
11
- stdio: 'inherit'
12
- };
13
-
14
- if (libc.isNonGlibcLinux) {
15
- spawnOptions.env.LIBC = process.env.LIBC || libc.family;
16
- }
17
-
18
- process.exit(spawnSync(process.argv[2], process.argv.slice(3), spawnOptions).status);
@@ -1,17 +0,0 @@
1
- language: node_js
2
- cache:
3
- directories:
4
- - ~/.npm
5
- notifications:
6
- email: false
7
- node_js:
8
- - '14'
9
- - '12'
10
- - '10'
11
- - '9'
12
- - '8'
13
- after_success:
14
- - npm run travis-deploy-once "npm run semantic-release"
15
- branches:
16
- except:
17
- - /^v\d+\.\d+\.\d+$/
@@ -1,39 +0,0 @@
1
- # changes log
2
-
3
- ## 5.7
4
-
5
- * Add `minVersion` method
6
-
7
- ## 5.6
8
-
9
- * Move boolean `loose` param to an options object, with
10
- backwards-compatibility protection.
11
- * Add ability to opt out of special prerelease version handling with
12
- the `includePrerelease` option flag.
13
-
14
- ## 5.5
15
-
16
- * Add version coercion capabilities
17
-
18
- ## 5.4
19
-
20
- * Add intersection checking
21
-
22
- ## 5.3
23
-
24
- * Add `minSatisfying` method
25
-
26
- ## 5.2
27
-
28
- * Add `prerelease(v)` that returns prerelease components
29
-
30
- ## 5.1
31
-
32
- * Add Backus-Naur for ranges
33
- * Remove excessively cute inspection methods
34
-
35
- ## 5.0
36
-
37
- * Remove AMD/Browserified build artifacts
38
- * Fix ltr and gtr when using the `*` range
39
- * Fix for range `*` with a prerelease identifier
@@ -1,160 +0,0 @@
1
- #!/usr/bin/env node
2
- // Standalone semver comparison program.
3
- // Exits successfully and prints matching version(s) if
4
- // any supplied version is valid and passes all tests.
5
-
6
- var argv = process.argv.slice(2)
7
-
8
- var versions = []
9
-
10
- var range = []
11
-
12
- var inc = null
13
-
14
- var version = require('../package.json').version
15
-
16
- var loose = false
17
-
18
- var includePrerelease = false
19
-
20
- var coerce = false
21
-
22
- var identifier
23
-
24
- var semver = require('../semver')
25
-
26
- var reverse = false
27
-
28
- var options = {}
29
-
30
- main()
31
-
32
- function main () {
33
- if (!argv.length) return help()
34
- while (argv.length) {
35
- var a = argv.shift()
36
- var indexOfEqualSign = a.indexOf('=')
37
- if (indexOfEqualSign !== -1) {
38
- a = a.slice(0, indexOfEqualSign)
39
- argv.unshift(a.slice(indexOfEqualSign + 1))
40
- }
41
- switch (a) {
42
- case '-rv': case '-rev': case '--rev': case '--reverse':
43
- reverse = true
44
- break
45
- case '-l': case '--loose':
46
- loose = true
47
- break
48
- case '-p': case '--include-prerelease':
49
- includePrerelease = true
50
- break
51
- case '-v': case '--version':
52
- versions.push(argv.shift())
53
- break
54
- case '-i': case '--inc': case '--increment':
55
- switch (argv[0]) {
56
- case 'major': case 'minor': case 'patch': case 'prerelease':
57
- case 'premajor': case 'preminor': case 'prepatch':
58
- inc = argv.shift()
59
- break
60
- default:
61
- inc = 'patch'
62
- break
63
- }
64
- break
65
- case '--preid':
66
- identifier = argv.shift()
67
- break
68
- case '-r': case '--range':
69
- range.push(argv.shift())
70
- break
71
- case '-c': case '--coerce':
72
- coerce = true
73
- break
74
- case '-h': case '--help': case '-?':
75
- return help()
76
- default:
77
- versions.push(a)
78
- break
79
- }
80
- }
81
-
82
- var options = { loose: loose, includePrerelease: includePrerelease }
83
-
84
- versions = versions.map(function (v) {
85
- return coerce ? (semver.coerce(v) || { version: v }).version : v
86
- }).filter(function (v) {
87
- return semver.valid(v)
88
- })
89
- if (!versions.length) return fail()
90
- if (inc && (versions.length !== 1 || range.length)) { return failInc() }
91
-
92
- for (var i = 0, l = range.length; i < l; i++) {
93
- versions = versions.filter(function (v) {
94
- return semver.satisfies(v, range[i], options)
95
- })
96
- if (!versions.length) return fail()
97
- }
98
- return success(versions)
99
- }
100
-
101
- function failInc () {
102
- console.error('--inc can only be used on a single version with no range')
103
- fail()
104
- }
105
-
106
- function fail () { process.exit(1) }
107
-
108
- function success () {
109
- var compare = reverse ? 'rcompare' : 'compare'
110
- versions.sort(function (a, b) {
111
- return semver[compare](a, b, options)
112
- }).map(function (v) {
113
- return semver.clean(v, options)
114
- }).map(function (v) {
115
- return inc ? semver.inc(v, inc, options, identifier) : v
116
- }).forEach(function (v, i, _) { console.log(v) })
117
- }
118
-
119
- function help () {
120
- console.log(['SemVer ' + version,
121
- '',
122
- 'A JavaScript implementation of the https://semver.org/ specification',
123
- 'Copyright Isaac Z. Schlueter',
124
- '',
125
- 'Usage: semver [options] <version> [<version> [...]]',
126
- 'Prints valid versions sorted by SemVer precedence',
127
- '',
128
- 'Options:',
129
- '-r --range <range>',
130
- ' Print versions that match the specified range.',
131
- '',
132
- '-i --increment [<level>]',
133
- ' Increment a version by the specified level. Level can',
134
- ' be one of: major, minor, patch, premajor, preminor,',
135
- " prepatch, or prerelease. Default level is 'patch'.",
136
- ' Only one version may be specified.',
137
- '',
138
- '--preid <identifier>',
139
- ' Identifier to be used to prefix premajor, preminor,',
140
- ' prepatch or prerelease version increments.',
141
- '',
142
- '-l --loose',
143
- ' Interpret versions and ranges loosely',
144
- '',
145
- '-p --include-prerelease',
146
- ' Always include prerelease versions in range matching',
147
- '',
148
- '-c --coerce',
149
- ' Coerce a string into SemVer if possible',
150
- ' (does not imply --loose)',
151
- '',
152
- 'Program exits successfully if any valid version satisfies',
153
- 'all supplied ranges, and prints all satisfying versions.',
154
- '',
155
- 'If no satisfying versions are found, then exits failure.',
156
- '',
157
- 'Versions are printed in ascending order, so supplying',
158
- 'multiple versions to the utility will just sort them.'
159
- ].join('\n'))
160
- }