@fbrpc/fbrpc-core 0.1.4 → 0.1.5

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/dist/errors.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ApiResponse } from "./types.js";
1
2
  /**
2
3
  * fbrpc 错误类型。
3
4
  * handler 内部 throw RpcError 时,框架自动转为统一错误响应。
@@ -6,4 +7,10 @@ export declare class RpcError extends Error {
6
7
  code: string;
7
8
  constructor(message: string, code?: string);
8
9
  }
10
+ /**
11
+ * 解包 ApiResponse,失败自动 throw RpcError。
12
+ *
13
+ * const token = unwrap(await api.auth.login(req)).accessToken;
14
+ */
15
+ export declare function unwrap<T>(r: ApiResponse<T>): T;
9
16
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAGxB,IAAI,EAAE,MAAM;gBADnB,OAAO,EAAE,MAAM,EACR,IAAI,GAAE,MAAoB;CAKpC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAGxB,IAAI,EAAE,MAAM;gBADnB,OAAO,EAAE,MAAM,EACR,IAAI,GAAE,MAAoB;CAKpC;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAG9C"}
package/dist/errors.js CHANGED
@@ -10,4 +10,14 @@ export class RpcError extends Error {
10
10
  this.name = "RpcError";
11
11
  }
12
12
  }
13
+ /**
14
+ * 解包 ApiResponse,失败自动 throw RpcError。
15
+ *
16
+ * const token = unwrap(await api.auth.login(req)).accessToken;
17
+ */
18
+ export function unwrap(r) {
19
+ if (r.ok)
20
+ return r.data;
21
+ throw new RpcError(r.error.message, r.error.code);
22
+ }
13
23
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IAFT,YACE,OAAe,EACR,OAAe,WAAW;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAsB;QAGjC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IAFT,YACE,OAAe,EACR,OAAe,WAAW;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAsB;QAGjC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAI,CAAiB;IACzC,IAAI,CAAC,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACxB,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export type { ApiDef, Protocol, ApiCall, StreamCall, AnyApiHandler, AnyStreamHandler, ServiceHandlers, ServiceStreamHandlers, ApiModule, SuccResponse, ErrResponse, ApiResponse, } from "./types.js";
2
- export { RpcError } from "./errors.js";
2
+ export { RpcError, unwrap } from "./errors.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { RpcError } from "./errors.js";
1
+ export { RpcError, unwrap } from "./errors.js";
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fbrpc/fbrpc-core",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/errors.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { ApiResponse } from "./types.js";
2
+
1
3
  /**
2
4
  * fbrpc 错误类型。
3
5
  * handler 内部 throw RpcError 时,框架自动转为统一错误响应。
@@ -11,3 +13,13 @@ export class RpcError extends Error {
11
13
  this.name = "RpcError";
12
14
  }
13
15
  }
16
+
17
+ /**
18
+ * 解包 ApiResponse,失败自动 throw RpcError。
19
+ *
20
+ * const token = unwrap(await api.auth.login(req)).accessToken;
21
+ */
22
+ export function unwrap<T>(r: ApiResponse<T>): T {
23
+ if (r.ok) return r.data;
24
+ throw new RpcError(r.error.message, r.error.code);
25
+ }
package/src/index.ts CHANGED
@@ -12,4 +12,4 @@ export type {
12
12
  ErrResponse,
13
13
  ApiResponse,
14
14
  } from "./types.js";
15
- export { RpcError } from "./errors.js";
15
+ export { RpcError, unwrap } from "./errors.js";