@kuindji/reactive 1.0.23 → 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/action.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,13 +7,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createAction = createAction;
13
- const event_1 = require("./event");
14
- function createAction(action) {
15
- const { trigger, addListener, removeAllListeners, removeListener, promise, } = (0, event_1.createEvent)();
16
- const { all: triggerBeforeAction, addListener: addBeforeActionListener, removeAllListeners: removeAllBeforeActionListeners, removeListener: removeBeforeActionListener, promise: beforeActionPromise, } = (0, event_1.createEvent)();
17
- const { trigger: triggerError, addListener: addErrorListener, removeAllListeners: removeAllErrorListeners, removeListener: removeErrorListener, promise: errorPromise, hasListener: hasErrorListeners, } = (0, event_1.createEvent)();
10
+ import { createEvent } from "./event";
11
+ export function createAction(action) {
12
+ const { trigger, addListener, removeAllListeners, removeListener, promise, } = createEvent();
13
+ const { all: triggerBeforeAction, addListener: addBeforeActionListener, removeAllListeners: removeAllBeforeActionListeners, removeListener: removeBeforeActionListener, promise: beforeActionPromise, } = createEvent();
14
+ const { trigger: triggerError, addListener: addErrorListener, removeAllListeners: removeAllErrorListeners, removeListener: removeErrorListener, promise: errorPromise, hasListener: hasErrorListeners, } = createEvent();
18
15
  const invoke = (...args) => __awaiter(this, void 0, void 0, function* () {
19
16
  try {
20
17
  const beforeResults = triggerBeforeAction(...args);
package/dist/actionBus.js CHANGED
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createActionBus = createActionBus;
4
- const action_1 = require("./action");
5
- const event_1 = require("./event");
6
- function createActionBus(initialActions = {}, errorListener) {
1
+ import { createAction } from "./action";
2
+ import { createEvent } from "./event";
3
+ export function createActionBus(initialActions = {}, errorListener) {
7
4
  const actions = new Map();
8
- const errorEvent = (0, event_1.createEvent)();
5
+ const errorEvent = createEvent();
9
6
  if (errorListener) {
10
7
  errorEvent.addListener(errorListener);
11
8
  }
12
9
  const add = (name, action) => {
13
10
  if (!actions.has(name)) {
14
- const a = (0, action_1.createAction)(action);
11
+ const a = createAction(action);
15
12
  a.addErrorListener(({ error, args }) => {
16
13
  errorEvent.emit({ name, error, args, type: "action" });
17
14
  });
package/dist/actionMap.js CHANGED
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createActionMap = createActionMap;
4
- const action_1 = require("./action");
5
- function createActionMap(actions, onAnyError) {
1
+ import { createAction } from "./action";
2
+ export function createActionMap(actions, onAnyError) {
6
3
  const errorListenersMap = {};
7
4
  for (const key in actions) {
8
5
  errorListenersMap[key] = (errorResponse) => {
@@ -18,7 +15,7 @@ function createActionMap(actions, onAnyError) {
18
15
  }
19
16
  const map = {};
20
17
  for (const key in actions) {
21
- const action = (0, action_1.createAction)(actions[key]);
18
+ const action = createAction(actions[key]);
22
19
  action.addErrorListener(errorListenersMap[key]);
23
20
  map[key] = action;
24
21
  }
package/dist/event.js CHANGED
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEvent = createEvent;
4
- const asyncCall_1 = require("./lib/asyncCall");
5
- const listenerSorter_1 = require("./lib/listenerSorter");
6
- const tagsIntersect_1 = require("./lib/tagsIntersect");
7
- const types_1 = require("./lib/types");
8
- function createEvent(eventOptions = {}) {
1
+ import asyncCall from "./lib/asyncCall";
2
+ import listenerSorter from "./lib/listenerSorter";
3
+ import tagsIntersect from "./lib/tagsIntersect";
4
+ import { TriggerReturnType } from "./lib/types";
5
+ export function createEvent(eventOptions = {}) {
9
6
  let listeners = [];
10
7
  const errorListeners = [];
11
8
  let queue = [];
@@ -41,7 +38,7 @@ function createEvent(eventOptions = {}) {
41
38
  listeners.forEach((l, inx) => {
42
39
  l.index = inx;
43
40
  });
44
- listeners.sort((l1, l2) => (0, listenerSorter_1.default)(l1, l2));
41
+ listeners.sort((l1, l2) => listenerSorter(l1, l2));
45
42
  }
46
43
  if ((listenerOptions === null || listenerOptions === void 0 ? void 0 : listenerOptions.alwaysFirst) === true
47
44
  || (listenerOptions === null || listenerOptions === void 0 ? void 0 : listenerOptions.alwaysLast) === true) {
@@ -174,7 +171,7 @@ function createEvent(eventOptions = {}) {
174
171
  }
175
172
  try {
176
173
  const result = isAsync !== false
177
- ? (0, asyncCall_1.default)(listener.handler, listener.context, args, isAsync)
174
+ ? asyncCall(listener.handler, listener.context, args, isAsync)
178
175
  : listener.handler.bind(listener.context)(...args);
179
176
  if (resolve !== null) {
180
177
  if (result instanceof Promise) {
@@ -216,22 +213,22 @@ function createEvent(eventOptions = {}) {
216
213
  }
217
214
  };
218
215
  const _listenerCallWPrev = (listener, args, prevValue, returnType) => {
219
- if (returnType === types_1.TriggerReturnType.PIPE) {
216
+ if (returnType === TriggerReturnType.PIPE) {
220
217
  args[0] = prevValue;
221
218
  // since we don't user listener's arg transformer,
222
219
  // we don't need to prepare args
223
220
  // args = _prepareListenerArgs(args);
224
221
  return _listenerCall(listener, args);
225
222
  }
226
- else if (returnType === types_1.TriggerReturnType.UNTIL_TRUE
223
+ else if (returnType === TriggerReturnType.UNTIL_TRUE
227
224
  && prevValue === true) {
228
225
  return true;
229
226
  }
230
- else if (returnType === types_1.TriggerReturnType.UNTIL_FALSE
227
+ else if (returnType === TriggerReturnType.UNTIL_FALSE
231
228
  && prevValue === false) {
232
229
  return false;
233
230
  }
234
- else if (returnType === types_1.TriggerReturnType.FIRST_NON_EMPTY
231
+ else if (returnType === TriggerReturnType.FIRST_NON_EMPTY
235
232
  && prevValue !== null
236
233
  && prevValue !== undefined) {
237
234
  return prevValue;
@@ -256,24 +253,24 @@ function createEvent(eventOptions = {}) {
256
253
  // in pipe mode if there is no listeners,
257
254
  // we just return piped value
258
255
  if (listeners.length === 0) {
259
- if (returnType === types_1.TriggerReturnType.PIPE) {
256
+ if (returnType === TriggerReturnType.PIPE) {
260
257
  return args.length > 0 ? args[0] : undefined;
261
258
  }
262
- else if (returnType === types_1.TriggerReturnType.ALL
263
- || returnType === types_1.TriggerReturnType.CONCAT
264
- || returnType === types_1.TriggerReturnType.RAW) {
259
+ else if (returnType === TriggerReturnType.ALL
260
+ || returnType === TriggerReturnType.CONCAT
261
+ || returnType === TriggerReturnType.RAW) {
265
262
  return [];
266
263
  }
267
- else if (returnType === types_1.TriggerReturnType.MERGE) {
264
+ else if (returnType === TriggerReturnType.MERGE) {
268
265
  return {};
269
266
  }
270
267
  return;
271
268
  }
272
269
  const listenersQueue = listeners.slice();
273
- const isConsequent = returnType === types_1.TriggerReturnType.PIPE
274
- || returnType === types_1.TriggerReturnType.UNTIL_TRUE
275
- || returnType === types_1.TriggerReturnType.UNTIL_FALSE
276
- || returnType === types_1.TriggerReturnType.FIRST_NON_EMPTY;
270
+ const isConsequent = returnType === TriggerReturnType.PIPE
271
+ || returnType === TriggerReturnType.UNTIL_TRUE
272
+ || returnType === TriggerReturnType.UNTIL_FALSE
273
+ || returnType === TriggerReturnType.FIRST_NON_EMPTY;
277
274
  let listener;
278
275
  let listenerResult;
279
276
  const results = [];
@@ -289,12 +286,12 @@ function createEvent(eventOptions = {}) {
289
286
  }
290
287
  if (tags
291
288
  && tags.length > 0
292
- && (!listener.tags || !(0, tagsIntersect_1.default)(tags, listener.tags))) {
289
+ && (!listener.tags || !tagsIntersect(tags, listener.tags))) {
293
290
  continue;
294
291
  }
295
292
  if (currentTagsFilter !== null
296
293
  && currentTagsFilter.length > 0
297
- && !(0, tagsIntersect_1.default)(currentTagsFilter, listener.tags)) {
294
+ && !tagsIntersect(currentTagsFilter, listener.tags)) {
298
295
  continue;
299
296
  }
300
297
  listener.count++;
@@ -326,24 +323,24 @@ function createEvent(eventOptions = {}) {
326
323
  if (listener.called === listener.limit) {
327
324
  removeListener(listener.handler, listener.context);
328
325
  }
329
- if (returnType === types_1.TriggerReturnType.FIRST) {
326
+ if (returnType === TriggerReturnType.FIRST) {
330
327
  return listenerResult;
331
328
  }
332
329
  if (isConsequent) {
333
330
  switch (returnType) {
334
- case types_1.TriggerReturnType.UNTIL_TRUE: {
331
+ case TriggerReturnType.UNTIL_TRUE: {
335
332
  if (listenerResult === true) {
336
333
  return true;
337
334
  }
338
335
  break;
339
336
  }
340
- case types_1.TriggerReturnType.UNTIL_FALSE: {
337
+ case TriggerReturnType.UNTIL_FALSE: {
341
338
  if (listenerResult === false) {
342
339
  return false;
343
340
  }
344
341
  break;
345
342
  }
346
- case types_1.TriggerReturnType.FIRST_NON_EMPTY: {
343
+ case TriggerReturnType.FIRST_NON_EMPTY: {
347
344
  if (!hasPromises
348
345
  && !(listenerResult instanceof Promise)
349
346
  && listenerResult !== null
@@ -360,7 +357,7 @@ function createEvent(eventOptions = {}) {
360
357
  results.push(listenerResult);
361
358
  }
362
359
  switch (returnType) {
363
- case types_1.TriggerReturnType.RAW: {
360
+ case TriggerReturnType.RAW: {
364
361
  return results;
365
362
  }
366
363
  case undefined:
@@ -370,36 +367,36 @@ function createEvent(eventOptions = {}) {
370
367
  }
371
368
  return;
372
369
  }
373
- case types_1.TriggerReturnType.ALL: {
370
+ case TriggerReturnType.ALL: {
374
371
  return hasPromises
375
372
  ? Promise.all(results)
376
373
  : results;
377
374
  }
378
- case types_1.TriggerReturnType.CONCAT: {
375
+ case TriggerReturnType.CONCAT: {
379
376
  return hasPromises
380
377
  ? Promise.all(results).then((r) => r.flat())
381
378
  : results.flat();
382
379
  }
383
- case types_1.TriggerReturnType.MERGE: {
380
+ case TriggerReturnType.MERGE: {
384
381
  return hasPromises
385
382
  ? Promise.all(results).then((r) => Object.assign({}, ...r))
386
383
  : Object.assign({}, ...results);
387
384
  }
388
- case types_1.TriggerReturnType.LAST: {
385
+ case TriggerReturnType.LAST: {
389
386
  return results.pop();
390
387
  }
391
- case types_1.TriggerReturnType.UNTIL_TRUE: {
388
+ case TriggerReturnType.UNTIL_TRUE: {
392
389
  return;
393
390
  }
394
- case types_1.TriggerReturnType.UNTIL_FALSE: {
391
+ case TriggerReturnType.UNTIL_FALSE: {
395
392
  return;
396
393
  }
397
- case types_1.TriggerReturnType.FIRST_NON_EMPTY: {
394
+ case TriggerReturnType.FIRST_NON_EMPTY: {
398
395
  return hasPromises
399
396
  ? Promise.all(results).then((r) => r.find((item) => item !== undefined && item !== null))
400
397
  : results.find((item) => item !== undefined && item !== null);
401
398
  }
402
- case types_1.TriggerReturnType.PIPE: {
399
+ case TriggerReturnType.PIPE: {
403
400
  return results[results.length - 1];
404
401
  }
405
402
  }
@@ -429,83 +426,83 @@ function createEvent(eventOptions = {}) {
429
426
  });
430
427
  };
431
428
  const first = (...args) => {
432
- return _trigger(args, types_1.TriggerReturnType.FIRST);
429
+ return _trigger(args, TriggerReturnType.FIRST);
433
430
  };
434
431
  const resolveFirst = (...args) => {
435
- const response = _trigger(args, types_1.TriggerReturnType.FIRST);
432
+ const response = _trigger(args, TriggerReturnType.FIRST);
436
433
  if (response instanceof Promise) {
437
434
  return response;
438
435
  }
439
436
  return Promise.resolve(response);
440
437
  };
441
438
  const all = (...args) => {
442
- return _trigger(args, types_1.TriggerReturnType.ALL);
439
+ return _trigger(args, TriggerReturnType.ALL);
443
440
  };
444
441
  const resolveAll = (...args) => {
445
- const response = _trigger(args, types_1.TriggerReturnType.ALL);
442
+ const response = _trigger(args, TriggerReturnType.ALL);
446
443
  if (response instanceof Promise) {
447
444
  return response;
448
445
  }
449
446
  return Promise.resolve(response);
450
447
  };
451
448
  const last = (...args) => {
452
- return _trigger(args, types_1.TriggerReturnType.LAST);
449
+ return _trigger(args, TriggerReturnType.LAST);
453
450
  };
454
451
  const resolveLast = (...args) => {
455
- const response = _trigger(args, types_1.TriggerReturnType.LAST);
452
+ const response = _trigger(args, TriggerReturnType.LAST);
456
453
  if (response instanceof Promise) {
457
454
  return response;
458
455
  }
459
456
  return Promise.resolve(response);
460
457
  };
461
458
  const merge = (...args) => {
462
- return _trigger(args, types_1.TriggerReturnType.MERGE);
459
+ return _trigger(args, TriggerReturnType.MERGE);
463
460
  };
464
461
  const resolveMerge = (...args) => {
465
- const response = _trigger(args, types_1.TriggerReturnType.MERGE);
462
+ const response = _trigger(args, TriggerReturnType.MERGE);
466
463
  if (response instanceof Promise) {
467
464
  return response;
468
465
  }
469
466
  return Promise.resolve(response);
470
467
  };
471
468
  const concat = (...args) => {
472
- return _trigger(args, types_1.TriggerReturnType.CONCAT);
469
+ return _trigger(args, TriggerReturnType.CONCAT);
473
470
  };
474
471
  const resolveConcat = (...args) => {
475
- const response = _trigger(args, types_1.TriggerReturnType.CONCAT);
472
+ const response = _trigger(args, TriggerReturnType.CONCAT);
476
473
  if (response instanceof Promise) {
477
474
  return response;
478
475
  }
479
476
  return Promise.resolve(response);
480
477
  };
481
478
  const firstNonEmpty = (...args) => {
482
- return _trigger(args, types_1.TriggerReturnType.FIRST_NON_EMPTY);
479
+ return _trigger(args, TriggerReturnType.FIRST_NON_EMPTY);
483
480
  };
484
481
  const resolveFirstNonEmpty = (...args) => {
485
- const response = _trigger(args, types_1.TriggerReturnType.FIRST_NON_EMPTY);
482
+ const response = _trigger(args, TriggerReturnType.FIRST_NON_EMPTY);
486
483
  if (response instanceof Promise) {
487
484
  return response;
488
485
  }
489
486
  return Promise.resolve(response);
490
487
  };
491
488
  const untilTrue = (...args) => {
492
- _trigger(args, types_1.TriggerReturnType.UNTIL_TRUE);
489
+ _trigger(args, TriggerReturnType.UNTIL_TRUE);
493
490
  };
494
491
  const untilFalse = (...args) => {
495
- _trigger(args, types_1.TriggerReturnType.UNTIL_FALSE);
492
+ _trigger(args, TriggerReturnType.UNTIL_FALSE);
496
493
  };
497
494
  const pipe = (...args) => {
498
- return _trigger(args, types_1.TriggerReturnType.PIPE);
495
+ return _trigger(args, TriggerReturnType.PIPE);
499
496
  };
500
497
  const resolvePipe = (...args) => {
501
- const response = _trigger(args, types_1.TriggerReturnType.PIPE);
498
+ const response = _trigger(args, TriggerReturnType.PIPE);
502
499
  if (response instanceof Promise) {
503
500
  return response;
504
501
  }
505
502
  return Promise.resolve(response);
506
503
  };
507
504
  const raw = (...args) => {
508
- return _trigger(args, types_1.TriggerReturnType.RAW);
505
+ return _trigger(args, TriggerReturnType.RAW);
509
506
  };
510
507
  const api = {
511
508
  addListener,