Compare commits

...

7 Commits

Author SHA1 Message Date
f3fc3449c1 chore: release version v0.14.6 2021-04-06 14:09:48 +02:00
927a6cf078 chore: update contributors 2021-04-06 14:09:48 +02:00
73fe2c553f chore: add no types to release script 2021-04-06 14:04:43 +02:00
719ddfe8e2 chore: update deps (#143) 2021-04-06 13:59:19 +02:00
037ed87dac chore: release version v0.14.4 2021-03-29 12:57:18 +02:00
af47794289 chore: update contributors 2021-03-29 12:57:18 +02:00
eeb53305c8 fix: remove toString side effect that breaks deep equals (#142)
Makes the cached string cid property non-enumerable so deep equals
still works even after a peer id has been stringifed.

Fixes #141
2021-03-29 12:53:11 +02:00
4 changed files with 35 additions and 6 deletions

View File

@ -1,3 +1,16 @@
## [0.14.6](https://github.com/libp2p/js-peer-id/compare/v0.14.4...v0.14.6) (2021-04-06)
## [0.14.4](https://github.com/libp2p/js-peer-id/compare/v0.14.3...v0.14.4) (2021-03-29)
### Bug Fixes
* remove toString side effect that breaks deep equals ([#142](https://github.com/libp2p/js-peer-id/issues/142)) ([eeb5330](https://github.com/libp2p/js-peer-id/commit/eeb53305c8767a6a2b3f610fe9e45a589b4fa972)), closes [#141](https://github.com/libp2p/js-peer-id/issues/141)
## [0.14.3](https://github.com/libp2p/js-peer-id/compare/v0.14.2...v0.14.3) (2021-01-26)

View File

@ -1,6 +1,6 @@
{
"name": "peer-id",
"version": "0.14.3",
"version": "0.14.6",
"description": "IPFS Peer Id implementation in Node.js",
"leadMaintainer": "Vasco Santos <santos.vasco10@gmail.com>",
"main": "src/index.js",
@ -13,7 +13,7 @@
"test:node": "aegir test -t node",
"test:browser": "aegir test -t browser -t webworker",
"test:types": "npx tsc",
"release": "aegir release",
"release": "aegir release --no-types",
"release-minor": "aegir release --type minor",
"release-major": "aegir release --type major",
"coverage": "aegir coverage",
@ -39,14 +39,14 @@
"@types/chai": "^4.2.14",
"@types/dirty-chai": "^2.0.2",
"@types/mocha": "^8.2.0",
"aegir": "^30.3.0"
"aegir": "^32.2.0"
},
"dependencies": {
"cids": "^1.1.5",
"class-is": "^1.1.0",
"libp2p-crypto": "^0.19.0",
"minimist": "^1.2.5",
"multihashes": "^3.1.1",
"multihashes": "^4.0.2",
"protons": "^2.0.0",
"uint8arrays": "^2.0.5"
},
@ -62,9 +62,9 @@
"Jacob Heun <jacobheun@gmail.com>",
"Pedro Teixeira <i@pgte.me>",
"Stephen Whitmore <stephen.whitmore@gmail.com>",
"Alex Potsides <alex@achingbrain.net>",
"Hugo Dias <hugomrdias@gmail.com>",
"Maciej Krüger <mkg20001@gmail.com>",
"Alex Potsides <alex@achingbrain.net>",
"Nate Foss <npfoss@gmail.com>",
"Robert Kiel <robert.kiel@validitylabs.org>",
"Adam Uhlíř <adam@uhlir.dev>",

View File

@ -137,7 +137,11 @@ class PeerId {
toString () {
if (!this._idCIDString) {
const cid = new CID(1, 'libp2p-key', this.id, 'base32')
this._idCIDString = cid.toBaseEncodedString('base32')
Object.defineProperty(this, '_idCIDString', {
value: cid.toBaseEncodedString('base32'),
enumerable: false
})
}
return this._idCIDString
}

View File

@ -309,6 +309,18 @@ describe('PeerId', () => {
expect(peerId.isValid()).to.equal(false)
})
it('keys are equal after one is stringified', async () => {
const peerId = await PeerId.create(testOpts)
const peerId1 = PeerId.createFromB58String(peerId.toB58String())
const peerId2 = PeerId.createFromB58String(peerId.toB58String())
expect(peerId1).to.deep.equal(peerId2)
peerId1.toString()
expect(peerId1).to.deep.equal(peerId2)
})
describe('returns error via cb instead of crashing', () => {
const garbage = [
uint8ArrayFromString('00010203040506070809', 'base16'),