UNPKG

shadcn-svelte

Version:
1 lines 1.67 kB
var e=class{constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:e=>this.replacement=e}}replace(e,t,n,r){e&&t&&(n==null?e[t]=r:e[t][n]=r)}remove(e,t,n){e&&t&&(n==null?delete e[t]:e[t].splice(n,1))}},t=class extends e{constructor(e,t){super(),this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:e=>this.replacement=e},this.enter=e,this.leave=t}visit(e,t,r,i){if(e){if(this.enter){let n=this.should_skip,a=this.should_remove,o=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,e,t,r,i),this.replacement&&(e=this.replacement,this.replace(t,r,i,e)),this.should_remove&&this.remove(t,r,i);let s=this.should_skip,c=this.should_remove;if(this.should_skip=n,this.should_remove=a,this.replacement=o,s)return e;if(c)return null}let a;for(a in e){let t=e[a];if(t&&typeof t==`object`)if(Array.isArray(t)){let r=t;for(let t=0;t<r.length;t+=1){let i=r[t];n(i)&&(this.visit(i,e,a,t)||t--)}}else n(t)&&this.visit(t,e,a,null)}if(this.leave){let n=this.replacement,a=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,e,t,r,i),this.replacement&&(e=this.replacement,this.replace(t,r,i,e)),this.should_remove&&this.remove(t,r,i);let o=this.should_remove;if(this.replacement=n,this.should_remove=a,o)return null}}return e}};function n(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`}function r(e,{enter:n,leave:r}){return new t(n,r).visit(e,null)}export{r as t};