virtex
Version:
Small, focused virtual dom library.
71 lines (62 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var types = {
CREATE_NODE: 'CREATE_NODE',
UPDATE_NODE: 'UPDATE_NODE',
REPLACE_NODE: 'REPLACE_NODE',
REMOVE_NODE: 'REMOVE_NODE',
INSERT_NODE: 'INSERT_NODE',
CREATE_THUNK: 'CREATE_THUNK',
UPDATE_THUNK: 'UPDATE_THUNK',
DESTROY_THUNK: 'DESTROY_THUNK'
};
function vnodeAction(type) {
return function (vnode, prev, parent) {
return {
type: type,
vnode: vnode,
prev: prev,
parent: parent
};
};
}
var createThunk = vnodeAction(types.CREATE_THUNK);
var updateThunk = vnodeAction(types.UPDATE_THUNK);
var destroyThunk = vnodeAction(types.DESTROY_THUNK);
var replaceNode = vnodeAction(types.REPLACE_NODE);
var removeNode = vnodeAction(types.REMOVE_NODE);
function createNode(vnode, children, element) {
return {
type: types.CREATE_NODE,
vnode: vnode,
children: children,
element: element
};
}
function updateNode(vnode, prev, children) {
return {
type: types.UPDATE_NODE,
vnode: vnode,
prev: prev,
children: children
};
}
function insertNode(vnode, newVnode, pos) {
return {
type: types.INSERT_NODE,
vnode: vnode,
newVnode: newVnode,
pos: pos
};
}
exports.createNode = createNode;
exports.insertNode = insertNode;
exports.updateNode = updateNode;
exports.replaceNode = replaceNode;
exports.removeNode = removeNode;
exports.createThunk = createThunk;
exports.updateThunk = updateThunk;
exports.destroyThunk = destroyThunk;
exports.types = types;