fastevent 2.2.10 → 2.2.11

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/index.d.mts CHANGED
@@ -3,21 +3,29 @@ type FastListenerPipe = (listener: TypedFastEventListener) => TypedFastEventList
3
3
  type MergeUnion<T> = (T extends any ? (x: T) => void : never) extends (x: infer U) => void ? {
4
4
  [K in keyof U]: U[K];
5
5
  } : never;
6
- type Split<S extends string, Delimiter extends string = '/'> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split<Tail, Delimiter>] : [S];
6
+ type Split$1<S extends string, Delimiter extends string = '/'> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split$1<Tail, Delimiter>] : [S];
7
7
  type MatchSegment<Input extends string, Pattern extends string> = Pattern extends '*' ? true : Pattern extends '**' ? true : Input extends Pattern ? true : false;
8
8
  type MatchPatternArray<InputArr extends string[], PatternArr extends string[]> = InputArr extends [infer InputHead extends string, ...infer InputTail extends string[]] ? PatternArr extends [infer PatternHead extends string, ...infer PatternTail extends string[]] ? PatternHead extends '**' ? MatchPatternArray<InputTail, PatternTail> extends true ? true : MatchPatternArray<InputTail, PatternArr> extends true ? true : MatchPatternArray<InputArr, PatternTail> extends true ? true : false : MatchSegment<InputHead, PatternHead> extends true ? MatchPatternArray<InputTail, PatternTail> : false : false : PatternArr extends [infer PatternHead extends string, ...infer PatternTail extends string[]] ? PatternHead extends '**' ? MatchPatternArray<InputArr, PatternTail> : false : true;
9
- type MatchPattern<T extends string, Pattern extends string> = MatchPatternArray<Split<T>, Split<Pattern>> extends true ? {
9
+ type MatchPattern$1<T extends string, Pattern extends string> = MatchPatternArray<Split$1<T>, Split$1<Pattern>> extends true ? {
10
10
  [K in Pattern]: any;
11
11
  } : never;
12
12
  type Fallback$1<T, F> = [T] extends [never] ? F : T extends undefined ? F : T;
13
13
  type MatchEventType<T extends string, Events extends Record<string, any>> = MergeUnion<Fallback$1<{
14
- [K in keyof Events]: MatchPattern<T, K & string> extends never ? never : {
14
+ [K in keyof Events]: MatchPattern$1<T, K & string> extends never ? never : {
15
15
  [P in K]: Events[K];
16
16
  };
17
17
  }[keyof Events] extends infer Result ? Result extends Record<string, any> ? Result : any : any, {
18
18
  [K in T]: any;
19
19
  }>>;
20
20
 
21
+ type Split<S extends string, Delimiter extends string> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split<Tail, Delimiter>] : [S];
22
+ type MatchPattern<KeyParts extends string[], PrefixParts extends string[]> = PrefixParts['length'] extends 0 ? true : KeyParts['length'] extends 0 ? false : KeyParts[0] extends PrefixParts[0] | '*' ? MatchPattern<Slice<KeyParts, 1>, Slice<PrefixParts, 1>> : false;
23
+ type Slice<T extends any[], Start extends number, Result extends any[] = []> = Start extends 0 ? T : T extends [infer First, ...infer Rest] ? Slice<Rest, Decrement<Start>, Result> : Result;
24
+ type Decrement<N extends number> = N extends 0 ? 0 : N extends 1 ? 0 : N extends 2 ? 1 : N extends 3 ? 2 : N extends 4 ? 3 : N extends 5 ? 4 : N extends 6 ? 5 : N extends 7 ? 6 : N extends 8 ? 7 : N extends 9 ? 8 : number;
25
+ type ScopeEvents<Events extends Record<string, any>, Prefix extends string> = {
26
+ [K in keyof Events as K extends string ? MatchPattern<Split<K, '/'>, Split<Prefix, '/'>> extends true ? K : never : never]: Events[K];
27
+ };
28
+
21
29
  interface FastEventMeta {
22
30
  }
23
31
  interface FastEventMessageExtends {
@@ -126,10 +134,6 @@ type FastEventOptions<Meta = Record<string, any>, Context = never> = {
126
134
  };
127
135
  interface FastEvents {
128
136
  }
129
- type PickScopeEvents<T extends Record<string, any>, Prefix extends string> = {
130
- [K in keyof T as K extends `${Prefix}/${infer Rest}` ? Rest : never]: T[K];
131
- };
132
- type ScopeEvents<T extends Record<string, any>, Prefix extends string> = PickScopeEvents<T, Prefix>;
133
137
  type FastEventListenOptions<Events extends Record<string, any> = Record<string, any>, Meta = any> = {
134
138
  count?: number;
135
139
  prepend?: boolean;
@@ -245,7 +249,6 @@ type Dict<V = any> = Record<Exclude<string, number | symbol>, V>;
245
249
  type Union<T> = T extends infer O ? {
246
250
  [K in keyof O]: O[K];
247
251
  } : never;
248
-
249
252
  type RecordValues<R extends Record<string, any>> = R[keyof R];
250
253
  type RecordPrefix<P extends string, R extends Record<string, any>> = {
251
254
  [K in keyof R as K extends `${P}/${infer S}` ? S : never]: R[K];
@@ -376,7 +379,7 @@ declare class FastEventScope<Events extends Record<string, any> = Record<string,
376
379
  * ```
377
380
  */
378
381
  scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context>(prefix: P, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>;
379
- scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context, ScopeInstance extends FastEventScope<any, any, any> = FastEventScope<ScopeEvents<ScopeEvents<Events, P> & E, P> & E, FinalMeta & M, C>>(prefix: P, scopeObj: ScopeInstance, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): ScopeInstance;
382
+ scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context, ScopeInstance extends FastEventScope<any, any, any> = FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>>(prefix: P, scopeObj: ScopeInstance, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): ScopeInstance & FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>;
380
383
  /**
381
384
  * 当on/once/onAny未指定监听器时,此为默认监听器
382
385
  * @param message
@@ -954,4 +957,4 @@ declare function isClass(target: unknown): target is new (...args: any[]) => any
954
957
 
955
958
  declare function isFastEvent(target: any): target is FastEvent;
956
959
 
957
- export { AbortError, CancelError, type ChangeFieldType, type DeepPartial, type Dict, type Expand, type Fallback, FastEvent, FastEventDirectives, type FastEventEmitMessage, FastEventError, type FastEventListenOptions, type FastEventListener, type FastEventListenerArgs, type FastEventListeners, type FastEventMessage, type FastEventMessageExtends, type FastEventMeta, type FastEventOptions, FastEventScope, type FastEventScopeMeta, type FastEventScopeOptions, type FastEventSubscriber, type FastEvents, type FastListenerMeta, type FastListenerNode, type FastListeners, type MatchEventType, type Merge, type MergeUnion, type ObjectKeys, type OptionalItems, type Overloads, type OverrideOptions, type PickScopeEvents, QueueOverflowError, type RecordPrefix, type RecordValues, type RequiredItems, type ScopeEvents, TimeoutError, type TypedFastEventAnyListener, type TypedFastEventListener, type TypedFastEventMessage, type TypedFastEventMessageOptional, UnboundError, type Union, type Unique, __FastEventScope__, __FastEvent__, __expandable__, expandable, isClass, isExpandable, isFastEvent, isFastEventMessage, isFastEventScope, isFunction, isPathMatched, isString, isSubsctiber };
960
+ export { AbortError, CancelError, type ChangeFieldType, type DeepPartial, type Dict, type Expand, type Fallback, FastEvent, FastEventDirectives, type FastEventEmitMessage, FastEventError, type FastEventListenOptions, type FastEventListener, type FastEventListenerArgs, type FastEventListeners, type FastEventMessage, type FastEventMessageExtends, type FastEventMeta, type FastEventOptions, FastEventScope, type FastEventScopeMeta, type FastEventScopeOptions, type FastEventSubscriber, type FastEvents, type FastListenerMeta, type FastListenerNode, type FastListeners, type MatchEventType, type Merge, type MergeUnion, type ObjectKeys, type OptionalItems, type Overloads, type OverrideOptions, QueueOverflowError, type RecordPrefix, type RecordValues, type RequiredItems, type ScopeEvents, TimeoutError, type TypedFastEventAnyListener, type TypedFastEventListener, type TypedFastEventMessage, type TypedFastEventMessageOptional, UnboundError, type Union, type Unique, __FastEventScope__, __FastEvent__, __expandable__, expandable, isClass, isExpandable, isFastEvent, isFastEventMessage, isFastEventScope, isFunction, isPathMatched, isString, isSubsctiber };
package/dist/index.d.ts CHANGED
@@ -3,21 +3,29 @@ type FastListenerPipe = (listener: TypedFastEventListener) => TypedFastEventList
3
3
  type MergeUnion<T> = (T extends any ? (x: T) => void : never) extends (x: infer U) => void ? {
4
4
  [K in keyof U]: U[K];
5
5
  } : never;
6
- type Split<S extends string, Delimiter extends string = '/'> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split<Tail, Delimiter>] : [S];
6
+ type Split$1<S extends string, Delimiter extends string = '/'> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split$1<Tail, Delimiter>] : [S];
7
7
  type MatchSegment<Input extends string, Pattern extends string> = Pattern extends '*' ? true : Pattern extends '**' ? true : Input extends Pattern ? true : false;
8
8
  type MatchPatternArray<InputArr extends string[], PatternArr extends string[]> = InputArr extends [infer InputHead extends string, ...infer InputTail extends string[]] ? PatternArr extends [infer PatternHead extends string, ...infer PatternTail extends string[]] ? PatternHead extends '**' ? MatchPatternArray<InputTail, PatternTail> extends true ? true : MatchPatternArray<InputTail, PatternArr> extends true ? true : MatchPatternArray<InputArr, PatternTail> extends true ? true : false : MatchSegment<InputHead, PatternHead> extends true ? MatchPatternArray<InputTail, PatternTail> : false : false : PatternArr extends [infer PatternHead extends string, ...infer PatternTail extends string[]] ? PatternHead extends '**' ? MatchPatternArray<InputArr, PatternTail> : false : true;
9
- type MatchPattern<T extends string, Pattern extends string> = MatchPatternArray<Split<T>, Split<Pattern>> extends true ? {
9
+ type MatchPattern$1<T extends string, Pattern extends string> = MatchPatternArray<Split$1<T>, Split$1<Pattern>> extends true ? {
10
10
  [K in Pattern]: any;
11
11
  } : never;
12
12
  type Fallback$1<T, F> = [T] extends [never] ? F : T extends undefined ? F : T;
13
13
  type MatchEventType<T extends string, Events extends Record<string, any>> = MergeUnion<Fallback$1<{
14
- [K in keyof Events]: MatchPattern<T, K & string> extends never ? never : {
14
+ [K in keyof Events]: MatchPattern$1<T, K & string> extends never ? never : {
15
15
  [P in K]: Events[K];
16
16
  };
17
17
  }[keyof Events] extends infer Result ? Result extends Record<string, any> ? Result : any : any, {
18
18
  [K in T]: any;
19
19
  }>>;
20
20
 
21
+ type Split<S extends string, Delimiter extends string> = S extends `${infer Head}${Delimiter}${infer Tail}` ? [Head, ...Split<Tail, Delimiter>] : [S];
22
+ type MatchPattern<KeyParts extends string[], PrefixParts extends string[]> = PrefixParts['length'] extends 0 ? true : KeyParts['length'] extends 0 ? false : KeyParts[0] extends PrefixParts[0] | '*' ? MatchPattern<Slice<KeyParts, 1>, Slice<PrefixParts, 1>> : false;
23
+ type Slice<T extends any[], Start extends number, Result extends any[] = []> = Start extends 0 ? T : T extends [infer First, ...infer Rest] ? Slice<Rest, Decrement<Start>, Result> : Result;
24
+ type Decrement<N extends number> = N extends 0 ? 0 : N extends 1 ? 0 : N extends 2 ? 1 : N extends 3 ? 2 : N extends 4 ? 3 : N extends 5 ? 4 : N extends 6 ? 5 : N extends 7 ? 6 : N extends 8 ? 7 : N extends 9 ? 8 : number;
25
+ type ScopeEvents<Events extends Record<string, any>, Prefix extends string> = {
26
+ [K in keyof Events as K extends string ? MatchPattern<Split<K, '/'>, Split<Prefix, '/'>> extends true ? K : never : never]: Events[K];
27
+ };
28
+
21
29
  interface FastEventMeta {
22
30
  }
23
31
  interface FastEventMessageExtends {
@@ -126,10 +134,6 @@ type FastEventOptions<Meta = Record<string, any>, Context = never> = {
126
134
  };
127
135
  interface FastEvents {
128
136
  }
129
- type PickScopeEvents<T extends Record<string, any>, Prefix extends string> = {
130
- [K in keyof T as K extends `${Prefix}/${infer Rest}` ? Rest : never]: T[K];
131
- };
132
- type ScopeEvents<T extends Record<string, any>, Prefix extends string> = PickScopeEvents<T, Prefix>;
133
137
  type FastEventListenOptions<Events extends Record<string, any> = Record<string, any>, Meta = any> = {
134
138
  count?: number;
135
139
  prepend?: boolean;
@@ -245,7 +249,6 @@ type Dict<V = any> = Record<Exclude<string, number | symbol>, V>;
245
249
  type Union<T> = T extends infer O ? {
246
250
  [K in keyof O]: O[K];
247
251
  } : never;
248
-
249
252
  type RecordValues<R extends Record<string, any>> = R[keyof R];
250
253
  type RecordPrefix<P extends string, R extends Record<string, any>> = {
251
254
  [K in keyof R as K extends `${P}/${infer S}` ? S : never]: R[K];
@@ -376,7 +379,7 @@ declare class FastEventScope<Events extends Record<string, any> = Record<string,
376
379
  * ```
377
380
  */
378
381
  scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context>(prefix: P, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>;
379
- scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context, ScopeInstance extends FastEventScope<any, any, any> = FastEventScope<ScopeEvents<ScopeEvents<Events, P> & E, P> & E, FinalMeta & M, C>>(prefix: P, scopeObj: ScopeInstance, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): ScopeInstance;
382
+ scope<E extends Record<string, any> = Record<string, any>, P extends string = string, M extends Record<string, any> = Record<string, any>, C = Context, ScopeInstance extends FastEventScope<any, any, any> = FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>>(prefix: P, scopeObj: ScopeInstance, options?: DeepPartial<FastEventScopeOptions<Partial<FinalMeta> & M, C>>): ScopeInstance & FastEventScope<ScopeEvents<Events, P> & E, FinalMeta & M, C>;
380
383
  /**
381
384
  * 当on/once/onAny未指定监听器时,此为默认监听器
382
385
  * @param message
@@ -954,4 +957,4 @@ declare function isClass(target: unknown): target is new (...args: any[]) => any
954
957
 
955
958
  declare function isFastEvent(target: any): target is FastEvent;
956
959
 
957
- export { AbortError, CancelError, type ChangeFieldType, type DeepPartial, type Dict, type Expand, type Fallback, FastEvent, FastEventDirectives, type FastEventEmitMessage, FastEventError, type FastEventListenOptions, type FastEventListener, type FastEventListenerArgs, type FastEventListeners, type FastEventMessage, type FastEventMessageExtends, type FastEventMeta, type FastEventOptions, FastEventScope, type FastEventScopeMeta, type FastEventScopeOptions, type FastEventSubscriber, type FastEvents, type FastListenerMeta, type FastListenerNode, type FastListeners, type MatchEventType, type Merge, type MergeUnion, type ObjectKeys, type OptionalItems, type Overloads, type OverrideOptions, type PickScopeEvents, QueueOverflowError, type RecordPrefix, type RecordValues, type RequiredItems, type ScopeEvents, TimeoutError, type TypedFastEventAnyListener, type TypedFastEventListener, type TypedFastEventMessage, type TypedFastEventMessageOptional, UnboundError, type Union, type Unique, __FastEventScope__, __FastEvent__, __expandable__, expandable, isClass, isExpandable, isFastEvent, isFastEventMessage, isFastEventScope, isFunction, isPathMatched, isString, isSubsctiber };
960
+ export { AbortError, CancelError, type ChangeFieldType, type DeepPartial, type Dict, type Expand, type Fallback, FastEvent, FastEventDirectives, type FastEventEmitMessage, FastEventError, type FastEventListenOptions, type FastEventListener, type FastEventListenerArgs, type FastEventListeners, type FastEventMessage, type FastEventMessageExtends, type FastEventMeta, type FastEventOptions, FastEventScope, type FastEventScopeMeta, type FastEventScopeOptions, type FastEventSubscriber, type FastEvents, type FastListenerMeta, type FastListenerNode, type FastListeners, type MatchEventType, type Merge, type MergeUnion, type ObjectKeys, type OptionalItems, type Overloads, type OverrideOptions, QueueOverflowError, type RecordPrefix, type RecordValues, type RequiredItems, type ScopeEvents, TimeoutError, type TypedFastEventAnyListener, type TypedFastEventListener, type TypedFastEventMessage, type TypedFastEventMessageOptional, UnboundError, type Union, type Unique, __FastEventScope__, __FastEvent__, __expandable__, expandable, isClass, isExpandable, isFastEvent, isFastEventMessage, isFastEventScope, isFunction, isPathMatched, isString, isSubsctiber };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var P=Object.defineProperty;var q=(n,e,t)=>e in n?P(n,e,{enumerable:true,configurable:true,writable:true,value:t}):n[e]=t;var u=(n,e)=>P(n,"name",{value:e,configurable:true});var p=(n,e,t)=>q(n,typeof e!="symbol"?e+"":e,t);var G=Symbol.for("__FastEvent__"),H=Symbol.for("__FastEventScope__"),S=class S extends Error{constructor(e){super(e);}};u(S,"FastEventError");var m=S,A=class A extends m{};u(A,"TimeoutError");var R=A,M=class M extends m{};u(M,"UnboundError");var d=M,T=class T extends m{};u(T,"AbortError");var _=T,j=class j extends m{};u(j,"CancelError");var x=j,O=class O extends m{};u(O,"QueueOverflowError");var C=O,y={clearRetain:Symbol.for("ClearRetain")};function b(n,e,t,s){let i,r={},o={};return typeof n[0]=="object"?(Object.assign(o,n[0]),r=typeof n[1]=="boolean"?{retain:n[1]}:n[1]||{},i=n[0].meta):(o.type=n[0],o.payload=n[1],r=typeof n[2]=="boolean"?{retain:n[2]}:n[2]||{}),i=Object.assign({},e,t,r.meta,i),Object.keys(i).length===0&&(i=void 0),o.meta=i,r.executor===void 0&&(r.executor=s),[o,r]}u(b,"parseEmitArgs");function W(n){return n?typeof n=="object"&&"__FastEventScope__"in n:false}u(W,"isFastEventScope");function L(n,e,t){let s=n[0],i=W(n[1])?n[1]:void 0,r=(i?n[2]:n[1])||{};return r.meta=Object.assign({},e,r?.meta),r.context=r.context!==void 0?r.context:t,[s,i,r]}u(L,"parseScopeArgs");function g(n,e){return Object.defineProperty(n,"name",{value:e||"anonymous",configurable:true}),n}u(g,"renameFn");var v=class v{constructor(e){p(this,"__FastEventScope__",true);p(this,"_options",{});p(this,"types",{events:void 0,meta:void 0,context:void 0,message:void 0,listeners:void 0,anyListener:void 0});p(this,"prefix","");p(this,"emitter");this._options=Object.assign({},this._initOptions(e));}get context(){return this.options.context||this}get options(){return this._options}bind(e,t,s){this.emitter=e,this._options=Object.assign(this._options,{scope:t},s),t.length>0&&!t.endsWith(e.options.delimiter)&&(this.prefix=t+e.options.delimiter);}_initOptions(e){return e}_getScopeListener(e){let t=this.prefix;if(t.length===0)return e;e||(e=(this._options.onMessage||this.onMessage).bind(this));let s=this;return g(function(r,o){if(r.type.startsWith(t))return e.call(s.context,Object.assign({},r,{type:r.type.substring(t.length)}),o)},e.name)}_getScopeType(e){return e===void 0?void 0:this.prefix+e}_fixScopeType(e){return e.startsWith(this.prefix)?e.substring(this.prefix.length):e}on(){if(!this.emitter)throw new d;let e=[...arguments];return e[0]=this._getScopeType(e[0]),e[1]=this._getScopeListener(e[1]),this.emitter.on(...e)}once(){return this.on(arguments[0],arguments[1],Object.assign({},arguments[2],{count:1}))}onAny(){return this.on("**",...arguments)}off(){let e=arguments;typeof e[0]=="string"&&(e[0]=this._getScopeType(e[0])),this.emitter.off(...e);}offAll(){this.emitter.offAll(this.prefix.substring(0,this.prefix.length-1));}clear(){this.emitter.clear(this.prefix.substring(0,this.prefix.length-1));}emit(){if(arguments.length===2&&typeof arguments[0]=="string"&&arguments[1]===y.clearRetain)return this.emitter.emit(this._getScopeType(arguments[0]));let[e,t]=b(arguments,this.emitter.options.meta,this.options.meta,this.options.executor);return e.type=this._getScopeType(e.type),this.emitter.emit(e,t)}async emitAsync(){return (await Promise.allSettled(this.emit.apply(this,arguments))).map(t=>t.status==="fulfilled"?t.value:t.reason)}async waitFor(){let e=arguments[0],t=arguments[1],s=await this.emitter.waitFor(this._getScopeType(e),t);return Object.assign({},s,{type:this._fixScopeType(s.type)})}scope(){let[e,t,s]=L(arguments,this.options.meta,this.options.context),i;return t?i=t:i=new v,i.bind(this.emitter,this.prefix+e,s),i}onMessage(e,t){}};u(v,"FastEventScope");var E=v;function w(n,e){if(n.length!==e.length&&n.length>0&&e[e.length-1]!=="**")return false;let t=[...e];e.length>0&&e[e.length-1]==="**"&&t.splice(e.length-1,1,...Array.from({length:n.length-e.length+1}).fill("*"));for(let s=0;s<n.length;s++)if(t[s]!=="*"&&t[s]!==n[s])return false;return true}u(w,"isPathMatched");function D(n,e){let t=[];for(;;){let s=n.findIndex(i=>e(i));if(s===-1){t.push(s);break}n.splice(s,1);}return t}u(D,"removeItem");function c(n){return n&&typeof n=="function"}u(c,"isFunction");var N=Symbol.for("__expandable__");function ge(n){return n[N]=true,n}u(ge,"expandable");function V(n){return n&&n[N]}u(V,"isExpandable");function I(n){for(let e=0;e<n.length;e++){let t=n[e];Array.isArray(t)&&V(t)&&(n.splice(e,1,...t),e+=t.length-1);}return n}u(I,"expandEmitResults");function B(n){return n&&typeof n=="object"&&"off"in n&&"listener"in n}u(B,"isSubsctiber");function X(n,e){return n.catch(t=>(e&&e(t),Promise.resolve(t)))}u(X,"tryReturnError");var F=class F{constructor(e){p(this,"__FastEvent__",true);p(this,"listeners",{__listeners:[]});p(this,"_options");p(this,"_delimiter","/");p(this,"_context");p(this,"retainedMessages",new Map);p(this,"listenerCount",0);p(this,"types",{events:void 0,meta:void 0,context:void 0,message:void 0,listeners:void 0,anyListener:void 0});this._options=Object.assign({debug:false,id:Math.random().toString(36).substring(2),delimiter:"/",context:null,ignoreErrors:true,meta:void 0,expandEmitResults:true},this._initOptions(e)),this._delimiter=this._options.delimiter,this._context=this._options.context,this._enableDevTools();}get options(){return this._options}get context(){return this.options.context||this}get meta(){return this.options.meta}get id(){return this._options.id}_initOptions(e){return e}_addListener(e,t,s){let{count:i,prepend:r}=s,o=0;return [this._forEachNodes(e,a=>{let h=[t,i,0,s.tag,s.flags];r?(a.__listeners.splice(0,0,h),o=0):(a.__listeners.push(h),o=a.__listeners.length-1),this.listenerCount++;}),o]}_enableDevTools(){this.options.debug&&globalThis.__FLEXEVENT_DEVTOOLS__&&globalThis.__FLEXEVENT_DEVTOOLS__.add(this);}_forEachNodes(e,t){if(e.length===0)return;let s=this.listeners;for(let i=0;i<e.length;i++){let r=e[i];if(r in s||(s[r]={__listeners:[]}),i===e.length-1){let o=s[r];return t(o,s),o}else s=s[r];}}_removeListener(e,t,s){s&&D(e.__listeners,i=>{i=Array.isArray(i)?i[0]:i;let r=i===s;return r&&(this.listenerCount--,c(this._options.onRemoveListener)&&this._options.onRemoveListener(t.join(this._delimiter),s)),r});}_pipeListener(e,t){return t.forEach(s=>{e=g(s(e),e.name);}),e}on(){let e=arguments[0],t=c(arguments[1])?arguments[1]:(this._options.onMessage||this.onMessage).bind(this),s=Object.assign({count:0,flags:0,prepend:false},c(arguments[1])?arguments[2]:arguments[1]);if(e.length===0)throw new Error("event type cannot be empty");if(c(this._options.onAddListener)){let a=this._options.onAddListener(e,t,s);if(a===false)throw new x;if(B(a))return a}let i=e.split(this._delimiter);if(s.pipes&&s.pipes.length>0&&(t=this._pipeListener(t,s.pipes)),c(s.filter)||c(s.off)){let a=t;t=g(function(h,l){if(c(s.off)&&s.off.call(this,h,l)){f();return}if(c(s.filter)){if(s.filter.call(this,h,l))return a.call(this,h,l)}else return a.call(this,h,l)},t.name);}let[r,o]=this._addListener(i,t,s),f=u(()=>r&&this._removeListener(r,i,t),"off");return this._emitRetainMessage(e,r,o),{off:f,listener:t}}once(){return c(arguments[1])?this.on(arguments[0],arguments[1],Object.assign({},arguments[2],{count:1})):this.on(arguments[0],Object.assign({},arguments[2],{count:1}))}onAny(){return this.on("**",arguments[0],arguments[1])}onMessage(e,t){}off(){let e=arguments,t=c(e[0])?void 0:e[0],s=c(e[0])?e[0]:e[1],i=t?t.split(this._delimiter):[],r=t?t.includes("*"):false;if(t&&!r)this._traverseToPath(this.listeners,i,o=>{s?this._removeListener(o,i,s):t&&(o.__listeners=[]);});else {let o=r?[]:i;this._traverseListeners(this.listeners,o,(f,a)=>{(s!==void 0||r&&w(f,i))&&(s?this._removeListener(a,i,s):a.__listeners=[]);});}}offAll(e){if(e){let t=e.split(this._delimiter),s=0;this._traverseListeners(this.listeners,t,(i,r)=>{s+=r.__listeners.length,r.__listeners=[];}),this.listenerCount-=s,this._removeRetainedEvents(e);}else {let t=0;this._traverseListeners(this.listeners,[],(s,i)=>{t+=i.__listeners.length;}),this.listenerCount-=t,this.retainedMessages.clear(),this.listeners={__listeners:[]};}c(this._options.onClearListeners)&&this._options.onClearListeners.call(this);}_removeRetainedEvents(e){e||this.retainedMessages.clear(),e?.endsWith(this._delimiter)&&(e+=this._delimiter),this.retainedMessages.delete(e);for(let t of this.retainedMessages.keys())t.startsWith(e)&&this.retainedMessages.delete(t);}clear(e){this.offAll(e),this._removeRetainedEvents(e);}_emitRetainMessage(e,t,s){let i=[];if(e.includes("*")){let r=e.split(this._delimiter);this.retainedMessages.forEach((o,f)=>{let a=f.split(this._delimiter);w(a,r)&&i.push(o);});}else this.retainedMessages.has(e)&&i.push(this.retainedMessages.get(e));t&&i.forEach(r=>{this._executeListeners([t],r,{},o=>o[0]===t.__listeners[s][0]);});}_traverseToPath(e,t,s,i=0,r){if(i>=t.length){s(e);return}let o=t[i];if(r===true){this._traverseToPath(e,t,s,i+1,true);return}"*"in e&&this._traverseToPath(e["*"],t,s,i+1),"**"in e&&this._traverseToPath(e["**"],t,s,i+1,true),o in e&&this._traverseToPath(e[o],t,s,i+1);}_traverseListeners(e,t,s){let i=e;t&&t.length>0&&this._traverseToPath(e,t,o=>{i=o;});let r=u((o,f,a)=>{f(a,o);for(let[h,l]of Object.entries(o))h.startsWith("__")||l&&r(l,f,[...a,h]);},"traverseNodes");r(i,s,[]);}_onListenerError(e,t,s,i){if(i instanceof Error&&(i._emitter=`${e.name||"anonymous"}:${t.type}`),c(this._options.onListenerError))try{this._options.onListenerError.call(this,i,e,t,s);}catch{}if(this._options.ignoreErrors)return i;throw i}_executeListener(e,t,s,i=false){try{if(s&&s.abortSignal&&s.abortSignal.aborted)return this._onListenerError(e,t,s,new _(e.name));let r=e.call(this.context,t,s);return i&&r&&r instanceof Promise&&(r=X(r,o=>this._onListenerError(e,t,s,o))),r}catch(r){return this._onListenerError(e,t,s,r)}}_getListenerExecutor(e){if(!e)return;let t=e.executor||this._options.executor;if(c(t))return t}_executeListeners(e,t,s,i){if(!e||e.length===0)return [];let r=e.reduce((f,a)=>f.concat(a.__listeners.filter(h=>c(i)?i(h,a):true).map((h,l)=>[h,l,a.__listeners])),[]);this._decListenerExecCount(r);let o=this._getListenerExecutor(s);if(o){let f=o(r.map(a=>a[0]),t,s,this._executeListener.bind(this));return Array.isArray(f)?f:[f]}else return r.map(f=>this._executeListener(f[0][0],t,s,true))}_decListenerExecCount(e){for(let t=e.length-1;t>=0;t--){let s=e[t][0];s[2]++,s[1]>0&&s[1]<=s[2]&&e[t][2].splice(t,1);}}getListeners(e){let t=[],s=e.split(this._delimiter);return this._traverseToPath(this.listeners,s,i=>{t.push(i);}),t[0].__listeners}emit(){if(arguments.length===2&&typeof arguments[0]=="string"&&arguments[1]===y.clearRetain)return this.retainedMessages.delete(arguments[0]),[];let[e,t]=b(arguments,this.options.meta);c(t.parseArgs)&&t.parseArgs(e,t);let s=e.type.split(this._delimiter);t.retain&&this.retainedMessages.set(e.type,e);let i=[],r=[];if(this._traverseToPath(this.listeners,s,o=>{r.push(o);}),c(this._options.onBeforeExecuteListener)){let o=this._options.onBeforeExecuteListener.call(this,e,t);if(Array.isArray(o))return o;if(o===false)throw new _(e.type)}return i.push(...this._executeListeners(r,e,t)),c(this._options.onAfterExecuteListener)&&this._options.onAfterExecuteListener.call(this,e,i,r),this._options.expandEmitResults&&I(i),i}async emitAsync(){return (await Promise.allSettled(this.emit.apply(this,arguments))).map(t=>t.status==="fulfilled"?t.value:t.reason)}waitFor(){let e=arguments[0],t=arguments[1];return new Promise((s,i)=>{let r,o,f=u(a=>{clearTimeout(r),o&&o.off(),s(a);},"listener");t&&t>0&&(r=setTimeout(()=>{o&&o.off(),i(new Error("wait for event<"+e+"> is timeout"));},t)),o=this.on(e,f);})}scope(){let[e,t,s]=L(arguments,this.options.meta,this.options.context),i;return t?i=t:i=new E,i.bind(this,e,s),i}};u(F,"FastEvent");var $=F;function Be(n){return n?typeof n=="object"&&"type"in n:false}u(Be,"isFastEventMessage");function qe(n){return n&&typeof n=="string"}u(qe,"isString");function He(n){return typeof n=="function"&&(n.toString().startsWith("class ")||n.prototype?.constructor===n)}u(He,"isClass");function Ye(n){return n?typeof n=="object"&&"__FastEvent__"in n:false}u(Ye,"isFastEvent");exports.AbortError=_;exports.CancelError=x;exports.FastEvent=$;exports.FastEventDirectives=y;exports.FastEventError=m;exports.FastEventScope=E;exports.QueueOverflowError=C;exports.TimeoutError=R;exports.UnboundError=d;exports.__FastEventScope__=H;exports.__FastEvent__=G;exports.__expandable__=N;exports.expandable=ge;exports.isClass=He;exports.isExpandable=V;exports.isFastEvent=Ye;exports.isFastEventMessage=Be;exports.isFastEventScope=W;exports.isFunction=c;exports.isPathMatched=w;exports.isString=qe;exports.isSubsctiber=B;//# sourceMappingURL=index.js.map
1
+ 'use strict';var P=Object.defineProperty;var q=(n,e,t)=>e in n?P(n,e,{enumerable:true,configurable:true,writable:true,value:t}):n[e]=t;var u=(n,e)=>P(n,"name",{value:e,configurable:true});var p=(n,e,t)=>q(n,typeof e!="symbol"?e+"":e,t);var G=Symbol.for("__FastEvent__"),H=Symbol.for("__FastEventScope__"),S=class S extends Error{constructor(e){super(e);}};u(S,"FastEventError");var m=S,A=class A extends m{};u(A,"TimeoutError");var R=A,M=class M extends m{};u(M,"UnboundError");var d=M,T=class T extends m{};u(T,"AbortError");var _=T,j=class j extends m{};u(j,"CancelError");var x=j,O=class O extends m{};u(O,"QueueOverflowError");var C=O,y={clearRetain:Symbol.for("ClearRetain")};function b(n,e,t,s){let i,r={},o={};return typeof n[0]=="object"?(Object.assign(o,n[0]),r=typeof n[1]=="boolean"?{retain:n[1]}:n[1]||{},i=n[0].meta):(o.type=n[0],o.payload=n[1],r=typeof n[2]=="boolean"?{retain:n[2]}:n[2]||{}),i=Object.assign({},e,t,r.meta,i),Object.keys(i).length===0&&(i=void 0),o.meta=i,r.executor===void 0&&(r.executor=s),[o,r]}u(b,"parseEmitArgs");function W(n){return n?typeof n=="object"&&"__FastEventScope__"in n:false}u(W,"isFastEventScope");function L(n,e,t){let s=n[0],i=W(n[1])?n[1]:void 0,r=(i?n[2]:n[1])||{};return r.meta=Object.assign({},e,r?.meta),r.context=r.context!==void 0?r.context:t,[s,i,r]}u(L,"parseScopeArgs");function g(n,e){return Object.defineProperty(n,"name",{value:e||"anonymous",configurable:true}),n}u(g,"renameFn");var v=class v{constructor(e){p(this,"__FastEventScope__",true);p(this,"_options",{});p(this,"types",{events:void 0,meta:void 0,context:void 0,message:void 0,listeners:void 0,anyListener:void 0});p(this,"prefix","");p(this,"emitter");this._options=Object.assign({},this._initOptions(e));}get context(){return this.options.context||this}get options(){return this._options}bind(e,t,s){this.emitter=e,this._options=Object.assign(this._options,{scope:t},s),t.length>0&&!t.endsWith(e.options.delimiter)&&(this.prefix=t+e.options.delimiter);}_initOptions(e){return e}_getScopeListener(e){let t=this.prefix;if(t.length===0)return e;e||(e=(this._options.onMessage||this.onMessage).bind(this));let s=this;return g(function(r,o){if(r.type.startsWith(t))return e.call(s.context,Object.assign({},r,{type:r.type.substring(t.length)}),o)},e.name)}_getScopeType(e){return e===void 0?void 0:this.prefix+e}_fixScopeType(e){return e.startsWith(this.prefix)?e.substring(this.prefix.length):e}on(){if(!this.emitter)throw new d;let e=[...arguments];return e[0]=this._getScopeType(e[0]),e[1]=this._getScopeListener(e[1]),this.emitter.on(...e)}once(){return this.on(arguments[0],arguments[1],Object.assign({},arguments[2],{count:1}))}onAny(){return this.on("**",...arguments)}off(){let e=arguments;typeof e[0]=="string"&&(e[0]=this._getScopeType(e[0])),this.emitter.off(...e);}offAll(){this.emitter.offAll(this.prefix.substring(0,this.prefix.length-1));}clear(){this.emitter.clear(this.prefix.substring(0,this.prefix.length-1));}emit(){if(arguments.length===2&&typeof arguments[0]=="string"&&arguments[1]===y.clearRetain)return this.emitter.emit(this._getScopeType(arguments[0]));let[e,t]=b(arguments,this.emitter.options.meta,this.options.meta,this.options.executor);return e.type=this._getScopeType(e.type),this.emitter.emit(e,t)}async emitAsync(){return (await Promise.allSettled(this.emit.apply(this,arguments))).map(t=>t.status==="fulfilled"?t.value:t.reason)}async waitFor(){let e=arguments[0],t=arguments[1],s=await this.emitter.waitFor(this._getScopeType(e),t);return Object.assign({},s,{type:this._fixScopeType(s.type)})}scope(){let[e,t,s]=L(arguments,this.options.meta,this.options.context),i;return t?i=t:i=new v,i.bind(this.emitter,this.prefix+e,s),i}onMessage(e,t){}};u(v,"FastEventScope");var E=v;function w(n,e){if(n.length!==e.length&&n.length>0&&e[e.length-1]!=="**")return false;let t=[...e];e.length>0&&e[e.length-1]==="**"&&t.splice(e.length-1,1,...Array.from({length:n.length-e.length+1}).fill("*"));for(let s=0;s<n.length;s++)if(t[s]!=="*"&&t[s]!==n[s])return false;return true}u(w,"isPathMatched");function D(n,e){let t=[];for(;;){let s=n.findIndex(i=>e(i));if(s===-1){t.push(s);break}n.splice(s,1);}return t}u(D,"removeItem");function c(n){return n&&typeof n=="function"}u(c,"isFunction");var N=Symbol.for("__expandable__");function ge(n){return n[N]=true,n}u(ge,"expandable");function V(n){return n&&n[N]}u(V,"isExpandable");function I(n){for(let e=0;e<n.length;e++){let t=n[e];Array.isArray(t)&&V(t)&&(n.splice(e,1,...t),e+=t.length-1);}return n}u(I,"expandEmitResults");function B(n){return n&&typeof n=="object"&&"off"in n&&"listener"in n}u(B,"isSubsctiber");function X(n,e){return n.catch(t=>(e&&e(t),Promise.resolve(t)))}u(X,"tryReturnError");var F=class F{constructor(e){p(this,"__FastEvent__",true);p(this,"listeners",{__listeners:[]});p(this,"_options");p(this,"_delimiter","/");p(this,"_context");p(this,"retainedMessages",new Map);p(this,"listenerCount",0);p(this,"types",{events:void 0,meta:void 0,context:void 0,message:void 0,listeners:void 0,anyListener:void 0});this._options=Object.assign({debug:false,id:Math.random().toString(36).substring(2),delimiter:"/",context:null,ignoreErrors:true,meta:void 0,expandEmitResults:true},this._initOptions(e)),this._delimiter=this._options.delimiter,this._context=this._options.context,this._enableDevTools();}get options(){return this._options}get context(){return this.options.context||this}get meta(){return this.options.meta}get id(){return this._options.id}_initOptions(e){return e}_addListener(e,t,s){let{count:i,prepend:r}=s,o=0;return [this._forEachNodes(e,f=>{let h=[t,i,0,s.tag,s.flags];r?(f.__listeners.splice(0,0,h),o=0):(f.__listeners.push(h),o=f.__listeners.length-1),this.listenerCount++;}),o]}_enableDevTools(){this.options.debug&&globalThis.__FLEXEVENT_DEVTOOLS__&&globalThis.__FLEXEVENT_DEVTOOLS__.add(this);}_forEachNodes(e,t){if(e.length===0)return;let s=this.listeners;for(let i=0;i<e.length;i++){let r=e[i];if(r in s||(s[r]={__listeners:[]}),i===e.length-1){let o=s[r];return t(o,s),o}else s=s[r];}}_removeListener(e,t,s){s&&D(e.__listeners,i=>{i=Array.isArray(i)?i[0]:i;let r=i===s;return r&&(this.listenerCount--,c(this._options.onRemoveListener)&&this._options.onRemoveListener(t.join(this._delimiter),s)),r});}_pipeListener(e,t){return t.forEach(s=>{e=g(s(e),e.name);}),e}on(){let e=arguments[0],t=c(arguments[1])?arguments[1]:(this._options.onMessage||this.onMessage).bind(this),s=Object.assign({count:0,flags:0,prepend:false},c(arguments[1])?arguments[2]:arguments[1]);if(e.length===0)throw new Error("event type cannot be empty");if(c(this._options.onAddListener)){let f=this._options.onAddListener(e,t,s);if(f===false)throw new x;if(B(f))return f}let i=e.split(this._delimiter);if(s.pipes&&s.pipes.length>0&&(t=this._pipeListener(t,s.pipes)),c(s.filter)||c(s.off)){let f=t;t=g(function(h,l){if(c(s.off)&&s.off.call(this,h,l)){a();return}if(c(s.filter)){if(s.filter.call(this,h,l))return f.call(this,h,l)}else return f.call(this,h,l)},t.name);}let[r,o]=this._addListener(i,t,s),a=u(()=>r&&this._removeListener(r,i,t),"off");return this._emitRetainMessage(e,r,o),{off:a,listener:t}}once(){return c(arguments[1])?this.on(arguments[0],arguments[1],Object.assign({},arguments[2],{count:1})):this.on(arguments[0],Object.assign({},arguments[2],{count:1}))}onAny(){return this.on("**",arguments[0],arguments[1])}onMessage(e,t){}off(){let e=arguments,t=c(e[0])?void 0:e[0],s=c(e[0])?e[0]:e[1],i=t?t.split(this._delimiter):[],r=t?t.includes("*"):false;if(t&&!r)this._traverseToPath(this.listeners,i,o=>{s?this._removeListener(o,i,s):t&&(o.__listeners=[]);});else {let o=r?[]:i;this._traverseListeners(this.listeners,o,(a,f)=>{(s!==void 0||r&&w(a,i))&&(s?this._removeListener(f,i,s):f.__listeners=[]);});}}offAll(e){if(e){let t=e.split(this._delimiter),s=0;this._traverseListeners(this.listeners,t,(i,r)=>{s+=r.__listeners.length,r.__listeners=[];}),this.listenerCount-=s,this._removeRetainedEvents(e);}else {let t=0;this._traverseListeners(this.listeners,[],(s,i)=>{t+=i.__listeners.length;}),this.listenerCount-=t,this.retainedMessages.clear(),this.listeners={__listeners:[]};}c(this._options.onClearListeners)&&this._options.onClearListeners.call(this);}_removeRetainedEvents(e){e||this.retainedMessages.clear(),e?.endsWith(this._delimiter)&&(e+=this._delimiter),this.retainedMessages.delete(e);for(let t of this.retainedMessages.keys())t.startsWith(e)&&this.retainedMessages.delete(t);}clear(e){this.offAll(e),this._removeRetainedEvents(e);}_emitRetainMessage(e,t,s){let i=[];if(e.includes("*")){let r=e.split(this._delimiter);this.retainedMessages.forEach((o,a)=>{let f=a.split(this._delimiter);w(f,r)&&i.push(o);});}else this.retainedMessages.has(e)&&i.push(this.retainedMessages.get(e));t&&i.forEach(r=>{this._executeListeners([t],r,{},o=>o[0]===t.__listeners[s][0]);});}_traverseToPath(e,t,s,i=0,r){if(i>=t.length){s(e);return}let o=t[i];if(r===true){this._traverseToPath(e,t,s,i+1,true);return}"*"in e&&this._traverseToPath(e["*"],t,s,i+1),"**"in e&&this._traverseToPath(e["**"],t,s,i+1,true),o in e&&this._traverseToPath(e[o],t,s,i+1);}_traverseListeners(e,t,s){let i=e;t&&t.length>0&&this._traverseToPath(e,t,o=>{i=o;});let r=u((o,a,f)=>{a(f,o);for(let[h,l]of Object.entries(o))h.startsWith("__")||l&&r(l,a,[...f,h]);},"traverseNodes");r(i,s,[]);}_onListenerError(e,t,s,i){if(i instanceof Error&&(i._emitter=`${e.name||"anonymous"}:${t.type}`),c(this._options.onListenerError))try{this._options.onListenerError.call(this,i,e,t,s);}catch{}if(this._options.ignoreErrors)return i;throw i}_executeListener(e,t,s,i=false){try{if(s&&s.abortSignal&&s.abortSignal.aborted)return this._onListenerError(e,t,s,new _(e.name));let r=e.call(this.context,t,s);return i&&r&&r instanceof Promise&&(r=X(r,o=>this._onListenerError(e,t,s,o))),r}catch(r){return this._onListenerError(e,t,s,r)}}_getListenerExecutor(e){if(!e)return;let t=e.executor||this._options.executor;if(c(t))return t}_executeListeners(e,t,s,i){if(!e||e.length===0)return [];let r=e.reduce((a,f)=>a.concat(f.__listeners.filter(h=>c(i)?i(h,f):true).map((h,l)=>[h,l,f.__listeners])),[]);this._decListenerExecCount(r);let o=this._getListenerExecutor(s);if(o){let a=o(r.map(f=>f[0]),t,s,this._executeListener.bind(this));return Array.isArray(a)?a:[a]}else return r.map(a=>this._executeListener(a[0][0],t,s,true))}_decListenerExecCount(e){for(let t=e.length-1;t>=0;t--){let s=e[t][0];s[2]++,s[1]>0&&s[1]<=s[2]&&e[t][2].splice(t,1);}}getListeners(e){let t=[],s=e.split(this._delimiter);return this._traverseToPath(this.listeners,s,i=>{t.push(i);}),t[0].__listeners}emit(){if(arguments.length===2&&typeof arguments[0]=="string"&&arguments[1]===y.clearRetain)return this.retainedMessages.delete(arguments[0]),[];let[e,t]=b(arguments,this.options.meta);c(t.parseArgs)&&t.parseArgs(e,t);let s=e.type.split(this._delimiter);t.retain&&this.retainedMessages.set(e.type,e);let i=[],r=[];if(this._traverseToPath(this.listeners,s,o=>{r.push(o);}),c(this._options.onBeforeExecuteListener)){let o=this._options.onBeforeExecuteListener.call(this,e,t);if(Array.isArray(o))return o;if(o===false)throw new _(e.type)}return i.push(...this._executeListeners(r,e,t)),c(this._options.onAfterExecuteListener)&&this._options.onAfterExecuteListener.call(this,e,i,r),this._options.expandEmitResults&&I(i),i}async emitAsync(){return (await Promise.allSettled(this.emit.apply(this,arguments))).map(t=>t.status==="fulfilled"?t.value:t.reason)}waitFor(){let e=arguments[0],t=arguments[1];return new Promise((s,i)=>{let r,o,a=u(f=>{clearTimeout(r),o&&o.off(),s(f);},"listener");t&&t>0&&(r=setTimeout(()=>{o&&o.off(),i(new Error("wait for event<"+e+"> is timeout"));},t)),o=this.on(e,a);})}scope(){let[e,t,s]=L(arguments,this.options.meta,this.options.context),i;return t?i=t:i=new E,i.bind(this,e,s),i}};u(F,"FastEvent");var $=F;function Xe(n){return n?typeof n=="object"&&"type"in n:false}u(Xe,"isFastEventMessage");function ze(n){return n&&typeof n=="string"}u(ze,"isString");function Je(n){return typeof n=="function"&&(n.toString().startsWith("class ")||n.prototype?.constructor===n)}u(Je,"isClass");function Ze(n){return n?typeof n=="object"&&"__FastEvent__"in n:false}u(Ze,"isFastEvent");exports.AbortError=_;exports.CancelError=x;exports.FastEvent=$;exports.FastEventDirectives=y;exports.FastEventError=m;exports.FastEventScope=E;exports.QueueOverflowError=C;exports.TimeoutError=R;exports.UnboundError=d;exports.__FastEventScope__=H;exports.__FastEvent__=G;exports.__expandable__=N;exports.expandable=ge;exports.isClass=Je;exports.isExpandable=V;exports.isFastEvent=Ze;exports.isFastEventMessage=Xe;exports.isFastEventScope=W;exports.isFunction=c;exports.isPathMatched=w;exports.isString=ze;exports.isSubsctiber=B;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map