@tarojs/shared 4.0.0-canary.8 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,97 @@
1
+ class Events {
2
+ constructor(opts) {
3
+ var _a;
4
+ this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};
5
+ }
6
+ on(eventName, callback, context) {
7
+ let event, tail, _eventName;
8
+ if (!callback) {
9
+ return this;
10
+ }
11
+ if (typeof eventName === 'symbol') {
12
+ _eventName = [eventName];
13
+ }
14
+ else {
15
+ _eventName = eventName.split(Events.eventSplitter);
16
+ }
17
+ this.callbacks || (this.callbacks = {});
18
+ const calls = this.callbacks;
19
+ while ((event = _eventName.shift())) {
20
+ const list = calls[event];
21
+ const node = list ? list.tail : {};
22
+ node.next = tail = {};
23
+ node.context = context;
24
+ node.callback = callback;
25
+ calls[event] = {
26
+ tail,
27
+ next: list ? list.next : node
28
+ };
29
+ }
30
+ return this;
31
+ }
32
+ once(events, callback, context) {
33
+ const wrapper = (...args) => {
34
+ callback.apply(this, args);
35
+ this.off(events, wrapper, context);
36
+ };
37
+ this.on(events, wrapper, context);
38
+ return this;
39
+ }
40
+ off(events, callback, context) {
41
+ let event, calls, _events;
42
+ if (!(calls = this.callbacks)) {
43
+ return this;
44
+ }
45
+ if (!(events || callback || context)) {
46
+ delete this.callbacks;
47
+ return this;
48
+ }
49
+ if (typeof events === 'symbol') {
50
+ _events = [events];
51
+ }
52
+ else {
53
+ _events = events ? events.split(Events.eventSplitter) : Object.keys(calls);
54
+ }
55
+ while ((event = _events.shift())) {
56
+ let node = calls[event];
57
+ delete calls[event];
58
+ if (!node || !(callback || context)) {
59
+ continue;
60
+ }
61
+ const tail = node.tail;
62
+ while ((node = node.next) !== tail) {
63
+ const cb = node.callback;
64
+ const ctx = node.context;
65
+ if ((callback && cb !== callback) || (context && ctx !== context)) {
66
+ this.on(event, cb, ctx);
67
+ }
68
+ }
69
+ }
70
+ return this;
71
+ }
72
+ trigger(events, ...args) {
73
+ let event, node, calls, _events;
74
+ if (!(calls = this.callbacks)) {
75
+ return this;
76
+ }
77
+ if (typeof events === 'symbol') {
78
+ _events = [events];
79
+ }
80
+ else {
81
+ _events = events.split(Events.eventSplitter);
82
+ }
83
+ while ((event = _events.shift())) {
84
+ if ((node = calls[event])) {
85
+ const tail = node.tail;
86
+ while ((node = node.next) !== tail) {
87
+ node.callback.apply(node.context || this, args);
88
+ }
89
+ }
90
+ }
91
+ return this;
92
+ }
93
+ }
94
+ Events.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\s+/
95
+
96
+ export { Events };
97
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sources":["../src/event-emitter.ts"],"sourcesContent":["type EventName = string | symbol\ntype EventCallbacks = Record<EventName, Record<'next' | 'tail', unknown>>\n\nexport class Events {\n protected callbacks?: EventCallbacks\n static eventSplitter = ',' // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\n constructor (opts?) {\n this.callbacks = opts?.callbacks ?? {}\n }\n\n on (eventName: EventName, callback: (...args: any[]) => void, context?: any): this {\n let event: EventName | undefined, tail, _eventName: EventName[]\n if (!callback) {\n return this\n }\n if (typeof eventName === 'symbol') {\n _eventName = [eventName]\n } else {\n _eventName = eventName.split(Events.eventSplitter)\n }\n this.callbacks ||= {}\n const calls = this.callbacks\n while ((event = _eventName.shift())) {\n const list = calls[event]\n const node: any = list ? list.tail : {}\n node.next = tail = {}\n node.context = context\n node.callback = callback\n calls[event] = {\n tail,\n next: list ? list.next : node\n }\n }\n return this\n }\n\n once (events: EventName, callback: (...r: any[]) => void, context?: any): this {\n const wrapper = (...args: any[]) => {\n callback.apply(this, args)\n this.off(events, wrapper, context)\n }\n\n this.on(events, wrapper, context)\n\n return this\n }\n\n off (events?: EventName, callback?: (...args: any[]) => void, context?: any) {\n let event: EventName | undefined, calls: EventCallbacks | undefined, _events: EventName[]\n if (!(calls = this.callbacks)) {\n return this\n }\n if (!(events || callback || context)) {\n delete this.callbacks\n return this\n }\n if (typeof events === 'symbol') {\n _events = [events]\n } else {\n _events = events ? events.split(Events.eventSplitter) : Object.keys(calls)\n }\n while ((event = _events.shift())) {\n let node: any = calls[event]\n delete calls[event]\n if (!node || !(callback || context)) {\n continue\n }\n const tail = node.tail\n while ((node = node.next) !== tail) {\n const cb = node.callback\n const ctx = node.context\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx)\n }\n }\n }\n return this\n }\n\n trigger (events: EventName, ...args: any[]) {\n let event: EventName | undefined, node, calls: EventCallbacks | undefined, _events: EventName[]\n if (!(calls = this.callbacks)) {\n return this\n }\n if (typeof events === 'symbol') {\n _events = [events]\n } else {\n _events = events.split(Events.eventSplitter)\n }\n while ((event = _events.shift())) {\n if ((node = calls[event])) {\n const tail = node.tail\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, args)\n }\n }\n }\n return this\n }\n}\n"],"names":[],"mappings":"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"}