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