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

generic API #33

Merged
merged 2 commits into from
Aug 16, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions API/generic/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Generic API
===========

#### `id`

> Returns the identity of the Peer

##### `Go` **WIP**

##### `JavaScript` - ipfs.id([callback])

`callback` must follow `function (err, identity) {}` signature, where `err` is an error if the operation was not successful. `identity` is an object with the Peer identity.

Copy link
Contributor

Choose a reason for hiding this comment

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

Could we add an example to show what "Peer identity" means? Ie. the data that is returned.

If no `callback` is passed, a promise is returned.

Example:

```js
ipfs.id(function (err, identity) {
if (err) {
throw err
}
console.log(identity)
})
```

#### `version`

> Returns the implementation version

##### `Go` **WIP**

##### `JavaScript` - ipfs.version([callback])

`callback` must follow `function (err, version) {}` signature, where `err` is an error if the operation was not successful. `version` is an object with the version of the implementation, the commit and the Repo.

Copy link
Contributor

Choose a reason for hiding this comment

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

Could we add an example of the returned version data?

If no `callback` is passed, a promise is returned.

Example:

```js
ipfs.version(function (err, version) {
Copy link
Contributor

Choose a reason for hiding this comment

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

What about all the options go has for version?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

They never really worked on the http-api level https://github.com/ipfs/js-ipfs-api/blob/master/test/interface-ipfs-core/version.spec.js#L8-L9, the filtering just happens on the CLI.

if (err) {
throw err
}
console.log(version)
})
```
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@
"greenkeeperio-bot <[email protected]>",
"nginnever <[email protected]>"
]
}
}
72 changes: 72 additions & 0 deletions src/generic.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/* eslint-env mocha */
/* eslint max-nested-callbacks: ["error", 8] */

'use strict'

const expect = require('chai').expect

module.exports = (common) => {
describe('.generic', () => {
let ipfs

before(function (done) {
// CI takes longer to instantiate the daemon,
// so we need to increase the timeout for the
// before step
this.timeout(20 * 1000)

common.setup((err, factory) => {
expect(err).to.not.exist
factory.spawnNode((err, node) => {
expect(err).to.not.exist
ipfs = node
done()
})
})
})

after((done) => {
common.teardown(done)
})

describe('callback API', () => {
it('.id', (done) => {
ipfs.id((err, res) => {
expect(err).to.not.exist
expect(res).to.have.a.property('id')
expect(res).to.have.a.property('publicKey')
done()
})
})

it('.version', (done) => {
ipfs.version((err, result) => {
expect(err).to.not.exist
expect(result).to.have.a.property('version')
expect(result).to.have.a.property('commit')
expect(result).to.have.a.property('repo')
done()
})
})
})

describe('promise API', () => {
it('.id', () => {
return ipfs.id()
.then((res) => {
expect(res).to.have.a.property('id')
expect(res).to.have.a.property('publicKey')
})
})

it('.version', () => {
return ipfs.version()
.then((result) => {
expect(result).to.have.a.property('version')
expect(result).to.have.a.property('commit')
expect(result).to.have.a.property('repo')
})
})
})
})
}
1 change: 1 addition & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ exports.object = require('./object')
exports.files = require('./files')
exports.config = require('./config')
exports.pin = require('./pin')
exports.generic = require('./generic')