Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

refactor: async await roundup #1173

Merged
merged 37 commits into from
Nov 22, 2019
Merged

refactor: async await roundup #1173

merged 37 commits into from
Nov 22, 2019

Conversation

alanshaw
Copy link
Contributor

@alanshaw alanshaw commented Nov 21, 2019

This is a round up of the remaining async/await PRs along with some cleanup and docs fixes.

resolves #1103
resolves #1122
resolves #1158 (hopefully!)
closes #1164
closes #1165
closes #1166
closes #1169
closes #1170
closes #1172

BREAKING CHANGE: The log.tail method now returns an async iterator that yields log messages. Use it like:

for await (const message of ipfs.log.tail()) {
  console.log(message)
}

BREAKING CHANGE: The response to a call to log.level now returns an object that has camel cased keys. i.e. Message and Error properties have changed to message and error.

BREAKING CHANGE: Dropped support for go-ipfs <= 0.4.4 in swarm.peers response.

BREAKING CHANGE: The signature for ipfs.mount has changed from ipfs.mount([ipfsPath], [ipnsPath]) to ipfs.mount([options]). Where options is an optional object that may contain two boolean properties ipfsPath and ipnsPath. The response object has also changed to be camel case. See https://docs.ipfs.io/reference/api/http/#api-v0-mount.

BREAKING CHANGE: Default ping count of 1 in client has been removed. The default ping count is now whatever the IPFS node defaults it to (currently 10). If you specifically need 1 ping message then please pass count: 1 in options for ipfs.ping().

BREAKING CHANGE: Multi parameter constructor options are no longer supported. To create a new IPFS HTTP client, pass a single parameter to the constructor. The parameter can be one of:

  • String, formatted as one of:
  • Multiaddr instance
  • Object, in format of either:
    • Address and path e.g. { apiAddr: '/ip4/127.0.0.1/tcp/5001': apiPath: '/api/v0' } (Note: apiAddr can also be a string in URL form or a Multiaddr instance)
    • Node.js style address e.g. { host: '127.0.0.1', port: 5001, protocol: 'http' }

Alan Shaw added 30 commits November 19, 2019 13:09
License: MIT
Signed-off-by: Alan Shaw <[email protected]>
BREAKING CHANGE: The `log.tail` method now returns an async iterator that yields log messages. Use it like:

```js
for await (const message of ipfs.log.tail()) {
  console.log(message)
}
```

Secondly, the response to a call to `log.level` now returns an object that has camel cased keys. i.e. `Message` and `Error` properties have changed to `message` and `error`.

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
License: MIT
Signed-off-by: Alan Shaw <[email protected]>
License: MIT
Signed-off-by: Alan Shaw <[email protected]>
BREAKING CHANGE: Dropped support for go-ipfs <= 0.4.4 in swarm.peers response

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
BREAKING CHANGE: The signature for `ipfs.mount` has changed from `ipfs.mount([ipfsPath], [ipnsPath])` to `ipfs.mount([options])`. Where `options` is an optional object that may contain two boolean properties `ipfsPath` and `ipnsPath`. The response object has also changed to be camel case. See https://docs.ipfs.io/reference/api/http/#api-v0-mount.

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
License: MIT
Signed-off-by: Alan Shaw <[email protected]>
License: MIT
Signed-off-by: Alan Shaw <[email protected]>
BREAKING CHANGE: Default ping `count` of 1 in client has been removed. The default ping count is now whatever the IPFS node defaults it to (currently 10). If you specifically need 1 ping message then please pass `count: 1` in options for `ipfs.ping()`.

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
Other endpoints are not supported by go-ipfs or js-ipfs and so have been removed.

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
Alan Shaw added 6 commits November 21, 2019 11:52
resolves #1103

BREAKING CHANGE: Multi parameter constructor options are no longer supported. To create a new IPFS HTTP client, pass a single parameter to the constructor. The parameter can be one of:

* String, formatted as one of:
    * Multiaddr e.g. /ip4/127.0.0.1/tcp/5001
    * URL e.g. http://127.0.0.1:5001
* [Multiaddr](https://www.npmjs.com/package/multiaddr) instance
* Object, in format of either:
    * Address and path e.g. `{ apiAddr: '/ip4/127.0.0.1/tcp/5001': apiPath: '/api/v0' }` (Note: `apiAddr` can also be a string in URL form or a Multiaddr instance)
    * Node.js style address e.g. `{ host: '127.0.0.1', port: 5001, protocol: 'http' }`

License: MIT
Signed-off-by: Alan Shaw <[email protected]>
expect(res).to.not.have.property('Error')
expect(res).to.have.property('Message')
expect(res).to.not.have.property('error')
expect(res).to.have.property('message')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did the property names change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep! ...and documented in the breaking changes above.

@alanshaw alanshaw merged commit 3e5967a into master Nov 22, 2019
@alanshaw alanshaw deleted the refactor/async-await-roundup branch November 22, 2019 11:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants