node-osc 11.1.1 → 11.2.0
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/.gitattributes +11 -0
- package/.github/workflows/bump-version.yml +2 -0
- package/.github/workflows/nodejs.yml +3 -0
- package/LICENSE +201 -165
- package/README.md +135 -42
- package/dist/lib/Bundle.js +66 -0
- package/dist/lib/Client.js +137 -22
- package/dist/lib/Message.js +87 -1
- package/dist/lib/Server.js +117 -6
- package/dist/lib/index.js +3 -0
- package/dist/lib/internal/decode.js +4 -4
- package/dist/lib/{internal/osc.js → osc.js} +70 -5
- package/dist/test/lib/osc.js +395 -0
- package/dist/test/test-client.js +152 -0
- package/dist/test/test-e2e.js +9 -3
- package/dist/test/test-encode-decode.js +849 -0
- package/dist/test/test-error-handling.js +116 -0
- package/dist/test/test-osc-internal.js +399 -41
- package/dist/test/test-promises.js +250 -0
- package/dist/test/test-types.js +42 -0
- package/dist/test/util.js +15 -8
- package/docs/API.md +477 -0
- package/docs/GUIDE.md +605 -0
- package/examples/README.md +119 -0
- package/examples/async-await.mjs +57 -0
- package/examples/bundle-example.mjs +92 -0
- package/examples/client.js +22 -5
- package/examples/error-handling.mjs +152 -0
- package/examples/esm.mjs +21 -0
- package/examples/server.js +16 -0
- package/jsdoc.json +16 -0
- package/lib/Bundle.mjs +66 -0
- package/lib/Client.mjs +137 -22
- package/lib/Message.mjs +87 -1
- package/lib/Server.mjs +117 -6
- package/lib/index.mjs +1 -0
- package/lib/internal/decode.mjs +4 -4
- package/lib/{internal/osc.mjs → osc.mjs} +71 -4
- package/package.json +12 -10
- package/rollup.config.mjs +48 -41
- package/scripts/generate-docs.mjs +229 -0
- package/test/fixtures/types/test-cjs-types.ts +19 -0
- package/test/fixtures/types/test-esm-types.ts +35 -0
- package/test/fixtures/types/tsconfig-cjs.test.json +17 -0
- package/test/fixtures/types/tsconfig-esm.test.json +17 -0
- package/test/test-bundle.mjs +0 -1
- package/test/test-client.mjs +152 -0
- package/test/test-e2e.mjs +9 -3
- package/test/test-encode-decode.mjs +847 -0
- package/test/test-error-handling.mjs +115 -0
- package/test/test-osc-internal.mjs +400 -42
- package/test/test-promises.mjs +249 -0
- package/test/test-types.mjs +39 -0
- package/test/util.mjs +15 -8
- package/tsconfig.json +45 -0
- package/types/Bundle.d.mts +70 -0
- package/types/Bundle.d.mts.map +1 -0
- package/types/Client.d.mts +101 -0
- package/types/Client.d.mts.map +1 -0
- package/types/Message.d.mts +84 -0
- package/types/Message.d.mts.map +1 -0
- package/types/Server.d.mts +98 -0
- package/types/Server.d.mts.map +1 -0
- package/types/index.d.mts +6 -0
- package/types/index.d.mts.map +1 -0
- package/types/internal/decode.d.mts +4 -0
- package/types/internal/decode.d.mts.map +1 -0
- package/types/osc.d.mts +66 -0
- package/types/osc.d.mts.map +1 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tap = require('tap');
|
|
4
|
+
var util = require('./util.js');
|
|
5
|
+
var nodeOsc = require('node-osc');
|
|
6
|
+
|
|
7
|
+
tap.beforeEach(util.bootstrap);
|
|
8
|
+
|
|
9
|
+
tap.test('server: socket error event is emitted', (t) => {
|
|
10
|
+
t.plan(1);
|
|
11
|
+
const oscServer = new nodeOsc.Server(t.context.port, '127.0.0.1');
|
|
12
|
+
|
|
13
|
+
oscServer.on('error', (err) => {
|
|
14
|
+
t.ok(err, 'error event should be emitted');
|
|
15
|
+
oscServer.close();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
// Simulate a socket error
|
|
19
|
+
oscServer._sock.emit('error', new Error('test socket error'));
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
tap.test('server: error listener can be added before listening', (t) => {
|
|
23
|
+
t.plan(2);
|
|
24
|
+
const oscServer = new nodeOsc.Server(t.context.port, '127.0.0.1');
|
|
25
|
+
|
|
26
|
+
oscServer.on('error', (err) => {
|
|
27
|
+
t.ok(err, 'error event should be emitted');
|
|
28
|
+
t.equal(err.message, 'socket test error', 'error message should match');
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
t.teardown(() => {
|
|
32
|
+
oscServer.close();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Simulate a socket error
|
|
36
|
+
oscServer._sock.emit('error', new Error('socket test error'));
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
tap.test('client: socket error event is emitted', (t) => {
|
|
40
|
+
t.plan(1);
|
|
41
|
+
const client = new nodeOsc.Client('127.0.0.1', t.context.port);
|
|
42
|
+
|
|
43
|
+
client.on('error', (err) => {
|
|
44
|
+
t.ok(err, 'error event should be emitted');
|
|
45
|
+
client.close();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Simulate a socket error
|
|
49
|
+
client._sock.emit('error', new Error('test client error'));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
tap.test('client: error listener can be added at construction', (t) => {
|
|
53
|
+
t.plan(2);
|
|
54
|
+
const client = new nodeOsc.Client('127.0.0.1', t.context.port);
|
|
55
|
+
|
|
56
|
+
client.on('error', (err) => {
|
|
57
|
+
t.ok(err, 'error event should be emitted');
|
|
58
|
+
t.equal(err.message, 'client socket error', 'error message should match');
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
t.teardown(() => {
|
|
62
|
+
client.close();
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Simulate a socket error
|
|
66
|
+
client._sock.emit('error', new Error('client socket error'));
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
tap.test('client: is an EventEmitter instance', (t) => {
|
|
70
|
+
t.plan(1);
|
|
71
|
+
const client = new nodeOsc.Client('127.0.0.1', t.context.port);
|
|
72
|
+
|
|
73
|
+
t.ok(typeof client.on === 'function', 'client should have EventEmitter methods');
|
|
74
|
+
|
|
75
|
+
client.close();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
tap.test('server: multiple error listeners can be attached', (t) => {
|
|
79
|
+
t.plan(2);
|
|
80
|
+
const oscServer = new nodeOsc.Server(t.context.port, '127.0.0.1');
|
|
81
|
+
|
|
82
|
+
oscServer.on('error', (err) => {
|
|
83
|
+
t.ok(err, 'first listener should receive error');
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
oscServer.on('error', (err) => {
|
|
87
|
+
t.ok(err, 'second listener should receive error');
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
t.teardown(() => {
|
|
91
|
+
oscServer.close();
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// Simulate a socket error
|
|
95
|
+
oscServer._sock.emit('error', new Error('multi listener test'));
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
tap.test('client: multiple error listeners can be attached', (t) => {
|
|
99
|
+
t.plan(2);
|
|
100
|
+
const client = new nodeOsc.Client('127.0.0.1', t.context.port);
|
|
101
|
+
|
|
102
|
+
client.on('error', (err) => {
|
|
103
|
+
t.ok(err, 'first listener should receive error');
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
client.on('error', (err) => {
|
|
107
|
+
t.ok(err, 'second listener should receive error');
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
t.teardown(() => {
|
|
111
|
+
client.close();
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Simulate a socket error
|
|
115
|
+
client._sock.emit('error', new Error('multi listener test'));
|
|
116
|
+
});
|