Skip to content

Commit d8eab7d

Browse files
authored
🤖 Merge PR DefinitelyTyped#74851 feat(node-osc): upgrade types for v10 by @panz3r
1 parent dfd81d1 commit d8eab7d

File tree

4 files changed

+125
-2
lines changed

4 files changed

+125
-2
lines changed

attw.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@
189189
"next-nprogress",
190190
"ngreact",
191191
"node-fetch-cache",
192-
"node-osc",
193192
"notie",
194193
"npm",
195194
"object.groupby",

types/node-osc/index.d.cts

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
/// <reference types="node" />
2+
3+
import type { EventEmitter } from "events";
4+
5+
/** Represents the content of a message */
6+
export interface Argument {
7+
type: string;
8+
9+
value: boolean | number | string;
10+
}
11+
12+
export type ArgumentType = boolean | number | string | Argument;
13+
14+
export interface RequestInfo {
15+
address: string;
16+
family: string;
17+
port: number;
18+
size: number;
19+
}
20+
21+
/**
22+
* A message that can be sent over OSC
23+
*/
24+
export class Message {
25+
constructor(address: string, ...args: ArgumentType[]);
26+
27+
append(arg: ArgumentType | ArgumentType[]): void;
28+
}
29+
30+
/** Something that is or can be converted to a Message */
31+
export type MessageLike =
32+
| [string, ...ArgumentType[]]
33+
| {
34+
address: string;
35+
36+
args: ArgumentType[];
37+
};
38+
39+
/**
40+
* An OSC Bundle message
41+
*
42+
* @warning Bundle support is Experimental and subject to change at any point.
43+
*
44+
* @see https://github.com/MylesBorins/node-osc#sending-osc-bundles
45+
*/
46+
export class Bundle {
47+
constructor(...elements: MessageLike[]);
48+
constructor(timetag: number, ...elements: MessageLike[]);
49+
50+
append(element: MessageLike | Bundle): void;
51+
52+
timetag: number;
53+
54+
elements: Message[];
55+
}
56+
57+
export type ClientSendArgs = Array<ArgumentType | Message | MessageLike>;
58+
59+
export type ClientSendCallback = (err: Error | null) => void;
60+
61+
export type ClientCloseCallback = () => void;
62+
63+
/**
64+
* A client to send messages to an OSC server
65+
*/
66+
export class Client {
67+
constructor(host: string, port: number);
68+
69+
/** Close the underlying socket */
70+
close(cb?: ClientCloseCallback): void;
71+
72+
/** Send a message to the server */
73+
send(addressOrMessage: string | Message | MessageLike): void;
74+
send(address: string, ...args: ClientSendArgs): void;
75+
send(address: string, ...args: [...ClientSendArgs, ClientSendCallback]): void;
76+
send(...args: ClientSendArgs): void;
77+
send(...args: [...ClientSendArgs, ClientSendCallback]): void;
78+
79+
/** Send a Bundle message to the server */
80+
send(bundle: Bundle, callback?: ClientSendCallback): void;
81+
}
82+
83+
export type ServerCallback = () => void;
84+
85+
export type ServerBundleListener = (bundle: Bundle) => void;
86+
87+
export type ServerErrorListner = (error: Error) => void;
88+
89+
export type ServerMessageListener = (message: [string, ...ArgumentType[]], rinfo: RequestInfo) => void;
90+
91+
/**
92+
* A server to handle OSC messages
93+
*/
94+
export class Server extends EventEmitter {
95+
constructor(port: number, host: string, cb?: ServerCallback);
96+
97+
close(cb?: ServerCallback): void;
98+
99+
/** Listen for the listening event emitted as soon as the server is ready to receive messages */
100+
on(event: "listening", listener: () => void): this;
101+
102+
/**
103+
* Listen for all the bundles received by the server.
104+
*
105+
* @warning Bundle support is Experimental and subject to change at any point.
106+
*
107+
* @see https://github.com/MylesBorins/node-osc#listening-for-osc-bundles
108+
*/
109+
on(event: "bundle", listener: ServerBundleListener): this;
110+
111+
/** Listen for errors occurred during message decoding */
112+
on(event: "error", listener: ServerErrorListner): this;
113+
114+
/** Listen for all the messages received by the server or for a specific address */
115+
on(event: "message" | string, listener: ServerMessageListener): this;
116+
}

types/node-osc/package.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{
22
"private": true,
33
"name": "@types/node-osc",
4-
"version": "9.1.9999",
4+
"version": "10.0.9999",
5+
"type": "module",
6+
"exports": {
7+
".": {
8+
"import": "./index.d.ts",
9+
"require": "./index.d.cts"
10+
}
11+
},
512
"projects": [
613
"https://github.com/MylesBorins/node-osc#readme"
714
],

types/node-osc/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
},
1515
"files": [
1616
"index.d.ts",
17+
"index.d.cts",
1718
"node-osc-tests.ts"
1819
]
1920
}

0 commit comments

Comments
 (0)