Skip to content

Commit 271e605

Browse files
committed
Removing bluebird dependency from project by using default ES6 Promises behavior
1 parent 5e22aca commit 271e605

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@
6868
]
6969
},
7070
"dependencies": {
71-
"bluebird": "3.4.6",
7271
"isomorphic-fetch": "2.2.1",
7372
"lodash.get": "4.4.2",
7473
"xml2js": "0.4.16"

src/cep-promise.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22

33
import fetchCorreios from './services/correios.js'
44
import fetchViaCep from './services/viacep.js'
5-
import Promise from 'bluebird'
65
import CepPromiseError from './errors/cep-promise.js'
76

87
const CEP_SIZE = 8
98

9+
const reverse = (promise) => new Promise((resolve, reject) => Promise.resolve(promise).then(reject, resolve))
10+
Promise.any = function (iterable) {
11+
return reverse(Promise.all([...iterable].map(reverse)))
12+
}
13+
1014
export default function (cepRawValue) {
1115
return new Promise((resolve, reject) => {
1216
Promise.resolve(cepRawValue)
@@ -16,7 +20,7 @@ export default function (cepRawValue) {
1620
.then(leftPadWithZeros)
1721
.then(fetchCepFromServices)
1822
.then(resolvePromise)
19-
.catch(Promise.AggregateError, handleServicesError)
23+
.catch(handleServicesError)
2024
.catch(rejectWithCepPromiseError)
2125

2226
function validateInputType (cepRawValue) {
@@ -71,18 +75,14 @@ export default function (cepRawValue) {
7175
}
7276

7377
function handleServicesError (aggregatedErrors) {
74-
const errors = aggregatedErrors.map((error) => {
75-
return {
76-
message: error.message,
77-
service: error.service
78-
}
79-
})
80-
81-
throw new CepPromiseError({
82-
message: 'Todos os serviços de CEP retornaram erro.',
83-
type: 'service_error',
84-
errors: errors
85-
})
78+
if (aggregatedErrors.length !== undefined) {
79+
throw new CepPromiseError({
80+
message: 'Todos os serviços de CEP retornaram erro.',
81+
type: 'service_error',
82+
errors: aggregatedErrors
83+
})
84+
}
85+
throw aggregatedErrors
8686
}
8787

8888
function rejectWithCepPromiseError (error) {

0 commit comments

Comments
 (0)