nvhson 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DIST/nvhson-bw.js +4 -0
- package/TEST/tst.js +13 -0
- package/com.sh +0 -0
- package/index.js +62 -0
- package/package.json +14 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var nvhsonbw=(()=>{var o=(t,i)=>()=>(i||t((i={exports:{}}).exports,i),i.exports);var Q=o((ue,C)=>{C.exports=function(){this.stt=1,this.tsi=0,this.tei=-1,this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.lefted="",this.rslts=[]}});var z=o((_e,$)=>{$.exports=function(){let t=this.rslts.length-4;for(;t>=0;){let i=this.rslts[t],s=this.rslts[t+1];if(i===2&&s===-1)return t;if(s===-1&&(i===3||i===4))return-1;t-=4}return-1}});var F=o((ke,B)=>{B.exports=function(t){let i=this.lefted.length,s=this.lefted+t;return this.lefted="",[i,s]}});var it=o((be,st)=>{var H=Symbol.for("hole"),R=Symbol.for("noexist"),W=t=>Number.isInteger(t),_s={noexist_is_not_assignable:"noexist_is_not_assignable"},q=t=>t.length-1;function U(t,i){if(i>=0&&i<t.length)return i}function ks(t,i){if(t.indexOf(i)>=0)return i}function bs(t,i){let s=i.i,e=i.v;if(U(t,s)!==void 0)return t[s]===e?i:void 0}function ps(t,...i){return t.filter((s,e)=>i.includes(e))}function ds(t,...i){return t.filter((s,e)=>!i.includes(e))}function vs(t,i){return t.filter((s,e)=>e%i===0)}function xs(t,i,s=!0){let e=t.toString(2),h=Array.from(e).map(l=>parseInt(l));i=i===void 0?h.length:i;let r=i-h.length;if(r>0){let l=Array.from({length:r}).map(n=>0);return s?l.concat(h):h.concat(l)}else return s?h.slice(0,i):h.slice(-r)}function gs(t,i){if(t.length===i.length){for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}else return!1}function ws(...t){let i=Array.from({length:t[0].length});return i=i.map((s,e)=>{let h={};return t.forEach((r,l)=>{h[l]=r[e]}),h}),i}function ms(t,i){return i<0?i%t.length+t.length:i>=t.length?t.length-1:i}function O(t){let i=t.length;return i===0?[]:i%2?[(i-1)/2]:[i/2-1,i/2]}function Y(t){return O(t)[0]}function J(t){let i=O(t);return i.length<2?i[0]:i[1]}function Is(t){let i=O(t),s=[];return i.forEach(e=>{s.push(t[e])}),s}function ys(t){let i=Y(t);return t[i]}function As(t){let i=J(t);return t[i]}function Ss(t){return new Map(Object.entries(t))}function Ts(t){let i=new WeakMap;for(let s=0;s<t.length;s++)i.set(t[s],s);return i}function K(t,i){let s=H;return t.forEach((e,h)=>{h===i&&(s=h)}),s==H}function qs(t){return t.map((i,s)=>s).filter(i=>i!==void 0)}function Hs(t){let i=get_ary_nonhole_indexes(t),s=[];for(let e=0;e<t.length;e++)i.includes(e)||s.push(e);return s}function Os(t){return get_ary_nonhole_indexes(t).length!==t.length}function Ds(t,i=void 0){let s=get_ary_nonhole_indexes(t);for(let e=0;e<t.length;e++)s.includes(e)||(t[e]=i);return t}function Ns(t,i){let s=0;for(let e of t)e===i&&(s=s+1);return s}function L(t,i){return t.toString()===i&&t>=0&&t<2**32-1}function Es(t){let i=parseInt(t);return L(i,t)}function X(t,i,s){let[e,h]=[0,t.length];return s>=e&&s<h?K(t,s)?H:Reflect.get(t,i):R}function G(t,i){let s=parseInt(i);return L(s,i)?X(t,i,s):Reflect.get(t,i)}function Rs(t,i){return typeof i=="string"?G(t,i):W(i)?X(t,i,i):Reflect.get(t,i)}function Ls(t){return new Proxy(t,{get:function(s,e,h){return G(s,e)}})}var Z={index_not_in_range:new Error("index_not_in_range")};function tt(t,i,s,e){let[h,r]=[0,t.length];if(s>=h&&s<r){if(e===R)throw _s.noexist_is_not_assignable;return Reflect.set(t,i,e)}else throw Z.index_not_in_range}function M(t,i,s){let e=parseInt(i);L(e,i)?tt(t,i,e,s):Reflect.set(t,i,s)}function Gs(t,i,s){typeof i=="string"?M(t,i,s):W(i)?tt(t,i,i,s):Reflect.set(t,i,s)}function Ms(t){return new Proxy(t,{set:function(s,e,h,r){M(s,e,h)}})}function js(t){return new Proxy(t,{get:function(s,e,h){return G(s,e)},set:function(s,e,h,r){M(s,e,h)}})}var Ps=(t,i,s)=>{for(let e of s)i=t(i,e);return i},Vs=(t,i,s)=>{let e=i.length-1;for(let h=e-1;h>-1;h--)s=t(i[h],s);return s};function Cs(t,i){return t.filter((s,e)=>i.includes(e))}function Qs(t,i,s=!0){return t.length===0?s:t.every(i)}var $s=(t,i)=>t.length>i.length?[i,t]:[t,i],zs=(t,i)=>t[0]>i[0]?[i,t]:[t,i],Bs=(t,i)=>t[1]>i[1]?[i,t]:[t,i],Fs=(t,i)=>{let[s,e]=t,[h,r]=i;return e<=h?null:h>=s?e<=r?[h,e]:[h,r]:e<=r?[s,e]:r<=s?null:[s,r]},D=(t,i)=>{let[s,e]=t,[h,r]=i;return e===h?[10,t,i]:e<h?[1,t,[e,h],i]:h===s?r<e?[-12,[h,r],[r,e]]:r===e?[0,t]:[12,t,[e,r]]:h>s?r<e?[-13,[s,h],i,[r,e]]:r===e?[-14,[s,h],i]:[11,[s,h],[h,e],[e,r]]:r<s?[2,i,[r,s],t]:r===s?[-10,i,t]:r<e?[-11,[h,s],[s,r],[r,e]]:r===e?[14,[h,s],t]:[13,[h,s],[s,r],[r,e]]};D.SEG_TYPES={overlap:0,fst0:101,fst1:102,fst:103,snd0:201,snd1:202,snd:203};D.SHAPE_TYPES={overlap:0,fst_other_snd:1,snd_other_fst:2,fst_snd:10,fst0_overlap_snd1:11,fst_snd1:12,snd0_fst_snd1:13,snd0_fst:14,snd_fst:-10,snd0_overlap_fst1:-11,snd_fst1:-12,fst0_snd_fst1:-13,fst0_snd:-14};D.F={0:t=>[t[1],t[1]],1:t=>[t[1],t[3]],2:t=>[t[3],t[1]],10:t=>[t[1],t[2]],11:t=>[[t[1][0],t[2][1]],[t[2][0],t[3][1]]],12:t=>[t[1],[t[1][0],t[2][1]]],13:t=>[t[2],[t[1][0],t[3][1]]],14:t=>[t[2],[t[1][0],t[2][1]]],"-10":t=>[t[2],t[1]],"-11":t=>[[t[2][0],t[3][1]],[t[1][0],t[2][1]]],"-12":t=>[[t[1][0],t[2][1]],t[1]],"-13":t=>[[t[1][0],t[3][1]],t[2]],"-14":t=>[[t[1][0],t[2][1]],t[2]]};var Ws=(t,i)=>{let[s,e]=t,[h,r]=i;return!(e<=h||r<=s)},Us=(t,i)=>{let[s,e]=t,[h,r]=i;return Math.min(e-s,r-h)};st.exports={eq:gs,bin:xs,clear:t=>t.splice(0,1/0),head:t=>t[0],tail:t=>t.slice(1),mid:t=>t.slice(1,q(t)),init:t=>t.slice(0,q(t)),lsti:q,lst:t=>t[q(t)],slst:(t,i)=>{t[t[__l]-1]=i},uniform_index:ms,validate_index:U,validate_value:ks,validate_vi:bs,some:ps,some_not:ds,interval:vs,odd:t=>t.filter((i,s)=>s%2),even:t=>t.filter((i,s)=>!(s%2)),freq:Ns,combine:ws,mid_index_pair:O,mid_index_left:Y,mid_index_right:J,mid_value_pair:Is,mid_value_left:ys,mid_value_right:As,ibfr:(t,i,s)=>(t.splice(i,0,s),t),iaft:(t,i,s)=>(t.splice(i+1,0,s),t),rm:(t,i)=>{let s=t[i];return t.splice(i,1),s},rplc:(t,i,s)=>t[i]=s,cp:t=>t.slice(0),to_map:Ss,to_wmap:Ts,is_hole_element_at:K,get_nonhole_indexes:qs,get_hole_indexes:Hs,has_hole:Os,fill_hole:Ds,is_index:Es,ERROR_DICT:Z,safe_get:Rs,creat_safe_getter_proxy:Ls,safe_set:Gs,creat_safe_setter_proxy:Ms,creat_safe_gsetter_proxy:js,hole:H,noexist:R,foldl:Ps,foldr:Vs,islct:Cs,every:Qs,sort_2rng_via_length:$s,sort_2rng_via_si:zs,sort_2rng_via_ei:Bs,split_2rng:D,get_overlap_of_2rng:Fs,is_2rng_overlap:Ws,get_min_length_of_2rng:Us}});var nt=o((pe,rt)=>{var Ys=it(),I=Symbol("dummy");function*Js(t){for(let i=0;i<2**t.length;i++){let s=Ys.bin(i,t.length).reverse();yield t.filter((h,r)=>s[r]===1)}}function Ks(t){return t.cache.filter(i=>i===I).length===0}function Xs(t){return t.depth===0}function Zs(t){let i=Array.from({length:t.length}).map(h=>I),s=Object.entries(t).map(h=>[parseInt(h[0]),{origi:parseInt(h[0]),cachei:null,origv:h[1]}]);return{desc:Object.fromEntries(s),cache:i,ctrl:null,depth:0}}function ti(t){let i=t.cache.indexOf(I);return i>=0?(t.ctrl=t.desc[t.depth],t.ctrl.cachei=i,t.cache[i]=t.ctrl,t.depth=t.depth+1,t):null}function et(t){if(Xs(t))return null;{let i=t.ctrl.origi-1,s=i>=0?t.desc[i]:null,e=t.ctrl.cachei;return t.cache[e]=I,t.ctrl.cachei=null,t.ctrl=s,t.depth=t.depth-1,t}}function si(t){if(t.ctrl===null)return null;let s=t.ctrl.cachei+1,e=!1;for(;s<t.cache.length;)if(t.cache[s]===I){e=!0;break}else s=s+1;return e?s:null}function ht(t){let i=si(t);return i!==null?(t.cache[t.ctrl.cachei]=I,t.cache[i]=t.ctrl,t.ctrl.cachei=i,t):null}function ii(t){let i=et(t);for(;i!==null;){let s=ht(i);if(s!==null)return s;i=et(i)}return i}function ei(t){let i=ti(t);if(i!==null)return i;{let s=ht(t);return s!==null?s:ii(t)}}function*hi(t){let i=Zs(t);for(;i!==null;)Ks(i)&&(yield i.cache.map(s=>s.origv)),i=ei(i)}rt.exports={comb:Js,perm:hi}});var ct=o((de,lt)=>{lt.exports=(t,i,...s)=>{let e=s.map(n=>Array.isArray(n)?[n[0],n[1]]:[n,n+1]).filter(([n,a])=>n<i&&a>t);e=e.map(([n,a])=>[Math.max(n,t),Math.min(a,i)]),e.sort((n,a)=>n[0]-a[0]);let h=[];if(e.length>0){let n=e[0];for(let a=1;a<e.length;a++){let c=e[a];c[0]<n[1]?n[1]=Math.max(n[1],c[1]):(h.push(n),n=c)}h.push(n)}let r=[],l=t;for(let[n,a]of h)n>l&&r.push([!1,l,n]),r.push([!0,n,a]),l=a;return l<i&&r.push([!1,l,i]),r}});var ft=o((ve,at)=>{var ri=ct(),S=(t,i,...s)=>{let e=ri(0,t.length,...s),h="";for(let[r,l,n]of e)r?h+=i(l,n,t):h+=t.slice(l,n);return h},ni=(t,...i)=>S(t,(s,e,h)=>h.slice(s,e).toUpperCase(),...i),li=(t,...i)=>S(t,(s,e,h)=>h.slice(s,e).toLowerCase(),...i);S.up=ni;S.lo=li;at.exports=S});var ut=o((xe,ot)=>{var{comb:ci}=nt(),ai=ft(),fi=(t,i=new Set)=>{t=t.toUpperCase();let s=Array.from({length:t.length}).map((h,r)=>r),e=ci(s);for(let h of e){let r=ai.lo(t,...h);i.add(r)}return i};ot.exports=t=>{let i=new Set;for(let s of t)fi(s,i);return Object.freeze(i),i}});var j=o((ge,xt)=>{var _t=ut(),kt=_t(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Object.freeze(kt);var bt=_t(["class","rel","sandbox","allow","headers","aria-describedby","aria-labelledby"]);Object.freeze(bt);var pt=-(2**31),dt=pt+1,oi=dt+1,ui=-1,vt=JSON.parse(JSON.stringify({text:1,open:2,leaf:3,clos:4}));Object.freeze(vt);xt.exports={VOID_TAGS:kt,NEED_TO_SP_ATTR_NMS:bt,EOF:pt,NUL:dt,EMPTY_STR:oi,UNKNOWN:ui,TYPES:vt}});var wt=o((we,gt)=>{var{NUL:_i,EMPTY_STR:ki}=j();gt.exports=function(t){let i=[],s=this.rslts;for(let e=0;e<s.length;e+=4){let h=s[e],r=s[e+1],l=s[e+2],n=s[e+3];if(r!==-1){let a=t.slice(h,r),c;l===_i?c=null:l===ki?c="":c=t.slice(l,n),i.push([a,c])}else{let a=h,c=t.slice(l,n);i.push([a,c])}}return i}});var It=o((me,mt)=>{var bi=t=>t===9||t===11||t===12||t===65279,pi=t=>t===32||t===160||t===5760||t>=8192&&t<=8202||t===8239||t===8287||t===12288,di=t=>t===32||t===9||t===11||t===12||t===160||t===5760||t===65279||t>=8192&&t<=8202||t===8239||t===8287||t===12288;mt.exports={is_ws:di,is_not_usp:bi,is_usp:pi,esc_t_cd:9,esc_v_cd:11,esc_f_cd:12,sp_cd:32,sp160_cd:160,_5760_cd:5760,_2000_cd:8192,_2001_cd:8193,_2002_cd:8194,_2003_cd:8195,_2004_cd:8196,_2005_cd:8197,_2006_cd:8198,_2007_cd:8199,_2008_cd:8200,_2009_cd:8201,_200a_cd:8202,_202f_cd:8239,_205f_cd:8287,_3000_cd:12288,_feff_cd:65279}});var At=o((Ie,yt)=>{var vi=t=>t===10||t===13||t===8232||t===8233,xi=t=>t===8232||t===8233,gi=t=>t===13;yt.exports={is_nl:vi,can_in_single_q_slit_except_for_ln_conti:xi,can_be_lefted:gi,esc_n_cd:10,esc_r_cd:13,_8232_cd:8232,_8233_cd:8233}});var Dt=o((ye,Ot)=>{var wi=t=>t>=55296&&t<=56319,St=t=>t>=48&&t<=57,mi=t=>t===qt||t===Ht,Ii=t=>t>=65&&t<=90||t>=97&&t<=122,Tt=t=>Ii(t)||t===95||t===45,yi=t=>Tt(t)||St(t)||t===58,{is_ws:Ai}=It(),{is_nl:Si}=At(),Ti=t=>Ai(t)||Si(t)||t===44||t===59,qi=60,Hi=62,Oi=47,qt=34,Di=61,Ni=33,Ht=39,Ei=58,Ri=45;Ot.exports={is_u16_hi_cd:wi,is_digit:St,is_sp:Ti,is_start:Tt,is_follow:yi,is_q:mi,LT:qi,GT:Hi,DIV:Oi,DQ:qt,EQ:Di,BANG:Ni,SQ:Ht,COLON:Ei,DASH:Ri}});var Ft=o((qe,Bt)=>{var{is_u16_hi_cd:Li,is_sp:Gi,is_digit:Mi,is_start:ji,is_follow:Ae,is_q:Se,LT:Pi,GT:Vi,DIV:Ci,DQ:Qi,EQ:$i,BANG:zi,SQ:Bi,COLON:Fi,DASH:Te}=Dt(),Nt=1,Et=2,Rt=3,Lt=4,Gt=5,Mt=6,jt=7,Pt=8,Vt=9,Ct=10,Qt=11,$t=12,zt=13,k=t=>ji(t)?Nt:Mi(t)?Et:t===Fi?Rt:Gi(t)?Lt:t===Pi?Gt:t===Ci?Mt:t===Vi?jt:t===$i?Pt:t===Qi?Vt:t===Bi?Ct:t===zi?Qt:Li(t)?$t:zt;k.HISTART=Nt;k.HIDIGIT=Et;k.HICOLON=Rt;k.HISP=Lt;k.HILT=Gt;k.HIDIV=Mt;k.HIGT=jt;k.HIEQ=Pt;k.HIDQ=Vt;k.HISQ=Ct;k.HIBANG=Qt;k.HI_INVALID_ADV_2=$t;k.HI_INVALID_ADV_1=zt;Bt.exports=k});var Yt=o((He,Ut)=>{var{VOID_TAGS:Wt,NEED_TO_SP_ATTR_NMS:N}=j(),Wi=Ft();Ut.exports=function(t,i=!0){let[s,e]=this.conti(t);for(;s<e.length;){let h=Wi(e.charCodeAt(s));switch(this.stt){case 1:{switch(h){case 5:{this.tei=s,this.tei-this.tsi>0&&this.rslts.push(1,-1,this.tsi,this.tei),this.tsi=-1,this.tei=-1,this.stt=12,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}case 2:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.tei=s,Wt.has(e.slice(this.tsi,this.tei))?(this.rslts.push(3,-1,this.tsi,this.tei),this.stt=14):(this.rslts.push(2,-1,this.tsi,this.tei),this.stt=15),this.tsi=-1,this.tei=-1,s+=1;break}case 6:{this.tei=s,this.rslts.push(3,-1,this.tsi,this.tei),this.tsi=-1,this.tei=-1,this.stt=32,s+=1;break}case 7:{this.tei=s,Wt.has(e.slice(this.tsi,this.tei))?this.rslts.push(3,-1,this.tsi,this.tei):this.rslts.push(2,-1,this.tsi,this.tei),this.tei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.tsi=-1,this.tei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.tsi=-1,this.tei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 3:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.tei=s,this.rslts.push(4,-1,this.tsi,this.tei),this.tsi=-1,this.tei=-1,this.stt=32,s+=1;break}case 6:{this.tei=s,this.rslts.push(4,-1,this.tsi,this.tei),this.tsi=-1,this.tei=-1,this.stt=32,s+=1;break}case 7:{this.tei=s,this.rslts.push(4,-1,this.tsi,this.tei),this.tei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.tsi=-1,this.tei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.tsi=-1,this.tei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 4:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.kei=s,this.stt=22,s+=1;break}case 6:{this.kei=s,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.kei=s,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 8:{this.kei=s,this.stt=16,s+=1;break}case 12:{this.ksi=-1,this.kei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.ksi=-1,this.kei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 5:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.kei=s,this.stt=23,s+=1;break}case 6:{this.rslts[this.find_lst_open_tag_idx_in_rslts()]=3,this.kei=s,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.kei=s,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 8:{this.kei=s,this.stt=17,s+=1;break}case 12:{this.ksi=-1,this.kei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.ksi=-1,this.kei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 6:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=14,s+=1;break}case 6:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=32,s+=1;break}case 7:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 7:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=15,s+=1;break}case 6:{this.rslts[this.find_lst_open_tag_idx_in_rslts()]=3,this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=32,s+=1;break}case 7:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 8:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.vsi=-1,this.vei=-1,this.stt=18,s+=1;break}case 9:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=14,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 9:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.vsi=-1,this.vei=-1,this.stt=19,s+=1;break}case 9:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=15,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 10:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.vsi=-1,this.vei=-1,this.stt=20,s+=1;break}case 10:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=14,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 11:{switch(h){case 1:{s+=1;break}case 2:{s+=1;break}case 3:{s+=1;break}case 4:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.vsi=-1,this.vei=-1,this.stt=21,s+=1;break}case 10:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=15,s+=1;break}case 12:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.vsi=-1,this.vei=-1,this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 12:{switch(h){case 1:{this.tsi=s,this.stt=2,s+=1;break}case 4:{s+=1;break}case 6:{this.stt=13,s+=1;break}case 7:{this.tsi=s+1,this.stt=1,s+=1;break}case 11:{this.stt=32,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 13:{switch(h){case 1:{this.tsi=s,this.stt=3,s+=1;break}case 4:{s+=1;break}case 6:{s+=1;break}case 7:{this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 14:{switch(h){case 1:{this.ksi=s,this.stt=4,s+=1;break}case 4:{s+=1;break}case 6:{this.stt=32,s+=1;break}case 7:{this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 15:{switch(h){case 1:{this.ksi=s,this.stt=5,s+=1;break}case 4:{s+=1;break}case 6:{this.rslts[this.find_lst_open_tag_idx_in_rslts()]=3,this.stt=32,s+=1;break}case 7:{this.tsi=s+1,this.stt=1,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 16:{switch(h){case 1:{this.vsi=s,this.stt=6,s+=1;break}case 4:{s+=1;break}case 6:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.tsi=-1,this.tei=-1,this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 9:{N.has(e.slice(this.ksi,this.kei))?this.stt=18:this.stt=28,s+=1;break}case 10:{N.has(e.slice(this.ksi,this.kei))?this.stt=20:this.stt=30,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 17:{switch(h){case 1:{this.vsi=s,this.stt=7,s+=1;break}case 4:{s+=1;break}case 6:{this.rslts[this.find_lst_open_tag_idx_in_rslts()]=3,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 9:{N.has(e.slice(this.ksi,this.kei))?this.stt=19:this.stt=29,s+=1;break}case 10:{N.has(e.slice(this.ksi,this.kei))?this.stt=21:this.stt=31,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 18:{switch(h){case 1:{this.vsi=s,this.stt=8,s+=1;break}case 4:{s+=1;break}case 9:{this.ksi=-1,this.kei=-1,this.stt=14,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 19:{switch(h){case 1:{this.vsi=s,this.stt=9,s+=1;break}case 4:{s+=1;break}case 9:{this.ksi=-1,this.kei=-1,this.stt=15,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 20:{switch(h){case 1:{this.vsi=s,this.stt=10,s+=1;break}case 4:{s+=1;break}case 10:{this.ksi=-1,this.kei=-1,this.stt=14,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 21:{switch(h){case 1:{this.vsi=s,this.stt=11,s+=1;break}case 4:{s+=1;break}case 10:{this.ksi=-1,this.kei=-1,this.stt=15,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 22:{switch(h){case 4:{s+=1;break}case 6:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 8:{this.stt=16,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 23:{switch(h){case 4:{s+=1;break}case 6:{this.rslts[this.find_lst_open_tag_idx_in_rslts()]=3,this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.stt=32,s+=1;break}case 7:{this.rslts.push(this.ksi,this.kei,-2147483647,-2147483647),this.ksi=-1,this.kei=-1,this.tsi=s+1,this.stt=1,s+=1;break}case 8:{this.stt=17,s+=1;break}case 12:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=2;break}default:{this.stt<12?this.stt=this.stt+10<<8:this.stt=this.stt<<8,s+=1;break}}break}case 24:{switch(h){case 9:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=14,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}case 25:{switch(h){case 9:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=15,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}case 26:{switch(h){case 10:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=14,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}case 27:{switch(h){case 10:{this.vei=s,this.rslts.push(this.ksi,this.kei,this.vsi,this.vei),this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.stt=15,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}case 28:{switch(h){case 9:{this.rslts.push(this.ksi,this.kei,-2147483646,-2147483646),this.ksi=-1,this.kei=-1,this.stt=14,s+=1;break}case 12:{this.vsi=s,this.stt=24,s+=2;break}default:{this.vsi=s,this.stt=24,s+=1;break}}break}case 29:{switch(h){case 9:{this.rslts.push(this.ksi,this.kei,-2147483646,-2147483646),this.ksi=-1,this.kei=-1,this.stt=15,s+=1;break}case 12:{this.vsi=s,this.stt=25,s+=2;break}default:{this.vsi=s,this.stt=25,s+=1;break}}break}case 30:{switch(h){case 10:{this.rslts.push(this.ksi,this.kei,-2147483646,-2147483646),this.ksi=-1,this.kei=-1,this.stt=14,s+=1;break}case 12:{this.vsi=s,this.stt=26,s+=2;break}default:{this.vsi=s,this.stt=26,s+=1;break}}break}case 31:{switch(h){case 10:{this.rslts.push(this.ksi,this.kei,-2147483646,-2147483646),this.ksi=-1,this.kei=-1,this.stt=15,s+=1;break}case 12:{this.vsi=s,this.stt=27,s+=2;break}default:{this.vsi=s,this.stt=27,s+=1;break}}break}case 32:{switch(h){case 7:{this.tsi=s+1,this.stt=1,s+=1;break}case 12:{s+=2;break}default:{s+=1;break}}break}default:{this.stt=this.stt>>8,s+=1;break}}}return this.pause(e,i)}});var Kt=o((Oe,Jt)=>{Jt.exports=function(t,i=!0){this.lefted="";let s="",e="";if(this.tsi!==-1)if(this.tei!==-1){let h=this.lefted.length;this.lefted+=t.substring(this.tsi,t.length),this.tsi=h,this.tei=this.lefted.length}else s=t.substring(this.tsi,t.length),e="t";else if(this.ksi!==-1)if(this.kei!==-1){let h=this.lefted.length;this.lefted+=t.substring(this.ksi,t.length),this.ksi=h,this.kei=this.lefted.length}else s=t.substring(this.ksi,t.length),e="k";else if(this.vsi!==-1)if(this.vei!==-1){let h=this.lefted.length;this.lefted+=t.substring(this.vsi,t.length),this.vsi=h,this.vei=this.lefted.length}else s=t.substring(this.vsi,t.length),e="v";if(e!==0&&(this[e+"si"]=this.lefted.length,this.lefted+=s,this[e+"ei"]=-1),this.rslts.length>0){let h=-1;(this.stt===2||this.stt===5||this.stt===7||this.stt===15||this.stt===17||this.stt===23)&&(h=this.find_lst_open_tag_idx_in_rslts());let l;if(h!==-1){let n=this.rslts.slice(h);if(this.rslts.splice(h,1/0),this.rslts.length>0)return l=i?this.transform_rslts(t):this.rslts,this.rslts=n,l;this.rslts=n;return}else return l=i?this.transform_rslts(t):this.rslts,this.rslts=[],l}else return}});var Zt=o((De,Xt)=>{Xt.exports=function(t=!0){if(this.lefted.length>0&&(this.input(" "),this.input(">")),this.rslts.length>0){let s;return t?s=this.transform_rslts():s=this.rslts,this.reset(),s}else{this.reset();return}}});var y=o((Ne,ts)=>{function g(){this.stt=1,this.tsi=0,this.tei=-1,this.ksi=-1,this.kei=-1,this.vsi=-1,this.vei=-1,this.lefted="",this.rslts=[]}g.prototype.reset=Q();g.prototype.find_lst_open_tag_idx_in_rslts=z();g.prototype.conti=F();g.prototype.transform_rslts=wt();g.prototype.input=Yt();g.prototype.pause=Kt();g.prototype.finish=Zt();ts.exports=g});var is=o((Ee,ss)=>{var Ui=y(),Yi=new Ui,Ji=new Set(["style","script","textarea","title"]);ss.exports=(t,i=Yi)=>{let s=i.input(t,!1)||[],e=i.finish(!1)||[],h=["root",{},[]],r=[h],l=-1,n=(c,u)=>t.slice(c,u),a=c=>{for(let u=0;u<c.length;u+=4){let f=c[u],b=c[u+1],_=c[u+2],d=c[u+3],p=r[r.length-1];if(l!==-1){f===4&&n(_,d)===p[0]&&(p[2].push(["",{___text___:n(l,_)},[]]),l=-1,r.pop());continue}if(f===1)p[2].push(["",{___text___:n(_,d)},[]]);else if(f===2||f===3){let v=n(_,d),x=[v,{},[]];p[2].push(x),f===2&&(r.push(x),Ji.has(v)&&(l=d))}else if(f===4)r.length>1&&r.pop();else{let v=n(f,b),x=n(_,d);p[1][v]=x}}};return a(s),a(e),h[2]}});var rs=o((Re,hs)=>{var Ki=y(),Xi=new Ki,es=new Set(["style","script","textarea","title"]);hs.exports=(t,i=Xi)=>{let s=i.input(t,!1)||[],e=i.finish(!1)||[],h={},r=[h],l=[{tag:"root",id:"",cls:[]}],n=0,a=(f,b)=>t.slice(f,b);function c(){if(l.length<=1)return;let f=l.pop();r.pop();let b=r[r.length-1],_=f.tag;f.id&&(_+=`#${f.id}`),f.cls.length>0&&(_+=`.${f.cls.join(".")}`);let d=Object.keys(f.children_obj).length>0;b[_]=d?f.children_obj:null}let u=f=>{for(let b=0;b<f.length;b+=4){let _=f[b],d=f[b+1],p=f[b+2],v=f[b+3],x=l[l.length-1];if(n>0){if(_===4){let m=a(p,v);es.has(m)&&(n--,n===0&&c())}continue}if(_===2||_===3){let m=a(p,v),A={tag:m,id:"",cls:[],children_obj:{}};l.push(A),r.push(A.children_obj),es.has(m)?n++:_===3&&c()}else if(_===4)c();else if(_>4){let m=a(_,d);if(m==="id")x.id=a(p,v);else if(m==="class"){let A=a(p,v);x.cls.includes(A)||x.cls.push(A)}}}};return u(s),u(e),h}});var ls=o((Le,ns)=>{var Zi=new Set(["style","script","textarea","title"]),te=y(),P=class extends te{#i="";#e=-1;#s={};open;leaf;clos;text;set_open(i){this.open=i}set_leaf(i){this.leaf=i}set_clos(i){this.clos=i}set_text(i){this.text=i}reset_cb({ocb:i,lcb:s,ccb:e,tcb:h}={}){this.open=i,this.leaf=s,this.clos=e,this.text=h}constructor(i){super(),this.reset_cb(i)}#t(i,s){let e=(h,r)=>s.slice(h,r);for(let h=0;h<i.length;h+=4){let r=i[h],l=i[h+1],n=i[h+2],a=i[h+3];if(this.#i!==""){if(r===4){let c=e(n,a);c===this.#i&&(this.text&&this.text(e(this.#e,n)),this.clos&&this.clos(c),this.#i="",this.#e=-1)}continue}if(r===1)this.text&&this.text(e(n,a));else if(r===2||r===3){let c=e(n,a);r===2?(this.open&&this.open(c,this.#s),Zi.has(c)&&(this.#i=c,this.#e=a)):this.leaf&&this.leaf(c,this.#s),this.#s={}}else r===4?this.clos&&this.clos(e(n,a)):(this.open||this.leaf)&&(this.#s[e(r,l)]=e(n,a))}}exe(i){let s=this.input(i,!1)??[];this.#t(s,i)}fin(){let i=this.finish(!1)??[];this.#t(i,"")}};ns.exports=t=>new P(t)});var as=o((Ge,cs)=>{var w=t=>{var i;return((i=t==null?void 0:t.constructor)==null?void 0:i.name)==="AsyncFunction"},se=new Set(["style","script","textarea","title"]),ie=y(),V=class extends ie{#i="";#e=-1;#s={};#t={open:!1,leaf:!1,clos:!1,text:!1};open;leaf;clos;text;set_open(i){this.open=i,this.#t.open=w(i)}set_leaf(i){this.leaf=i,this.#t.leaf=w(i)}set_clos(i){this.clos=i,this.#t.clos=w(i)}set_text(i){this.text=i,this.#t.text=w(i)}reset_cb({ocb:i,lcb:s,ccb:e,tcb:h}={}){this.open=i,this.leaf=s,this.clos=e,this.text=h,this.#t.open=w(i),this.#t.leaf=w(s),this.#t.clos=w(e),this.#t.text=w(h)}constructor(i){super(),this.reset_cb(i)}async#h(i,s){let e=(h,r)=>s.slice(h,r);for(let h=0;h<i.length;h+=4){let r=i[h],l=i[h+1],n=i[h+2],a=i[h+3];if(this.#i!==""){if(r===4){let c=e(n,a);if(c===this.#i){if(this.text){let u=e(this.#e,n);this.#t.text?await this.text(u):this.text(u)}this.clos&&(this.#t.clos?await this.clos(c):this.clos(c)),this.#i="",this.#e=-1}}continue}if(r===1){if(this.text){let c=e(n,a);this.#t.text?await this.text(c):this.text(c)}}else if(r===2||r===3){let c=e(n,a);r===2?(this.open&&(this.#t.open?await this.open(c,this.#s):this.open(c,this.#s)),se.has(c)&&(this.#i=c,this.#e=a)):this.leaf&&(this.#t.leaf?await this.leaf(c,this.#s):this.leaf(c,this.#s)),this.#s={}}else if(r===4){if(this.clos){let c=e(n,a);this.#t.clos?await this.clos(c):this.clos(c)}}else(this.open||this.leaf)&&(this.#s[e(r,l)]=e(n,a))}}async exe(i){let s=this.input(i,!1)??[];await this.#h(s,i)}async fin(){let i=this.finish(!1)??[];await this.#h(i,"")}};cs.exports=t=>new V(t)});var fs=o((Me,T)=>{var ee=y(),he=is(),re=rs(),ne=ls(),le=as(),E=t=>{var i;return((i=t==null?void 0:t.constructor)==null?void 0:i.name)==="AsyncFunction"},ce=t=>E(t.ocb)||E(t.lcb)||E(t.ccb)||E(t.tcb);T.exports=async(t,{ocb:i,lcb:s,ccb:e,tcb:h})=>{let r={ocb:i,lcb:s,ccb:e,tcb:h},l=ce(r),n=l?le(r):ne(r);return l?(await n.exe(t),await n.fin()):(n.exe(t),n.fin()),n};T.exports.Mach=ee;T.exports.s2tac=he;T.exports.s2hson=re});var fe=o((je,us)=>{var ae=fs().s2hson,os=(t,i=2,s=0)=>{if(t===null)return"";let e="",h=" ".repeat(s*i);for(let r in t){let l=r,n="",a=[];if(l.includes("#")){let u=l.split("#");l=u[0];let f=u[1].split(".");n=f[0],f.length>1&&(a=f.slice(1))}else if(l.includes(".")){let u=l.split(".");l=u[0],a=u.slice(1)}e+=`${h}<${l}`,n&&(e+=` id="${n}"`),a.length>0&&(e+=` class="${a.join(" ")}"`);let c=t[r];c===null?e+=`></${l}>
|
|
2
|
+
`:(e+=`>
|
|
3
|
+
`,e+=os(c,i,s+1),e+=`${h}</${l}>
|
|
4
|
+
`)}return e};us.exports={ser:os,der:ae}});return fe();})();
|
package/TEST/tst.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
let d = {
|
|
2
|
+
'button#btn.c0': null,
|
|
3
|
+
'button#btn.c0.c1': {
|
|
4
|
+
'div#placeholder.empty': null,
|
|
5
|
+
'div#text-box.text-wrap': null,
|
|
6
|
+
'slots#dyn-parent.slot-color': null
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
console.dir(d,{depth:null})
|
|
10
|
+
let s = require("../index").ser(d);
|
|
11
|
+
console.log(s);
|
|
12
|
+
let D = require("../index").der(s);
|
|
13
|
+
console.dir(D,{depth:null});
|
package/com.sh
ADDED
|
File without changes
|
package/index.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const der = require("nv-hson-der-from-str-cmmn").s2hson;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* HSON 序列化器:将 HSON 对象还原为 HTML 字符串
|
|
5
|
+
* @param {Object|null} hson - HSON 节点
|
|
6
|
+
* @returns {string}
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* HSON 序列化器:将 HSON 还原为带缩进的 HTML
|
|
10
|
+
* @param {Object|null} hson - HSON 节点
|
|
11
|
+
* @param {number} indent - 缩进空格数 (默认 2)
|
|
12
|
+
* @param {number} _depth - 内部追踪深度
|
|
13
|
+
* @returns {string}
|
|
14
|
+
*/
|
|
15
|
+
const ser = (hson, indent = 2, _depth = 0) => {
|
|
16
|
+
if (hson === null) return "";
|
|
17
|
+
|
|
18
|
+
let html = "";
|
|
19
|
+
const space = " ".repeat(_depth * indent);
|
|
20
|
+
|
|
21
|
+
for (let key in hson) {
|
|
22
|
+
// 1. 解析复合 Key: "tag#id.cls1.cls2"
|
|
23
|
+
let tag = key;
|
|
24
|
+
let id = "";
|
|
25
|
+
let classes = [];
|
|
26
|
+
|
|
27
|
+
if (tag.includes('#')) {
|
|
28
|
+
const parts = tag.split('#');
|
|
29
|
+
tag = parts[0];
|
|
30
|
+
const subParts = parts[1].split('.');
|
|
31
|
+
id = subParts[0];
|
|
32
|
+
if (subParts.length > 1) classes = subParts.slice(1);
|
|
33
|
+
} else if (tag.includes('.')) {
|
|
34
|
+
const parts = tag.split('.');
|
|
35
|
+
tag = parts[0];
|
|
36
|
+
classes = parts.slice(1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// 2. 构建开始标签并换行缩进
|
|
40
|
+
html += `${space}<${tag}`;
|
|
41
|
+
if (id) html += ` id="${id}"`;
|
|
42
|
+
if (classes.length > 0) html += ` class="${classes.join(' ')}"`;
|
|
43
|
+
|
|
44
|
+
const children = hson[key];
|
|
45
|
+
|
|
46
|
+
if (children === null) {
|
|
47
|
+
// 3. 叶子节点:直接在一行内闭合,或者换行闭合
|
|
48
|
+
html += `></${tag}>\n`;
|
|
49
|
+
} else {
|
|
50
|
+
// 4. 容器节点:递归处理子项,增加深度
|
|
51
|
+
html += `>\n`;
|
|
52
|
+
html += ser(children, indent, _depth + 1);
|
|
53
|
+
html += `${space}</${tag}>\n`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return html;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
module.exports = {
|
|
61
|
+
ser,der
|
|
62
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nvhson",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
7
|
+
},
|
|
8
|
+
"author": "",
|
|
9
|
+
"license": "ISC",
|
|
10
|
+
"description": "",
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"nv-hson-der-from-str-cmmn": "^1.0.0"
|
|
13
|
+
}
|
|
14
|
+
}
|