nv-basic-bw 1.0.0 → 1.0.1

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.
@@ -1,7 +1,7 @@
1
- var nvbasicbw=(()=>{var N=(e,l)=>()=>(l||e((l={exports:{}}).exports,l),l.exports);var F=N(($,k)=>{var d=e=>e.constructor.name==="AsyncFunction",S=e=>{let l=0;for(;e&&e.parentNode;)e=e.parentNode,l++;return l},x=(e,l)=>{if(l>0){let r=1;for(;;){let t=e.parentNode;if(r===l)return t;e=t,++r}}else return e},C=e=>{for(;e.parentNode;)e=e.parentNode;return e},g=e=>{let l=0;for(;e.lastChild;)e=e.lastChild,++l;return[e,l]},y=e=>{let l=0;for(;;){let r=e.firstChild;if(r)++l,e=r;else return[e,l]}},b=(e,l)=>{if(e.nextSibling)return[e.nextSibling,l];let r=e.parentNode,t=l;for(;r;){if(t-=1,r.nextSibling)return[r.nextSibling,t];r=r.parentNode}return[null,-1]},w=async(e,l=(r,t)=>{})=>{let[r,t]=g(e),s=e,a=d(l),i=0;for(;;){let n=!1;if(a?n=await l(s,i):n=l(s,i),n||s===r)return;{let f=s.firstChild;if(f)++i,s=f;else{let _=b(s,i);if(s=_[0],s)i=_[1];else break}}}},m=(e,l)=>{if(e.prevSibling)return[e.prevSibling,l];let r=e.parentNode,t=l;for(;r;){if(t-=1,r.prevSibling)return[r.prevSibling,t];r=r.parentNode}return[null,-1]},v=async(e,l=(r,t)=>{})=>{let[r,t]=y(e),s=e,a=d(l),i=0;for(;;){let n=!1;if(a?n=await l(s,i):n=l(s,i),n||s===r)return;{let f=s.firstChild;if(f)++i,s=f;else{let _=m(s,i);if(s=_[0],s)i=_[1];else break}}}},A=async(e,l=(r,t)=>{})=>{let[r,t]=y(e),s=d(l);for(;;){let a=!1;if(s?a=await l(r,t):a=l(r,t),a||r===e)return;{let i=r.nextSibling;if(i){let n=y(i);t+=n[1],r=n[0]}else{let n=r.parentNode;if(n)--t,r=n;else break}}}},q=async(e,l=(r,t)=>{})=>{let[r,t]=g(e),s=d(l);for(;;){let a=!1;if(s?a=await l(r,t):a=l(r,t),a||r===e)return;{let i=r.prevSibling;if(i){let n=g(i);t+=n[1],r=n[0]}else{let n=r.parentNode;if(n)--t,r=n;else break}}}},o=async(e,l=(t,s)=>{},r=(t,s)=>{})=>{let t=e,s="open",a={open:[r,d(r)],clos:[l,d(l)]},i=0;for(;;){let n=!1,[f,_]=a[s];if(s==="open"){if(_?n=await f(t,i):n=f(t,i),n)return;{let c=t.firstChild;c?(t=c,++i):s="clos"}}else{let c,h,p,u=t.nextSibling;if(u?(p="open",c=u,h=i):(p="clos",c=t.parentNode,h=i-1),_?n=await f(t,i):n=f(t,i),n)return;if(t!==e)s=p,t=c,i=h;else break}}},P=async(e,l=(t,s)=>{},r=(t,s)=>{})=>{let t=e,s="open",a={open:[r,d(r)],clos:[l,d(l)]},i=0;for(;;){let n=!1,[f,_]=a[s];if(s==="open"){if(_?n=await f(t,i):n=f(t,i),n)return;{let c=t.lastChild;c?(t=c,++i):s="clos"}}else{let c,h,p,u=t.prevSibling;if(u?(p="open",c=u,h=i):(p="clos",c=t.parentNode,h=i-1),_?n=await f(t,i):n=f(t,i),n)return;if(t!==e)s=p,t=c,i=h;else break}}},J=async(e,l)=>{if(typeof l=="string"){let r=[];return await w(e,async(t,s)=>{(t.tagName?t.tagName.toLowerCase()===l.toLowerCase():!1)&&r.push(t)}),r}else{let r=[];return d(l)?await w(e,async(t,s)=>{await l(t,s)&&r.push(t)}):await w(e,async(t,s)=>{l(t,s)&&r.push(t)}),r}},L=async()=>{let e=document.querySelectorAll("script"),l=[];for(let s of e)if(s.src)l.push(fetch(s.src).then(a=>a.ok?a.text():"").catch(()=>""));else{let a=s.textContent;a.trim()&&l.push(Promise.resolve(a))}return`<script>
2
- ${(await Promise.all(l)).filter(s=>s).join(`
1
+ var nvbasicbw=(()=>{var N=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports);var $=N((D,k)=>{var h=l=>l.constructor.name==="AsyncFunction",S=l=>{let t=0;for(;l&&l.parentNode;)l=l.parentNode,t++;return t},v=(l,t)=>{if(t>0){let r=1;for(;;){let e=l.parentNode;if(r===t)return e;l=e,++r}}else return l},A=l=>{for(;l.parentNode;)l=l.parentNode;return l},b=l=>{let t=0;for(;l.lastChild;)l=l.lastChild,++t;return[l,t]},w=l=>{let t=0;for(;;){let r=l.firstChild;if(r)++t,l=r;else return[l,t]}},y=(l,t)=>{if(l.nextSibling)return[l.nextSibling,t];let r=l.parentNode,e=t;for(;r;){if(e-=1,r.nextSibling)return[r.nextSibling,e];r=r.parentNode}return[null,-1]},u=async(l,t=(r,e)=>{})=>{let[r,e]=b(l),s=l,n=h(t),i=0;for(;;){let o=!1;if(n?o=await t(s,i):o=t(s,i),o||s===r)return;{let f=s.firstChild;if(f)++i,s=f;else{let c=y(s,i);if(s=c[0],s)i=c[1];else break}}}},x=(l,t)=>{if(l.prevSibling)return[l.prevSibling,t];let r=l.parentNode,e=t;for(;r;){if(e-=1,r.prevSibling)return[r.prevSibling,e];r=r.parentNode}return[null,-1]},q=async(l,t=(r,e)=>{})=>{let[r,e]=w(l),s=l,n=h(t),i=0;for(;;){let o=!1;if(n?o=await t(s,i):o=t(s,i),o||s===r)return;{let f=s.firstChild;if(f)++i,s=f;else{let c=x(s,i);if(s=c[0],s)i=c[1];else break}}}},B=async(l,t=(r,e)=>{})=>{let[r,e]=w(l),s=h(t);for(;;){let n=!1;if(s?n=await t(r,e):n=t(r,e),n||r===l)return;{let i=r.nextSibling;if(i){let o=w(i);e+=o[1],r=o[0]}else{let o=r.parentNode;if(o)--e,r=o;else break}}}},P=async(l,t=(r,e)=>{})=>{let[r,e]=b(l),s=h(t);for(;;){let n=!1;if(s?n=await t(r,e):n=t(r,e),n||r===l)return;{let i=r.prevSibling;if(i){let o=b(i);e+=o[1],r=o[0]}else{let o=r.parentNode;if(o)--e,r=o;else break}}}},a=async(l,t=(e,s)=>{},r=(e,s)=>{})=>{let e=l,s="open",n={open:[r,h(r)],clos:[t,h(t)]},i=0;for(;;){let o=!1,[f,c]=n[s];if(s==="open"){if(c?o=await f(e,i):o=f(e,i),o)return;{let _=e.firstChild;_?(e=_,++i):s="clos"}}else{let _,d,p,g=e.nextSibling;if(g?(p="open",_=g,d=i):(p="clos",_=e.parentNode,d=i-1),c?o=await f(e,i):o=f(e,i),o)return;if(e!==l)s=p,e=_,i=d;else break}}},R=async(l,t=(e,s)=>{},r=(e,s)=>{})=>{let e=l,s="open",n={open:[r,h(r)],clos:[t,h(t)]},i=0;for(;;){let o=!1,[f,c]=n[s];if(s==="open"){if(c?o=await f(e,i):o=f(e,i),o)return;{let _=e.lastChild;_?(e=_,++i):s="clos"}}else{let _,d,p,g=e.prevSibling;if(g?(p="open",_=g,d=i):(p="clos",_=e.parentNode,d=i-1),c?o=await f(e,i):o=f(e,i),o)return;if(e!==l)s=p,e=_,i=d;else break}}},J=async(l,t)=>{if(typeof t=="string"){let r=[];return await u(l,async(e,s)=>{(e.tagName?e.tagName.toLowerCase()===t.toLowerCase():!1)&&r.push(e)}),r}else{let r=[];return h(t)?await u(l,async(e,s)=>{await t(e,s)&&r.push(e)}):await u(l,async(e,s)=>{t(e,s)&&r.push(e)}),r}},L=async()=>{let l=document.querySelectorAll("script"),t=[];for(let s of l)if(s.src)t.push(fetch(s.src).then(n=>n.ok?n.text():"").catch(()=>""));else{let n=s.textContent;n.trim()&&t.push(Promise.resolve(n))}return`<script>
2
+ ${(await Promise.all(t)).filter(s=>s).join(`
3
3
 
4
4
  `)}
5
- <\/script>`},j=async()=>{let e="";for(let l of document.querySelectorAll('link[rel="stylesheet"]'))if(l.href)try{e+=await(await fetch(l.href)).text()+`
6
- `}catch{}for(let l of document.querySelectorAll("style"))e+=l.outerHtml+`
7
- `;return e};o.rvisit=P;o.get_depth=S;o.get_ance=x;o.get_rt=C;o.get_dlmost=y;o.get_drmost=g;o.find_rb_of_fst_ance_has_rb=b;o.find_lb_of_fst_ance_has_lb=m;o.editonly_sdfs_for_each=w;o.editonly_rsdfs_for_each=v;o.editonly_edfs_for_each=A;o.editonly_redfs_for_each=q;o.filter=J;o.get_all_csses=j;o.get_all_scripts=L;k.exports=o});return F();})();
5
+ <\/script>`},j=async()=>{let l="";for(let t of document.querySelectorAll('link[rel="stylesheet"]'))if(t.href)try{l+=await(await fetch(t.href)).text()+`
6
+ `}catch{}for(let t of document.querySelectorAll("style"))l+=t.outerHtml+`
7
+ `;return l};a.rvisit=R;a.get_depth=S;a.get_ance=v;a.get_rt=A;a.get_dlmost=w;a.get_drmost=b;a.find_rb_of_fst_ance_has_rb=y;a.find_lb_of_fst_ance_has_lb=x;a.editonly_sdfs_for_each=u;a.editonly_rsdfs_for_each=q;a.editonly_edfs_for_each=B;a.editonly_redfs_for_each=P;a.filter=J;a.get_all_csses=j;a.get_all_scripts=L;var C=()=>({x:0,y:0,width:0,height:0,top:0,right:0,bottom:0,left:0}),m=l=>{let t=C(),r=l.style.transform;l.style.transform="none";let e=l.getBoundingClientRect();return l.style.transform=r,t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t.top=e.top,t.left=e.left,t.right=e.right,t.bottom=e.bottom,t},F=(l,t=r=>!0)=>{let r=[];return u(l,e=>{if(t(e)){let s=m(e);r.push({el:e,rect:s})}}),r},H=(l,t=r=>!0)=>{let r=[];return u(l,e=>{if(t(e)){let s=e.getBoundingClientRect();r.push({el:e,rect:s})}}),r},T=(l,t=r=>!0)=>{let r=[];return u(l,e=>{if(t(e)){let s=m(e),n=e.getBoundingClientRect(),i={x:n.x-s.x,y:n.y-s.y,width:n.width-s.width,height:n.height-s.height,top:n.top-s.top,right:n.right-s.right,bottom:n.bottom-s.bottom,left:n.left-s.left};i.x===0&&i.y===0&&i.width===0&&i.height===0&&i.top===0&&i.right===0&&i.bottom===0&&i.left===0||r.push({el:e,rect:i})}}),r};a.creat_rect_desc=C;a.get_rect_desc_bfr_transfrom=m;a.get_all_positions_bfr_transform=F;a.get_all_positions_aft_transform=H;a.get_all_positions_transform_diff=T;k.exports=a});return $();})();
package/index.js CHANGED
@@ -408,8 +408,119 @@ visit.filter = filter;
408
408
  visit.get_all_csses = get_all_csses;
409
409
  visit.get_all_scripts = get_all_scripts;
410
410
 
411
+ const creat_rect_desc = () => ({
412
+ "x": 0,
413
+ "y": 0,
414
+ "width": 0,
415
+ "height": 0,
416
+ "top": 0,
417
+ "right": 0,
418
+ "bottom": 0,
419
+ "left": 0
420
+ });
421
+ const get_rect_desc_bfr_transfrom = (el) => {
422
+ let rect_bfr_transfrom = creat_rect_desc();
423
+ // 方法:临时移除 transform 获取真实位置
424
+ // 保存原始 transform
425
+ const originalTransform = el.style.transform;
426
+ // 临时移除 transform(会触发一次 reflow)
427
+ el.style.transform = 'none';
428
+ // 获取无 transform 的位置
429
+ const rect = el.getBoundingClientRect();
430
+ // 立即恢复 transform
431
+ el.style.transform = originalTransform;
432
+ // 复制所有值
433
+ rect_bfr_transfrom.x = rect.x;
434
+ rect_bfr_transfrom.y = rect.y;
435
+ rect_bfr_transfrom.width = rect.width;
436
+ rect_bfr_transfrom.height = rect.height;
437
+ rect_bfr_transfrom.top = rect.top;
438
+ rect_bfr_transfrom.left = rect.left;
439
+ rect_bfr_transfrom.right = rect.right;
440
+ rect_bfr_transfrom.bottom = rect.bottom;
441
+ return rect_bfr_transfrom;
442
+ }
443
+
444
+ const get_all_positions_bfr_transform = (
445
+ el,
446
+ filter = (el) => true
447
+ ) => {
448
+ //使用editonly_sdfs_for_each 获取
449
+ //类似 .getBoundingClientRect()
450
+ let results = [];
451
+ editonly_sdfs_for_each(el, (curr_el) => {
452
+ if (filter(curr_el)) {
453
+ let rect_bfr_transfrom = get_rect_desc_bfr_transfrom(curr_el);
454
+ results.push({
455
+ el: curr_el,
456
+ rect: rect_bfr_transfrom
457
+ });
458
+ }
459
+ });
460
+
461
+ return results;
462
+ }
463
+ const get_all_positions_aft_transform = (
464
+ el,
465
+ filter = (el) => true
466
+ ) => {
467
+ // 获取 transform 之后的最终位置
468
+ let results = [];
469
+ editonly_sdfs_for_each(el, (curr_el) => {
470
+ if (filter(curr_el)) {
471
+ let rect_aft_transfrom = curr_el.getBoundingClientRect();
472
+ results.push({
473
+ el: curr_el,
474
+ rect: rect_aft_transfrom
475
+ });
476
+ }
477
+ });
478
+
479
+ return results;
480
+ }
481
+
482
+ const get_all_positions_transform_diff = (
483
+ el,
484
+ filter = (el) => true
485
+ ) => {
486
+ // 计算 transform 前后的差异
487
+ let results = [];
488
+ editonly_sdfs_for_each(el, (curr_el) => {
489
+ if (filter(curr_el)) {
490
+ let rect_bfr_transfrom = get_rect_desc_bfr_transfrom(curr_el);
491
+ let rect_aft_transfrom = curr_el.getBoundingClientRect();
492
+ let rect_diff = {
493
+ x: rect_aft_transfrom.x - rect_bfr_transfrom.x,
494
+ y: rect_aft_transfrom.y - rect_bfr_transfrom.y,
495
+ width: rect_aft_transfrom.width - rect_bfr_transfrom.width,
496
+ height: rect_aft_transfrom.height - rect_bfr_transfrom.height,
497
+ top: rect_aft_transfrom.top - rect_bfr_transfrom.top,
498
+ right: rect_aft_transfrom.right - rect_bfr_transfrom.right,
499
+ bottom: rect_aft_transfrom.bottom - rect_bfr_transfrom.bottom,
500
+ left: rect_aft_transfrom.left - rect_bfr_transfrom.left
501
+ };
502
+ if (rect_diff.x === 0 && rect_diff.y === 0 &&
503
+ rect_diff.width === 0 && rect_diff.height === 0 &&
504
+ rect_diff.top === 0 && rect_diff.right === 0 &&
505
+ rect_diff.bottom === 0 && rect_diff.left === 0) {
506
+ } else {
507
+ results.push({
508
+ el: curr_el,
509
+ rect: rect_diff
510
+ });
511
+ }
512
+ }
513
+ });
514
+
515
+ return results;
516
+ }
411
517
 
412
518
 
519
+ visit.creat_rect_desc = creat_rect_desc;
520
+ visit.get_rect_desc_bfr_transfrom = get_rect_desc_bfr_transfrom;
521
+ visit.get_all_positions_bfr_transform = get_all_positions_bfr_transform;
522
+ visit.get_all_positions_aft_transform = get_all_positions_aft_transform;
523
+ visit.get_all_positions_transform_diff = get_all_positions_transform_diff;
413
524
  module.exports = visit;
414
525
 
415
526
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nv-basic-bw",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"