@kuindji/reactive 1.0.21 → 1.0.24

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/eventBus.js CHANGED
@@ -1,85 +1,82 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEventBus = createEventBus;
4
- const event_1 = require("./event");
5
- const types_1 = require("./lib/types");
1
+ import { createEvent } from "./event";
2
+ import { ProxyType, TriggerReturnType, } from "./lib/types";
6
3
  function proxyReturnTypeToTriggerReturnType(proxyType) {
7
4
  switch (proxyType) {
8
- case types_1.ProxyType.TRIGGER:
5
+ case ProxyType.TRIGGER:
9
6
  return { returnType: null, resolve: false };
10
- case types_1.ProxyType.RAW:
11
- return { returnType: types_1.TriggerReturnType.RAW, resolve: false };
12
- case types_1.ProxyType.ALL:
13
- return { returnType: types_1.TriggerReturnType.ALL, resolve: false };
14
- case types_1.ProxyType.CONCAT:
15
- return { returnType: types_1.TriggerReturnType.CONCAT, resolve: false };
16
- case types_1.ProxyType.MERGE:
17
- return { returnType: types_1.TriggerReturnType.MERGE, resolve: false };
18
- case types_1.ProxyType.LAST:
19
- return { returnType: types_1.TriggerReturnType.LAST, resolve: false };
20
- case types_1.ProxyType.PIPE:
21
- return { returnType: types_1.TriggerReturnType.PIPE, resolve: false };
22
- case types_1.ProxyType.FIRST:
23
- return { returnType: types_1.TriggerReturnType.FIRST, resolve: false };
24
- case types_1.ProxyType.UNTIL_TRUE:
25
- return { returnType: types_1.TriggerReturnType.UNTIL_TRUE, resolve: false };
26
- case types_1.ProxyType.UNTIL_FALSE:
7
+ case ProxyType.RAW:
8
+ return { returnType: TriggerReturnType.RAW, resolve: false };
9
+ case ProxyType.ALL:
10
+ return { returnType: TriggerReturnType.ALL, resolve: false };
11
+ case ProxyType.CONCAT:
12
+ return { returnType: TriggerReturnType.CONCAT, resolve: false };
13
+ case ProxyType.MERGE:
14
+ return { returnType: TriggerReturnType.MERGE, resolve: false };
15
+ case ProxyType.LAST:
16
+ return { returnType: TriggerReturnType.LAST, resolve: false };
17
+ case ProxyType.PIPE:
18
+ return { returnType: TriggerReturnType.PIPE, resolve: false };
19
+ case ProxyType.FIRST:
20
+ return { returnType: TriggerReturnType.FIRST, resolve: false };
21
+ case ProxyType.UNTIL_TRUE:
22
+ return { returnType: TriggerReturnType.UNTIL_TRUE, resolve: false };
23
+ case ProxyType.UNTIL_FALSE:
27
24
  return {
28
- returnType: types_1.TriggerReturnType.UNTIL_FALSE,
25
+ returnType: TriggerReturnType.UNTIL_FALSE,
29
26
  resolve: false,
30
27
  };
31
- case types_1.ProxyType.FIRST_NON_EMPTY:
28
+ case ProxyType.FIRST_NON_EMPTY:
32
29
  return {
33
- returnType: types_1.TriggerReturnType.FIRST_NON_EMPTY,
30
+ returnType: TriggerReturnType.FIRST_NON_EMPTY,
34
31
  resolve: false,
35
32
  };
36
- case types_1.ProxyType.RESOLVE_ALL:
33
+ case ProxyType.RESOLVE_ALL:
37
34
  return {
38
- returnType: types_1.TriggerReturnType.ALL,
35
+ returnType: TriggerReturnType.ALL,
39
36
  resolve: true,
40
37
  };
41
- case types_1.ProxyType.RESOLVE_MERGE:
38
+ case ProxyType.RESOLVE_MERGE:
42
39
  return {
43
- returnType: types_1.TriggerReturnType.MERGE,
40
+ returnType: TriggerReturnType.MERGE,
44
41
  resolve: true,
45
42
  };
46
- case types_1.ProxyType.RESOLVE_CONCAT:
43
+ case ProxyType.RESOLVE_CONCAT:
47
44
  return {
48
- returnType: types_1.TriggerReturnType.CONCAT,
45
+ returnType: TriggerReturnType.CONCAT,
49
46
  resolve: true,
50
47
  };
51
- case types_1.ProxyType.RESOLVE_FIRST:
48
+ case ProxyType.RESOLVE_FIRST:
52
49
  return {
53
- returnType: types_1.TriggerReturnType.FIRST,
50
+ returnType: TriggerReturnType.FIRST,
54
51
  resolve: true,
55
52
  };
56
- case types_1.ProxyType.RESOLVE_FIRST_NON_EMPTY:
53
+ case ProxyType.RESOLVE_FIRST_NON_EMPTY:
57
54
  return {
58
- returnType: types_1.TriggerReturnType.FIRST_NON_EMPTY,
55
+ returnType: TriggerReturnType.FIRST_NON_EMPTY,
59
56
  resolve: true,
60
57
  };
61
- case types_1.ProxyType.RESOLVE_LAST:
58
+ case ProxyType.RESOLVE_LAST:
62
59
  return {
63
- returnType: types_1.TriggerReturnType.LAST,
60
+ returnType: TriggerReturnType.LAST,
64
61
  resolve: true,
65
62
  };
66
- case types_1.ProxyType.RESOLVE_PIPE:
63
+ case ProxyType.RESOLVE_PIPE:
67
64
  return {
68
- returnType: types_1.TriggerReturnType.PIPE,
65
+ returnType: TriggerReturnType.PIPE,
69
66
  resolve: true,
70
67
  };
71
68
  default:
72
69
  return { returnType: null, resolve: false };
73
70
  }
74
71
  }
75
- function createEventBus(eventBusOptions) {
72
+ export function createEventBus(eventBusOptions) {
76
73
  const events = new Map();
77
74
  let currentTagsFilter = null;
78
75
  let interceptor = null;
79
76
  const proxyListeners = [];
80
77
  const eventSources = [];
81
- const asterisk = (0, event_1.createEvent)();
82
- const errorEvent = (0, event_1.createEvent)();
78
+ const asterisk = createEvent();
79
+ const errorEvent = createEvent();
83
80
  const _getProxyListener = ({ remoteEventName, localEventName, returnType, resolve, localEventNamePrefix, }) => {
84
81
  let listener = proxyListeners.find((listener) => listener.returnType === returnType
85
82
  && listener.resolve === resolve
@@ -87,47 +84,58 @@ function createEventBus(eventBusOptions) {
87
84
  && listener.remoteEventName === remoteEventName
88
85
  && listener.localEventNamePrefix === localEventNamePrefix);
89
86
  if (!listener) {
90
- listener = {
87
+ const createListenerFn = () => {
88
+ if (remoteEventName === "*") {
89
+ return (eventName, args) => {
90
+ let computedName;
91
+ if (localEventName) {
92
+ computedName = localEventName;
93
+ }
94
+ else if (localEventNamePrefix) {
95
+ computedName = `${localEventNamePrefix}${String(eventName)}`;
96
+ }
97
+ else {
98
+ computedName = eventName;
99
+ }
100
+ return _trigger(computedName, args, returnType, resolve);
101
+ };
102
+ }
103
+ return (...args) => {
104
+ let computedName;
105
+ if (localEventName) {
106
+ computedName = localEventName;
107
+ }
108
+ else if (localEventNamePrefix) {
109
+ computedName = `${localEventNamePrefix}${String(remoteEventName)}`;
110
+ }
111
+ else {
112
+ computedName = remoteEventName;
113
+ }
114
+ return _trigger(computedName, args, returnType, resolve);
115
+ };
116
+ };
117
+ const proxyListener = {
91
118
  localEventName,
92
119
  remoteEventName,
93
120
  localEventNamePrefix,
94
121
  returnType,
95
122
  resolve,
96
- listener: remoteEventName === "*"
97
- ? (eventName, args) => {
98
- const name = localEventName
99
- ? localEventName
100
- : localEventNamePrefix
101
- ? `${localEventNamePrefix}${eventName}`
102
- : eventName;
103
- return _trigger(name,
104
- // @ts-expect-error
105
- args, returnType, resolve);
106
- }
107
- : (...args) => {
108
- const name = localEventName
109
- ? localEventName
110
- : localEventNamePrefix
111
- ? `${localEventNamePrefix}${remoteEventName}`
112
- : remoteEventName;
113
- return _trigger(name,
114
- // @ts-expect-error
115
- args, returnType, resolve);
116
- },
123
+ listener: createListenerFn(),
117
124
  };
118
- proxyListeners.push(listener);
125
+ listener = proxyListener;
126
+ proxyListeners.push(proxyListener);
119
127
  }
120
128
  return listener;
121
129
  };
122
130
  const add = (name, options) => {
123
131
  if (!events.has(name)) {
124
- events.set(name, (0, event_1.createEvent)(options));
132
+ events.set(name, createEvent(options));
125
133
  }
126
134
  };
127
135
  const _getOrAddEvent = (name) => {
128
136
  var _a;
129
137
  if (!events.has(name)) {
130
- events.set(name, (0, event_1.createEvent)((_a = eventBusOptions === null || eventBusOptions === void 0 ? void 0 : eventBusOptions.eventOptions) === null || _a === void 0 ? void 0 : _a[name]));
138
+ events.set(name, createEvent((_a = eventBusOptions === null || eventBusOptions === void 0 ? void 0 : eventBusOptions.eventOptions) === null || _a === void 0 ? void 0 : _a[name]));
131
139
  }
132
140
  return events.get(name);
133
141
  };
@@ -146,14 +154,13 @@ function createEventBus(eventBusOptions) {
146
154
  const on = (name, handler, options) => {
147
155
  const e = _getOrAddEvent(name);
148
156
  eventSources.forEach((evs) => {
149
- name;
150
157
  if (evs.eventSource.accepts === false
151
158
  || (typeof evs.eventSource.accepts === "function"
152
159
  && !evs.eventSource.accepts(name))) {
153
160
  return;
154
161
  }
155
162
  if (evs.subscribed.indexOf(name) === -1) {
156
- const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || types_1.ProxyType.TRIGGER);
163
+ const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || ProxyType.TRIGGER);
157
164
  const listener = _getProxyListener({
158
165
  localEventName: null,
159
166
  remoteEventName: name,
@@ -181,14 +188,14 @@ function createEventBus(eventBusOptions) {
181
188
  if (e) {
182
189
  e.removeListener(handler, context, tag);
183
190
  }
184
- if (eventSources.length > 0) {
191
+ if (eventSources.length > 0 && e) {
185
192
  const isEmpty = !e.hasListener();
186
193
  eventSources.forEach((evs) => {
187
194
  const inx = evs.subscribed.indexOf(name);
188
195
  if (inx !== -1) {
189
196
  evs.subscribed.splice(inx, 1);
190
197
  if (isEmpty) {
191
- const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || types_1.ProxyType.TRIGGER);
198
+ const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || ProxyType.TRIGGER);
192
199
  const listener = _getProxyListener({
193
200
  localEventName: null,
194
201
  remoteEventName: name,
@@ -216,46 +223,47 @@ function createEventBus(eventBusOptions) {
216
223
  const runner = () => {
217
224
  let result;
218
225
  switch (returnType) {
219
- case types_1.TriggerReturnType.RAW:
226
+ case TriggerReturnType.RAW:
220
227
  result = e.raw(...args);
221
228
  break;
222
- case types_1.TriggerReturnType.ALL:
229
+ case TriggerReturnType.ALL:
223
230
  result = resolve ? e.resolveAll(...args) : e.all(...args);
224
231
  break;
225
- case types_1.TriggerReturnType.CONCAT:
232
+ case TriggerReturnType.CONCAT:
226
233
  result = resolve
227
234
  ? e.resolveConcat(...args)
228
235
  : e.concat(...args);
229
236
  break;
230
- case types_1.TriggerReturnType.MERGE:
237
+ case TriggerReturnType.MERGE:
231
238
  result = resolve
232
239
  ? e.resolveMerge(...args)
233
240
  : e.merge(...args);
234
241
  break;
235
- case types_1.TriggerReturnType.LAST:
242
+ case TriggerReturnType.LAST:
236
243
  result = resolve ? e.resolveLast(...args) : e.last(...args);
237
244
  break;
238
- case types_1.TriggerReturnType.PIPE:
245
+ case TriggerReturnType.PIPE:
239
246
  result = resolve ? e.resolvePipe(...args) : e.pipe(...args);
240
247
  break;
241
- case types_1.TriggerReturnType.FIRST:
248
+ case TriggerReturnType.FIRST:
242
249
  result = resolve
243
250
  ? e.resolveFirst(...args)
244
251
  : e.first(...args);
245
252
  break;
246
- case types_1.TriggerReturnType.UNTIL_TRUE:
253
+ case TriggerReturnType.UNTIL_TRUE:
247
254
  result = e.untilTrue(...args);
248
255
  break;
249
- case types_1.TriggerReturnType.UNTIL_FALSE:
256
+ case TriggerReturnType.UNTIL_FALSE:
250
257
  result = e.untilFalse(...args);
251
258
  break;
252
- case types_1.TriggerReturnType.FIRST_NON_EMPTY:
259
+ case TriggerReturnType.FIRST_NON_EMPTY:
253
260
  result = resolve
254
261
  ? e.resolveFirstNonEmpty(...args)
255
262
  : e.firstNonEmpty(...args);
256
263
  break;
257
264
  default:
258
265
  e.trigger(...args);
266
+ return undefined;
259
267
  }
260
268
  return result;
261
269
  };
@@ -289,78 +297,64 @@ function createEventBus(eventBusOptions) {
289
297
  return _trigger(name, args, null, false);
290
298
  };
291
299
  const first = (name, ...args) => {
292
- const e = _getOrAddEvent(name);
293
- return _trigger(name, args, types_1.TriggerReturnType.FIRST, false);
300
+ return _trigger(name, args, TriggerReturnType.FIRST, false);
294
301
  };
295
302
  const resolveFirst = (name, ...args) => {
296
- const e = _getOrAddEvent(name);
297
- return _trigger(name, args, types_1.TriggerReturnType.FIRST, true);
303
+ return _trigger(name, args, TriggerReturnType.FIRST, true);
298
304
  };
299
305
  const all = (name, ...args) => {
300
- const e = _getOrAddEvent(name);
301
- return _trigger(name, args, types_1.TriggerReturnType.ALL, false);
306
+ return _trigger(name, args, TriggerReturnType.ALL, false);
302
307
  };
303
308
  const resolveAll = (name, ...args) => {
304
- const e = _getOrAddEvent(name);
305
- return _trigger(name, args, types_1.TriggerReturnType.ALL, true);
309
+ return _trigger(name, args, TriggerReturnType.ALL, true);
306
310
  };
307
311
  const last = (name, ...args) => {
308
- const e = _getOrAddEvent(name);
309
- return _trigger(name, args, types_1.TriggerReturnType.LAST, false);
312
+ return _trigger(name, args, TriggerReturnType.LAST, false);
310
313
  };
311
314
  const resolveLast = (name, ...args) => {
312
- const e = _getOrAddEvent(name);
313
- return _trigger(name, args, types_1.TriggerReturnType.LAST, true);
315
+ return _trigger(name, args, TriggerReturnType.LAST, true);
314
316
  };
315
317
  const merge = (name, ...args) => {
316
- const e = _getOrAddEvent(name);
317
- return _trigger(name, args, types_1.TriggerReturnType.MERGE, false);
318
+ return _trigger(name, args, TriggerReturnType.MERGE, false);
318
319
  };
319
320
  const resolveMerge = (name, ...args) => {
320
- const e = _getOrAddEvent(name);
321
- return _trigger(name, args, types_1.TriggerReturnType.MERGE, true);
321
+ return _trigger(name, args, TriggerReturnType.MERGE, true);
322
322
  };
323
323
  const concat = (name, ...args) => {
324
- const e = _getOrAddEvent(name);
325
- return _trigger(name, args, types_1.TriggerReturnType.CONCAT, false);
324
+ return _trigger(name, args, TriggerReturnType.CONCAT, false);
326
325
  };
327
326
  const resolveConcat = (name, ...args) => {
328
- const e = _getOrAddEvent(name);
329
- return _trigger(name, args, types_1.TriggerReturnType.CONCAT, true);
327
+ return _trigger(name, args, TriggerReturnType.CONCAT, true);
330
328
  };
331
329
  const firstNonEmpty = (name, ...args) => {
332
- const e = _getOrAddEvent(name);
333
- return _trigger(name, args, types_1.TriggerReturnType.FIRST_NON_EMPTY, false);
330
+ return _trigger(name, args, TriggerReturnType.FIRST_NON_EMPTY, false);
334
331
  };
335
332
  const resolveFirstNonEmpty = (name, ...args) => {
336
- const e = _getOrAddEvent(name);
337
- return _trigger(name, args, types_1.TriggerReturnType.FIRST_NON_EMPTY, true);
333
+ return _trigger(name, args, TriggerReturnType.FIRST_NON_EMPTY, true);
338
334
  };
339
335
  const untilTrue = (name, ...args) => {
340
- const e = _getOrAddEvent(name);
341
- return _trigger(name, args, types_1.TriggerReturnType.UNTIL_TRUE, false);
336
+ return _trigger(name, args, TriggerReturnType.UNTIL_TRUE, false);
342
337
  };
343
338
  const untilFalse = (name, ...args) => {
344
- const e = _getOrAddEvent(name);
345
- return _trigger(name, args, types_1.TriggerReturnType.UNTIL_FALSE, false);
339
+ return _trigger(name, args, TriggerReturnType.UNTIL_FALSE, false);
346
340
  };
347
341
  const pipe = (name, ...args) => {
348
- const e = _getOrAddEvent(name);
349
- return _trigger(name, args, types_1.TriggerReturnType.PIPE, false);
342
+ return _trigger(name, args, TriggerReturnType.PIPE, false);
350
343
  };
351
344
  const resolvePipe = (name, ...args) => {
352
- const e = _getOrAddEvent(name);
353
- return _trigger(name, args, types_1.TriggerReturnType.PIPE, true);
345
+ return _trigger(name, args, TriggerReturnType.PIPE, true);
354
346
  };
355
347
  const raw = (name, ...args) => {
356
- const e = _getOrAddEvent(name);
357
- return _trigger(name, args, types_1.TriggerReturnType.RAW, false);
348
+ return _trigger(name, args, TriggerReturnType.RAW, false);
358
349
  };
359
350
  const withTags = (tags, callback) => {
360
351
  currentTagsFilter = tags;
361
- const result = callback();
362
- currentTagsFilter = null;
363
- return result;
352
+ try {
353
+ return callback();
354
+ }
355
+ finally {
356
+ currentTagsFilter = null;
357
+ }
364
358
  };
365
359
  const reset = () => {
366
360
  if (eventSources.length > 0) {
@@ -376,17 +370,17 @@ function createEventBus(eventBusOptions) {
376
370
  eventSources.length = 0;
377
371
  };
378
372
  const suspendAll = (withQueue = false) => {
379
- for (const name in events) {
380
- events.get(name).suspend(withQueue);
381
- }
373
+ events.forEach((event) => {
374
+ event.suspend(withQueue);
375
+ });
382
376
  };
383
377
  const resumeAll = () => {
384
- for (const name in events) {
385
- events.get(name).resume();
386
- }
378
+ events.forEach((event) => {
379
+ event.resume();
380
+ });
387
381
  };
388
382
  const relay = ({ eventSource, remoteEventName, localEventName, proxyType, localEventNamePrefix, }) => {
389
- const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(proxyType || types_1.ProxyType.TRIGGER);
383
+ const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(proxyType || ProxyType.TRIGGER);
390
384
  const listener = _getProxyListener({
391
385
  localEventName: localEventName || null,
392
386
  remoteEventName,
@@ -402,7 +396,7 @@ function createEventBus(eventBusOptions) {
402
396
  }
403
397
  };
404
398
  const unrelay = ({ eventSource, remoteEventName, localEventName, proxyType, localEventNamePrefix, }) => {
405
- const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(proxyType || types_1.ProxyType.TRIGGER);
399
+ const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(proxyType || ProxyType.TRIGGER);
406
400
  const listener = _getProxyListener({
407
401
  localEventName: localEventName || null,
408
402
  remoteEventName,
@@ -435,16 +429,16 @@ function createEventBus(eventBusOptions) {
435
429
  : evs.eventSource.name === eventSource.name);
436
430
  if (inx !== -1) {
437
431
  const evs = eventSources[inx];
438
- evs.subscribed.forEach((name) => {
439
- const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || types_1.ProxyType.TRIGGER);
432
+ evs.subscribed.forEach((subscribedName) => {
433
+ const { returnType, resolve } = proxyReturnTypeToTriggerReturnType(evs.eventSource.proxyType || ProxyType.TRIGGER);
440
434
  const listener = _getProxyListener({
441
435
  localEventName: null,
442
- remoteEventName: name,
436
+ remoteEventName: subscribedName,
443
437
  returnType,
444
438
  resolve,
445
439
  localEventNamePrefix: null,
446
440
  });
447
- evs.eventSource.un(name, listener.listener, evs.eventSource);
441
+ evs.eventSource.un(subscribedName, listener.listener, evs.eventSource);
448
442
  });
449
443
  eventSources.splice(inx, 1);
450
444
  }
package/dist/index.js CHANGED
@@ -1,23 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./action"), exports);
18
- __exportStar(require("./actionBus"), exports);
19
- __exportStar(require("./actionMap"), exports);
20
- __exportStar(require("./event"), exports);
21
- __exportStar(require("./eventBus"), exports);
22
- __exportStar(require("./lib/types"), exports);
23
- __exportStar(require("./store"), exports);
1
+ export * from "./action";
2
+ export * from "./actionBus";
3
+ export * from "./actionMap";
4
+ export * from "./event";
5
+ export * from "./eventBus";
6
+ export * from "./lib/types";
7
+ export * from "./store";
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = asyncCall;
4
- function asyncCall(fn, context, args, timeout) {
1
+ export default function asyncCall(fn, context, args, timeout) {
5
2
  return new Promise((resolve, reject) => {
6
3
  const newArgs = [...(args || [])];
7
- // const newArgs = [ ...(args || []) ];
8
4
  setTimeout(() => {
9
5
  try {
10
6
  resolve(fn.apply(context, newArgs));
11
7
  }
12
8
  catch (err) {
13
- reject(err);
9
+ reject(err instanceof Error ? err : new Error(String(err)));
14
10
  }
15
11
  }, timeout || 0);
16
12
  });
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = listenerSorter;
4
- function listenerSorter(l1, l2) {
1
+ export default function listenerSorter(l1, l2) {
5
2
  const f1 = l1.alwaysFirst === true ? 1 : 0, f2 = l2.alwaysFirst === true ? 1 : 0, ls1 = l1.alwaysLast === true ? 1 : 0, ls2 = l2.alwaysLast === true ? 1 : 0;
6
3
  if (f1 === 1 || f2 === 1) {
7
4
  return f1 === f2 ? 0 : f1 > f2 ? -1 : 1;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = tagsIntersect;
4
- function tagsIntersect(t1, t2) {
1
+ export default function tagsIntersect(t1, t2) {
5
2
  for (const tag of t1) {
6
3
  if (t2.indexOf(tag) !== -1) {
7
4
  return true;
package/dist/lib/types.js CHANGED
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProxyType = exports.TriggerReturnType = void 0;
4
- var TriggerReturnType;
1
+ export var TriggerReturnType;
5
2
  (function (TriggerReturnType) {
6
3
  TriggerReturnType["RAW"] = "raw";
7
4
  TriggerReturnType["ALL"] = "all";
@@ -13,8 +10,8 @@ var TriggerReturnType;
13
10
  TriggerReturnType["UNTIL_TRUE"] = "true";
14
11
  TriggerReturnType["UNTIL_FALSE"] = "false";
15
12
  TriggerReturnType["FIRST_NON_EMPTY"] = "nonempty";
16
- })(TriggerReturnType || (exports.TriggerReturnType = TriggerReturnType = {}));
17
- var ProxyType;
13
+ })(TriggerReturnType || (TriggerReturnType = {}));
14
+ export var ProxyType;
18
15
  (function (ProxyType) {
19
16
  ProxyType["TRIGGER"] = "trigger";
20
17
  ProxyType["RAW"] = "raw";
@@ -34,4 +31,4 @@ var ProxyType;
34
31
  ProxyType["RESOLVE_FIRST_NON_EMPTY"] = "resolveFirstNonEmpty";
35
32
  ProxyType["RESOLVE_LAST"] = "resolveLast";
36
33
  ProxyType["RESOLVE_PIPE"] = "resolvePipe";
37
- })(ProxyType || (exports.ProxyType = ProxyType = {}));
34
+ })(ProxyType || (ProxyType = {}));
@@ -1,15 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorBoundaryContext = void 0;
4
- exports.ErrorBoundary = ErrorBoundary;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const react_1 = require("react");
7
- exports.ErrorBoundaryContext = (0, react_1.createContext)(null);
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useRef } from "react";
3
+ export const ErrorBoundaryContext = createContext(null);
8
4
  function ErrorBoundary({ children, listener }) {
9
- const boundaryErrorListener = (0, react_1.useContext)(exports.ErrorBoundaryContext);
10
- const thisRef = (0, react_1.useRef)(listener);
11
- const outerRef = (0, react_1.useRef)(boundaryErrorListener);
12
- const thisErrorListener = (0, react_1.useCallback)((errorResponse) => {
5
+ const boundaryErrorListener = useContext(ErrorBoundaryContext);
6
+ const thisRef = useRef(listener);
7
+ const outerRef = useRef(boundaryErrorListener);
8
+ // Keep refs in sync with props
9
+ thisRef.current = listener;
10
+ outerRef.current = boundaryErrorListener;
11
+ const thisErrorListener = useCallback((errorResponse) => {
13
12
  if (thisRef.current) {
14
13
  thisRef.current(errorResponse);
15
14
  }
@@ -20,6 +19,7 @@ function ErrorBoundary({ children, listener }) {
20
19
  throw errorResponse.error;
21
20
  }
22
21
  }, []);
23
- return ((0, jsx_runtime_1.jsx)(exports.ErrorBoundaryContext.Provider, { value: thisErrorListener, children: children }));
22
+ return (_jsx(ErrorBoundaryContext.Provider, { value: thisErrorListener, children: children }));
24
23
  }
25
- exports.default = ErrorBoundary;
24
+ export default ErrorBoundary;
25
+ export { ErrorBoundary };