dreaction-client-core 1.1.7 → 1.1.9
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/lib/index.d.ts +4 -7
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -3
- package/package.json +2 -2
- package/src/index.ts +19 -14
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import WebSocket from 'ws';
|
|
2
|
-
import type { Command, CommandMap, CommandTypeKey, CustomCommandArg } from 'dreaction-protocol';
|
|
2
|
+
import type { Command, CommandMap, CommandTypeKey, CustomCommandArg, CustomCommandRegisterPayload } from 'dreaction-protocol';
|
|
3
3
|
import { ClientOptions } from './client-options';
|
|
4
4
|
export type { ClientOptions };
|
|
5
5
|
export { assertHasLoggerPlugin } from './plugins/logger';
|
|
@@ -35,12 +35,9 @@ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
|
|
|
35
35
|
export type CustomCommandArgs<Args extends CustomCommandArg[]> = UnionToIntersection<Args extends Array<infer U> ? U extends CustomCommandArg ? {
|
|
36
36
|
[K in U as U['name']]: ArgTypeMap[U['type']];
|
|
37
37
|
} : never : never>;
|
|
38
|
-
export interface CustomCommand<Args extends CustomCommandArg[] = CustomCommandArg[]> {
|
|
38
|
+
export interface CustomCommand<Args extends CustomCommandArg[] = CustomCommandArg[]> extends Omit<CustomCommandRegisterPayload, 'id' | 'args'> {
|
|
39
39
|
id?: number;
|
|
40
|
-
|
|
41
|
-
handler: (args: CustomCommandArgs<Args>) => void;
|
|
42
|
-
title?: string;
|
|
43
|
-
description?: string;
|
|
40
|
+
handler: (args: CustomCommandArgs<Args>) => any | Promise<any>;
|
|
44
41
|
args?: Args;
|
|
45
42
|
}
|
|
46
43
|
type ExtractFeatures<T> = T extends {
|
|
@@ -179,7 +176,7 @@ export declare class DReactionImpl implements Omit<DReactionCore, 'options' | 'p
|
|
|
179
176
|
* Adds a plugin to the system
|
|
180
177
|
*/
|
|
181
178
|
use(pluginCreator: PluginCreator<this>): this & PluginFeatures<this, typeof pluginCreator>;
|
|
182
|
-
registerCustomCommand(config: CustomCommand
|
|
179
|
+
registerCustomCommand(config: CustomCommand, optHandler?: () => void): () => void;
|
|
183
180
|
}
|
|
184
181
|
export declare function createClient<Client extends DReactionCore = DReactionCore>(options?: ClientOptions<Client>): Client;
|
|
185
182
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -189,9 +189,16 @@ class DReactionImpl {
|
|
|
189
189
|
}
|
|
190
190
|
return cc.command === command.payload.command;
|
|
191
191
|
})
|
|
192
|
-
.forEach((cc) =>
|
|
193
|
-
? command.payload.args
|
|
194
|
-
|
|
192
|
+
.forEach(async (cc) => {
|
|
193
|
+
const res = await cc.handler(typeof command.payload === 'object' ? command.payload.args : {});
|
|
194
|
+
if (res) {
|
|
195
|
+
// has return value
|
|
196
|
+
this.send('customCommand.response', {
|
|
197
|
+
command: cc.command,
|
|
198
|
+
payload: res,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
});
|
|
195
202
|
}
|
|
196
203
|
else if (command.type === 'setClientId') {
|
|
197
204
|
this.options.setClientId && this.options.setClientId(command.payload);
|
|
@@ -375,6 +382,7 @@ class DReactionImpl {
|
|
|
375
382
|
title,
|
|
376
383
|
description,
|
|
377
384
|
args,
|
|
385
|
+
responseViewType: config.responseViewType,
|
|
378
386
|
};
|
|
379
387
|
// Increment our id counter
|
|
380
388
|
this.customCommandLatestId += 1;
|
|
@@ -386,6 +394,7 @@ class DReactionImpl {
|
|
|
386
394
|
title: customHandler.title,
|
|
387
395
|
description: customHandler.description,
|
|
388
396
|
args: customHandler.args,
|
|
397
|
+
responseViewType: customHandler.responseViewType,
|
|
389
398
|
});
|
|
390
399
|
return () => {
|
|
391
400
|
this.customCommands = this.customCommands.filter((cc) => cc.id !== customHandler.id);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dreaction-client-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@types/ws": "^8.5.13",
|
|
18
18
|
"eventemitter-strict": "^1.0.1",
|
|
19
19
|
"ws": "^8.18.0",
|
|
20
|
-
"dreaction-protocol": "1.0.
|
|
20
|
+
"dreaction-protocol": "1.0.5"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"typescript": "^5.4.5"
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type {
|
|
|
4
4
|
CommandMap,
|
|
5
5
|
CommandTypeKey,
|
|
6
6
|
CustomCommandArg,
|
|
7
|
+
CustomCommandRegisterPayload,
|
|
7
8
|
} from 'dreaction-protocol';
|
|
8
9
|
import validate from './validate';
|
|
9
10
|
import logger from './plugins/logger';
|
|
@@ -72,13 +73,9 @@ export type CustomCommandArgs<Args extends CustomCommandArg[]> =
|
|
|
72
73
|
|
|
73
74
|
export interface CustomCommand<
|
|
74
75
|
Args extends CustomCommandArg[] = CustomCommandArg[]
|
|
75
|
-
> {
|
|
76
|
+
> extends Omit<CustomCommandRegisterPayload, 'id' | 'args'> {
|
|
76
77
|
id?: number;
|
|
77
|
-
|
|
78
|
-
handler: (args: CustomCommandArgs<Args>) => void;
|
|
79
|
-
|
|
80
|
-
title?: string;
|
|
81
|
-
description?: string;
|
|
78
|
+
handler: (args: CustomCommandArgs<Args>) => any | Promise<any>;
|
|
82
79
|
args?: Args;
|
|
83
80
|
}
|
|
84
81
|
|
|
@@ -383,13 +380,19 @@ export class DReactionImpl
|
|
|
383
380
|
|
|
384
381
|
return cc.command === command.payload.command;
|
|
385
382
|
})
|
|
386
|
-
.forEach((cc) =>
|
|
387
|
-
cc.handler(
|
|
388
|
-
typeof command.payload === 'object'
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
)
|
|
392
|
-
|
|
383
|
+
.forEach(async (cc) => {
|
|
384
|
+
const res = await cc.handler(
|
|
385
|
+
typeof command.payload === 'object' ? command.payload.args : {}
|
|
386
|
+
);
|
|
387
|
+
|
|
388
|
+
if (res) {
|
|
389
|
+
// has return value
|
|
390
|
+
this.send('customCommand.response', {
|
|
391
|
+
command: cc.command,
|
|
392
|
+
payload: res,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
});
|
|
393
396
|
} else if (command.type === 'setClientId') {
|
|
394
397
|
this.options.setClientId && this.options.setClientId(command.payload);
|
|
395
398
|
}
|
|
@@ -544,7 +547,7 @@ export class DReactionImpl
|
|
|
544
547
|
}
|
|
545
548
|
|
|
546
549
|
registerCustomCommand(
|
|
547
|
-
config: CustomCommand
|
|
550
|
+
config: CustomCommand,
|
|
548
551
|
optHandler?: () => void
|
|
549
552
|
): () => void {
|
|
550
553
|
let command: string;
|
|
@@ -621,6 +624,7 @@ export class DReactionImpl
|
|
|
621
624
|
title,
|
|
622
625
|
description,
|
|
623
626
|
args,
|
|
627
|
+
responseViewType: config.responseViewType,
|
|
624
628
|
};
|
|
625
629
|
|
|
626
630
|
// Increment our id counter
|
|
@@ -635,6 +639,7 @@ export class DReactionImpl
|
|
|
635
639
|
title: customHandler.title,
|
|
636
640
|
description: customHandler.description,
|
|
637
641
|
args: customHandler.args,
|
|
642
|
+
responseViewType: customHandler.responseViewType,
|
|
638
643
|
});
|
|
639
644
|
|
|
640
645
|
return () => {
|