diff --git a/dist/index.d.ts b/dist/index.d.ts index 3ed238b..1dc4bc6 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -27,6 +27,7 @@ export declare abstract class Client { loadLibs(module: string): Promise; loadBound(module: string): Promise; protected handleError(ret: ErrTuple): void; + protected handleErrorOrReturn(ret: ErrTuple): any; protected callModuleReturn(method: string, data?: any): Promise; } export declare function load(module?: string): Promise; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index d9434bd..f727d89 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,cAAc,YAAY,EAAE,UAAU,CAAC;AACzD,KAAK,aAAa,GAAG,cAAc,YAAY,EAAE,aAAa,CAAC;AAC/D,KAAK,MAAM,GAAG,cAAc,YAAY,EAAE,MAAM,CAAC;AACjD,KAAK,GAAG,GAAG,cAAc,YAAY,EAAE,GAAG,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEvD,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzE,KAAK,kBAAkB,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EACT,aAAa,EAAE,MAAM,KAClB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD,QAAA,IAAI,UAAU,EAAE,UAAU,CAAC;AAC3B,QAAA,IAAI,aAAa,EAAE,aAAa,CAAC;AACjC,QAAA,IAAI,GAAG,EAAE,GAAG,CAAC;AACb,QAAA,IAAI,MAAM,EAAE,MAAM,CAAC;AAEnB,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED,8BAAsB,MAAM;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,UAAU,IAAI,eAAe,CAEhC;IAED,OAAO,CAAC,cAAc,CAAC,CAAqB;IAE5C,IAAI,aAAa,IAAI,kBAAkB,CAEtC;IAEY,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;cAK1B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAK3E;AAED,wBAAsB,IAAI,CACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,CA+BrC;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,OAAO,kEAEV,MAAM,eAEY,GAAG,MAiB9B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,cAAc,YAAY,EAAE,UAAU,CAAC;AACzD,KAAK,aAAa,GAAG,cAAc,YAAY,EAAE,aAAa,CAAC;AAC/D,KAAK,MAAM,GAAG,cAAc,YAAY,EAAE,MAAM,CAAC;AACjD,KAAK,GAAG,GAAG,cAAc,YAAY,EAAE,GAAG,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEvD,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzE,KAAK,kBAAkB,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EACT,aAAa,EAAE,MAAM,KAClB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD,QAAA,IAAI,UAAU,EAAE,UAAU,CAAC;AAC3B,QAAA,IAAI,aAAa,EAAE,aAAa,CAAC;AACjC,QAAA,IAAI,GAAG,EAAE,GAAG,CAAC;AACb,QAAA,IAAI,MAAM,EAAE,MAAM,CAAC;AAEnB,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED,8BAAsB,MAAM;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,UAAU,IAAI,eAAe,CAEhC;IAED,OAAO,CAAC,cAAc,CAAC,CAAqB;IAE5C,IAAI,aAAa,IAAI,kBAAkB,CAEtC;IAEY,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAK1C,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG;cAIjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAK3E;AAED,wBAAsB,IAAI,CACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,CA+BrC;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,OAAO,kEAEV,MAAM,eAEY,GAAG,MAiB9B,CAAC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 8de4611..d58c6f7 100644 --- a/dist/index.js +++ b/dist/index.js @@ -18,8 +18,7 @@ export class Client { const moduleBag = await this.loadBound(module); this._callModule = async (...args) => { const ret = await moduleBag.callModule(...args); - this.handleError(ret); - return ret; + return this.handleErrorOrReturn(ret); }; this._connectModule = moduleBag.connectModule; } @@ -31,6 +30,10 @@ export class Client { throw new Error(ret[1]); } } + handleErrorOrReturn(ret) { + this.handleError(ret); + return ret[0]; + } async callModuleReturn(method, data) { const ret = await this.callModule(method, data); return ret[0];