Skip to content

Commit 7a28af7

Browse files
committed
fix: uncaught exception when occur a network error
1 parent a100695 commit 7a28af7

File tree

4 files changed

+40
-22
lines changed

4 files changed

+40
-22
lines changed

dist/index.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,16 @@
2929
}
3030
},
3131
"dependencies": {
32-
"@babel/preset-env": "^7.1.6",
3332
"@vuex-orm/core": "^0.30.0",
3433
"axios": "^0.18.0",
3534
"lodash": "^4.17.11"
3635
},
3736
"devDependencies": {
3837
"@babel/core": "^7.1.6",
3938
"babel-core": "6.26.3",
39+
"@babel/runtime": "^7.1.5",
40+
"@babel/plugin-transform-runtime": "^7.1.0",
41+
"@babel/preset-env": "^7.1.6",
4042
"babel-jest": "^23.6.0",
4143
"babel-loader": "^8.0.4",
4244
"babel-plugin-transform-runtime": "^6.23.0",

src/support/interfaces.js

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -130,24 +130,18 @@ export const AxiosRequestConfig = {
130130
* @param {object} error
131131
*/
132132
onError(error) {
133-
switch (error.response.status) {
134-
case 401:
135-
this.onUnauthorised(error);
136-
break;
137-
case 404:
138-
this.onNotFound(error);
139-
break;
140-
case 422:
141-
this.onValidationError(error);
142-
break;
143-
case 500:
144-
this.onServerError(error);
145-
break;
146-
default:
147-
this.onGenericError(error);
148-
break;
133+
const { response } = error;
134+
const errorTypes = {
135+
401: this.onUnauthorised,
136+
404: this.onNotFound,
137+
422: this.onValidationError,
138+
500: this.onServerError
139+
}
140+
if (response && response.status in errorTypes) {
141+
errorTypes[response.status](error);
142+
} else {
143+
this.onGenericError(error);
149144
}
150-
151145
return Promise.reject(error);
152146
},
153147
};

yarn.lock

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,16 @@
457457
dependencies:
458458
regenerator-transform "^0.13.3"
459459

460+
"@babel/plugin-transform-runtime@^7.1.0":
461+
version "7.1.0"
462+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz#9f76920d42551bb577e2dc594df229b5f7624b63"
463+
integrity sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg==
464+
dependencies:
465+
"@babel/helper-module-imports" "^7.0.0"
466+
"@babel/helper-plugin-utils" "^7.0.0"
467+
resolve "^1.8.1"
468+
semver "^5.5.1"
469+
460470
"@babel/plugin-transform-shorthand-properties@^7.0.0":
461471
version "7.0.0"
462472
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15"
@@ -550,6 +560,13 @@
550560
js-levenshtein "^1.1.3"
551561
semver "^5.3.0"
552562

563+
"@babel/runtime@^7.1.5":
564+
version "7.1.5"
565+
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.5.tgz#4170907641cf1f61508f563ece3725150cc6fe39"
566+
integrity sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA==
567+
dependencies:
568+
regenerator-runtime "^0.12.0"
569+
553570
"@babel/template@^7.1.0", "@babel/template@^7.1.2":
554571
version "7.1.2"
555572
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644"
@@ -5316,6 +5333,11 @@ regenerator-runtime@^0.11.0:
53165333
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
53175334
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
53185335

5336+
regenerator-runtime@^0.12.0:
5337+
version "0.12.1"
5338+
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
5339+
integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
5340+
53195341
regenerator-transform@^0.10.0:
53205342
version "0.10.1"
53215343
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
@@ -5506,7 +5528,7 @@ resolve@1.1.7:
55065528
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
55075529
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
55085530

5509-
resolve@^1.3.2, resolve@^1.5.0, resolve@^1.6.0:
5531+
resolve@^1.3.2, resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1:
55105532
version "1.8.1"
55115533
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
55125534
integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==

0 commit comments

Comments
 (0)