stratumn-sdk v1.0.2-alpha
Stratumn SDK for Javascript
Installation
Browser
<!-- Polyfill for browser compatibility -->
<script src="https://libs.stratumn.com/babel-polyfill.min.js"></script>
<!-- Actual Stratumn SDK -->
<script src="https://libs.stratumn.com/stratumn-sdk.min.js"></script>If you want a specific version, include https://libs.stratumn.com/stratumn-sdk-{version}.min.js instead (for instance https://libs.stratumn.com/stratumn-sdk-0.4.1.min.js).
Node.js
$ npm install stratumn-sdkvar StratumnSDK = require('stratumn-sdk');Quickstart
StratumnSDK.getApplication('quickstart')
.then(function(app) {
console.log(app);
// Create a new map, you can pass arguments to init
return app.createMap('My message map');
})
.then(function(res) {
// You can call a transition function like a regular function
return res.addMessage('Hello, World');
})
.then(function(res) {
console.log(res.link);
console.log(res.meta);
})
.catch(function(err) {
// Handle errors
});Reference
StratumnSDK#getApplication(appName)
Returns a promise that resolves with an application.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
console.log(app.id);
})
.catch(function(err) {
// Handle errors
});Application#createMap(...args)
Returns a promise that resolves with a new map.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.createMap('A new map');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getLink(hash)
Returns a promise that resolves with an existing link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getMap(mapId, tags)
Returns a promise that resolves with the meta data of the links in a map, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getMap('56ef33', ['tag1', 'tag2']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getBranches(linkHash, tags)
Returns a promise that resolves with the meta data of the links whose previous hashes are the given hash, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getBranches('abcdef', ['tag1', 'tag2']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getMapIds()
Returns a promise that resolves with all the map ids in this application.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getMapIds();
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#getPrev()
Returns a promise that resolves with the previous link of a link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.getPrev();
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#load()
Returns a promise that resolves with the full link. Can be useful when you only have the meta data of links.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getBranches('aee5427');
})
.then(function(res) {
return Promise.all(res.map(function(link) { return link.load(); }));
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#getBranches(tags)
Returns a promise that resolves with the meta data of the links whose previous hashes are the hash of the link, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.getBranches(['tag1']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#:transitionFunction(...args)
Executes a transition function and returns a promise that resolves with a new link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.addMessage('Hello, World!');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Development
Install dependencies:
$ npm installBuild:
$ npm run build:allTest:
$ npm testTest coverage:
$ npm run test:cov
$ open coverage/lcov-report/index.htmlLint:
$ npm run lintLint and test:
$ npm run checkBump version:
$ npm version major|minor|patchPublish:
$ npm publish9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago