UNPKG

@lyra/form-builder

Version:
56 lines (46 loc) 1.19 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isEmpty; var _hasOwn = require('./hasOwn'); var _hasOwn2 = _interopRequireDefault(_hasOwn); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function isEmptyObject(value /*: {[string]: any}*/) /*: boolean*/ { for (const key in value) { if (key === '_type' || key === '_key') { continue; } if ((0, _hasOwn2.default)(value, key) && !isEmpty(value[key])) { return false; } } return true; } function isEmptyArray(value /*: Array<any>*/) /*: boolean*/ { if (value === undefined) { return true; } for (let i = 0; i < value.length; i++) { if (isEmpty(value[i])) { return true; } } return false; } function isEmptyPrimitive(value /*: any*/) { return value === undefined; } function isEmpty(value /*: any*/) /*: boolean*/ { if (value === undefined) { return true; } const type = typeof value; if (type === 'object' && type !== null) { return isEmptyObject(value); } if (Array.isArray(value)) { return isEmptyArray(value); } return isEmptyPrimitive(value); }