gl-draw 0.9.0-beta.7 → 0.9.0-beta.71

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.
Files changed (62) hide show
  1. package/dist/BaseObject.js +1 -1
  2. package/dist/BaseObject.module.js +16 -11
  3. package/dist/colorCorrection.js +1 -0
  4. package/dist/colorCorrection.module.js +25 -0
  5. package/dist/core/BaseObject.d.ts +1 -0
  6. package/dist/core/Camera.d.ts +2 -0
  7. package/dist/core/Composer.d.ts +5 -1
  8. package/dist/core/Control.d.ts +5 -0
  9. package/dist/core/Pencil.d.ts +8 -2
  10. package/dist/core/Renderer.d.ts +10 -7
  11. package/dist/core/pass/CrossFadePass.d.ts +11 -0
  12. package/dist/effect/index.js +3 -3
  13. package/dist/effect/index.module.js +1 -1
  14. package/dist/events.js +1 -0
  15. package/dist/events.module.js +234 -0
  16. package/dist/geojson/china.json +1 -103310
  17. package/dist/index.js +18 -1
  18. package/dist/index.module.js +352 -493
  19. package/dist/objects/conicPolygon/geometry/index.d.ts +11 -12
  20. package/dist/objects/conicPolygon/index.d.ts +4 -3
  21. package/dist/objects/extrudePolygon/ExtrudeGeometry.d.ts +4 -1
  22. package/dist/objects/extrudePolygon/createGeometry.d.ts +17 -1
  23. package/dist/objects/extrudePolygon/getSplitTexture.d.ts +12 -0
  24. package/dist/objects/extrudePolygon/getWorkerGeometry.d.ts +17 -1
  25. package/dist/objects/extrudePolygon/index.d.ts +4 -0
  26. package/dist/objects/index.d.ts +3 -1
  27. package/dist/objects/index.js +120 -125
  28. package/dist/objects/index.module.js +1349 -1011
  29. package/dist/objects/line/createGeometry.d.ts +5 -5
  30. package/dist/objects/line/getWorkerGeometry.d.ts +2 -1
  31. package/dist/objects/line/index.d.ts +8 -25
  32. package/dist/objects/line/meshLine/MeshLineGeometry.d.ts +40 -0
  33. package/dist/objects/line/meshLine/MeshLineMaterial.d.ts +48 -0
  34. package/dist/objects/line/meshLine/index.d.ts +3 -89
  35. package/dist/objects/line/meshLine/raycast.d.ts +3 -0
  36. package/dist/plugins/CanvasStream.d.ts +15 -0
  37. package/dist/plugins/Data.d.ts +1 -0
  38. package/dist/plugins/Draw.d.ts +3 -0
  39. package/dist/plugins/Loader/VideoTextureLoader.d.ts +5 -0
  40. package/dist/plugins/Loader/index.d.ts +36 -0
  41. package/dist/plugins/Worker.d.ts +2 -0
  42. package/dist/plugins/index.d.ts +2 -0
  43. package/dist/plugins/index.js +1 -1
  44. package/dist/plugins/index.module.js +203 -87
  45. package/dist/utils/colorCorrection.d.ts +13 -1
  46. package/dist/utils/index.d.ts +0 -3
  47. package/dist/utils/index.js +1 -1
  48. package/dist/utils/index.module.js +85 -135
  49. package/dist/utils/uvGenerator.d.ts +12 -0
  50. package/dist/uvGenerator.js +1 -1
  51. package/dist/uvGenerator.module.js +69 -62
  52. package/dist/worker/extrudePolygon.w.js +661 -400
  53. package/dist/worker/line.w.js +2 -2
  54. package/package.json +13 -10
  55. package/dist/makePromiseCreator.js +0 -1
  56. package/dist/makePromiseCreator.module.js +0 -24
  57. package/dist/objects/line/meshLine/shader/fragment.d.ts +0 -2
  58. package/dist/objects/line/meshLine/shader/vertex.d.ts +0 -2
  59. package/dist/utils/exception.d.ts +0 -26
  60. package/dist/utils/makePromiseCreator.d.ts +0 -6
  61. package/dist/utils/timer.d.ts +0 -9
  62. package/dist/utils/to.d.ts +0 -8
@@ -1 +1 @@
1
- "use strict";const o=require("three"),a=require("./makePromiseCreator.js"),h=require("three/examples/jsm/renderers/CSS2DRenderer"),c=require("three/examples/jsm/renderers/CSS3DRenderer"),d=require("./disposeMesh.js");require("idb-keyval");function u(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=u(o),n=t=>{t&&(d.disposeMesh(t),t.children.forEach(e=>{e.userData.BaseObject_||n(e)}))};class b{constructor(){this.objecttype__="BaseObject",this.userData={},this.pm=a.makePromiseCreator(),this.visible=!1}get parent(){const e=this.object3d.parent;return(e==null?void 0:e.userData.BaseObject_)||this.pencil.scene}get children(){return this.object3d.children.map(e=>e.userData.BaseObject_).filter(e=>!!e)}init(){}create(){}render(){}update(e,r){}resize(e,r){}show(){return this.object3d&&(this.object3d.visible=!0),this.visible=!0,this}hide(){return this.object3d&&(this.object3d.visible=!1),this.visible=!1,this}isVisible(){return this.visible}createMesh(...e){return this.object3d=new s.Mesh(...e),this}createGroup(){return this.object3d=new s.Group,this}createPoints(...e){return this.object3d=new s.Points(...e),this}createCSS2DObject(e){return this.object3d=new h.CSS2DObject(e),this}createCSS3DObject(e){return this.object3d=new c.CSS3DObject(e),this}createCSS3DSprite(e){return this.object3d=new c.CSS3DSprite(e),this}createSprite(e){return this.object3d=new s.Sprite(e),this}add(...e){return this.object3d.add(...e),this}remove(...e){return this.object3d.remove(...e),this}getSize(){const e=new s.Box3().setFromObject(this.object3d);return{min:e.min,max:e.max,size:e.getSize(new s.Vector3)}}traverse(e){e(this),this.children.forEach(r=>{r.traverse(e)})}dispose(){n(this.object3d)}}exports.BaseObject=b;
1
+ "use strict";const o=require("three"),h=require("esus-lite"),a=require("three/examples/jsm/renderers/CSS2DRenderer"),c=require("three/examples/jsm/renderers/CSS3DRenderer"),d=require("./disposeMesh.js");require("idb-keyval");function u(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const s=u(o),n=t=>{t&&(d.disposeMesh(t),t.children.forEach(e=>{e.userData.BaseObject_||n(e)}))};class b{constructor(){this.objecttype__="BaseObject",this.userData={},this.pm=h.makePromiseCreator(),this.visible=!1}get parent(){const e=this.object3d.parent;return(e==null?void 0:e.userData.BaseObject_)||this.pencil.scene}get children(){return this.object3d.children.map(e=>e.userData.BaseObject_).filter(e=>!!e)}init(){}create(){}render(){}update(e,r){}resize(e,r){}show(){return this.object3d&&(this.object3d.visible=!0),this.visible=!0,this}hide(){return this.object3d&&(this.object3d.visible=!1),this.visible=!1,this}isVisible(){return this.visible}createMesh(...e){return this.object3d=new s.Mesh(...e),this}createGroup(){return this.object3d=new s.Group,this}createPoints(...e){return this.object3d=new s.Points(...e),this}createCSS2DObject(e){return this.object3d=new a.CSS2DObject(e),this}createCSS3DObject(e){return this.object3d=new c.CSS3DObject(e),this}createCSS3DSprite(e){return this.object3d=new c.CSS3DSprite(e),this}createSprite(e){return this.object3d=new s.Sprite(e),this}add(...e){return this.object3d.add(...e),this}remove(...e){return this.object3d.remove(...e),this}attach(...e){return[...e].forEach(r=>{this.object3d.attach(r.object3d)}),this}getSize(){const e=new s.Box3().setFromObject(this.object3d);return{min:e.min,max:e.max,size:e.getSize(new s.Vector3)}}traverse(e){e(this),this.children.forEach(r=>{r.traverse(e)})}dispose(){n(this.object3d)}}exports.BaseObject=b;
@@ -1,15 +1,15 @@
1
1
  import * as t from "three";
2
- import { m as h } from "./makePromiseCreator.module.js";
2
+ import { makePromiseCreator as h } from "esus-lite";
3
3
  import { CSS2DObject as c } from "three/examples/jsm/renderers/CSS2DRenderer";
4
4
  import { CSS3DObject as o, CSS3DSprite as a } from "three/examples/jsm/renderers/CSS3DRenderer";
5
5
  import { d as n } from "./disposeMesh.module.js";
6
6
  import "idb-keyval";
7
- const r = (i) => {
8
- i && (n(i), i.children.forEach((e) => {
9
- e.userData.BaseObject_ || r(e);
7
+ const s = (r) => {
8
+ r && (n(r), r.children.forEach((e) => {
9
+ e.userData.BaseObject_ || s(e);
10
10
  }));
11
11
  };
12
- class p {
12
+ class m {
13
13
  constructor() {
14
14
  this.objecttype__ = "BaseObject", this.userData = {}, this.pm = h(), this.visible = !1;
15
15
  }
@@ -26,9 +26,9 @@ class p {
26
26
  }
27
27
  render() {
28
28
  }
29
- update(e, s) {
29
+ update(e, i) {
30
30
  }
31
- resize(e, s) {
31
+ resize(e, i) {
32
32
  }
33
33
  show() {
34
34
  return this.object3d && (this.object3d.visible = !0), this.visible = !0, this;
@@ -66,6 +66,11 @@ class p {
66
66
  remove(...e) {
67
67
  return this.object3d.remove(...e), this;
68
68
  }
69
+ attach(...e) {
70
+ return [...e].forEach((i) => {
71
+ this.object3d.attach(i.object3d);
72
+ }), this;
73
+ }
69
74
  getSize() {
70
75
  const e = new t.Box3().setFromObject(this.object3d);
71
76
  return {
@@ -75,14 +80,14 @@ class p {
75
80
  };
76
81
  }
77
82
  traverse(e) {
78
- e(this), this.children.forEach((s) => {
79
- s.traverse(e);
83
+ e(this), this.children.forEach((i) => {
84
+ i.traverse(e);
80
85
  });
81
86
  }
82
87
  dispose() {
83
- r(this.object3d);
88
+ s(this.object3d);
84
89
  }
85
90
  }
86
91
  export {
87
- p as B
92
+ m as B
88
93
  };
@@ -0,0 +1 @@
1
+ "use strict";const p=require("three");function f(o){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const i in o)if(i!=="default"){const e=Object.getOwnPropertyDescriptor(o,i);Object.defineProperty(c,i,e.get?e:{enumerable:!0,get:()=>o[i]})}}return c.default=o,Object.freeze(c)}const m=f(p),t={linearSRGB:"srgb-linear",sRGB:"srgb"},n={Linear:3e3,sRGB:3001};function u({node:o,material:c,texture:i}){let e=i?{map:i}:c||(o==null?void 0:o.material);e&&!Array.isArray(e)&&(e=[e]),e==null||e.forEach(l=>{var s,a;const r=l;+m.REVISION<152?((s=r.color)==null||s.convertSRGBToLinear(),(a=r.emissive)==null||a.convertSRGBToLinear(),r.map&&(r.map.encoding=n.sRGB),r.emissiveMap&&(r.emissiveMap.encoding=n.sRGB)):(r.map&&(r.map.colorSpace=t.sRGB),r.emissiveMap&&(r.emissiveMap.colorSpace=t.sRGB))})}exports.ColorSpace=t;exports.TextureEncoding=n;exports.colorCorrection=u;
@@ -0,0 +1,25 @@
1
+ import * as R from "three";
2
+ const n = {
3
+ linearSRGB: "srgb-linear",
4
+ sRGB: "srgb"
5
+ }, p = {
6
+ Linear: 3e3,
7
+ sRGB: 3001
8
+ };
9
+ function l({
10
+ node: e,
11
+ material: a,
12
+ texture: o
13
+ }) {
14
+ let s = o ? { map: o } : a || (e == null ? void 0 : e.material);
15
+ s && !Array.isArray(s) && (s = [s]), s == null || s.forEach((m) => {
16
+ var r, c;
17
+ const i = m;
18
+ +R.REVISION < 152 ? ((r = i.color) == null || r.convertSRGBToLinear(), (c = i.emissive) == null || c.convertSRGBToLinear(), i.map && (i.map.encoding = p.sRGB), i.emissiveMap && (i.emissiveMap.encoding = p.sRGB)) : (i.map && (i.map.colorSpace = n.sRGB), i.emissiveMap && (i.emissiveMap.colorSpace = n.sRGB));
19
+ });
20
+ }
21
+ export {
22
+ n as C,
23
+ p as T,
24
+ l as c
25
+ };
@@ -33,6 +33,7 @@ export default class BaseObject {
33
33
  createSprite(material: THREE.SpriteMaterial): this;
34
34
  add(...args: Parameters<THREE.Object3D['add']>): this;
35
35
  remove(...args: Parameters<THREE.Object3D['remove']>): this;
36
+ attach(...args: IBaseObject[]): this;
36
37
  getSize(): {
37
38
  min: THREE.Vector3;
38
39
  max: THREE.Vector3;
@@ -4,11 +4,13 @@ export interface CameraParams {
4
4
  fov: number;
5
5
  near: number;
6
6
  far: number;
7
+ up: THREE.Vector3;
7
8
  }
8
9
  export declare const defaultCameraParams: {
9
10
  fov: number;
10
11
  near: number;
11
12
  far: number;
13
+ up: THREE.Vector3;
12
14
  };
13
15
  interface Options {
14
16
  width: number;
@@ -1,6 +1,7 @@
1
1
  import * as THREE from 'three';
2
2
  import GUI from 'lil-gui';
3
3
  import { EffectComposer, CopyPass, EffectPass, SelectiveBloomEffect } from 'postprocessing';
4
+ import CrossFadePass from './pass/CrossFadePass';
4
5
  export interface BloomParams {
5
6
  luminanceThreshold: number;
6
7
  luminanceSmoothing: number;
@@ -33,14 +34,17 @@ export default class {
33
34
  fxaaPass?: EffectPass;
34
35
  bloomPass?: EffectPass;
35
36
  bloomEffect?: SelectiveBloomEffect;
37
+ crossFadePass?: CrossFadePass;
36
38
  options: Options;
37
39
  active: boolean;
38
40
  constructor(options: Options);
39
41
  addCopyPass(): void;
42
+ addCrossFadePass(): void;
40
43
  addFXAAPass(): void;
41
44
  addBloomPass(params: BloomParams): void;
45
+ aaa(): void;
42
46
  addBloomGui(gui: GUI): void;
43
- toggleBloomSelection(obj: THREE.Object3D<THREE.Event>): void;
47
+ toggleBloomSelection(obj?: THREE.Object3D<THREE.Event>, state?: boolean): void;
44
48
  getSize(): THREE.Vector2;
45
49
  enable(): void;
46
50
  disable(): void;
@@ -22,6 +22,11 @@ export default class {
22
22
  maxY?: number | undefined;
23
23
  minY?: number | undefined;
24
24
  }): void;
25
+ changeRotation({ vertical, horizontal, distance, }: {
26
+ vertical?: number;
27
+ horizontal?: number;
28
+ distance?: number;
29
+ }): void;
25
30
  update(): void;
26
31
  dispose(): void;
27
32
  }
@@ -30,6 +30,7 @@ interface Options {
30
30
  camera?: Partial<CameraParams> | THREE.PerspectiveCamera;
31
31
  bloom?: boolean;
32
32
  bloomParams?: Partial<BloomParams>;
33
+ crossOpacity?: boolean;
33
34
  css2DRenderer?: boolean;
34
35
  css2DRendererParams?: Partial<CSSRendererParams>;
35
36
  css3DRenderer?: boolean;
@@ -72,7 +73,8 @@ export default class Pencil {
72
73
  toneMapping: string;
73
74
  toneMappingExposure: number;
74
75
  alpha: boolean;
75
- outputEncoding: THREE.TextureEncoding;
76
+ outputEncoding: 3000;
77
+ outputColorSpace: "srgb";
76
78
  logarithmicDepthBuffer: boolean;
77
79
  preserveDrawingBuffer: boolean;
78
80
  stencil: boolean;
@@ -88,6 +90,7 @@ export default class Pencil {
88
90
  fov: number;
89
91
  near: number;
90
92
  far: number;
93
+ up: THREE.Vector3;
91
94
  };
92
95
  bloom: boolean;
93
96
  bloomParams: {
@@ -96,6 +99,7 @@ export default class Pencil {
96
99
  mipmapBlur: boolean;
97
100
  intensity: number;
98
101
  };
102
+ crossOpacity: boolean;
99
103
  css2DRenderer: boolean;
100
104
  css2DRendererParams: {
101
105
  zIndex: string;
@@ -105,10 +109,12 @@ export default class Pencil {
105
109
  zIndex: string;
106
110
  };
107
111
  };
108
- constructor(options: Options);
112
+ constructor(options: Options, plugin?: any);
109
113
  use(plugin: any, ...args: any[]): void;
110
114
  private init;
111
115
  private initComposer;
116
+ get opacity(): any;
117
+ set opacity(value: any);
112
118
  private initCSSRenderer;
113
119
  private initControl;
114
120
  getSize(): {
@@ -1,11 +1,12 @@
1
1
  import * as THREE from 'three';
2
2
  import GUI from 'lil-gui';
3
+ import { ColorSpace, TextureEncoding } from "../utils/colorCorrection";
3
4
  declare const toneMappingOptions: {
4
- None: THREE.ToneMapping;
5
- Linear: THREE.ToneMapping;
6
- Reinhard: THREE.ToneMapping;
7
- Cineon: THREE.ToneMapping;
8
- ACESFilmic: THREE.ToneMapping;
5
+ None: 0;
6
+ Linear: 1;
7
+ Reinhard: 2;
8
+ Cineon: 3;
9
+ ACESFilmic: 4;
9
10
  };
10
11
  export interface RendererParams {
11
12
  antialias: boolean;
@@ -14,7 +15,8 @@ export interface RendererParams {
14
15
  toneMapping: keyof typeof toneMappingOptions;
15
16
  toneMappingExposure: number;
16
17
  alpha: boolean;
17
- outputEncoding: THREE.TextureEncoding;
18
+ outputEncoding: (typeof TextureEncoding)[keyof typeof TextureEncoding];
19
+ outputColorSpace: (typeof ColorSpace)[keyof typeof ColorSpace];
18
20
  logarithmicDepthBuffer: boolean;
19
21
  preserveDrawingBuffer: boolean;
20
22
  canvas?: HTMLCanvasElement | THREE.OffscreenCanvas;
@@ -30,7 +32,8 @@ export declare const defaultRendererParams: {
30
32
  toneMapping: string;
31
33
  toneMappingExposure: number;
32
34
  alpha: boolean;
33
- outputEncoding: THREE.TextureEncoding;
35
+ outputEncoding: 3000;
36
+ outputColorSpace: "srgb";
34
37
  logarithmicDepthBuffer: boolean;
35
38
  preserveDrawingBuffer: boolean;
36
39
  stencil: boolean;
@@ -0,0 +1,11 @@
1
+ import { ShaderMaterial } from 'three';
2
+ import { Pass } from 'postprocessing';
3
+ declare class CrossFadeMaterial extends ShaderMaterial {
4
+ constructor();
5
+ }
6
+ export default class CrossFadePass extends Pass {
7
+ constructor();
8
+ fullscreenMaterial: CrossFadeMaterial;
9
+ render(renderer: THREE.WebGLRenderer, inputBuffer: THREE.WebGLRenderTarget, outputBuffer: THREE.WebGLRenderTarget): void;
10
+ }
11
+ export {};
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode("")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- "use strict";var _=Object.defineProperty;var z=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var W=Math.pow,D=(a,i,e)=>i in a?_(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e,c=(a,i)=>{for(var e in i||(i={}))T.call(i,e)&&D(a,e,i[e]);if(z)for(var e of z(i))A.call(i,e)&&D(a,e,i[e]);return a};var b=(a,i,e)=>new Promise((t,o)=>{var f=d=>{try{l(e.next(d))}catch(m){o(m)}},r=d=>{try{l(e.throw(d))}catch(m){o(m)}},l=d=>d.done?t(d.value):Promise.resolve(d.value).then(f,r);l((e=e.apply(a,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("three"),E=require("@tweenjs/tween.js"),j=require("../makePromiseCreator.js");function C(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>a[e]})}}return i.default=a,Object.freeze(i)}const u=C(V),S=C(E);class k{constructor(i,e={}){this.object=i,this.options=c({color:16777215,opacity:1,lineNum:10,lineWidth:1,lineHieght:10,fade:!1,fadeType:2,radius:0,range:new u.Vector2(0,1),vertical:!1,step:0,pos:"bottom",duration:5e3,yoyo:!1,repeat:0},e)}initMaterial(){const{color:i,lineNum:e,lineWidth:t,lineHieght:o,fade:f,fadeType:r,radius:l,range:d,vertical:m,step:g,opacity:w,exclude:p}=this.options,v={field:{value:new u.Vector4(0,0,0,0)},color:{value:new u.Color(i)},opacity:{value:w},lineNum:{value:e},lineWidth:{value:t},lineHieght:{value:o},sizeNum:{value:new u.Vector3(l,l,l)},objPos:{value:new u.Vector3(0,0,0)},fade:{value:f},fadeType:{value:r},range:{value:d},angle:{value:0},stepNum:{value:g}};if(!l){const{size:h}=this.object.getSize();v.sizeNum.value.copy(h)}this.uniforms=v,this.object.object3d.traverse(h=>{const n=h;!n.material||p&&p.includes(n)||(n.userData.materialO?n.material=n.userData.materialO.clone():n.userData.materialO=Array.isArray(n.material)?n.material.map(s=>s.clone()):n.material.clone(),Array.isArray(n.material)?n.material.forEach(s=>{m?this.setVerticalMaterial(s):this.setMaterial(s)}):m?this.setVerticalMaterial(n.material):this.setMaterial(n.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineNum=e.lineNum,t.uniforms.lineWidth=e.lineWidth,t.uniforms.sizeNum=e.sizeNum,t.uniforms.fade=e.fade,t.uniforms.fadeType=e.fadeType,t.uniforms.range=e.range,t.uniforms.stepNum=e.stepNum,t.vertexShader=`
2
+ "use strict";var _=Object.defineProperty;var z=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var W=Math.pow,D=(a,i,e)=>i in a?_(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e,c=(a,i)=>{for(var e in i||(i={}))T.call(i,e)&&D(a,e,i[e]);if(z)for(var e of z(i))A.call(i,e)&&D(a,e,i[e]);return a};var b=(a,i,e)=>new Promise((t,o)=>{var f=d=>{try{r(e.next(d))}catch(m){o(m)}},l=d=>{try{r(e.throw(d))}catch(m){o(m)}},r=d=>d.done?t(d.value):Promise.resolve(d.value).then(f,l);r((e=e.apply(a,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("three"),E=require("@tweenjs/tween.js"),j=require("esus-lite");function S(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:()=>a[e]})}}return i.default=a,Object.freeze(i)}const u=S(V),C=S(E);class k{constructor(i,e={}){this.object=i,this.options=c({color:16777215,opacity:1,lineNum:10,lineWidth:1,lineHieght:10,fade:!1,fadeType:2,radius:0,range:new u.Vector2(0,1),vertical:!1,step:0,pos:"bottom",duration:5e3,yoyo:!1,repeat:0},e)}initMaterial(){const{color:i,lineNum:e,lineWidth:t,lineHieght:o,fade:f,fadeType:l,radius:r,range:d,vertical:m,step:g,opacity:w,exclude:p}=this.options,v={field:{value:new u.Vector4(0,0,0,0)},color:{value:new u.Color(i)},opacity:{value:w},lineNum:{value:e},lineWidth:{value:t},lineHieght:{value:o},sizeNum:{value:new u.Vector3(r,r,r)},objPos:{value:new u.Vector3(0,0,0)},fade:{value:f},fadeType:{value:l},range:{value:d},angle:{value:0},stepNum:{value:g}};if(!r){const{size:h}=this.object.getSize();v.sizeNum.value.copy(h)}this.uniforms=v,this.object.object3d.traverse(h=>{const n=h;!n.material||p&&p.includes(n)||(n.userData.materialO?n.material=n.userData.materialO.clone():n.userData.materialO=Array.isArray(n.material)?n.material.map(s=>s.clone()):n.material.clone(),Array.isArray(n.material)?n.material.forEach(s=>{m?this.setVerticalMaterial(s):this.setMaterial(s)}):m?this.setVerticalMaterial(n.material):this.setMaterial(n.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineNum=e.lineNum,t.uniforms.lineWidth=e.lineWidth,t.uniforms.sizeNum=e.sizeNum,t.uniforms.fade=e.fade,t.uniforms.fadeType=e.fadeType,t.uniforms.range=e.range,t.uniforms.stepNum=e.stepNum,t.vertexShader=`
3
3
  varying vec4 vWorldPos;
4
4
  ${t.vertexShader}
5
5
  `.replace("#include <worldpos_vertex>",`#include <worldpos_vertex>
@@ -126,7 +126,7 @@
126
126
  }
127
127
  }
128
128
 
129
- `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(i={}){this.stop();const e=j.makePromiseCreator(!0),{object:t,uniforms:o}=this,{lineNum:f,step:r,lineWidth:l,pos:d,duration:m}=c(c({},this.options),i),{min:g,max:w,size:p}=t.getSize();let v=f,h=l;r>0&&(v=1,h=p.y/r);const n=o.sizeNum.value.y*(v>1?2:1);return this.tween=new S.Tween({latest:0}).to({latest:1},m).onStart(()=>{var N;const s=new u.Vector3;d==="bottom"?s.set(g.x-.001,g.y-.001,g.z-.001):d==="top"&&s.set(w.x+.001,w.y+.001,w.z+.001);const x=((N=t.pencil.control)==null?void 0:N.getAzimuthalAngle())||0,y=this.object.object3d.position.clone();if(x){const M=Math.sqrt(W(p.x,2)+W(p.z,2))/2;s.x=y.x+M,s.z=y.z+M;const P=new u.Vector3().subVectors(s,y),O=new u.Vector3(0,1,0);P.applyAxisAngle(O,x),s.addVectors(y,P)}o.objPos.value.copy(y),o.field.value.set(s.x,s.y,s.z,0),o.angle.value=x,o.lineNum.value=v,o.lineWidth.value=h}).onUpdate(({latest:s})=>{r>0?o.field.value.w=Math.floor(s*r)/r*n:o.field.value.w=s*n}).onStop(()=>{o.field.value.w=0,e.reject("stop")}).onComplete(()=>{e.resolve()}).start(),e.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{yoyo:e,repeat:t,pos:o}=c(c({},this.options),i);t===this.options.repeat&&this.initMaterial();const{err:f}=yield this.play(i);if(f){this.resetMaterial();return}if(t){let r=o;e&&(r=r==="bottom"?"top":"bottom"),yield this.checkRepeat({pos:r,repeat:t===1/0?-1:t-1})}else this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}class H{constructor(i,e={}){this.object=i,this.options=c({color:16777215,lineWidth:2,opacity:.5,fade:!1,position:new u.Vector3(0,0,0),duration:5e3,repeat:0},e)}initMaterial(){const{exclude:i}=this.options,e={field:{value:new u.Vector4(0,0,0,1e-4)},color:{value:new u.Color(this.options.color)},opacity:{value:this.options.opacity},lineWidth:{value:this.options.lineWidth}};this.uniforms=e,this.object.object3d.traverse(t=>{const o=t;!o.material||i&&i.includes(o)||(o.userData.materialO?o.material=o.userData.materialO:o.userData.materialO=Array.isArray(o.material)?o.material.map(f=>f.clone()):o.material.clone(),Array.isArray(o.material)?o.material.forEach(f=>{this.setMaterial(f)}):this.setMaterial(o.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineWidth=e.lineWidth,t.vertexShader=`
129
+ `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(i={}){this.stop();const e=j.makePromiseCreator(!0),{object:t,uniforms:o}=this,{lineNum:f,step:l,lineWidth:r,pos:d,duration:m}=c(c({},this.options),i),{min:g,max:w,size:p}=t.getSize();let v=f,h=r;l>0&&(v=1,h=p.y/l);const n=o.sizeNum.value.y*(v>1?2:1);return this.tween=new C.Tween({latest:0}).to({latest:1},m).onStart(()=>{var N;const s=new u.Vector3;d==="bottom"?s.set(g.x-.001,g.y-.001,g.z-.001):d==="top"&&s.set(w.x+.001,w.y+.001,w.z+.001);const x=((N=t.pencil.control)==null?void 0:N.getAzimuthalAngle())||0,y=this.object.object3d.position.clone();if(x){const M=Math.sqrt(W(p.x,2)+W(p.z,2))/2;s.x=y.x+M,s.z=y.z+M;const P=new u.Vector3().subVectors(s,y),O=new u.Vector3(0,1,0);P.applyAxisAngle(O,x),s.addVectors(y,P)}o.objPos.value.copy(y),o.field.value.set(s.x,s.y,s.z,0),o.angle.value=x,o.lineNum.value=v,o.lineWidth.value=h}).onUpdate(({latest:s})=>{l>0?o.field.value.w=Math.floor(s*l)/l*n:o.field.value.w=s*n}).onStop(()=>{o.field.value.w=0,e.reject("stop")}).onComplete(()=>{e.resolve()}).start(),e.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{yoyo:e,repeat:t,pos:o}=c(c({},this.options),i);t===this.options.repeat&&this.initMaterial();const{err:f}=yield this.play(i);if(f){this.resetMaterial();return}if(t){let l=o;e&&(l=l==="bottom"?"top":"bottom"),yield this.checkRepeat({pos:l,repeat:t===1/0?-1:t-1})}else this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}class H{constructor(i,e={}){this.object=i,this.options=c({color:16777215,lineWidth:2,opacity:.5,fade:!1,position:new u.Vector3(0,0,0),duration:5e3,repeat:0},e)}initMaterial(){const{exclude:i}=this.options,e={field:{value:new u.Vector4(0,0,0,1e-4)},color:{value:new u.Color(this.options.color)},opacity:{value:this.options.opacity},lineWidth:{value:this.options.lineWidth}};this.uniforms=e,this.object.object3d.traverse(t=>{const o=t;!o.material||i&&i.includes(o)||(o.userData.materialO?o.material=o.userData.materialO:o.userData.materialO=Array.isArray(o.material)?o.material.map(f=>f.clone()):o.material.clone(),Array.isArray(o.material)?o.material.forEach(f=>{this.setMaterial(f)}):this.setMaterial(o.material))})}setMaterial(i){const{uniforms:e}=this;i.onBeforeCompile=t=>{t.uniforms.field=e.field,t.uniforms.fieldColor=e.color,t.uniforms.fieldOpacity=e.opacity,t.uniforms.lineWidth=e.lineWidth,t.vertexShader=`
130
130
  varying vec4 vWorldPos;
131
131
  ${t.vertexShader}
132
132
  `.replace("#include <worldpos_vertex>",`#include <worldpos_vertex>
@@ -158,4 +158,4 @@
158
158
  }
159
159
  gl_FragColor.rgb = mix(gl_FragColor.rgb, fieldColor, fadeout);
160
160
 
161
- `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(){this.stop();const i=j.makePromiseCreator(!0),{object:e,uniforms:t}=this,{position:o,duration:f}=this.options;let{radius:r}=this.options;if(!r){const{size:l}=e.getSize();r=Math.max(l.x,l.y,l.z)}return this.tween=new S.Tween({a:1e-4}).to({a:1},f).onStart(()=>{t.field.value.set(o.x,o.y,o.z,1e-4),this.options.fade&&(t.opacity.value=this.options.opacity)}).onUpdate(({a:l})=>{t.field.value.w=l*r,this.options.fade&&(t.opacity.value=(1-l)*this.options.opacity)}).onStop(()=>{t.field.value.w=0,i.reject("stop")}).onComplete(()=>{i.resolve()}).start(),i.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{repeat:e}=c(c({},this.options),i);e===this.options.repeat&&this.initMaterial();const{err:t}=yield this.play();if(t){this.resetMaterial();return}e?yield this.checkRepeat({repeat:e===1/0?-1:e-1}):this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}exports.Scan=k;exports.Scan2=H;
161
+ `)},i.needsUpdate=!0}resetMaterial(){this.object.object3d.traverse(i=>{const e=i;e.material&&e.userData.materialO&&(e.material=e.userData.materialO.clone(),e.userData.materialO=void 0)})}play(){this.stop();const i=j.makePromiseCreator(!0),{object:e,uniforms:t}=this,{position:o,duration:f}=this.options;let{radius:l}=this.options;if(!l){const{size:r}=e.getSize();l=Math.max(r.x,r.y,r.z)}return this.tween=new C.Tween({a:1e-4}).to({a:1},f).onStart(()=>{t.field.value.set(o.x,o.y,o.z,1e-4),this.options.fade&&(t.opacity.value=this.options.opacity)}).onUpdate(({a:r})=>{t.field.value.w=r*l,this.options.fade&&(t.opacity.value=(1-r)*this.options.opacity)}).onStop(()=>{t.field.value.w=0,i.reject("stop")}).onComplete(()=>{i.resolve()}).start(),i.promise}checkRepeat(){return b(this,arguments,function*(i={}){const{repeat:e}=c(c({},this.options),i);e===this.options.repeat&&this.initMaterial();const{err:t}=yield this.play();if(t){this.resetMaterial();return}e?yield this.checkRepeat({repeat:e===1/0?-1:e-1}):this.resetMaterial()})}start(){return this.checkRepeat()}stop(){this.tween&&this.tween.stop()}}exports.Scan=k;exports.Scan2=H;
@@ -28,7 +28,7 @@ var N = (d, i, e) => new Promise((t, o) => {
28
28
  });
29
29
  import * as u from "three";
30
30
  import * as j from "@tweenjs/tween.js";
31
- import { m as C } from "../makePromiseCreator.module.js";
31
+ import { makePromiseCreator as C } from "esus-lite";
32
32
  class k {
33
33
  constructor(i, e = {}) {
34
34
  this.object = i, this.options = c({
package/dist/events.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";exports.eventsExports={};var O={get exports(){return exports.eventsExports},set exports(t){exports.eventsExports=t}},a=typeof Reflect=="object"?Reflect:null,h=a&&typeof a.apply=="function"?a.apply:function(e,n,r){return Function.prototype.apply.call(e,n,r)},v;a&&typeof a.ownKeys=="function"?v=a.ownKeys:Object.getOwnPropertySymbols?v=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:v=function(e){return Object.getOwnPropertyNames(e)};function C(t){console&&console.warn&&console.warn(t)}var L=Number.isNaN||function(e){return e!==e};function o(){o.init.call(this)}O.exports=o;exports.eventsExports.once=M;o.EventEmitter=o;o.prototype._events=void 0;o.prototype._eventsCount=0;o.prototype._maxListeners=void 0;var d=10;function l(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return d},set:function(t){if(typeof t!="number"||t<0||L(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");d=t}});o.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};o.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||L(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function m(t){return t._maxListeners===void 0?o.defaultMaxListeners:t._maxListeners}o.prototype.getMaxListeners=function(){return m(this)};o.prototype.emit=function(e){for(var n=[],r=1;r<arguments.length;r++)n.push(arguments[r]);var i=e==="error",f=this._events;if(f!==void 0)i=i&&f.error===void 0;else if(!i)return!1;if(i){var s;if(n.length>0&&(s=n[0]),s instanceof Error)throw s;var u=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw u.context=s,u}var c=f[e];if(c===void 0)return!1;if(typeof c=="function")h(c,this,n);else for(var p=c.length,x=b(c,p),r=0;r<p;++r)h(x[r],this,n);return!0};function y(t,e,n,r){var i,f,s;if(l(n),f=t._events,f===void 0?(f=t._events=Object.create(null),t._eventsCount=0):(f.newListener!==void 0&&(t.emit("newListener",e,n.listener?n.listener:n),f=t._events),s=f[e]),s===void 0)s=f[e]=n,++t._eventsCount;else if(typeof s=="function"?s=f[e]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=m(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,C(u)}return t}o.prototype.addListener=function(e,n){return y(this,e,n,!1)};o.prototype.on=o.prototype.addListener;o.prototype.prependListener=function(e,n){return y(this,e,n,!0)};function j(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function g(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=j.bind(r);return i.listener=n,r.wrapFn=i,i}o.prototype.once=function(e,n){return l(n),this.on(e,g(this,e,n)),this};o.prototype.prependOnceListener=function(e,n){return l(n),this.prependListener(e,g(this,e,n)),this};o.prototype.removeListener=function(e,n){var r,i,f,s,u;if(l(n),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===n||r.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||n));else if(typeof r!="function"){for(f=-1,s=r.length-1;s>=0;s--)if(r[s]===n||r[s].listener===n){u=r[s].listener,f=s;break}if(f<0)return this;f===0?r.shift():R(r,f),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,u||n)}return this};o.prototype.off=o.prototype.removeListener;o.prototype.removeAllListeners=function(e){var n,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var f=Object.keys(r),s;for(i=0;i<f.length;++i)s=f[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(n=r[e],typeof n=="function")this.removeListener(e,n);else if(n!==void 0)for(i=n.length-1;i>=0;i--)this.removeListener(e,n[i]);return this};function _(t,e,n){var r=t._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?n?[i.listener||i]:[i]:n?N(i):b(i,i.length)}o.prototype.listeners=function(e){return _(this,e,!0)};o.prototype.rawListeners=function(e){return _(this,e,!1)};o.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):w.call(t,e)};o.prototype.listenerCount=w;function w(t){var e=this._events;if(e!==void 0){var n=e[t];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}o.prototype.eventNames=function(){return this._eventsCount>0?v(this._events):[]};function b(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t[r];return n}function R(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function N(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}function M(t,e){return new Promise(function(n,r){function i(s){t.removeListener(e,f),r(s)}function f(){typeof t.removeListener=="function"&&t.removeListener("error",i),n([].slice.call(arguments))}E(t,e,f,{once:!0}),e!=="error"&&A(t,i,{once:!0})})}function A(t,e,n){typeof t.on=="function"&&E(t,"error",e,n)}function E(t,e,n,r){if(typeof t.on=="function")r.once?t.once(e,n):t.on(e,n);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(f){r.once&&t.removeEventListener(e,i),n(f)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}
@@ -0,0 +1,234 @@
1
+ var p = {}, C = {
2
+ get exports() {
3
+ return p;
4
+ },
5
+ set exports(t) {
6
+ p = t;
7
+ }
8
+ }, a = typeof Reflect == "object" ? Reflect : null, d = a && typeof a.apply == "function" ? a.apply : function(e, n, r) {
9
+ return Function.prototype.apply.call(e, n, r);
10
+ }, l;
11
+ a && typeof a.ownKeys == "function" ? l = a.ownKeys : Object.getOwnPropertySymbols ? l = function(e) {
12
+ return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));
13
+ } : l = function(e) {
14
+ return Object.getOwnPropertyNames(e);
15
+ };
16
+ function j(t) {
17
+ console && console.warn && console.warn(t);
18
+ }
19
+ var m = Number.isNaN || function(e) {
20
+ return e !== e;
21
+ };
22
+ function o() {
23
+ o.init.call(this);
24
+ }
25
+ C.exports = o;
26
+ p.once = A;
27
+ o.EventEmitter = o;
28
+ o.prototype._events = void 0;
29
+ o.prototype._eventsCount = 0;
30
+ o.prototype._maxListeners = void 0;
31
+ var L = 10;
32
+ function v(t) {
33
+ if (typeof t != "function")
34
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof t);
35
+ }
36
+ Object.defineProperty(o, "defaultMaxListeners", {
37
+ enumerable: !0,
38
+ get: function() {
39
+ return L;
40
+ },
41
+ set: function(t) {
42
+ if (typeof t != "number" || t < 0 || m(t))
43
+ throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + t + ".");
44
+ L = t;
45
+ }
46
+ });
47
+ o.init = function() {
48
+ (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
49
+ };
50
+ o.prototype.setMaxListeners = function(e) {
51
+ if (typeof e != "number" || e < 0 || m(e))
52
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + ".");
53
+ return this._maxListeners = e, this;
54
+ };
55
+ function y(t) {
56
+ return t._maxListeners === void 0 ? o.defaultMaxListeners : t._maxListeners;
57
+ }
58
+ o.prototype.getMaxListeners = function() {
59
+ return y(this);
60
+ };
61
+ o.prototype.emit = function(e) {
62
+ for (var n = [], r = 1; r < arguments.length; r++)
63
+ n.push(arguments[r]);
64
+ var i = e === "error", f = this._events;
65
+ if (f !== void 0)
66
+ i = i && f.error === void 0;
67
+ else if (!i)
68
+ return !1;
69
+ if (i) {
70
+ var s;
71
+ if (n.length > 0 && (s = n[0]), s instanceof Error)
72
+ throw s;
73
+ var u = new Error("Unhandled error." + (s ? " (" + s.message + ")" : ""));
74
+ throw u.context = s, u;
75
+ }
76
+ var c = f[e];
77
+ if (c === void 0)
78
+ return !1;
79
+ if (typeof c == "function")
80
+ d(c, this, n);
81
+ else
82
+ for (var h = c.length, x = E(c, h), r = 0; r < h; ++r)
83
+ d(x[r], this, n);
84
+ return !0;
85
+ };
86
+ function g(t, e, n, r) {
87
+ var i, f, s;
88
+ if (v(n), f = t._events, f === void 0 ? (f = t._events = /* @__PURE__ */ Object.create(null), t._eventsCount = 0) : (f.newListener !== void 0 && (t.emit(
89
+ "newListener",
90
+ e,
91
+ n.listener ? n.listener : n
92
+ ), f = t._events), s = f[e]), s === void 0)
93
+ s = f[e] = n, ++t._eventsCount;
94
+ else if (typeof s == "function" ? s = f[e] = r ? [n, s] : [s, n] : r ? s.unshift(n) : s.push(n), i = y(t), i > 0 && s.length > i && !s.warned) {
95
+ s.warned = !0;
96
+ var u = new Error("Possible EventEmitter memory leak detected. " + s.length + " " + String(e) + " listeners added. Use emitter.setMaxListeners() to increase limit");
97
+ u.name = "MaxListenersExceededWarning", u.emitter = t, u.type = e, u.count = s.length, j(u);
98
+ }
99
+ return t;
100
+ }
101
+ o.prototype.addListener = function(e, n) {
102
+ return g(this, e, n, !1);
103
+ };
104
+ o.prototype.on = o.prototype.addListener;
105
+ o.prototype.prependListener = function(e, n) {
106
+ return g(this, e, n, !0);
107
+ };
108
+ function R() {
109
+ if (!this.fired)
110
+ return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
111
+ }
112
+ function _(t, e, n) {
113
+ var r = { fired: !1, wrapFn: void 0, target: t, type: e, listener: n }, i = R.bind(r);
114
+ return i.listener = n, r.wrapFn = i, i;
115
+ }
116
+ o.prototype.once = function(e, n) {
117
+ return v(n), this.on(e, _(this, e, n)), this;
118
+ };
119
+ o.prototype.prependOnceListener = function(e, n) {
120
+ return v(n), this.prependListener(e, _(this, e, n)), this;
121
+ };
122
+ o.prototype.removeListener = function(e, n) {
123
+ var r, i, f, s, u;
124
+ if (v(n), i = this._events, i === void 0)
125
+ return this;
126
+ if (r = i[e], r === void 0)
127
+ return this;
128
+ if (r === n || r.listener === n)
129
+ --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete i[e], i.removeListener && this.emit("removeListener", e, r.listener || n));
130
+ else if (typeof r != "function") {
131
+ for (f = -1, s = r.length - 1; s >= 0; s--)
132
+ if (r[s] === n || r[s].listener === n) {
133
+ u = r[s].listener, f = s;
134
+ break;
135
+ }
136
+ if (f < 0)
137
+ return this;
138
+ f === 0 ? r.shift() : N(r, f), r.length === 1 && (i[e] = r[0]), i.removeListener !== void 0 && this.emit("removeListener", e, u || n);
139
+ }
140
+ return this;
141
+ };
142
+ o.prototype.off = o.prototype.removeListener;
143
+ o.prototype.removeAllListeners = function(e) {
144
+ var n, r, i;
145
+ if (r = this._events, r === void 0)
146
+ return this;
147
+ if (r.removeListener === void 0)
148
+ return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : r[e] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete r[e]), this;
149
+ if (arguments.length === 0) {
150
+ var f = Object.keys(r), s;
151
+ for (i = 0; i < f.length; ++i)
152
+ s = f[i], s !== "removeListener" && this.removeAllListeners(s);
153
+ return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this;
154
+ }
155
+ if (n = r[e], typeof n == "function")
156
+ this.removeListener(e, n);
157
+ else if (n !== void 0)
158
+ for (i = n.length - 1; i >= 0; i--)
159
+ this.removeListener(e, n[i]);
160
+ return this;
161
+ };
162
+ function w(t, e, n) {
163
+ var r = t._events;
164
+ if (r === void 0)
165
+ return [];
166
+ var i = r[e];
167
+ return i === void 0 ? [] : typeof i == "function" ? n ? [i.listener || i] : [i] : n ? M(i) : E(i, i.length);
168
+ }
169
+ o.prototype.listeners = function(e) {
170
+ return w(this, e, !0);
171
+ };
172
+ o.prototype.rawListeners = function(e) {
173
+ return w(this, e, !1);
174
+ };
175
+ o.listenerCount = function(t, e) {
176
+ return typeof t.listenerCount == "function" ? t.listenerCount(e) : b.call(t, e);
177
+ };
178
+ o.prototype.listenerCount = b;
179
+ function b(t) {
180
+ var e = this._events;
181
+ if (e !== void 0) {
182
+ var n = e[t];
183
+ if (typeof n == "function")
184
+ return 1;
185
+ if (n !== void 0)
186
+ return n.length;
187
+ }
188
+ return 0;
189
+ }
190
+ o.prototype.eventNames = function() {
191
+ return this._eventsCount > 0 ? l(this._events) : [];
192
+ };
193
+ function E(t, e) {
194
+ for (var n = new Array(e), r = 0; r < e; ++r)
195
+ n[r] = t[r];
196
+ return n;
197
+ }
198
+ function N(t, e) {
199
+ for (; e + 1 < t.length; e++)
200
+ t[e] = t[e + 1];
201
+ t.pop();
202
+ }
203
+ function M(t) {
204
+ for (var e = new Array(t.length), n = 0; n < e.length; ++n)
205
+ e[n] = t[n].listener || t[n];
206
+ return e;
207
+ }
208
+ function A(t, e) {
209
+ return new Promise(function(n, r) {
210
+ function i(s) {
211
+ t.removeListener(e, f), r(s);
212
+ }
213
+ function f() {
214
+ typeof t.removeListener == "function" && t.removeListener("error", i), n([].slice.call(arguments));
215
+ }
216
+ O(t, e, f, { once: !0 }), e !== "error" && P(t, i, { once: !0 });
217
+ });
218
+ }
219
+ function P(t, e, n) {
220
+ typeof t.on == "function" && O(t, "error", e, n);
221
+ }
222
+ function O(t, e, n, r) {
223
+ if (typeof t.on == "function")
224
+ r.once ? t.once(e, n) : t.on(e, n);
225
+ else if (typeof t.addEventListener == "function")
226
+ t.addEventListener(e, function i(f) {
227
+ r.once && t.removeEventListener(e, i), n(f);
228
+ });
229
+ else
230
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof t);
231
+ }
232
+ export {
233
+ p as e
234
+ };