runtry 0.2.2 → 0.2.3
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/README.md +4 -4
- package/dist/error/matchers.d.ts +1 -1
- package/dist/error/matchers.d.ts.map +1 -1
- package/dist/error/matchers.js +6 -2
- package/dist/error/matchers.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ declare function run<T, E extends AppError = AppError>(
|
|
|
68
68
|
import {
|
|
69
69
|
createNormalizer,
|
|
70
70
|
abortMatcher,
|
|
71
|
-
|
|
71
|
+
matchInstance,
|
|
72
72
|
defaultFallback,
|
|
73
73
|
} from "runtry";
|
|
74
74
|
import type { AppError } from "runtry";
|
|
@@ -76,7 +76,7 @@ import { HttpError } from "./http-error"; // your app error class
|
|
|
76
76
|
|
|
77
77
|
type MyMeta = { url?: string; body?: unknown };
|
|
78
78
|
|
|
79
|
-
const httpMatcher =
|
|
79
|
+
const httpMatcher = matchInstance(HttpError, (e) => ({
|
|
80
80
|
code: "HTTP",
|
|
81
81
|
message: e.message,
|
|
82
82
|
status: e.status,
|
|
@@ -111,7 +111,7 @@ If you don't want to pass `toError` every time, create a client:
|
|
|
111
111
|
import {
|
|
112
112
|
createClient,
|
|
113
113
|
abortMatcher,
|
|
114
|
-
|
|
114
|
+
matchInstance,
|
|
115
115
|
defaultFallback,
|
|
116
116
|
} from "runtry";
|
|
117
117
|
import { HttpError } from "./http-error";
|
|
@@ -119,7 +119,7 @@ import { HttpError } from "./http-error";
|
|
|
119
119
|
const client = createClient({
|
|
120
120
|
matchers: [
|
|
121
121
|
abortMatcher,
|
|
122
|
-
|
|
122
|
+
matchInstance(HttpError, (e) => ({
|
|
123
123
|
code: "HTTP",
|
|
124
124
|
message: e.message,
|
|
125
125
|
status: e.status,
|
package/dist/error/matchers.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { AppError } from "./types";
|
|
|
2
2
|
import type { Matcher } from "./normalize";
|
|
3
3
|
export declare const abortMatcher: Matcher;
|
|
4
4
|
export declare const timeoutMatcher: Matcher;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function matchInstance<T extends Error, Meta = unknown>(ErrorCtor: new (...args: any[]) => T, map: (e: T) => AppError<Meta>): Matcher<AppError<Meta>>;
|
|
6
6
|
//# sourceMappingURL=matchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/error/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,YAAY,EAAE,OAK1B,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/error/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,YAAY,EAAE,OAK1B,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,OAa5B,CAAC;AAGF,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,GAAG,OAAO,EAC3D,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAEzB"}
|
package/dist/error/matchers.js
CHANGED
|
@@ -12,12 +12,16 @@ export const timeoutMatcher = (err) => {
|
|
|
12
12
|
}
|
|
13
13
|
// algunas libs tiran Error con name = "TimeoutError"
|
|
14
14
|
if (err instanceof Error && err.name === "TimeoutError") {
|
|
15
|
-
return {
|
|
15
|
+
return {
|
|
16
|
+
code: "TIMEOUT",
|
|
17
|
+
message: err.message || "Request timed out",
|
|
18
|
+
cause: err,
|
|
19
|
+
};
|
|
16
20
|
}
|
|
17
21
|
return null;
|
|
18
22
|
};
|
|
19
23
|
// Helper para crear matcher basado en "instanceof" (plugin-friendly)
|
|
20
|
-
export function
|
|
24
|
+
export function matchInstance(ErrorCtor, map) {
|
|
21
25
|
return (err) => (err instanceof ErrorCtor ? map(err) : null);
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=matchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/error/matchers.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAY,CAAC,GAAG,EAAE,EAAE;IAC3C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAY,CAAC,GAAG,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACvE,CAAC;IACD,qDAAqD;IACrD,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/error/matchers.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAY,CAAC,GAAG,EAAE,EAAE;IAC3C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAY,CAAC,GAAG,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACvE,CAAC;IACD,qDAAqD;IACrD,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,mBAAmB;YAC3C,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,qEAAqE;AACrE,MAAM,UAAU,aAAa,CAC3B,SAAoC,EACpC,GAA6B;IAE7B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { run } from "./run";
|
|
|
2
2
|
export type { RunOptions, RunResult } from "./types";
|
|
3
3
|
export type { AppError, AppErrorCode } from "./error/types";
|
|
4
4
|
export { toAppError, defaultFallback, createNormalizer, } from "./error/normalize";
|
|
5
|
-
export { abortMatcher, timeoutMatcher,
|
|
5
|
+
export { abortMatcher, timeoutMatcher, matchInstance } from "./error/matchers";
|
|
6
6
|
export { createClient } from "./client";
|
|
7
7
|
export type { CreateClientOptions } from "./client";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { run } from "./run";
|
|
2
2
|
export { toAppError, defaultFallback, createNormalizer, } from "./error/normalize";
|
|
3
|
-
export { abortMatcher, timeoutMatcher,
|
|
3
|
+
export { abortMatcher, timeoutMatcher, matchInstance } from "./error/matchers";
|
|
4
4
|
export { createClient } from "./client";
|
|
5
5
|
//# 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":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5B,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5B,OAAO,EACL,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|