wenay-common 1.0.241 → 1.0.243

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.
@@ -1,44 +1,46 @@
1
1
  export type Listener<T extends any[]> = (...r: T) => void;
2
- export declare function funcListenCallbackBase<T extends any[]>(b: (e: Listener<T>) => (void | (() => void)), data?: {
3
- event?: (type: "add" | "remove", count: number, api: ReturnType<typeof funcListenCallbackBase<T>>) => void;
2
+ type NormalizeTuple<T> = T extends any[] ? T : [T];
3
+ export declare function funcListenCallbackBase<T>(b: (e: Listener<NormalizeTuple<T>>) => (void | (() => void)), data?: {
4
+ event?: (type: "add" | "remove", count: number, api: ReturnType<typeof funcListenCallbackBase<any>>) => void;
4
5
  fast?: boolean;
5
6
  }): {
6
- func: Listener<T>;
7
+ func: Listener<NormalizeTuple<T>>;
7
8
  isRun: () => boolean;
8
9
  run: () => void;
9
10
  close: () => void;
10
- addListen: (cb: Listener<T>) => () => void;
11
- removeListen: (cb: Listener<T> | null) => void;
11
+ addListen: (cb: Listener<NormalizeTuple<T>>) => () => void;
12
+ removeListen: (cb: Listener<NormalizeTuple<T>> | null) => void;
12
13
  count: () => number;
13
- readonly getAllKeys: Listener<T>[];
14
+ readonly getAllKeys: Listener<NormalizeTuple<T>>[];
14
15
  };
15
- export declare function funcListenCallbackFast<T extends any[]>(a: (e: (Listener<T> | null)) => (void | (() => void))): {
16
- func: Listener<T>;
16
+ export declare function funcListenCallback<T>(a: (e: (Listener<NormalizeTuple<T>> | null)) => (void | (() => void)), event?: (type: "add" | "remove", count: number, api: ReturnType<typeof funcListenCallbackBase<T>>) => void, fast?: boolean): {
17
+ func: Listener<NormalizeTuple<T>>;
17
18
  isRun: () => boolean;
18
19
  run: () => void;
19
20
  close: () => void;
20
- addListen: (cb: Listener<T>) => () => void;
21
- removeListen: (cb: Listener<T> | null) => void;
21
+ addListen: (cb: Listener<NormalizeTuple<T>>) => () => void;
22
+ removeListen: (cb: Listener<NormalizeTuple<T>> | null) => void;
22
23
  count: () => number;
23
- readonly getAllKeys: Listener<T_1>[];
24
+ readonly getAllKeys: Listener<NormalizeTuple<T_1>>[];
24
25
  };
25
- export declare function funcListenCallback<T extends any[]>(a: (e: (Listener<T> | null)) => (void | (() => void)), event?: (type: "add" | "remove", count: number, api: ReturnType<typeof funcListenCallbackBase<T>>) => void, fast?: boolean): {
26
- func: Listener<T>;
26
+ export declare function funcListenCallbackFast<T>(a: (e: (Listener<NormalizeTuple<T>> | null)) => (void | (() => void))): {
27
+ func: Listener<NormalizeTuple<T>>;
27
28
  isRun: () => boolean;
28
29
  run: () => void;
29
30
  close: () => void;
30
- addListen: (cb: Listener<T>) => () => void;
31
- removeListen: (cb: Listener<T> | null) => void;
31
+ addListen: (cb: Listener<NormalizeTuple<T>>) => () => void;
32
+ removeListen: (cb: Listener<NormalizeTuple<T>> | null) => void;
32
33
  count: () => number;
33
- readonly getAllKeys: Listener<T_1>[];
34
+ readonly getAllKeys: Listener<NormalizeTuple<T_1>>[];
34
35
  };
35
- export declare function UseListen<T extends any[]>(data?: Parameters<typeof funcListenCallbackBase>[1]): readonly [(...a: T) => void, {
36
- func: Listener<T>;
36
+ export declare function UseListen<T>(data?: Parameters<typeof funcListenCallbackBase>[1]): readonly [(...a: NormalizeTuple<T>) => void, {
37
+ func: Listener<NormalizeTuple<T>>;
37
38
  isRun: () => boolean;
38
39
  run: () => void;
39
40
  close: () => void;
40
- addListen: (cb: Listener<T>) => () => void;
41
- removeListen: (cb: Listener<T> | null) => void;
41
+ addListen: (cb: Listener<NormalizeTuple<T>>) => () => void;
42
+ removeListen: (cb: Listener<NormalizeTuple<T>> | null) => void;
42
43
  count: () => number;
43
- readonly getAllKeys: Listener<T_1>[];
44
+ readonly getAllKeys: Listener<NormalizeTuple<T_1>>[];
44
45
  }];
46
+ export {};
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.funcListenCallbackBase = funcListenCallbackBase;
4
- exports.funcListenCallbackFast = funcListenCallbackFast;
5
4
  exports.funcListenCallback = funcListenCallback;
5
+ exports.funcListenCallbackFast = funcListenCallbackFast;
6
6
  exports.UseListen = UseListen;
7
7
  function funcListenCallbackBase(b, data) {
8
8
  const { fast = false, event } = data ?? {};
@@ -61,12 +61,12 @@ function funcListenCallbackBase(b, data) {
61
61
  };
62
62
  return api;
63
63
  }
64
- function funcListenCallbackFast(a) {
65
- return funcListenCallbackBase(a, { fast: true });
66
- }
67
64
  function funcListenCallback(a, event, fast = true) {
68
65
  return funcListenCallbackBase(a, { event, fast });
69
66
  }
67
+ function funcListenCallbackFast(a) {
68
+ return funcListenCallbackBase(a, { fast: true });
69
+ }
70
70
  function UseListen(data = { fast: true }) {
71
71
  let t;
72
72
  const a = funcListenCallbackBase((e) => { t = e; }, { fast: true, ...data });
@@ -17,6 +17,16 @@ export declare function funcListenBySocket4<Z extends any[] = any[]>(e: ListenCa
17
17
  callback: (z: (...args: Z) => void) => void;
18
18
  removeCallback: () => boolean;
19
19
  };
20
+ type SmartCallback<Z extends any[]> = Z extends [infer Single] ? (a: Single) => void : (...args: Z) => void;
21
+ export declare function funcListenBySocket5<Z extends any[] = any[]>(e: ListenCallbackResult<Z>, options?: Omit<Parameters<typeof funcListenBySocket2>[1], "paramsModify">): {
22
+ callback: (z: SmartCallback<Z>) => void;
23
+ removeCallback: () => boolean;
24
+ };
25
+ export declare function funcListenBySocketSmart<Z extends any[] = any[]>(e: ReturnType<typeof funcListenCallback<Z>>, status: () => boolean, onStop?: ReturnType<typeof funcListenCallback<any>>): {
26
+ callback: (z: SmartCallback<Z>) => void;
27
+ removeCallback: () => boolean;
28
+ };
29
+ export declare function deepModifyByListenSocket5<T>(obj: T, data?: Parameters<typeof funcListenBySocket5>[1]): DeepSocket<T>;
20
30
  export declare function funcListenBySocket<Z extends any[] = any[]>(e: ReturnType<typeof funcListenCallback<Z>>, status: () => boolean, onStop?: ReturnType<typeof funcListenCallback<any>>): {
21
31
  callback: (z: (a: Z[0]) => void) => void;
22
32
  removeCallback: () => boolean;
@@ -4,6 +4,9 @@ exports.funcListenBySocketObj = exports.funcListenBySocket1 = void 0;
4
4
  exports.funcListenBySocket2 = funcListenBySocket2;
5
5
  exports.funcListenBySocket3 = funcListenBySocket3;
6
6
  exports.funcListenBySocket4 = funcListenBySocket4;
7
+ exports.funcListenBySocket5 = funcListenBySocket5;
8
+ exports.funcListenBySocketSmart = funcListenBySocketSmart;
9
+ exports.deepModifyByListenSocket5 = deepModifyByListenSocket5;
7
10
  exports.funcListenBySocket = funcListenBySocket;
8
11
  exports.funcListenBySocketFull = funcListenBySocketFull;
9
12
  exports.CompareKeys = CompareKeys;
@@ -85,6 +88,26 @@ function funcListenBySocket4(e, options) {
85
88
  removeCallback: r.removeCallback,
86
89
  };
87
90
  }
91
+ function funcListenBySocket5(e, options) {
92
+ const r = funcListenBySocket2(e, {
93
+ ...options,
94
+ });
95
+ return {
96
+ callback: r.callback,
97
+ removeCallback: r.removeCallback,
98
+ };
99
+ }
100
+ function funcListenBySocketSmart(e, status, onStop) {
101
+ const r = funcListenBySocket5(e, {
102
+ status,
103
+ addListenClose: onStop,
104
+ stop: (x) => x?.("___STOP"),
105
+ });
106
+ return r;
107
+ }
108
+ function deepModifyByListenSocket5(obj, data) {
109
+ return DeepCompareKeys(obj, NOOP_LISTEN, (e) => funcListenBySocket5(e, data));
110
+ }
88
111
  function funcListenBySocket(e, status, onStop) {
89
112
  const r = funcListenBySocket3(e, {
90
113
  status,
@@ -29,7 +29,7 @@ export declare function funcListenCallbackSnapshot<T extends realSocket2<any | a
29
29
  addListen: (cb: import("./Listen").Listener<[data: getTypeCallback<T>, memo: T3]>) => () => void;
30
30
  removeListen: (cb: import("./Listen").Listener<[data: getTypeCallback<T>, memo: T3]> | null) => void;
31
31
  count: () => number;
32
- readonly getAllKeys: import("./Listen").Listener<T_1>[];
32
+ readonly getAllKeys: import("./Listen").Listener<T_1 extends any[] ? T_1 : [T_1]>[];
33
33
  };
34
34
  connect: () => void;
35
35
  readonly disconnect: ((a: Omit<Parameters<T>[0], "callback"> & {
@@ -4,26 +4,26 @@ export declare function SocketServerHook(opt?: {
4
4
  transformer?: transformer;
5
5
  }): {
6
6
  obj: {
7
- [k: string]: readonly [(...a: any[]) => void, {
8
- func: import("./Listen").Listener<any[]>;
7
+ [k: string]: readonly [(a_0: unknown) => void, {
8
+ func: import("./Listen").Listener<[unknown]>;
9
9
  isRun: () => boolean;
10
10
  run: () => void;
11
11
  close: () => void;
12
- addListen: (cb: import("./Listen").Listener<any[]>) => () => void;
13
- removeListen: (cb: import("./Listen").Listener<any[]> | null) => void;
12
+ addListen: (cb: import("./Listen").Listener<[unknown]>) => () => void;
13
+ removeListen: (cb: import("./Listen").Listener<[unknown]> | null) => void;
14
14
  count: () => number;
15
- readonly getAllKeys: import("./Listen").Listener<T>[];
15
+ readonly getAllKeys: import("./Listen").Listener<T extends any[] ? T : [T]>[];
16
16
  }];
17
17
  };
18
- get(tag: string): readonly [(...a: any[]) => void, {
19
- func: import("./Listen").Listener<any[]>;
18
+ get(tag: string): readonly [(a_0: unknown) => void, {
19
+ func: import("./Listen").Listener<[unknown]>;
20
20
  isRun: () => boolean;
21
21
  run: () => void;
22
22
  close: () => void;
23
- addListen: (cb: import("./Listen").Listener<any[]>) => () => void;
24
- removeListen: (cb: import("./Listen").Listener<any[]> | null) => void;
23
+ addListen: (cb: import("./Listen").Listener<[unknown]>) => () => void;
24
+ removeListen: (cb: import("./Listen").Listener<[unknown]> | null) => void;
25
25
  count: () => number;
26
- readonly getAllKeys: import("./Listen").Listener<T>[];
26
+ readonly getAllKeys: import("./Listen").Listener<T extends any[] ? T : [T]>[];
27
27
  }];
28
28
  provider: (tag: string, data: any) => void;
29
29
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wenay-common",
3
- "version": "1.0.241",
3
+ "version": "1.0.243",
4
4
  "description": "Common library",
5
5
  "strict": true,
6
6
  "main": "lib/index.js",