@zimi/remote 0.2.1-alpha.12 → 0.2.1-alpha.13
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.
|
@@ -34,7 +34,7 @@ interface ExposeProps {
|
|
|
34
34
|
*
|
|
35
35
|
* @returns 返回值将会被发送给远程调用方,可以是立即数,也可以是 Promise(Promise 会 await 后再返回)
|
|
36
36
|
*/
|
|
37
|
-
handler?: (
|
|
37
|
+
handler?: (e: AdaptorData) => unknown;
|
|
38
38
|
}
|
|
39
39
|
export declare function isRemoteValueEvent(eventName: string): boolean;
|
|
40
40
|
export declare function exposeToRemote<T extends object>(obj: T, options: ExposeProps): () => void;
|
|
@@ -2,7 +2,7 @@ import { RemoteError, response } from '../response';
|
|
|
2
2
|
function defaultOnRequest(e) {
|
|
3
3
|
return e.data;
|
|
4
4
|
}
|
|
5
|
-
const geneDefaultHandler = (obj) => (data) => {
|
|
5
|
+
const geneDefaultHandler = (obj) => ({ data }) => {
|
|
6
6
|
let target = obj;
|
|
7
7
|
for (let i = 0; i < data.paths.length; i += 1) {
|
|
8
8
|
target = target[data.paths[i]];
|
|
@@ -25,7 +25,10 @@ export function exposeToRemote(obj, options) {
|
|
|
25
25
|
throw new RemoteError('permission denied');
|
|
26
26
|
}
|
|
27
27
|
const handler = inputHandler !== null && inputHandler !== void 0 ? inputHandler : geneDefaultHandler(obj);
|
|
28
|
-
const res = await handler(
|
|
28
|
+
const res = await handler({
|
|
29
|
+
...e,
|
|
30
|
+
data,
|
|
31
|
+
});
|
|
29
32
|
adaptor.emit({
|
|
30
33
|
name: (_a = e.callbackName) !== null && _a !== void 0 ? _a : 'IMPOSSIBLE_NO_CALLBACK_NAME',
|
|
31
34
|
deviceId: e.targetDeviceId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exposeToRemote.js","sourceRoot":"","sources":["../../src/remoteValue/exposeToRemote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAyCnD,SAAS,gBAAgB,CAAC,CAAc;IACtC,OAAO,CAAC,CAAC,IAAI,CAAA;AACf,CAAC;AAED,MAAM,kBAAkB,GACtB,CAAC,GAAG,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"exposeToRemote.js","sourceRoot":"","sources":["../../src/remoteValue/exposeToRemote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAyCnD,SAAS,gBAAgB,CAAC,CAAc;IACtC,OAAO,CAAC,CAAC,IAAI,CAAA;AACf,CAAC;AAED,MAAM,kBAAkB,GACtB,CAAC,GAAG,EAAE,EAAE,CACR,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACX,IAAI,MAAM,GAAG,GAAG,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAkB,CAAA;IACxE,CAAC;IACD,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAEH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,SAAS,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAmB,GAAM,EAAE,OAAoB;IAC3E,MAAM,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,OAAO,EAAE,YAAY,EACrB,SAAS,GAAG,gBAAgB,GAC7B,GAAG,OAAO,CAAA;IACX,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAqB,EAAE,EAAE;;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAgB,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAC5C,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACvD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;gBACxB,GAAG,CAAC;gBACJ,IAAI;aACL,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAA,CAAC,CAAC,YAAY,mCAAI,6BAA6B;gBACrD,QAAQ,EAAE,CAAC,CAAC,cAAc;gBAC1B,cAAc,EAAE,CAAC,CAAC,QAAQ;gBAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5B,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAA,CAAC,CAAC,YAAY,mCAAI,6BAA6B;gBACrD,QAAQ,EAAE,CAAC,CAAC,cAAc;gBAC1B,cAAc,EAAE,CAAC,CAAC,QAAQ;gBAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,uBAAuB,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzD,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -37,15 +37,16 @@ interface ExposeProps {
|
|
|
37
37
|
*
|
|
38
38
|
* @returns 返回值将会被发送给远程调用方,可以是立即数,也可以是 Promise(Promise 会 await 后再返回)
|
|
39
39
|
*/
|
|
40
|
-
handler?: (
|
|
40
|
+
handler?: (e: AdaptorData) => unknown
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
function defaultOnRequest(e: AdaptorData) {
|
|
44
44
|
return e.data
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const geneDefaultHandler: <T>(obj: T) => (data:
|
|
48
|
-
(obj) =>
|
|
47
|
+
const geneDefaultHandler: <T>(obj: T) => (data: AdaptorData) => unknown =
|
|
48
|
+
(obj) =>
|
|
49
|
+
({ data }) => {
|
|
49
50
|
let target = obj
|
|
50
51
|
for (let i = 0; i < data.paths.length; i += 1) {
|
|
51
52
|
target = target[data.paths[i] as keyof typeof target] as typeof target
|
|
@@ -75,7 +76,10 @@ export function exposeToRemote<T extends object>(obj: T, options: ExposeProps) {
|
|
|
75
76
|
throw new RemoteError('permission denied')
|
|
76
77
|
}
|
|
77
78
|
const handler = inputHandler ?? geneDefaultHandler(obj)
|
|
78
|
-
const res = await handler(
|
|
79
|
+
const res = await handler({
|
|
80
|
+
...e,
|
|
81
|
+
data,
|
|
82
|
+
})
|
|
79
83
|
adaptor.emit({
|
|
80
84
|
name: e.callbackName ?? 'IMPOSSIBLE_NO_CALLBACK_NAME',
|
|
81
85
|
deviceId: e.targetDeviceId,
|