junglejs-common
Version:
Shared helpers for the Jungle toolkit
64 lines (61 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
;
exports['default'] = {
getCursorFns: function getCursorFns(cursor) {
switch (cursor.constructor.name) {
case 'Cortex':
return cursorFns.cortex;
case 'Baobab':
return cursorFns.baobab;
default:
return cursorFns['default'];
}
}
};
// define api for different tree implementations
var cursorFns = {
cortex: {
get: function get(x, key) {
return x[key];
},
value: function value(x) {
return x.val();
}
},
baobab: {
get: function get(x, key) {
return x.select(key);
},
value: function value(x) {
return x.get();
},
on: function on(x, cb) {
return x.on('update', cb);
},
off: function off(x, cb) {
return x.off('update', cb);
}
},
// immstruct: {
// get: (x, key) => x.cursor(key),
// value: x => x.deref(),
// on: (x, cb) => x.on('swap', cb),
// off: (x, cb) => x.off('swap', cb)
// },
// reactCursor: {
// get: (x, key) => x.refine(key),
// value: x => x.value
// },
'default': {
get: function get(x, key) {
return x[key];
},
value: function value(x) {
return x;
}
}
};
module.exports = exports['default'];