define([ '/common/curve.js', '/bower_components/chainpad-listmap/chainpad-listmap.js', ], function (Curve, Listmap) { var Edit = {}; Edit.create = function (config, cb) { //network, channel, theirs, mine, cb) { var network = config.network; var channel = config.channel; var keys = config.keys; try { var encryptor = Curve.createEncryptor(keys); var lm = Listmap.create({ network: network, data: {}, channel: channel, readOnly: false, validateKey: keys.validateKey || undefined, crypto: encryptor, userName: 'lol', logLevel: 1, }); var done = function () { // TODO make this abort and disconnect the session after the // user has finished making changes to the object, and they // have propagated. }; lm.proxy .on('create', function () { console.log('created'); }) .on('ready', function () { console.log('ready'); cb(lm, done); }) .on('disconnect', function () { console.log('disconnected'); }) .on('change', [], function (o, n, p) { console.log(o, n, p); }); } catch (e) { console.error(e); } }; return Edit; });