dreaction-client-core 1.1.4 → 1.1.7
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/client-options.d.ts +5 -0
- package/lib/client-options.d.ts.map +1 -1
- package/lib/index.d.ts +4 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -6
- package/package.json +2 -2
- package/src/client-options.ts +6 -0
- package/src/index.ts +16 -13
package/lib/client-options.d.ts
CHANGED
|
@@ -63,6 +63,11 @@ export interface ClientOptions<Client> extends Omit<LifeCycleMethods, 'onCommand
|
|
|
63
63
|
* A way for the client libraries to identify themselves.
|
|
64
64
|
*/
|
|
65
65
|
client?: Record<string, string | number | boolean>;
|
|
66
|
+
/**
|
|
67
|
+
* A way for the connect libraries to identify themselves.
|
|
68
|
+
* different with client because its should be a user side
|
|
69
|
+
*/
|
|
70
|
+
info?: Record<string, string | number | boolean>;
|
|
66
71
|
/**
|
|
67
72
|
* Save the client id provided by the server
|
|
68
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-options.d.ts","sourceRoot":"","sources":["../src/client-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,aAAa,MAAM,IAAI,CAAC;AAE/B,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,CACnC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC3C;;;;;OAKG;IACH,YAAY,CAAC,EACT,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAC,GACpC,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC,GACjC,IAAI,CAAC;IAET;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAElC;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAEnD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"client-options.d.ts","sourceRoot":"","sources":["../src/client-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,aAAa,MAAM,IAAI,CAAC;AAE/B,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,CACnC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC3C;;;;;OAKG;IACH,YAAY,CAAC,EACT,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAC,GACpC,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC,GACjC,IAAI,CAAC;IAET;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAElC;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAEnD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import WebSocket from 'ws';
|
|
2
|
-
import type { Command, CommandMap, CommandTypeKey } from 'dreaction-protocol';
|
|
2
|
+
import type { Command, CommandMap, CommandTypeKey, CustomCommandArg } from 'dreaction-protocol';
|
|
3
3
|
import { ClientOptions } from './client-options';
|
|
4
4
|
export type { ClientOptions };
|
|
5
5
|
export { assertHasLoggerPlugin } from './plugins/logger';
|
|
6
6
|
export type { LoggerPlugin } from './plugins/logger';
|
|
7
7
|
export { assertHasStateResponsePlugin, hasStateResponsePlugin, } from './plugins/state-responses';
|
|
8
8
|
export type { StateResponsePlugin } from './plugins/state-responses';
|
|
9
|
-
export declare enum ArgType {
|
|
10
|
-
String = "string"
|
|
11
|
-
}
|
|
12
|
-
export interface CustomCommandArg {
|
|
13
|
-
name: string;
|
|
14
|
-
type: ArgType;
|
|
15
|
-
}
|
|
16
9
|
export interface LifeCycleMethods {
|
|
17
10
|
onCommand?: (command: Command) => void;
|
|
18
11
|
onConnect?: () => void;
|
|
@@ -36,7 +29,7 @@ interface DisplayConfig {
|
|
|
36
29
|
important?: boolean;
|
|
37
30
|
}
|
|
38
31
|
interface ArgTypeMap {
|
|
39
|
-
|
|
32
|
+
string: string;
|
|
40
33
|
}
|
|
41
34
|
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
42
35
|
export type CustomCommandArgs<Args extends CustomCommandArg[]> = UnionToIntersection<Args extends Array<infer U> ? U extends CustomCommandArg ? {
|
|
@@ -45,7 +38,7 @@ export type CustomCommandArgs<Args extends CustomCommandArg[]> = UnionToIntersec
|
|
|
45
38
|
export interface CustomCommand<Args extends CustomCommandArg[] = CustomCommandArg[]> {
|
|
46
39
|
id?: number;
|
|
47
40
|
command: string;
|
|
48
|
-
handler: (args
|
|
41
|
+
handler: (args: CustomCommandArgs<Args>) => void;
|
|
49
42
|
title?: string;
|
|
50
43
|
description?: string;
|
|
51
44
|
args?: Args;
|
|
@@ -169,7 +162,7 @@ export declare class DReactionImpl implements Omit<DReactionCore, 'options' | 'p
|
|
|
169
162
|
/**
|
|
170
163
|
* Connect to the DReaction server.
|
|
171
164
|
*/
|
|
172
|
-
connect(): this;
|
|
165
|
+
connect(): this | undefined;
|
|
173
166
|
/**
|
|
174
167
|
* Sends a command to the server
|
|
175
168
|
*/
|
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,
|
|
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,EACjB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAC3C,MAAM,WAAW,MAAM,CAAC,MAAM,CAAE,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvE,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC7E,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,gBAAgB,EAAE,IAC3D,mBAAmB,CACjB,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACvB,CAAC,SAAS,gBAAgB,GACxB;KAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,GAChD,KAAK,GACP,KAAK,CACV,CAAC;AAEJ,MAAM,WAAW,aAAa,CAC5B,IAAI,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IAEpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAEjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AACtE,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,IAAI,eAAe,CAC5E,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,MAAM,EACN,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,IACrC,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEjE,KAAK,uBAAuB,CAC1B,MAAM,EACN,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,IAC7B,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,SAAS,MAAM,UAAU,EAClC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAC1B,SAAS,CAAC,EAAE,OAAO,KAChB,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,qBAAqB,EAAE,CACrB,IAAI,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAE3E,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,KACxB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC;IAC5E;;OAEG;IACH,SAAS,EAAE,CACT,OAAO,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,KAC1B,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,GAC7D,IAAI,GAAG,wBAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GACrE,IAAI,CAAC;IAET,GAAG,EAAE,CAAC,CAAC,SAAS,aAAa,CAAC,IAAI,CAAC,EACjC,aAAa,EAAE,CAAC,KACb,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,CACvB,MAAM,GAAG,aAAa,EACtB,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IACtD,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAErE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQkB,CAAC;AAE3C,MAAM,MAAM,wBAAwB,CAClC,MAAM,EACN,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,IAChC,EAAE,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GACvD,UAAU,CAAC,CAAC,CAAC,EAAE,GACf,KAAK,CAAC;AASV,MAAM,WAAW,SAAU,SAAQ,aAAa;CAAG;AAsBnD,qBAAa,aACX,YACE,IAAI,CACF,aAAa,EACb,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAClE;IAGH,OAAO,EAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAEvC;;OAEG;IACH,SAAS,UAAS;IAElB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAiB;IAElC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAM;IAE7B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAM;IAEzB;;OAEG;IACH,OAAO,UAAS;IAEhB;;OAEG;IACH,eAAe,OAAc;IAE7B;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAM;IAErC;;OAEG;IACH,qBAAqB,SAAK;IAE1B;;OAEG;IACH,UAAU,qBAAiB;IAE3B;;OAEG;IACH,SAAS,CACP,OAAO,GAAE,aAAa,CAAC,IAAI,CAAM,GAChC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,IAAI,CAAC,EAAE,GAC3D,IAAI,GAAG,wBAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GACrE,IAAI;IAiCR,KAAK;IAOL;;OAEG;IACH,OAAO;IAiIP;;OAEG;IACH,IAAI,GAAI,IAAI,SAAS,cAAc,QAC3B,IAAI,YACA,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cACzB,OAAO,UAmCnB;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,aAAa;IAW7B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAInC;;OAEG;IACH,GAAG,CACD,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,GACjC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC;IA0DpD,qBAAqB,CACnB,MAAM,EAAE,aAAa,GAAG,MAAM,EAC9B,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,MAAM,IAAI;CAsGd;AAGD,wBAAgB,YAAY,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,EACvE,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAGyB,MAAM,CAC/D"}
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DReactionImpl = exports.corePlugins = exports.
|
|
6
|
+
exports.DReactionImpl = exports.corePlugins = exports.hasStateResponsePlugin = exports.assertHasStateResponsePlugin = exports.assertHasLoggerPlugin = void 0;
|
|
7
7
|
exports.createClient = createClient;
|
|
8
8
|
const validate_1 = __importDefault(require("./validate"));
|
|
9
9
|
const logger_1 = __importDefault(require("./plugins/logger"));
|
|
@@ -20,10 +20,6 @@ Object.defineProperty(exports, "assertHasLoggerPlugin", { enumerable: true, get:
|
|
|
20
20
|
var state_responses_2 = require("./plugins/state-responses");
|
|
21
21
|
Object.defineProperty(exports, "assertHasStateResponsePlugin", { enumerable: true, get: function () { return state_responses_2.assertHasStateResponsePlugin; } });
|
|
22
22
|
Object.defineProperty(exports, "hasStateResponsePlugin", { enumerable: true, get: function () { return state_responses_2.hasStateResponsePlugin; } });
|
|
23
|
-
var ArgType;
|
|
24
|
-
(function (ArgType) {
|
|
25
|
-
ArgType["String"] = "string";
|
|
26
|
-
})(ArgType || (exports.ArgType = ArgType = {}));
|
|
27
23
|
exports.corePlugins = [
|
|
28
24
|
(0, image_1.default)(),
|
|
29
25
|
(0, logger_1.default)(),
|
|
@@ -125,8 +121,12 @@ class DReactionImpl {
|
|
|
125
121
|
*/
|
|
126
122
|
connect() {
|
|
127
123
|
this.connected = true;
|
|
128
|
-
const { createSocket, secure, host, environment, port, name, client = {}, getClientId, } = this.options;
|
|
124
|
+
const { createSocket, secure, host, environment, port, name, client = {}, info = {}, getClientId, } = this.options;
|
|
129
125
|
const { onCommand, onConnect, onDisconnect } = this.options;
|
|
126
|
+
if (!host) {
|
|
127
|
+
console.log('host is not config, skip connect.');
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
130
|
// establish a connection to the server
|
|
131
131
|
const protocol = secure ? 'wss' : 'ws';
|
|
132
132
|
const socket = createSocket(`${protocol}://${host}:${port}`);
|
|
@@ -143,6 +143,7 @@ class DReactionImpl {
|
|
|
143
143
|
this.send('client.intro', {
|
|
144
144
|
environment,
|
|
145
145
|
...client,
|
|
146
|
+
...info,
|
|
146
147
|
name,
|
|
147
148
|
clientId,
|
|
148
149
|
dreactionCoreClientVersion: 'DREACTION_CORE_CLIENT_VERSION',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dreaction-client-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.7",
|
|
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.3"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"typescript": "^5.4.5"
|
package/src/client-options.ts
CHANGED
|
@@ -81,6 +81,12 @@ export interface ClientOptions<Client>
|
|
|
81
81
|
*/
|
|
82
82
|
client?: Record<string, string | number | boolean>;
|
|
83
83
|
|
|
84
|
+
/**
|
|
85
|
+
* A way for the connect libraries to identify themselves.
|
|
86
|
+
* different with client because its should be a user side
|
|
87
|
+
*/
|
|
88
|
+
info?: Record<string, string | number | boolean>;
|
|
89
|
+
|
|
84
90
|
/**
|
|
85
91
|
* Save the client id provided by the server
|
|
86
92
|
*/
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import WebSocket from 'ws';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
Command,
|
|
4
|
+
CommandMap,
|
|
5
|
+
CommandTypeKey,
|
|
6
|
+
CustomCommandArg,
|
|
7
|
+
} from 'dreaction-protocol';
|
|
3
8
|
import validate from './validate';
|
|
4
9
|
import logger from './plugins/logger';
|
|
5
10
|
import image from './plugins/image';
|
|
@@ -21,15 +26,6 @@ export {
|
|
|
21
26
|
} from './plugins/state-responses';
|
|
22
27
|
export type { StateResponsePlugin } from './plugins/state-responses';
|
|
23
28
|
|
|
24
|
-
export enum ArgType {
|
|
25
|
-
String = 'string',
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface CustomCommandArg {
|
|
29
|
-
name: string;
|
|
30
|
-
type: ArgType;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
29
|
// #region Plugin Types
|
|
34
30
|
export interface LifeCycleMethods {
|
|
35
31
|
onCommand?: (command: Command) => void;
|
|
@@ -56,7 +52,7 @@ interface DisplayConfig {
|
|
|
56
52
|
}
|
|
57
53
|
|
|
58
54
|
interface ArgTypeMap {
|
|
59
|
-
|
|
55
|
+
string: string;
|
|
60
56
|
}
|
|
61
57
|
|
|
62
58
|
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
|
|
@@ -79,7 +75,7 @@ export interface CustomCommand<
|
|
|
79
75
|
> {
|
|
80
76
|
id?: number;
|
|
81
77
|
command: string;
|
|
82
|
-
handler: (args
|
|
78
|
+
handler: (args: CustomCommandArgs<Args>) => void;
|
|
83
79
|
|
|
84
80
|
title?: string;
|
|
85
81
|
description?: string;
|
|
@@ -301,10 +297,16 @@ export class DReactionImpl
|
|
|
301
297
|
port,
|
|
302
298
|
name,
|
|
303
299
|
client = {},
|
|
300
|
+
info = {},
|
|
304
301
|
getClientId,
|
|
305
302
|
} = this.options;
|
|
306
303
|
const { onCommand, onConnect, onDisconnect } = this.options;
|
|
307
304
|
|
|
305
|
+
if (!host) {
|
|
306
|
+
console.log('host is not config, skip connect.');
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
|
|
308
310
|
// establish a connection to the server
|
|
309
311
|
const protocol = secure ? 'wss' : 'ws';
|
|
310
312
|
const socket = createSocket!(`${protocol}://${host}:${port}`);
|
|
@@ -325,6 +327,7 @@ export class DReactionImpl
|
|
|
325
327
|
this.send('client.intro', {
|
|
326
328
|
environment,
|
|
327
329
|
...client,
|
|
330
|
+
...info,
|
|
328
331
|
name,
|
|
329
332
|
clientId,
|
|
330
333
|
dreactionCoreClientVersion: 'DREACTION_CORE_CLIENT_VERSION',
|
|
@@ -545,7 +548,7 @@ export class DReactionImpl
|
|
|
545
548
|
optHandler?: () => void
|
|
546
549
|
): () => void {
|
|
547
550
|
let command: string;
|
|
548
|
-
let handler: () => void;
|
|
551
|
+
let handler: (args: Record<string, any>) => void;
|
|
549
552
|
let title!: string;
|
|
550
553
|
let description!: string;
|
|
551
554
|
let args!: CustomCommandArg[];
|