Skip to content

Commit f50891a

Browse files
Add check for error type (#8)
* Add check for error instanceof error * Regenerate client with new error * Add ts check to tests * Regenearte client contract with v0.11 * Fix ts-check in pipline * Remove wrong tsc package
1 parent c9ed0dd commit f50891a

File tree

5 files changed

+39
-6
lines changed

5 files changed

+39
-6
lines changed

.github/workflows/ci.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Git diff of regenerated files
3333
run: cd _examples && make diff
3434

35-
webrpc-interoperability:
35+
webrpc-tests:
3636
strategy:
3737
matrix:
3838
webrpc-version: [v0.11.0]
@@ -55,3 +55,5 @@ jobs:
5555
run: cd tests && echo "$PWD/bin/${{ matrix.webrpc-version }}" >> $GITHUB_PATH
5656
- name: Run interoperability tests
5757
run: cd tests && ./test.sh
58+
- name: Run typescript check
59+
run: cd tests && npm run ts-check

_examples/node-ts/webapp/client.gen.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,13 @@ const buildResponse = (res: Response): Promise<any> => {
119119
try {
120120
data = JSON.parse(text)
121121
} catch(error) {
122+
let message = ''
123+
if (error instanceof Error) {
124+
message = error.message
125+
}
122126
throw WebrpcBadResponseError.new({
123127
status: res.status,
124-
cause: `JSON.parse(): ${error.message || ''}: response text: ${text}`},
128+
cause: `JSON.parse(): ${message}: response text: ${text}`},
125129
)
126130
}
127131
if (!res.ok) {

clientHelpers.go.tmpl

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,13 @@ const buildResponse = (res: Response): Promise<any> => {
1616
try {
1717
data = JSON.parse(text)
1818
} catch(error) {
19+
let message = ''
20+
if (error instanceof Error) {
21+
message = error.message
22+
}
1923
throw WebrpcBadResponseError.new({
2024
status: res.status,
21-
cause: `JSON.parse(): ${error.message || ''}: response text: ${text}`},
25+
cause: `JSON.parse(): ${message}: response text: ${text}`},
2226
)
2327
}
2428
if (!res.ok) {

tests/package-lock.json

+22-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"main": "index.js",
66
"scripts": {
77
"test": "./test.sh",
8-
"vitest": "./node_modules/.bin/vitest run --reporter verbose --dir ./"
8+
"vitest": "./node_modules/.bin/vitest run --reporter verbose --dir ./",
9+
"prets-check": "webrpc-gen -schema=./test.ridl -target=../ -client -out=./client.ts",
10+
"ts-check": "tsc --noEmit ./client.ts"
911
},
1012
"repository": {
1113
"type": "git",
@@ -18,6 +20,7 @@
1820
},
1921
"homepage": "https://github.com/webrpc/gen-typescript#readme",
2022
"devDependencies": {
23+
"typescript": "^5.1.6",
2124
"vitest": "^0.25.6"
2225
},
2326
"engines": {

0 commit comments

Comments
 (0)