virtex
Version:
Small, focused virtual dom library.
48 lines (35 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getKey = exports.findDOMNode = exports.createPath = exports.isSameNode = exports.isThunk = undefined;
var _isString = require('@f/is-string');
var _isString2 = _interopRequireDefault(_isString);
var _isUndefined = require('@f/is-undefined');
var _isUndefined2 = _interopRequireDefault(_isUndefined);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isThunk(a) {
return !(0, _isString2.default)(a.type);
}
function isSameNode(a, b) {
return a.type === b.type && a.key === b.key;
}
function getKey(a) {
return a.key;
}
function createPath(vnode, path, pos) {
var key = getKey(vnode);
var part = (0, _isUndefined2.default)(key) ? pos : key;
return path + '.' + part;
}
function findDOMNode(vnode) {
var p = vnode;
while (isThunk(p)) {
p = p.vnode;
}return p.element;
}
exports.isThunk = isThunk;
exports.isSameNode = isSameNode;
exports.createPath = createPath;
exports.findDOMNode = findDOMNode;
exports.getKey = getKey;