simple-typed-fetch
Advanced tools
Comparing version
@@ -35,4 +35,5 @@ // src/index.ts | ||
}); | ||
if (fetchResult.isErr()) | ||
if (fetchResult.isErr()) { | ||
return fetchResult.error; | ||
} | ||
const response = fetchResult.value; | ||
@@ -55,4 +56,5 @@ const textResult = await fromPromise(response.text(), (e) => { | ||
}); | ||
if (textResult.isErr()) | ||
if (textResult.isErr()) { | ||
return textResult.error; | ||
} | ||
const text = textResult.value; | ||
@@ -68,23 +70,28 @@ if (response.status >= 500) { | ||
} | ||
const safeParseJson = fromThrowable(JSON.parse, (e) => { | ||
if (e instanceof Error) { | ||
const safeParseJson = fromThrowable( | ||
JSON.parse, | ||
(e) => { | ||
if (e instanceof Error) { | ||
return err({ | ||
type: "jsonParseError", | ||
url, | ||
message: e.message, | ||
error: e | ||
}); | ||
} | ||
return err({ | ||
type: "jsonParseError", | ||
type: "jsonParseUnknownError", | ||
url, | ||
message: e.message, | ||
message: "Unknown JSON parse error", | ||
error: e | ||
}); | ||
} | ||
return err({ | ||
type: "jsonParseUnknownError", | ||
url, | ||
message: "Unknown JSON parse error", | ||
error: e | ||
}); | ||
}); | ||
); | ||
const jsonResult = safeParseJson(text); | ||
if (jsonResult.isErr()) { | ||
const textPayload = schema.safeParse(text); | ||
if (textPayload.success) | ||
if (textPayload.success) { | ||
return ok(textPayload.data); | ||
} | ||
jsonResult.error.error.message = `Can't parse response as JSON: ${jsonResult.error.error.message}. Original response: ${text}`; | ||
return jsonResult.error; | ||
@@ -91,0 +98,0 @@ } |
@@ -7,3 +7,3 @@ { | ||
}, | ||
"version": "0.1.6", | ||
"version": "0.1.7", | ||
"description": "Making HTTP requests human way", | ||
@@ -47,5 +47,11 @@ "main": "./dist/index.cjs", | ||
"devDependencies": { | ||
"@typescript-eslint/eslint-plugin": ">=5.57.1", | ||
"@typescript-eslint/parser": ">=5.57.1", | ||
"eslint": ">=8.37.0", | ||
"eslint-config-xo": "^0.43.1", | ||
"eslint-config-xo-typescript": "^0.57.0", | ||
"rimraf": "^4.4.1", | ||
"tsup": "^6.7.0" | ||
"tsup": "^6.7.0", | ||
"typescript": "^5.0.3" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
18505
3.47%461
3.13%1
-50%8
300%