@djodjonx/x32-simulator 0.0.1
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/.commitlintrc.json +3 -0
- package/.github/workflows/publish.yml +38 -0
- package/.husky/commit-msg +1 -0
- package/.husky/pre-commit +1 -0
- package/.oxlintrc.json +56 -0
- package/CHANGELOG.md +11 -0
- package/INSTALL.md +107 -0
- package/LICENSE +21 -0
- package/README.md +141 -0
- package/dist/UdpNetworkGateway-BrroQ6-Q.mjs +1189 -0
- package/dist/UdpNetworkGateway-Ccdd7Us5.cjs +1265 -0
- package/dist/index.cjs +7 -0
- package/dist/index.d.cts +207 -0
- package/dist/index.d.mts +207 -0
- package/dist/index.mjs +3 -0
- package/dist/server.cjs +1060 -0
- package/dist/server.d.cts +10 -0
- package/dist/server.d.mts +10 -0
- package/dist/server.mjs +1055 -0
- package/docs/OSC-Communication.md +184 -0
- package/docs/X32-INTERNAL.md +262 -0
- package/docs/X32-OSC.pdf +0 -0
- package/docs/behringer-x32-x32-osc-remote-protocol-en-44463.pdf +0 -0
- package/package.json +68 -0
- package/src/application/use-cases/BroadcastUpdatesUseCase.ts +120 -0
- package/src/application/use-cases/ManageSessionsUseCase.ts +9 -0
- package/src/application/use-cases/ProcessPacketUseCase.ts +26 -0
- package/src/application/use-cases/SimulationService.ts +122 -0
- package/src/domain/entities/SubscriptionManager.ts +126 -0
- package/src/domain/entities/X32State.ts +78 -0
- package/src/domain/models/MeterConfig.ts +22 -0
- package/src/domain/models/MeterData.ts +59 -0
- package/src/domain/models/OscMessage.ts +93 -0
- package/src/domain/models/X32Address.ts +78 -0
- package/src/domain/models/X32Node.ts +43 -0
- package/src/domain/models/types.ts +96 -0
- package/src/domain/ports/ILogger.ts +27 -0
- package/src/domain/ports/INetworkGateway.ts +8 -0
- package/src/domain/ports/IStateRepository.ts +16 -0
- package/src/domain/services/MeterService.ts +46 -0
- package/src/domain/services/OscMessageHandler.ts +88 -0
- package/src/domain/services/SchemaFactory.ts +308 -0
- package/src/domain/services/SchemaRegistry.ts +67 -0
- package/src/domain/services/StaticResponseService.ts +52 -0
- package/src/domain/services/strategies/BatchStrategy.ts +74 -0
- package/src/domain/services/strategies/MeterStrategy.ts +45 -0
- package/src/domain/services/strategies/NodeDiscoveryStrategy.ts +36 -0
- package/src/domain/services/strategies/OscCommandStrategy.ts +22 -0
- package/src/domain/services/strategies/StateAccessStrategy.ts +71 -0
- package/src/domain/services/strategies/StaticResponseStrategy.ts +42 -0
- package/src/domain/services/strategies/SubscriptionStrategy.ts +56 -0
- package/src/infrastructure/mappers/OscCodec.ts +54 -0
- package/src/infrastructure/repositories/InMemoryStateRepository.ts +21 -0
- package/src/infrastructure/services/ConsoleLogger.ts +177 -0
- package/src/infrastructure/services/UdpNetworkGateway.ts +71 -0
- package/src/presentation/cli/server.ts +194 -0
- package/src/presentation/library/library.ts +9 -0
- package/tests/application/use-cases/BroadcastUpdatesUseCase.test.ts +104 -0
- package/tests/application/use-cases/ManageSessionsUseCase.test.ts +12 -0
- package/tests/application/use-cases/ProcessPacketUseCase.test.ts +49 -0
- package/tests/application/use-cases/SimulationService.test.ts +77 -0
- package/tests/domain/entities/SubscriptionManager.test.ts +50 -0
- package/tests/domain/entities/X32State.test.ts +52 -0
- package/tests/domain/models/MeterData.test.ts +23 -0
- package/tests/domain/models/OscMessage.test.ts +38 -0
- package/tests/domain/models/X32Address.test.ts +30 -0
- package/tests/domain/models/X32Node.test.ts +30 -0
- package/tests/domain/services/MeterService.test.ts +27 -0
- package/tests/domain/services/OscMessageHandler.test.ts +51 -0
- package/tests/domain/services/SchemaRegistry.test.ts +47 -0
- package/tests/domain/services/StaticResponseService.test.ts +15 -0
- package/tests/domain/services/strategies/BatchStrategy.test.ts +41 -0
- package/tests/domain/services/strategies/MeterStrategy.test.ts +19 -0
- package/tests/domain/services/strategies/NodeDiscoveryStrategy.test.ts +22 -0
- package/tests/domain/services/strategies/StateAccessStrategy.test.ts +49 -0
- package/tests/domain/services/strategies/StaticResponseStrategy.test.ts +15 -0
- package/tests/domain/services/strategies/SubscriptionStrategy.test.ts +45 -0
- package/tests/infrastructure/mappers/OscCodec.test.ts +41 -0
- package/tests/infrastructure/repositories/InMemoryStateRepository.test.ts +29 -0
- package/tests/infrastructure/services/ConsoleLogger.test.ts +74 -0
- package/tests/infrastructure/services/UdpNetworkGateway.test.ts +61 -0
- package/tests/presentation/cli/server.test.ts +178 -0
- package/tests/presentation/library/library.test.ts +13 -0
- package/tsconfig.json +21 -0
- package/tsdown.config.ts +15 -0
- package/vitest.config.ts +9 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_UdpNetworkGateway = require('./UdpNetworkGateway-Ccdd7Us5.cjs');
|
|
2
|
+
|
|
3
|
+
exports.ConsoleLogger = require_UdpNetworkGateway.ConsoleLogger;
|
|
4
|
+
exports.InMemoryStateRepository = require_UdpNetworkGateway.InMemoryStateRepository;
|
|
5
|
+
exports.LogCategory = require_UdpNetworkGateway.LogCategory;
|
|
6
|
+
exports.SimulationService = require_UdpNetworkGateway.SimulationService;
|
|
7
|
+
exports.UdpNetworkGateway = require_UdpNetworkGateway.UdpNetworkGateway;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
|
|
3
|
+
//#region src/domain/models/types.d.ts
|
|
4
|
+
type OscArgumentValue = Buffer | boolean | number | string;
|
|
5
|
+
type OscArgument = OscArgumentValue | {
|
|
6
|
+
type: string;
|
|
7
|
+
value: OscArgumentValue;
|
|
8
|
+
};
|
|
9
|
+
interface OscPacket {
|
|
10
|
+
oscType: 'bundle' | 'message';
|
|
11
|
+
address: string;
|
|
12
|
+
args: OscArgument[];
|
|
13
|
+
elements?: OscPacket[];
|
|
14
|
+
}
|
|
15
|
+
interface RemoteClient {
|
|
16
|
+
address: string;
|
|
17
|
+
port: number;
|
|
18
|
+
}
|
|
19
|
+
interface OscMsg {
|
|
20
|
+
address: string;
|
|
21
|
+
args: OscArgumentValue[];
|
|
22
|
+
}
|
|
23
|
+
interface X32Node {
|
|
24
|
+
type: 'f' | 'i' | 's';
|
|
25
|
+
default: number | string;
|
|
26
|
+
}
|
|
27
|
+
interface Subscriber {
|
|
28
|
+
address: string;
|
|
29
|
+
port: number;
|
|
30
|
+
expires: number;
|
|
31
|
+
type: 'batch' | 'format' | 'meter' | 'path';
|
|
32
|
+
path?: string;
|
|
33
|
+
meterPath?: string;
|
|
34
|
+
alias?: string;
|
|
35
|
+
pattern?: string;
|
|
36
|
+
paths?: string[];
|
|
37
|
+
start?: number;
|
|
38
|
+
count?: number;
|
|
39
|
+
factor?: number;
|
|
40
|
+
args?: number[];
|
|
41
|
+
}
|
|
42
|
+
interface OscReply {
|
|
43
|
+
address: string;
|
|
44
|
+
args: OscArgument[];
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/domain/ports/INetworkGateway.d.ts
|
|
48
|
+
interface INetworkGateway {
|
|
49
|
+
start(port: number, ip: string): Promise<void>;
|
|
50
|
+
stop(): Promise<void>;
|
|
51
|
+
send(target: RemoteClient, address: string, args: any[]): void;
|
|
52
|
+
onPacket(callback: (packet: OscPacket, source: RemoteClient) => void): void;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/domain/ports/ILogger.d.ts
|
|
56
|
+
type LogData = Buffer | Error | LogData[] | boolean | number | string | {
|
|
57
|
+
[key: string]: LogData;
|
|
58
|
+
} | null | undefined;
|
|
59
|
+
declare enum LogCategory {
|
|
60
|
+
SYSTEM = "SYSTEM",
|
|
61
|
+
OSC_IN = "OSC_IN",
|
|
62
|
+
OSC_OUT = "OSC_OUT",
|
|
63
|
+
DISPATCH = "DISPATCH",
|
|
64
|
+
STATE = "STATE",
|
|
65
|
+
SUB = "SUB",
|
|
66
|
+
METER = "METER",
|
|
67
|
+
}
|
|
68
|
+
interface ILogger {
|
|
69
|
+
debug(category: string, msg: string, data?: LogData): void;
|
|
70
|
+
info(category: string, msg: string, data?: LogData): void;
|
|
71
|
+
warn(category: string, msg: string, data?: LogData): void;
|
|
72
|
+
error(category: string, msg: string, err?: LogData): void;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/domain/models/X32Node.d.ts
|
|
76
|
+
declare class X32Node$1 {
|
|
77
|
+
readonly type: 'f' | 'i' | 's';
|
|
78
|
+
readonly default: number | string;
|
|
79
|
+
constructor(type: 'f' | 'i' | 's', defaultValue: number | string);
|
|
80
|
+
validate(value: any): boolean;
|
|
81
|
+
static from(obj: {
|
|
82
|
+
type: 'f' | 'i' | 's';
|
|
83
|
+
default: number | string;
|
|
84
|
+
}): X32Node$1;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/domain/entities/X32State.d.ts
|
|
88
|
+
declare class X32State extends EventEmitter {
|
|
89
|
+
private state;
|
|
90
|
+
private readonly defaultState;
|
|
91
|
+
constructor(schema: Record<string, X32Node$1>);
|
|
92
|
+
reset(): void;
|
|
93
|
+
get(address: string): number | string | undefined;
|
|
94
|
+
set(address: string, value: number | string): void;
|
|
95
|
+
handleMuteGroupChange(groupIdx: number, isOn: number): void;
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/domain/ports/IStateRepository.d.ts
|
|
99
|
+
interface IStateRepository {
|
|
100
|
+
getState(): X32State;
|
|
101
|
+
reset(): void;
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/domain/services/SchemaFactory.d.ts
|
|
105
|
+
declare class SchemaFactory {
|
|
106
|
+
createSchema(): Record<string, X32Node$1>;
|
|
107
|
+
private node;
|
|
108
|
+
private generateChannelStrip;
|
|
109
|
+
private generateNodes;
|
|
110
|
+
private generateRange;
|
|
111
|
+
private generateOutputs;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/domain/services/SchemaRegistry.d.ts
|
|
115
|
+
declare class SchemaRegistry {
|
|
116
|
+
private schemaFactory;
|
|
117
|
+
private readonly _schema;
|
|
118
|
+
constructor(schemaFactory: SchemaFactory);
|
|
119
|
+
getSchema(): Record<string, X32Node$1>;
|
|
120
|
+
getNode(path: string): X32Node$1 | undefined;
|
|
121
|
+
has(path: string): boolean;
|
|
122
|
+
getAllPaths(): string[];
|
|
123
|
+
getRootFromIndex(index: number): string | null;
|
|
124
|
+
}
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/application/use-cases/SimulationService.d.ts
|
|
127
|
+
declare class SimulationService {
|
|
128
|
+
private gateway;
|
|
129
|
+
private logger;
|
|
130
|
+
private stateRepo;
|
|
131
|
+
private schemaRegistry;
|
|
132
|
+
private port;
|
|
133
|
+
private ip;
|
|
134
|
+
private subscriptionManager;
|
|
135
|
+
private messageHandler;
|
|
136
|
+
private processPacket;
|
|
137
|
+
private broadcastUpdates;
|
|
138
|
+
private manageSessions;
|
|
139
|
+
private meterService;
|
|
140
|
+
private staticResponseService;
|
|
141
|
+
private updateInterval;
|
|
142
|
+
private cleanupInterval;
|
|
143
|
+
constructor(gateway: INetworkGateway, logger: ILogger, stateRepo: IStateRepository, schemaRegistry: SchemaRegistry, port?: number, ip?: string, name?: string, model?: string);
|
|
144
|
+
start(): Promise<void>;
|
|
145
|
+
stop(): Promise<void>;
|
|
146
|
+
resetState(): void;
|
|
147
|
+
}
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/infrastructure/repositories/InMemoryStateRepository.d.ts
|
|
150
|
+
declare class InMemoryStateRepository implements IStateRepository {
|
|
151
|
+
private logger;
|
|
152
|
+
private state;
|
|
153
|
+
constructor(logger: ILogger, schemaRegistry: SchemaRegistry);
|
|
154
|
+
getState(): X32State;
|
|
155
|
+
reset(): void;
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/infrastructure/services/ConsoleLogger.d.ts
|
|
159
|
+
declare enum LogLevel {
|
|
160
|
+
DEBUG = 0,
|
|
161
|
+
INFO = 1,
|
|
162
|
+
WARN = 2,
|
|
163
|
+
ERROR = 3,
|
|
164
|
+
NONE = 4,
|
|
165
|
+
}
|
|
166
|
+
declare class ConsoleLogger implements ILogger {
|
|
167
|
+
private static instance;
|
|
168
|
+
private level;
|
|
169
|
+
private hiddenPatterns;
|
|
170
|
+
private enabledCategories;
|
|
171
|
+
constructor();
|
|
172
|
+
static getInstance(): ConsoleLogger;
|
|
173
|
+
setLevel(level: LogLevel): void;
|
|
174
|
+
enableCategory(cat: string): void;
|
|
175
|
+
disableCategory(cat: string): void;
|
|
176
|
+
debug(category: string, msg: string, data?: LogData): void;
|
|
177
|
+
info(category: string, msg: string, data?: LogData): void;
|
|
178
|
+
warn(category: string, msg: string, data?: LogData): void;
|
|
179
|
+
error(category: string, msg: string, err?: LogData): void;
|
|
180
|
+
private shouldHide;
|
|
181
|
+
private format;
|
|
182
|
+
}
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/infrastructure/mappers/OscCodec.d.ts
|
|
185
|
+
declare class OscCodec {
|
|
186
|
+
private schemaRegistry;
|
|
187
|
+
constructor(schemaRegistry: SchemaRegistry);
|
|
188
|
+
decode(msg: Buffer): OscPacket;
|
|
189
|
+
encode(address: string, args: OscArgument[]): Buffer;
|
|
190
|
+
private createMessage;
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
//#region src/infrastructure/services/UdpNetworkGateway.d.ts
|
|
194
|
+
declare class UdpNetworkGateway implements INetworkGateway {
|
|
195
|
+
private logger;
|
|
196
|
+
private codec;
|
|
197
|
+
private socket;
|
|
198
|
+
private isRunning;
|
|
199
|
+
private packetCallback;
|
|
200
|
+
constructor(logger: ILogger, codec: OscCodec);
|
|
201
|
+
onPacket(callback: (packet: OscPacket, source: RemoteClient) => void): void;
|
|
202
|
+
start(port: number, ip: string): Promise<void>;
|
|
203
|
+
stop(): Promise<void>;
|
|
204
|
+
send(target: RemoteClient, address: string, args: any[]): void;
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
207
|
+
export { ConsoleLogger, type ILogger, type INetworkGateway, type IStateRepository, InMemoryStateRepository, LogCategory, type LogData, OscArgument, OscArgumentValue, OscMsg, OscPacket, OscReply, RemoteClient, SimulationService, Subscriber, UdpNetworkGateway, X32Node };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
|
|
3
|
+
//#region src/domain/models/types.d.ts
|
|
4
|
+
type OscArgumentValue = Buffer | boolean | number | string;
|
|
5
|
+
type OscArgument = OscArgumentValue | {
|
|
6
|
+
type: string;
|
|
7
|
+
value: OscArgumentValue;
|
|
8
|
+
};
|
|
9
|
+
interface OscPacket {
|
|
10
|
+
oscType: 'bundle' | 'message';
|
|
11
|
+
address: string;
|
|
12
|
+
args: OscArgument[];
|
|
13
|
+
elements?: OscPacket[];
|
|
14
|
+
}
|
|
15
|
+
interface RemoteClient {
|
|
16
|
+
address: string;
|
|
17
|
+
port: number;
|
|
18
|
+
}
|
|
19
|
+
interface OscMsg {
|
|
20
|
+
address: string;
|
|
21
|
+
args: OscArgumentValue[];
|
|
22
|
+
}
|
|
23
|
+
interface X32Node {
|
|
24
|
+
type: 'f' | 'i' | 's';
|
|
25
|
+
default: number | string;
|
|
26
|
+
}
|
|
27
|
+
interface Subscriber {
|
|
28
|
+
address: string;
|
|
29
|
+
port: number;
|
|
30
|
+
expires: number;
|
|
31
|
+
type: 'batch' | 'format' | 'meter' | 'path';
|
|
32
|
+
path?: string;
|
|
33
|
+
meterPath?: string;
|
|
34
|
+
alias?: string;
|
|
35
|
+
pattern?: string;
|
|
36
|
+
paths?: string[];
|
|
37
|
+
start?: number;
|
|
38
|
+
count?: number;
|
|
39
|
+
factor?: number;
|
|
40
|
+
args?: number[];
|
|
41
|
+
}
|
|
42
|
+
interface OscReply {
|
|
43
|
+
address: string;
|
|
44
|
+
args: OscArgument[];
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/domain/ports/INetworkGateway.d.ts
|
|
48
|
+
interface INetworkGateway {
|
|
49
|
+
start(port: number, ip: string): Promise<void>;
|
|
50
|
+
stop(): Promise<void>;
|
|
51
|
+
send(target: RemoteClient, address: string, args: any[]): void;
|
|
52
|
+
onPacket(callback: (packet: OscPacket, source: RemoteClient) => void): void;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/domain/ports/ILogger.d.ts
|
|
56
|
+
type LogData = Buffer | Error | LogData[] | boolean | number | string | {
|
|
57
|
+
[key: string]: LogData;
|
|
58
|
+
} | null | undefined;
|
|
59
|
+
declare enum LogCategory {
|
|
60
|
+
SYSTEM = "SYSTEM",
|
|
61
|
+
OSC_IN = "OSC_IN",
|
|
62
|
+
OSC_OUT = "OSC_OUT",
|
|
63
|
+
DISPATCH = "DISPATCH",
|
|
64
|
+
STATE = "STATE",
|
|
65
|
+
SUB = "SUB",
|
|
66
|
+
METER = "METER",
|
|
67
|
+
}
|
|
68
|
+
interface ILogger {
|
|
69
|
+
debug(category: string, msg: string, data?: LogData): void;
|
|
70
|
+
info(category: string, msg: string, data?: LogData): void;
|
|
71
|
+
warn(category: string, msg: string, data?: LogData): void;
|
|
72
|
+
error(category: string, msg: string, err?: LogData): void;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/domain/models/X32Node.d.ts
|
|
76
|
+
declare class X32Node$1 {
|
|
77
|
+
readonly type: 'f' | 'i' | 's';
|
|
78
|
+
readonly default: number | string;
|
|
79
|
+
constructor(type: 'f' | 'i' | 's', defaultValue: number | string);
|
|
80
|
+
validate(value: any): boolean;
|
|
81
|
+
static from(obj: {
|
|
82
|
+
type: 'f' | 'i' | 's';
|
|
83
|
+
default: number | string;
|
|
84
|
+
}): X32Node$1;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/domain/entities/X32State.d.ts
|
|
88
|
+
declare class X32State extends EventEmitter {
|
|
89
|
+
private state;
|
|
90
|
+
private readonly defaultState;
|
|
91
|
+
constructor(schema: Record<string, X32Node$1>);
|
|
92
|
+
reset(): void;
|
|
93
|
+
get(address: string): number | string | undefined;
|
|
94
|
+
set(address: string, value: number | string): void;
|
|
95
|
+
handleMuteGroupChange(groupIdx: number, isOn: number): void;
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/domain/ports/IStateRepository.d.ts
|
|
99
|
+
interface IStateRepository {
|
|
100
|
+
getState(): X32State;
|
|
101
|
+
reset(): void;
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/domain/services/SchemaFactory.d.ts
|
|
105
|
+
declare class SchemaFactory {
|
|
106
|
+
createSchema(): Record<string, X32Node$1>;
|
|
107
|
+
private node;
|
|
108
|
+
private generateChannelStrip;
|
|
109
|
+
private generateNodes;
|
|
110
|
+
private generateRange;
|
|
111
|
+
private generateOutputs;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/domain/services/SchemaRegistry.d.ts
|
|
115
|
+
declare class SchemaRegistry {
|
|
116
|
+
private schemaFactory;
|
|
117
|
+
private readonly _schema;
|
|
118
|
+
constructor(schemaFactory: SchemaFactory);
|
|
119
|
+
getSchema(): Record<string, X32Node$1>;
|
|
120
|
+
getNode(path: string): X32Node$1 | undefined;
|
|
121
|
+
has(path: string): boolean;
|
|
122
|
+
getAllPaths(): string[];
|
|
123
|
+
getRootFromIndex(index: number): string | null;
|
|
124
|
+
}
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/application/use-cases/SimulationService.d.ts
|
|
127
|
+
declare class SimulationService {
|
|
128
|
+
private gateway;
|
|
129
|
+
private logger;
|
|
130
|
+
private stateRepo;
|
|
131
|
+
private schemaRegistry;
|
|
132
|
+
private port;
|
|
133
|
+
private ip;
|
|
134
|
+
private subscriptionManager;
|
|
135
|
+
private messageHandler;
|
|
136
|
+
private processPacket;
|
|
137
|
+
private broadcastUpdates;
|
|
138
|
+
private manageSessions;
|
|
139
|
+
private meterService;
|
|
140
|
+
private staticResponseService;
|
|
141
|
+
private updateInterval;
|
|
142
|
+
private cleanupInterval;
|
|
143
|
+
constructor(gateway: INetworkGateway, logger: ILogger, stateRepo: IStateRepository, schemaRegistry: SchemaRegistry, port?: number, ip?: string, name?: string, model?: string);
|
|
144
|
+
start(): Promise<void>;
|
|
145
|
+
stop(): Promise<void>;
|
|
146
|
+
resetState(): void;
|
|
147
|
+
}
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/infrastructure/repositories/InMemoryStateRepository.d.ts
|
|
150
|
+
declare class InMemoryStateRepository implements IStateRepository {
|
|
151
|
+
private logger;
|
|
152
|
+
private state;
|
|
153
|
+
constructor(logger: ILogger, schemaRegistry: SchemaRegistry);
|
|
154
|
+
getState(): X32State;
|
|
155
|
+
reset(): void;
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/infrastructure/services/ConsoleLogger.d.ts
|
|
159
|
+
declare enum LogLevel {
|
|
160
|
+
DEBUG = 0,
|
|
161
|
+
INFO = 1,
|
|
162
|
+
WARN = 2,
|
|
163
|
+
ERROR = 3,
|
|
164
|
+
NONE = 4,
|
|
165
|
+
}
|
|
166
|
+
declare class ConsoleLogger implements ILogger {
|
|
167
|
+
private static instance;
|
|
168
|
+
private level;
|
|
169
|
+
private hiddenPatterns;
|
|
170
|
+
private enabledCategories;
|
|
171
|
+
constructor();
|
|
172
|
+
static getInstance(): ConsoleLogger;
|
|
173
|
+
setLevel(level: LogLevel): void;
|
|
174
|
+
enableCategory(cat: string): void;
|
|
175
|
+
disableCategory(cat: string): void;
|
|
176
|
+
debug(category: string, msg: string, data?: LogData): void;
|
|
177
|
+
info(category: string, msg: string, data?: LogData): void;
|
|
178
|
+
warn(category: string, msg: string, data?: LogData): void;
|
|
179
|
+
error(category: string, msg: string, err?: LogData): void;
|
|
180
|
+
private shouldHide;
|
|
181
|
+
private format;
|
|
182
|
+
}
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/infrastructure/mappers/OscCodec.d.ts
|
|
185
|
+
declare class OscCodec {
|
|
186
|
+
private schemaRegistry;
|
|
187
|
+
constructor(schemaRegistry: SchemaRegistry);
|
|
188
|
+
decode(msg: Buffer): OscPacket;
|
|
189
|
+
encode(address: string, args: OscArgument[]): Buffer;
|
|
190
|
+
private createMessage;
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
//#region src/infrastructure/services/UdpNetworkGateway.d.ts
|
|
194
|
+
declare class UdpNetworkGateway implements INetworkGateway {
|
|
195
|
+
private logger;
|
|
196
|
+
private codec;
|
|
197
|
+
private socket;
|
|
198
|
+
private isRunning;
|
|
199
|
+
private packetCallback;
|
|
200
|
+
constructor(logger: ILogger, codec: OscCodec);
|
|
201
|
+
onPacket(callback: (packet: OscPacket, source: RemoteClient) => void): void;
|
|
202
|
+
start(port: number, ip: string): Promise<void>;
|
|
203
|
+
stop(): Promise<void>;
|
|
204
|
+
send(target: RemoteClient, address: string, args: any[]): void;
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
207
|
+
export { ConsoleLogger, type ILogger, type INetworkGateway, type IStateRepository, InMemoryStateRepository, LogCategory, type LogData, OscArgument, OscArgumentValue, OscMsg, OscPacket, OscReply, RemoteClient, SimulationService, Subscriber, UdpNetworkGateway, X32Node };
|
package/dist/index.mjs
ADDED