react-hold
Version:
Hold the empty presentational components in react.js
50 lines (41 loc) • 1.64 kB
JavaScript
;
exports.__esModule = true;
var isNull = exports.isNull = function isNull(value) {
return value === undefined || value === null;
};
var isFunction = exports.isFunction = function isFunction(value) {
return typeof value === 'function';
};
var isObject = exports.isObject = function isObject(value) {
return value !== null && Object.prototype.toString.call(value) === '[object Object]';
};
var getComputedStyle = exports.getComputedStyle = window.getComputedStyle || document.defaultView.getComputedStyle;
var getNodeSize = exports.getNodeSize = function getNodeSize(node) {
if (isNull(node)) return null;
return {
width: node.offsetWidth,
height: node.offsetHeight
};
};
var getDisplayName = exports.getDisplayName = function getDisplayName(component) {
if (isNull(component)) return null;
return component.displayName || component.name || (typeof component === 'string' ? component : 'Unknown');
};
var addHandler = exports.addHandler = window.addEventListener ? function (target, type, handler) {
target.addEventListener(type, handler, false);
} : function (target, type, handler) {
target.attachEvent('on' + type, handler);
};
var removeHandler = exports.removeHandler = window.removeEventListener ? function (target, type, handler) {
target.removeEventListener(type, handler, false);
} : function (target, type, handler) {
target.detachEvent('on' + type, handler);
};
var warn = exports.warn = function warn(msg) {
if (isNull(msg)) return;
if (process.env.NODE_ENV !== 'production') {
throw new Error(msg);
} else if (console) {
console.warn('[react-hold]', msg);
}
};