UNPKG

@resk/core

Version:

An innovative TypeScript framework that empowers developers to build applications with a fully decorator-based architecture for efficient resource management. By combining the power of decorators with a resource-oriented design, DecorRes enhances code cla

1 lines 3.23 kB
'use strict';var T=require('./isPrimitive'),m=require('./date/isDateObj'),h=require('./isRegex'),dom=require('./dom');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var T__default=/*#__PURE__*/_interopDefault(T);var m__default=/*#__PURE__*/_interopDefault(m);var h__default=/*#__PURE__*/_interopDefault(h);const f=function(n){if(n===null||typeof n!="object"||dom.isDOMElement(n)||m__default.default(n)||h__default.default(n)||T__default.default(n))return false;const r=Object.getPrototypeOf(n);if(r===null)return true;const t=r.constructor;if(typeof t!="function")return false;if(t===Object)return true;const e=t.prototype;return typeof e!="object"?false:e===Object.prototype?true:typeof r.hasOwnProperty=="function"&&r.hasOwnProperty("isPrototypeOf")&&typeof r.isPrototypeOf=="function"};function O(n){if(Array.isArray(n)){const e=[];for(var r=0;r<n.length;r++)e[r]=O(n[r]);return e}else if(f(n)&&n){const e={};for(var t in n)n.hasOwnProperty(t)&&(e[t]=O(n[t]));return e}else return n}function l(n){return f(n)}const z=Object.getSize=function(n,r=false){if(!n||typeof n!="object")return 0;if(Array.isArray(n))return n.length;typeof r!="boolean"&&(r=false);let t=0;for(let e in n)if(n.hasOwnProperty(e)&&(t++,r===true))return t;return t};function D(...n){if(n.length===1)return l(n[0])?n[0]:{};let r=null;for(var t in n){const e=n[t];if(l(e)){if(Object.getSize(e,true)>0)return e;r||(r=e);}}return r||{}}function S(n,...r){const t=Array.isArray(n),e=f(n);(n==null||!t&&!e)&&(n={});for(let i=0;i<r.length;i++){const o=r[i];if(o==null)continue;const a=f(o),y=Array.isArray(o);if(!(!a&&!y)){if(t){y&&P(n,o);continue}else if(y)continue;for(let c in o){const s=o[c];if(s==null)continue;if(s===o){n[c]=n;continue}const u=n[c],b=Array.isArray(u),A=Array.isArray(s);if(b){A?P(n[c],s):n[c]=s;continue}else if(!f(u)){n[c]=s;continue}if(A||!f(s)){n[c]=s;continue}n[c]=S({},u,s);}}}return n}const P=(n,r)=>{const t=r.length;let e=0;for(let i=0;i<n.length;i++){const o=n[i],a=r[i];if(i<t){const y=Array.isArray(o),c=Array.isArray(a),s=f(o),u=f(a);y&&c||s&&u?(n[e]=S(y?[]:{},o,a),e++):a!=null?(n[e]=a,e++):o!=null&&(n[e]=o,e++);}}for(let i=n.length;i<t;i++)r[i]!==void 0&&r[i]!==null&&n.push(r[i]);return n};function k(n){return p(n)}function p(n,r="",t={}){if(t=l(t)?t:{},T__default.default(n)||m__default.default(n)||h__default.default(n))return r&&(t[r]=n),t;if(typeof n=="function"||typeof n=="object"&&!l(n)&&!w(n))return t;if(n instanceof Map||n instanceof WeakMap)return Array.from(n.entries()).forEach(([e,i])=>{const o=r?`${r}[${String(e)}]`:String(e);p(i,o,t);}),t;if(Array.isArray(n)||n instanceof Set||n instanceof WeakSet)return (Array.isArray(n)?n:Array.from(n)).forEach((i,o)=>{const a=r?`${r}[${o}]`:String(o);p(i,a,t);}),t;if(l(n))for(const e in n){if(!Object.prototype.hasOwnProperty.call(n,e))continue;const i=n[e],o=r?r.endsWith("]")?`${r}.${e}`:`${r}.${e}`:e;p(i,o,t);}return t}function w(n){return Array.isArray(n)||n instanceof Set||n instanceof Map||n instanceof WeakMap||n instanceof WeakSet}Object.flatten=k,Object.clone=O;exports.cloneObject=O;exports.defaultObj=D;exports.extendObj=S;exports.flattenObject=k;exports.isIterableStructure=w;exports.isObj=l;exports.isPlainObj=f;exports.objectSize=z;