Skip to content

Commit 4923789

Browse files
committed
refactor: remove multibase check
#20 (comment)
1 parent 17f9292 commit 4923789

File tree

5 files changed

+39
-76
lines changed

5 files changed

+39
-76
lines changed

README.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ const isIPFS = require('is-ipfs')
4444
isIPFS.multihash('QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o') // true
4545
isIPFS.multihash('noop') // false
4646

47-
isIPFS.multibase('bafybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va') // 'base32'
48-
isIPFS.multibase('zdj7WWeQ43G6JJvLWQWZpyHuAMq6uYWRjkBXFad11vE2LHhQ7') // 'base58btc'
49-
isIPFS.multibase('QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o') // false (no multibase prefix in CIDv0)
50-
isIPFS.multibase('noop') // false
51-
5247
isIPFS.cid('QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o') // true (CIDv0)
5348
isIPFS.cid('zdj7WWeQ43G6JJvLWQWZpyHuAMq6uYWRjkBXFad11vE2LHhQ7') // true (CIDv1)
5449
isIPFS.cid('noop') // false
@@ -83,6 +78,7 @@ isIPFS.ipfsPath('/ipfs/invalid-hash') // false
8378
isIPFS.ipnsPath('/ipfs/QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o') // false
8479
isIPFS.ipnsPath('/ipns/github.com') // true
8580

81+
isIPFS.subdomain('http://bafybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va.ipfs.dweb.link') // true
8682
isIPFS.subdomain('http://bafybeiabc2xofh6tdi6vutusorpumwcikw3hf3st4ecjugo6j52f6xwc6q.ipns.dweb.link') // true
8783
isIPFS.subdomain('http://www.bafybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va.ipfs.dweb.link') // false
8884
isIPFS.subdomain('http://bafybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va.dweb.link') // false

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
"dependencies": {
3232
"bs58": "4.0.1",
3333
"cids": "0.5.3",
34-
"multibase": "0.4.0",
3534
"multihashes": "0.4.13"
3635
},
3736
"devDependencies": {

src/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ function convertToString (input) {
108108

109109
module.exports = {
110110
multihash: isMultihash,
111-
multibase: isMultibase,
112111
cid: isCID,
113112
base32cid: (cid) => (isMultibase(cid) === 'base32' && isCID(cid)),
114113
ipfsSubdomain: (url) => isIpfs(url, fqdnPattern, fqdnProtocolMatch, fqdnHashMatch),

test/test-cid.spec.js

+38
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,41 @@ describe('ipfs cid', () => {
6060
done()
6161
})
6262
})
63+
64+
describe('ipfs base32cid', () => {
65+
it('isIPFS.base32cid should not match a valid CIDv0 (multihash in base58btc)', (done) => {
66+
const actual = isIPFS.base32cid('QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o')
67+
expect(actual).to.equal(false)
68+
done()
69+
})
70+
71+
it('isIPFS.base32cid should not match a valid CIDv1 in base58btc', (done) => {
72+
const actual = isIPFS.cid('zdj7WWeQ43G6JJvLWQWZpyHuAMq6uYWRjkBXFad11vE2LHhQ7')
73+
expect(actual).to.equal(true)
74+
done()
75+
})
76+
77+
it('isIPFS.base32cid should match a valid URL-safe CIDv1 in Base32', (done) => {
78+
const actual = isIPFS.base32cid('bafybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va')
79+
expect(actual).to.equal(true)
80+
done()
81+
})
82+
83+
it('isIPFS.base32cid should not match an invalid CID (with a typo)', (done) => {
84+
const actual = isIPFS.base32cid('afybeie5gq4jxvzmsym6hjlwxej4rwdoxt7wadqvmmwbqi7r27fclha2va')
85+
expect(actual).to.equal(false)
86+
done()
87+
})
88+
89+
it('isIPFS.base32cid should not match an invalid CID', (done) => {
90+
const actual = isIPFS.base32cid('noop')
91+
expect(actual).to.equal(false)
92+
done()
93+
})
94+
95+
it('isIPFS.base32cid should not match an invalid CID data type', (done) => {
96+
const actual = isIPFS.base32cid(4)
97+
expect(actual).to.equal(false)
98+
done()
99+
})
100+
})

test/test-multibase.spec.js

-69
This file was deleted.

0 commit comments

Comments
 (0)