var BoardsAPI = function(){ this.done = false this.fa = [] this.boards require.ensure(['options.jsx','ipfs-api','boards-api.js'], _ => { var opt = require('options.jsx').get() var BoardsAPI = require('boards-api.js') var ipfs = require('ipfs-api')(opt.addr || 'localhost',opt.port || 5001) this.boards = new BoardsAPI(ipfs) this.boards.init() this.done = true this.fa.forEach(fn => fn(this.boards)) this.fa = undefined }) } BoardsAPI.prototype.use = function(f){ if(!f || !f.apply || !f.call) return console.log('Non-function tried to use API:',f) if(this.done){ f(this.boards) } else { this.fa.push(f) } } module.exports = BoardsAPI