exome
Version:
State manager for deeply nested states
2 lines (1 loc) • 970 B
JavaScript
;var f=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var E=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of x(e))!y.call(t,o)&&o!==r&&f(t,o,{get:()=>e[o],enumerable:!(c=a(e,o))||c.enumerable});return t};var g=t=>h(f({},"__esModule",{value:!0}),t);var O={};E(O,{print:()=>d,test:()=>b});module.exports=g(O);var p=require("exome"),m=require("exome/ghost");const s=new WeakMap;function b(t){return t instanceof p.Exome||t instanceof m.GhostExome}function d(t,e){const c=Object.getPrototypeOf(t).constructor.name||"Exome",o=s.get(t)||0;s.set(t,o+1);try{return o>0?`${c} [circular]`:`${c} `+e(Object.entries(t).filter(([,n])=>typeof n!="function").sort(([n],[i])=>n<i?-1:1).reduce((n,[i,u])=>(n[i]=u,n),{}))}catch(n){throw n}finally{o===0?s.delete(t):s.set(t,o)}}0&&(module.exports={print,test});