Skip to content

Commit 2541d1b

Browse files
committed
refactor: replace err-code with CodeError
Replaces [err-code](https://github.com/IndigoUnited/js-err-code/blob/master/index.js) with [CodeError](libp2p/js-libp2p-interfaces#314) Related: [js-libp2p#1269](libp2p/js-libp2p#1269) Changes - removes err-code from dependencies - adds @libp2p/[email protected] to dependencies - uses CodeError in place of err-code
1 parent 15d13c9 commit 2541d1b

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
},
169169
"dependencies": {
170170
"@libp2p/interface-dht": "^2.0.0",
171-
"err-code": "^3.0.1",
171+
"@libp2p/interfaces": "^3.2.0",
172172
"multiformats": "^11.0.0",
173173
"protons-runtime": "^4.0.1",
174174
"uint8arraylist": "^2.1.1",

src/selectors.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import errCode from 'err-code'
1+
import { CodeError } from '@libp2p/interfaces/errors'
22
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
33
import type { Selectors } from '@libp2p/interface-dht'
44

@@ -9,7 +9,7 @@ export function bestRecord (selectors: Selectors, k: Uint8Array, records: Uint8A
99
if (records.length === 0) {
1010
const errMsg = 'No records given'
1111

12-
throw errCode(new Error(errMsg), 'ERR_NO_RECORDS_RECEIVED')
12+
throw new CodeError(errMsg, 'ERR_NO_RECORDS_RECEIVED')
1313
}
1414

1515
const kStr = uint8ArrayToString(k)
@@ -18,15 +18,15 @@ export function bestRecord (selectors: Selectors, k: Uint8Array, records: Uint8A
1818
if (parts.length < 3) {
1919
const errMsg = 'Record key does not have a selector function'
2020

21-
throw errCode(new Error(errMsg), 'ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY')
21+
throw new CodeError(errMsg, 'ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY')
2222
}
2323

2424
const selector = selectors[parts[1].toString()]
2525

2626
if (selector == null) {
2727
const errMsg = `Unrecognized key prefix: ${parts[1]}`
2828

29-
throw errCode(new Error(errMsg), 'ERR_UNRECOGNIZED_KEY_PREFIX')
29+
throw new CodeError(errMsg, 'ERR_UNRECOGNIZED_KEY_PREFIX')
3030
}
3131

3232
if (records.length === 1) {

src/validators.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import errCode from 'err-code'
1+
import { CodeError } from '@libp2p/interfaces/errors'
22
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
33
import type { Libp2pRecord } from './index.js'
44
import type { Validators } from '@libp2p/interface-dht'
@@ -25,7 +25,7 @@ export function verifyRecord (validators: Validators, record: Libp2pRecord) {
2525
if (validator == null) {
2626
const errMsg = 'Invalid record keytype'
2727

28-
throw errCode(new Error(errMsg), 'ERR_INVALID_RECORD_KEY_TYPE')
28+
throw new CodeError(errMsg, 'ERR_INVALID_RECORD_KEY_TYPE')
2929
}
3030

3131
return validator(key, record.value)
@@ -42,25 +42,25 @@ export function verifyRecord (validators: Validators, record: Libp2pRecord) {
4242
*/
4343
const validatePublicKeyRecord = async (key: Uint8Array, publicKey: Uint8Array) => {
4444
if (!(key instanceof Uint8Array)) {
45-
throw errCode(new Error('"key" must be a Uint8Array'), 'ERR_INVALID_RECORD_KEY_NOT_BUFFER')
45+
throw new CodeError('"key" must be a Uint8Array', 'ERR_INVALID_RECORD_KEY_NOT_BUFFER')
4646
}
4747

4848
if (key.byteLength < 5) {
49-
throw errCode(new Error('invalid public key record'), 'ERR_INVALID_RECORD_KEY_TOO_SHORT')
49+
throw new CodeError('invalid public key record', 'ERR_INVALID_RECORD_KEY_TOO_SHORT')
5050
}
5151

5252
const prefix = uint8ArrayToString(key.subarray(0, 4))
5353

5454
if (prefix !== '/pk/') {
55-
throw errCode(new Error('key was not prefixed with /pk/'), 'ERR_INVALID_RECORD_KEY_BAD_PREFIX')
55+
throw new CodeError('key was not prefixed with /pk/', 'ERR_INVALID_RECORD_KEY_BAD_PREFIX')
5656
}
5757

5858
const keyhash = key.slice(4)
5959

6060
const publicKeyHash = await sha256.digest(publicKey)
6161

6262
if (!uint8ArrayEquals(keyhash, publicKeyHash.bytes)) {
63-
throw errCode(new Error('public key does not match passed in key'), 'ERR_INVALID_RECORD_HASH_MISMATCH')
63+
throw new CodeError('public key does not match passed in key', 'ERR_INVALID_RECORD_HASH_MISMATCH')
6464
}
6565
}
6666

0 commit comments

Comments
 (0)