ast-is-empty
Version:
Find out, is nested array/object/string/AST tree is empty
19 lines (17 loc) • 4.68 kB
JavaScript
/**
* @name ast-is-empty
* @fileoverview Find out, is nested array/object/string/AST tree is empty
* @version 4.1.3
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/ast-is-empty/}
*/
;var astIsEmpty=(()=>{var v=Object.create;var b=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var E=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),$=(e,n)=>{for(var o in n)b(e,o,{get:n[o],enumerable:!0})},A=(e,n,o,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of S(n))!D.call(e,l)&&l!==o&&b(e,l,{get:()=>n[l],enumerable:!(u=C(n,l))||u.enumerable});return e};var M=(e,n,o)=>(o=e!=null?v(B(e)):{},A(n||!e||!e.__esModule?b(o,"default",{value:e,enumerable:!0}):o,e)),F=e=>A(b({},"__esModule",{value:!0}),e);var w=E((I,j)=>{"use strict";j.exports=L;function m(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function L(e){if(e=e||{},e.circles)return P(e);let n=new Map;if(n.set(Date,s=>new Date(s)),n.set(Map,(s,c)=>new Map(u(Array.from(s),c))),n.set(Set,(s,c)=>new Set(u(Array.from(s),c))),e.constructorHandlers)for(let s of e.constructorHandlers)n.set(s[0],s[1]);let o=null;return e.proto?p:l;function u(s,c){let r=Object.keys(s),t=new Array(r.length);for(let a=0;a<r.length;a++){let i=r[a],f=s[i];typeof f!="object"||f===null?t[i]=f:f.constructor!==Object&&(o=n.get(f.constructor))?t[i]=o(f,c):ArrayBuffer.isView(f)?t[i]=m(f):t[i]=c(f)}return t}function l(s){if(typeof s!="object"||s===null)return s;if(Array.isArray(s))return u(s,l);if(s.constructor!==Object&&(o=n.get(s.constructor)))return o(s,l);let c={};for(let r in s){if(Object.hasOwnProperty.call(s,r)===!1)continue;let t=s[r];typeof t!="object"||t===null?c[r]=t:t.constructor!==Object&&(o=n.get(t.constructor))?c[r]=o(t,l):ArrayBuffer.isView(t)?c[r]=m(t):c[r]=l(t)}return c}function p(s){if(typeof s!="object"||s===null)return s;if(Array.isArray(s))return u(s,p);if(s.constructor!==Object&&(o=n.get(s.constructor)))return o(s,p);let c={};for(let r in s){let t=s[r];typeof t!="object"||t===null?c[r]=t:t.constructor!==Object&&(o=n.get(t.constructor))?c[r]=o(t,p):ArrayBuffer.isView(t)?c[r]=m(t):c[r]=p(t)}return c}}function P(e){let n=[],o=[],u=new Map;if(u.set(Date,r=>new Date(r)),u.set(Map,(r,t)=>new Map(p(Array.from(r),t))),u.set(Set,(r,t)=>new Set(p(Array.from(r),t))),e.constructorHandlers)for(let r of e.constructorHandlers)u.set(r[0],r[1]);let l=null;return e.proto?c:s;function p(r,t){let a=Object.keys(r),i=new Array(a.length);for(let f=0;f<a.length;f++){let y=a[f],d=r[y];if(typeof d!="object"||d===null)i[y]=d;else if(d.constructor!==Object&&(l=u.get(d.constructor)))i[y]=l(d,t);else if(ArrayBuffer.isView(d))i[y]=m(d);else{let h=n.indexOf(d);h!==-1?i[y]=o[h]:i[y]=t(d)}}return i}function s(r){if(typeof r!="object"||r===null)return r;if(Array.isArray(r))return p(r,s);if(r.constructor!==Object&&(l=u.get(r.constructor)))return l(r,s);let t={};n.push(r),o.push(t);for(let a in r){if(Object.hasOwnProperty.call(r,a)===!1)continue;let i=r[a];if(typeof i!="object"||i===null)t[a]=i;else if(i.constructor!==Object&&(l=u.get(i.constructor)))t[a]=l(i,s);else if(ArrayBuffer.isView(i))t[a]=m(i);else{let f=n.indexOf(i);f!==-1?t[a]=o[f]:t[a]=s(i)}}return n.pop(),o.pop(),t}function c(r){if(typeof r!="object"||r===null)return r;if(Array.isArray(r))return p(r,c);if(r.constructor!==Object&&(l=u.get(r.constructor)))return l(r,c);let t={};n.push(r),o.push(t);for(let a in r){let i=r[a];if(typeof i!="object"||i===null)t[a]=i;else if(i.constructor!==Object&&(l=u.get(i.constructor)))t[a]=l(i,c);else if(ArrayBuffer.isView(i))t[a]=m(i);else{let f=n.indexOf(i);f!==-1?t[a]=o[f]:t[a]=c(i)}}return n.pop(),o.pop(),t}}});var T={};$(T,{isEmpty:()=>g,version:()=>N});var O=M(w(),1);var V=(0,O.default)();function x(e){if(e==null||typeof e!="object")return!1;let n=Object.getPrototypeOf(e);return n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null?!1:!(Symbol.iterator in e)&&!(Symbol.toStringTag in e)}var k="4.1.3";var N=k;function g(e){let n,o,u=!0;if(Array.isArray(e)){if(e.length===0)return!0;for(n=0,o=e.length;n<o;n++){if(u=g(e[n]),u===null)return null;if(!u)return!1}}else if(x(e)){if(Object.keys(e).length===0)return!0;for(n=0,o=Object.keys(e).length;n<o;n++){if(u=g(e[Object.keys(e)[n]]),u===null)return null;if(!u)return!1}}else if(typeof e=="string"){if(e.length!==0)return!1}else return null;return u}return F(T);})();
/**
* @name codsen-utils
* @fileoverview Various utility functions
* @version 1.7.3
* @author Roy Revelt
* @license MIT
* {@link https://codsen.com/os/codsen-utils/}
*/