UNPKG

@enonic/js-utils

Version:
137 lines (136 loc) 4.58 kB
"use strict"; function _type_of(obj) { "@swc/helpers - typeof"; return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; } var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = function(target, all) { for(var name in all)__defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = function(to, from, except, desc) { if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") { var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined; try { var _loop = function() { var key = _step.value; if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: function() { return from[key]; }, enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); }; for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop(); } catch (err) { _didIteratorError = true; _iteratorError = err; } finally{ try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally{ if (_didIteratorError) { throw _iteratorError; } } } } return to; }; var __toCommonJS = function(mod) { return __copyProps(__defProp({}, "__esModule", { value: true }), mod); }; // storage/indexing/enonify.ts var enonify_exports = {}; __export(enonify_exports, { enonify: function() { return enonify; } }); module.exports = __toCommonJS(enonify_exports); // array/flatten.ts function flatten(arr) { var d = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1; return d > 0 ? arr.reduce(function(acc, val) { return acc.concat(Array.isArray(val) ? flatten(val, d - 1) : val); }, []) : arr.slice(); } // value/isDate.ts function isDate(value) { return Object.prototype.toString.call(value).slice(8, -1) === "Date"; } // value/isFunction.ts function isFunction(value) { return Object.prototype.toString.call(value).slice(8, -1) === "Function"; } // value/isInfinity.ts function isInfinity(value) { return typeof value === "number" && !isFinite(value); } // value/isObject.ts var isObject = function(value) { return Object.prototype.toString.call(value).slice(8, -1) === "Object"; }; // storage/indexing/enonify.ts function enonify(unknown) { function shouldBeDeleted(unknown2) { return unknown2 === null || typeof unknown2 === "undefined" || isFunction(unknown2) || isInfinity(unknown2) || isNumberButNaN(unknown2); } function enonifyArray(array) { var flattenedAndEnonified = flatten(array).map(function(v) { return enonify(v); }).filter(function(v) { return !shouldBeDeleted(v); }); if (flattenedAndEnonified.length === 0) { return void 0; } if (flattenedAndEnonified.length === 1) { return flattenedAndEnonified[0]; } return flattenedAndEnonified; } function isNumberButNaN(unknown2) { return typeof unknown2 === "number" && isNaN(unknown2); } if (isObject(unknown)) { Object.keys(unknown).forEach(function(k) { var value = unknown[k]; if (Array.isArray(value)) { value = enonifyArray(value); } if (Array.isArray(value)) { unknown[k] = value; } else { if (shouldBeDeleted(value)) { delete unknown[k]; } else { unknown[k] = enonify(value); } } }); return unknown; } if (Array.isArray(unknown)) { return enonifyArray(unknown); } if (isDate(unknown)) { return unknown.toISOString(); } if (isNumberButNaN(unknown)) { return void 0; } if (isInfinity(unknown)) { return void 0; } return unknown; }