UNPKG

react-editable-json-tree

Version:
64 lines (51 loc) 1.93 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isComponentWillChange = exports.getObjectType = undefined; var _iterator = require('babel-runtime/core-js/symbol/iterator'); var _iterator2 = _interopRequireDefault(_iterator); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* * Author: Alexandre Havrileck (Oxyno-zeta) * Date: 19/10/16 * Licence: See Readme */ /* ************************************* */ /* ******** IMPORTS ******** */ /* ************************************* */ /* ************************************* */ /* ******** PRIVATE FUNCTIONS ******** */ /* ************************************* */ /* ************************************* */ /* ******** PUBLIC FUNCTIONS ******** */ /* ************************************* */ /** * Get Object type. * @param obj {*} object to get type * @returns {*} */ function getObjectType(obj) { if (obj !== null && (typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) === 'object' && !Array.isArray(obj) && typeof obj[_iterator2.default] === 'function') { return 'Iterable'; } return Object.prototype.toString.call(obj).slice(8, -1); } /** * Is Component will change ? * @param oldValue {*} old value * @param newValue {*} new value * @returns {boolean} result */ function isComponentWillChange(oldValue, newValue) { var oldType = getObjectType(oldValue); var newType = getObjectType(newValue); return (oldType === 'Function' || newType === 'Function') && newType !== oldType; } /* ************************************* */ /* ******** EXPORTS ******** */ /* ************************************* */ exports.getObjectType = getObjectType; exports.isComponentWillChange = isComponentWillChange;