diff --git a/attw.json b/attw.json
index a3518f95e212bf..2cbbaab7d85e9d 100644
--- a/attw.json
+++ b/attw.json
@@ -189,7 +189,6 @@
"next-nprogress",
"ngreact",
"node-fetch-cache",
- "node-osc",
"notie",
"npm",
"object.groupby",
diff --git a/types/materialize-css/package.json b/types/materialize-css/package.json
index 343223453af611..5fd9b8fda7cc1e 100644
--- a/types/materialize-css/package.json
+++ b/types/materialize-css/package.json
@@ -25,10 +25,6 @@
"name": "David Moniz",
"githubUsername": "MonizDave"
},
- {
- "name": "Daniel Hoenes",
- "githubUsername": "broccoliarchy"
- },
{
"name": "Rick Lucassen",
"githubUsername": "SnowyLeopard"
diff --git a/types/node-osc/index.d.cts b/types/node-osc/index.d.cts
new file mode 100644
index 00000000000000..4e56a57d53240b
--- /dev/null
+++ b/types/node-osc/index.d.cts
@@ -0,0 +1,116 @@
+///
+
+import type { EventEmitter } from "events";
+
+/** Represents the content of a message */
+export interface Argument {
+ type: string;
+
+ value: boolean | number | string;
+}
+
+export type ArgumentType = boolean | number | string | Argument;
+
+export interface RequestInfo {
+ address: string;
+ family: string;
+ port: number;
+ size: number;
+}
+
+/**
+ * A message that can be sent over OSC
+ */
+export class Message {
+ constructor(address: string, ...args: ArgumentType[]);
+
+ append(arg: ArgumentType | ArgumentType[]): void;
+}
+
+/** Something that is or can be converted to a Message */
+export type MessageLike =
+ | [string, ...ArgumentType[]]
+ | {
+ address: string;
+
+ args: ArgumentType[];
+ };
+
+/**
+ * An OSC Bundle message
+ *
+ * @warning Bundle support is Experimental and subject to change at any point.
+ *
+ * @see https://github.com/MylesBorins/node-osc#sending-osc-bundles
+ */
+export class Bundle {
+ constructor(...elements: MessageLike[]);
+ constructor(timetag: number, ...elements: MessageLike[]);
+
+ append(element: MessageLike | Bundle): void;
+
+ timetag: number;
+
+ elements: Message[];
+}
+
+export type ClientSendArgs = Array;
+
+export type ClientSendCallback = (err: Error | null) => void;
+
+export type ClientCloseCallback = () => void;
+
+/**
+ * A client to send messages to an OSC server
+ */
+export class Client {
+ constructor(host: string, port: number);
+
+ /** Close the underlying socket */
+ close(cb?: ClientCloseCallback): void;
+
+ /** Send a message to the server */
+ send(addressOrMessage: string | Message | MessageLike): void;
+ send(address: string, ...args: ClientSendArgs): void;
+ send(address: string, ...args: [...ClientSendArgs, ClientSendCallback]): void;
+ send(...args: ClientSendArgs): void;
+ send(...args: [...ClientSendArgs, ClientSendCallback]): void;
+
+ /** Send a Bundle message to the server */
+ send(bundle: Bundle, callback?: ClientSendCallback): void;
+}
+
+export type ServerCallback = () => void;
+
+export type ServerBundleListener = (bundle: Bundle) => void;
+
+export type ServerErrorListner = (error: Error) => void;
+
+export type ServerMessageListener = (message: [string, ...ArgumentType[]], rinfo: RequestInfo) => void;
+
+/**
+ * A server to handle OSC messages
+ */
+export class Server extends EventEmitter {
+ constructor(port: number, host: string, cb?: ServerCallback);
+
+ close(cb?: ServerCallback): void;
+
+ /** Listen for the listening event emitted as soon as the server is ready to receive messages */
+ on(event: "listening", listener: () => void): this;
+
+ /**
+ * Listen for all the bundles received by the server.
+ *
+ * @warning Bundle support is Experimental and subject to change at any point.
+ *
+ * @see https://github.com/MylesBorins/node-osc#listening-for-osc-bundles
+ */
+ on(event: "bundle", listener: ServerBundleListener): this;
+
+ /** Listen for errors occurred during message decoding */
+ on(event: "error", listener: ServerErrorListner): this;
+
+ /** Listen for all the messages received by the server or for a specific address */
+ on(event: "message" | string, listener: ServerMessageListener): this;
+}
diff --git a/types/node-osc/package.json b/types/node-osc/package.json
index 62bb6536ea199a..52fc08d1fb710d 100644
--- a/types/node-osc/package.json
+++ b/types/node-osc/package.json
@@ -1,7 +1,14 @@
{
"private": true,
"name": "@types/node-osc",
- "version": "9.1.9999",
+ "version": "10.0.9999",
+ "type": "module",
+ "exports": {
+ ".": {
+ "import": "./index.d.ts",
+ "require": "./index.d.cts"
+ }
+ },
"projects": [
"https://github.com/MylesBorins/node-osc#readme"
],
diff --git a/types/node-osc/tsconfig.json b/types/node-osc/tsconfig.json
index ff72d650aaf9d5..029af0560a4884 100644
--- a/types/node-osc/tsconfig.json
+++ b/types/node-osc/tsconfig.json
@@ -14,6 +14,7 @@
},
"files": [
"index.d.ts",
+ "index.d.cts",
"node-osc-tests.ts"
]
}
diff --git a/types/yazl/package.json b/types/yazl/package.json
index 7033d7185133f0..95080e4f77f839 100644
--- a/types/yazl/package.json
+++ b/types/yazl/package.json
@@ -19,10 +19,6 @@
{
"name": "Sean Marvi Oliver Genabe",
"githubUsername": "seangenabe"
- },
- {
- "name": "Lucas Nørgård",
- "githubUsername": "luxass"
}
]
}