@mic-rexjs/usecases-react 2.14.0 → 3.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.
@@ -422,50 +422,69 @@ describe('useUseCase', () => {
422
422
  path: PATH_2
423
423
  });
424
424
  });
425
- test('Entity initializer should provide the changed deps', () => {
425
+ test('Do not update entity when the initializer has yielded some constant entity properties', () => {
426
426
  let updateIndex = 0;
427
- const file = defaultFile;
428
- const symbol = Symbol('changedDep');
429
- const onChangedDeps = jest.fn();
430
427
  const _renderHook0 = renderHook(() => {
431
- return useUseCase(function () {
432
- let currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
433
- let changedDeps = arguments.length > 1 ? arguments[1] : undefined;
434
- // 验证参数类型
435
- const _changedDeps = _slicedToArray(changedDeps, 6),
436
- index1 = _changedDeps[0],
437
- num1 = _changedDeps[1],
438
- index2 = _changedDeps[2],
439
- string1 = _changedDeps[3],
440
- index3 = _changedDeps[4],
441
- boolean1 = _changedDeps[5];
442
- const a = index1;
443
- const b = num1;
444
- const c = index2;
445
- const d = string1;
446
- const e = index3;
447
- const f = boolean1;
448
- void a;
449
- void b;
450
- void c;
451
- void d;
452
- void e;
453
- void f;
454
- // 先 `fill` 填充,再合并,以 `symbol` 代替虚无项去匹配
455
- onChangedDeps(Object.assign([...changedDeps].fill(symbol), changedDeps));
456
- return currentFile;
457
- }, fileUseCase, {}, [updateIndex++, 0, updateIndex++, 'xyz', updateIndex++, false]);
428
+ return useUseCase(function* () {
429
+ yield defaultFile;
430
+ yield {
431
+ path: PATH_1
432
+ };
433
+ }, fileUseCase, {}, [updateIndex++]);
458
434
  }),
459
435
  result = _renderHook0.result;
460
- const _result$current6 = _slicedToArray(result.current, 2),
461
- setPath = _result$current6[1].setPath;
462
- expect(onChangedDeps).toHaveBeenCalledTimes(1);
463
- expect(onChangedDeps).toHaveBeenCalledWith([0, 0, 1, 'xyz', 2, false]);
436
+ const current1 = result.current;
437
+ const _current = _slicedToArray(current1, 2),
438
+ entity1 = _current[0],
439
+ setEntity = _current[1].setEntity;
440
+ expect(entity1).toEqual({
441
+ ...defaultFile,
442
+ path: PATH_1
443
+ });
464
444
  act(() => {
465
- setPath(PATH_1);
445
+ setEntity({
446
+ path: PATH_2
447
+ });
448
+ });
449
+ const current2 = result.current;
450
+ const _current2 = _slicedToArray(current2, 1),
451
+ entity2 = _current2[0];
452
+ expect(entity2).toEqual({
453
+ ...defaultFile,
454
+ path: PATH_2
455
+ });
456
+ });
457
+ test('Should update entity when the initializer has returned some cconstant entity properties after `setEntity`', () => {
458
+ let updateIndex = 0;
459
+ const _renderHook1 = renderHook(() => {
460
+ return useUseCase(function* () {
461
+ yield defaultFile;
462
+ return {
463
+ path: PATH_1
464
+ };
465
+ }, fileUseCase, {}, [updateIndex++]);
466
+ }),
467
+ result = _renderHook1.result;
468
+ const current1 = result.current;
469
+ const _current3 = _slicedToArray(current1, 2),
470
+ entity1 = _current3[0],
471
+ setEntity = _current3[1].setEntity;
472
+ expect(entity1).toEqual({
473
+ ...defaultFile,
474
+ path: PATH_1
475
+ });
476
+ act(() => {
477
+ setEntity({
478
+ path: PATH_2
479
+ });
480
+ });
481
+ const current2 = result.current;
482
+ const _current4 = _slicedToArray(current2, 1),
483
+ entity2 = _current4[0];
484
+ expect(entity2).toEqual({
485
+ ...defaultFile,
486
+ path: PATH_1
466
487
  });
467
- expect(onChangedDeps).toHaveBeenCalledTimes(2);
468
- expect(onChangedDeps).toHaveBeenCalledWith([3, symbol, 4, symbol, 5, symbol]);
469
488
  });
470
489
  test('Entity property getter should always return the same object if nothing changed after component update', () => {
471
490
  let updateTimes = 0;
@@ -475,7 +494,7 @@ describe('useUseCase', () => {
475
494
  return {};
476
495
  }
477
496
  };
478
- const _renderHook1 = renderHook(() => {
497
+ const _renderHook10 = renderHook(() => {
479
498
  const collection = useUseCase(data, entityUseCase);
480
499
  const _collection3 = _slicedToArray(collection, 1),
481
500
  obj = _collection3[0].obj;
@@ -485,7 +504,7 @@ describe('useUseCase', () => {
485
504
  }, [obj]);
486
505
  return collection;
487
506
  }),
488
- rerender = _renderHook1.rerender;
507
+ rerender = _renderHook10.rerender;
489
508
  expect(updateTimes).toEqual(1);
490
509
  act(() => {
491
510
  rerender();
@@ -500,7 +519,7 @@ describe('useUseCase', () => {
500
519
  return {};
501
520
  }
502
521
  };
503
- const _renderHook10 = renderHook(() => {
522
+ const _renderHook11 = renderHook(() => {
504
523
  const collection = useUseCase(data, entityUseCase);
505
524
  const _collection4 = _slicedToArray(collection, 1),
506
525
  obj = _collection4[0].obj;
@@ -510,10 +529,10 @@ describe('useUseCase', () => {
510
529
  }, [obj]);
511
530
  return collection;
512
531
  }),
513
- result = _renderHook10.result;
532
+ result = _renderHook11.result;
514
533
  const current = result.current;
515
- const _current = _slicedToArray(current, 2),
516
- setEntity = _current[1].setEntity;
534
+ const _current5 = _slicedToArray(current, 2),
535
+ setEntity = _current5[1].setEntity;
517
536
  expect(updateTimes).toEqual(1);
518
537
  act(() => {
519
538
  setEntity({
@@ -526,7 +545,7 @@ describe('useUseCase', () => {
526
545
  let entityArg;
527
546
  let times = 0;
528
547
  const file = defaultFile;
529
- const _renderHook11 = renderHook(() => {
548
+ const _renderHook12 = renderHook(() => {
530
549
  return useUseCase(function () {
531
550
  let entity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
532
551
  const path = entity.path;
@@ -537,7 +556,7 @@ describe('useUseCase', () => {
537
556
  };
538
557
  }, fileUseCase, {}, [times++]);
539
558
  }),
540
- result = _renderHook11.result;
559
+ result = _renderHook12.result;
541
560
  const collection1 = result.current;
542
561
  const _collection5 = _slicedToArray(collection1, 2),
543
562
  currentFile1 = _collection5[0],
@@ -563,20 +582,20 @@ describe('useUseCase', () => {
563
582
  });
564
583
  });
565
584
  test('`reducers` should be returned as an object', () => {
566
- const _renderHook12 = renderHook(() => {
585
+ const _renderHook13 = renderHook(() => {
567
586
  return useUseCase(defaultFile, fileUseCase);
568
587
  }),
569
- result = _renderHook12.result;
588
+ result = _renderHook13.result;
570
589
  const cores = result.current;
571
590
  const _cores2 = _slicedToArray(cores, 2),
572
591
  reducers = _cores2[1];
573
592
  expect(typeof reducers).toBe('object');
574
593
  });
575
594
  test('`Provider` should be returned as a function', () => {
576
- const _renderHook13 = renderHook(() => {
595
+ const _renderHook14 = renderHook(() => {
577
596
  return useUseCase(defaultFile, fileUseCase);
578
597
  }),
579
- result = _renderHook13.result;
598
+ result = _renderHook14.result;
580
599
  const cores = result.current;
581
600
  const _cores3 = _slicedToArray(cores, 3),
582
601
  Provider = _cores3[2];
@@ -584,11 +603,11 @@ describe('useUseCase', () => {
584
603
  });
585
604
  test('`usecase` should be called only once if deps has not provided', () => {
586
605
  const mockUseCase = jest.fn(fileUseCase);
587
- const _renderHook14 = renderHook(() => {
606
+ const _renderHook15 = renderHook(() => {
588
607
  return useUseCase(defaultFile, mockUseCase);
589
608
  }),
590
- result = _renderHook14.result,
591
- rerender = _renderHook14.rerender;
609
+ result = _renderHook15.result,
610
+ rerender = _renderHook15.rerender;
592
611
  const cores = result.current;
593
612
  const _cores4 = _slicedToArray(cores, 2),
594
613
  setEntity = _cores4[1].setEntity;
@@ -603,11 +622,11 @@ describe('useUseCase', () => {
603
622
  });
604
623
  test('`usecase` should be called only once if deps has not changed', () => {
605
624
  const mockUseCase = jest.fn(fileUseCase);
606
- const _renderHook15 = renderHook(() => {
625
+ const _renderHook16 = renderHook(() => {
607
626
  return useUseCase(defaultFile, mockUseCase, {}, [1, 'x']);
608
627
  }),
609
- result = _renderHook15.result,
610
- rerender = _renderHook15.rerender;
628
+ result = _renderHook16.result,
629
+ rerender = _renderHook16.rerender;
611
630
  const cores = result.current;
612
631
  const _cores5 = _slicedToArray(cores, 2),
613
632
  setEntity = _cores5[1].setEntity;
@@ -623,11 +642,11 @@ describe('useUseCase', () => {
623
642
  test('`usecase` should be called if deps has changed', () => {
624
643
  let i = 0;
625
644
  const mockUseCase = jest.fn(fileUseCase);
626
- const _renderHook16 = renderHook(() => {
645
+ const _renderHook17 = renderHook(() => {
627
646
  return useUseCase(defaultFile, mockUseCase, {}, [i++, 'x']);
628
647
  }),
629
- result = _renderHook16.result,
630
- rerender = _renderHook16.rerender;
648
+ result = _renderHook17.result,
649
+ rerender = _renderHook17.rerender;
631
650
  const cores = result.current;
632
651
  const _cores6 = _slicedToArray(cores, 2),
633
652
  setEntity = _cores6[1].setEntity;
@@ -644,7 +663,7 @@ describe('useUseCase', () => {
644
663
  test('after call non-generator reducer, it should not trigger update', () => {
645
664
  const onUpdate = jest.fn();
646
665
  const onDeepUpdate = jest.fn();
647
- const _renderHook17 = renderHook(() => {
666
+ const _renderHook18 = renderHook(() => {
648
667
  const context = useUseCase(defaultFile, fileUseCase);
649
668
  const _context = _slicedToArray(context, 2),
650
669
  reducers = _context[1];
@@ -664,7 +683,7 @@ describe('useUseCase', () => {
664
683
  update();
665
684
  };
666
685
  }),
667
- result = _renderHook17.result;
686
+ result = _renderHook18.result;
668
687
  act(() => {
669
688
  result.current();
670
689
  });
@@ -678,13 +697,13 @@ describe('useUseCase', () => {
678
697
  });
679
698
  test('after `yield entity`, it should trigger update', () => {
680
699
  const onUpdate = jest.fn();
681
- const _renderHook18 = renderHook(() => {
700
+ const _renderHook19 = renderHook(() => {
682
701
  useUpdateEffect(() => {
683
702
  onUpdate();
684
703
  });
685
704
  return useUseCase(defaultFile, fileUseCase);
686
705
  }),
687
- result = _renderHook18.result;
706
+ result = _renderHook19.result;
688
707
  const cores = result.current;
689
708
  const _cores7 = _slicedToArray(cores, 2),
690
709
  entity = _cores7[0],
@@ -711,13 +730,13 @@ describe('useUseCase', () => {
711
730
  });
712
731
  test('after `yield entity` on async mode, it should trigger update', async () => {
713
732
  const onUpdate = jest.fn();
714
- const _renderHook19 = renderHook(() => {
733
+ const _renderHook20 = renderHook(() => {
715
734
  useUpdateEffect(() => {
716
735
  onUpdate();
717
736
  });
718
737
  return useUseCase(defaultFile, fileUseCase);
719
738
  }),
720
- result = _renderHook19.result;
739
+ result = _renderHook20.result;
721
740
  const cores = result.current;
722
741
  const _cores8 = _slicedToArray(cores, 2),
723
742
  entity = _cores8[0],
@@ -740,13 +759,13 @@ describe('useUseCase', () => {
740
759
  });
741
760
  test('after `yield entity` callbacks, it should trigger update', () => {
742
761
  const onUpdate = jest.fn();
743
- const _renderHook20 = renderHook(() => {
762
+ const _renderHook21 = renderHook(() => {
744
763
  useUpdateEffect(() => {
745
764
  onUpdate();
746
765
  });
747
766
  return useUseCase(defaultFile, fileUseCase);
748
767
  }),
749
- result = _renderHook20.result;
768
+ result = _renderHook21.result;
750
769
  const cores = result.current;
751
770
  const _cores9 = _slicedToArray(cores, 2),
752
771
  reducers = _cores9[1];
@@ -887,12 +906,12 @@ describe('useUseCase', () => {
887
906
  });
888
907
  test('`options.onChange` should be trigger when entity has changed', () => {
889
908
  const onChange = jest.fn();
890
- const _renderHook21 = renderHook(() => {
909
+ const _renderHook22 = renderHook(() => {
891
910
  return useUseCase(defaultFile, fileUseCase, {
892
911
  onChange
893
912
  });
894
913
  }),
895
- result = _renderHook21.result;
914
+ result = _renderHook22.result;
896
915
  const cores = result.current;
897
916
  const _cores0 = _slicedToArray(cores, 2),
898
917
  reducers = _cores0[1];
@@ -912,12 +931,12 @@ describe('useUseCase', () => {
912
931
  const onChange1 = jest.fn();
913
932
  const onChange2 = jest.fn();
914
933
  let onChange = onChange1;
915
- const _renderHook22 = renderHook(() => {
934
+ const _renderHook23 = renderHook(() => {
916
935
  return useUseCase(defaultFile, fileUseCase, {
917
936
  onChange
918
937
  }, []);
919
938
  }),
920
- result = _renderHook22.result;
939
+ result = _renderHook23.result;
921
940
  const cores = result.current;
922
941
  const _cores1 = _slicedToArray(cores, 2),
923
942
  reducers = _cores1[1];
@@ -950,7 +969,7 @@ describe('useUseCase', () => {
950
969
  });
951
970
  });
952
971
  test('`options.options` should override rest options', () => {
953
- const _renderHook23 = renderHook(() => {
972
+ const _renderHook24 = renderHook(() => {
954
973
  return useUseCase(defaultFile, fileUseCase, {
955
974
  pathPrefix: 'xyz/',
956
975
  options: {
@@ -958,7 +977,7 @@ describe('useUseCase', () => {
958
977
  }
959
978
  });
960
979
  }),
961
- result = _renderHook23.result;
980
+ result = _renderHook24.result;
962
981
  const cores = result.current;
963
982
  const _cores10 = _slicedToArray(cores, 2),
964
983
  path = _cores10[0].path,
@@ -993,7 +1012,7 @@ describe('useUseCase', () => {
993
1012
  test('when `options` has changed, it should not trigger update', () => {
994
1013
  const onUpdate = jest.fn();
995
1014
  const onDeepUpdate = jest.fn();
996
- const _renderHook24 = renderHook(() => {
1015
+ const _renderHook25 = renderHook(() => {
997
1016
  const _useState = useState('user/'),
998
1017
  _useState2 = _slicedToArray(_useState, 2),
999
1018
  pathPrefix = _useState2[0],
@@ -1009,7 +1028,7 @@ describe('useUseCase', () => {
1009
1028
  }, [context]);
1010
1029
  return setPathPrefix;
1011
1030
  }),
1012
- result = _renderHook24.result;
1031
+ result = _renderHook25.result;
1013
1032
  expect(onUpdate).toHaveBeenCalledTimes(0);
1014
1033
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1015
1034
  act(() => {
@@ -1021,7 +1040,7 @@ describe('useUseCase', () => {
1021
1040
  test('when `deps` has changed, it should trigger update', () => {
1022
1041
  const onUpdate = jest.fn();
1023
1042
  const onDeepUpdate = jest.fn();
1024
- const _renderHook25 = renderHook(() => {
1043
+ const _renderHook26 = renderHook(() => {
1025
1044
  const _useState3 = useState('user/'),
1026
1045
  _useState4 = _slicedToArray(_useState3, 2),
1027
1046
  pathPrefix = _useState4[0],
@@ -1037,7 +1056,7 @@ describe('useUseCase', () => {
1037
1056
  }, [context]);
1038
1057
  return setPathPrefix;
1039
1058
  }),
1040
- result = _renderHook25.result;
1059
+ result = _renderHook26.result;
1041
1060
  expect(onUpdate).toHaveBeenCalledTimes(0);
1042
1061
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1043
1062
  act(() => {
@@ -1049,7 +1068,7 @@ describe('useUseCase', () => {
1049
1068
  test('empty `deps` should not trigger update', () => {
1050
1069
  const onUpdate = jest.fn();
1051
1070
  const onDeepUpdate = jest.fn();
1052
- const _renderHook26 = renderHook(() => {
1071
+ const _renderHook27 = renderHook(() => {
1053
1072
  const _useState5 = useState('user/'),
1054
1073
  _useState6 = _slicedToArray(_useState5, 2),
1055
1074
  pathPrefix = _useState6[0],
@@ -1065,7 +1084,7 @@ describe('useUseCase', () => {
1065
1084
  }, [context]);
1066
1085
  return setPathPrefix;
1067
1086
  }),
1068
- result = _renderHook26.result;
1087
+ result = _renderHook27.result;
1069
1088
  expect(onUpdate).toHaveBeenCalledTimes(0);
1070
1089
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1071
1090
  act(() => {
@@ -1078,12 +1097,12 @@ describe('useUseCase', () => {
1078
1097
  const onPathChange1 = jest.fn();
1079
1098
  const onPathChange2 = jest.fn();
1080
1099
  let onPathChange = onPathChange1;
1081
- const _renderHook27 = renderHook(() => {
1100
+ const _renderHook28 = renderHook(() => {
1082
1101
  return useUseCase(defaultFile, fileUseCase, {
1083
1102
  onPathChange
1084
1103
  });
1085
1104
  }),
1086
- result = _renderHook27.result;
1105
+ result = _renderHook28.result;
1087
1106
  const context = result.current;
1088
1107
  const _context2 = _slicedToArray(context, 2),
1089
1108
  setPath = _context2[1].setPath;
@@ -1104,7 +1123,7 @@ describe('useUseCase', () => {
1104
1123
  test('`options.watch` should be trigger after entity changed', () => {
1105
1124
  const onPathChange = jest.fn();
1106
1125
  const onSizeChange = jest.fn();
1107
- const _renderHook28 = renderHook(() => {
1126
+ const _renderHook29 = renderHook(() => {
1108
1127
  return useUseCase(defaultFile, fileUseCase, {
1109
1128
  watch: {
1110
1129
  path: onPathChange,
@@ -1112,7 +1131,7 @@ describe('useUseCase', () => {
1112
1131
  }
1113
1132
  });
1114
1133
  }),
1115
- result = _renderHook28.result;
1134
+ result = _renderHook29.result;
1116
1135
  const cores = result.current;
1117
1136
  const _cores11 = _slicedToArray(cores, 2),
1118
1137
  setPath = _cores11[1].setPath;
@@ -1136,7 +1155,7 @@ describe('useUseCase', () => {
1136
1155
  });
1137
1156
  test('`options.watch` should be trigger after update entity by entity initializer', () => {
1138
1157
  const onPathChange = jest.fn();
1139
- const _renderHook29 = renderHook(function () {
1158
+ const _renderHook30 = renderHook(function () {
1140
1159
  let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1141
1160
  return useUseCase(function () {
1142
1161
  let currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
@@ -1150,7 +1169,7 @@ describe('useUseCase', () => {
1150
1169
  }
1151
1170
  }, [path]);
1152
1171
  }),
1153
- rerender = _renderHook29.rerender;
1172
+ rerender = _renderHook30.rerender;
1154
1173
  expect(onPathChange).toHaveBeenCalledTimes(0);
1155
1174
  act(() => {
1156
1175
  rerender(PATH_1);
@@ -1261,14 +1280,14 @@ describe('useUseCase', () => {
1261
1280
  const onPathChange1 = jest.fn();
1262
1281
  const onPathChange2 = jest.fn();
1263
1282
  let onPathChange = onPathChange1;
1264
- const _renderHook30 = renderHook(() => {
1283
+ const _renderHook31 = renderHook(() => {
1265
1284
  return useUseCase(defaultFile, fileUseCase, {
1266
1285
  watch: {
1267
1286
  path: onPathChange
1268
1287
  }
1269
1288
  });
1270
1289
  }),
1271
- result = _renderHook30.result;
1290
+ result = _renderHook31.result;
1272
1291
  const cores = result.current;
1273
1292
  const _cores12 = _slicedToArray(cores, 2),
1274
1293
  _cores12$ = _cores12[1],
@@ -1319,7 +1338,7 @@ describe('useUseCase', () => {
1319
1338
  const initialData = {};
1320
1339
  const onExtChange = jest.fn();
1321
1340
  const onSizeChange = jest.fn();
1322
- const _renderHook31 = renderHook(() => {
1341
+ const _renderHook32 = renderHook(() => {
1323
1342
  return useUseCase(initialData, fieldPathUseCase, {
1324
1343
  watch: {
1325
1344
  'list.ext': onExtChange,
@@ -1327,7 +1346,7 @@ describe('useUseCase', () => {
1327
1346
  }
1328
1347
  });
1329
1348
  }),
1330
- result = _renderHook31.result;
1349
+ result = _renderHook32.result;
1331
1350
  const cores = result.current;
1332
1351
  const _cores13 = _slicedToArray(cores, 2),
1333
1352
  setEntity = _cores13[1].setEntity;
@@ -1672,7 +1691,7 @@ describe('useUseCase', () => {
1672
1691
  const lengthUseCase = () => {
1673
1692
  return entityUseCase();
1674
1693
  };
1675
- const _renderHook32 = renderHook(() => {
1694
+ const _renderHook33 = renderHook(() => {
1676
1695
  return useUseCase(defaultList, lengthUseCase, {
1677
1696
  watch: {
1678
1697
  length: onEntityLengthChange,
@@ -1680,7 +1699,7 @@ describe('useUseCase', () => {
1680
1699
  }
1681
1700
  });
1682
1701
  }),
1683
- result = _renderHook32.result;
1702
+ result = _renderHook33.result;
1684
1703
  const cores = result.current;
1685
1704
  const _cores14 = _slicedToArray(cores, 2),
1686
1705
  setEntity = _cores14[1].setEntity;
@@ -1715,14 +1734,14 @@ describe('useUseCase', () => {
1715
1734
  test('`options.watch` should work with field path of nested array', () => {
1716
1735
  const initialData = {};
1717
1736
  const onChange = jest.fn();
1718
- const _renderHook33 = renderHook(() => {
1737
+ const _renderHook34 = renderHook(() => {
1719
1738
  return useUseCase(initialData, fieldPathUseCase, {
1720
1739
  watch: {
1721
1740
  'nestedList.size': onChange
1722
1741
  }
1723
1742
  });
1724
1743
  }),
1725
- result = _renderHook33.result;
1744
+ result = _renderHook34.result;
1726
1745
  const cores = result.current;
1727
1746
  const _cores15 = _slicedToArray(cores, 2),
1728
1747
  setEntity = _cores15[1].setEntity;
@@ -1822,7 +1841,7 @@ describe('useUseCase', () => {
1822
1841
  const initialData = {};
1823
1842
  const onExtChange = jest.fn();
1824
1843
  const onSizeChange = jest.fn();
1825
- const _renderHook34 = renderHook(() => {
1844
+ const _renderHook35 = renderHook(() => {
1826
1845
  return useUseCase(initialData, fieldPathUseCase, {
1827
1846
  watch: {
1828
1847
  'obj.file.ext': onExtChange,
@@ -1830,7 +1849,7 @@ describe('useUseCase', () => {
1830
1849
  }
1831
1850
  });
1832
1851
  }),
1833
- result = _renderHook34.result;
1852
+ result = _renderHook35.result;
1834
1853
  const cores = result.current;
1835
1854
  const _cores16 = _slicedToArray(cores, 2),
1836
1855
  setEntity = _cores16[1].setEntity;
@@ -1971,7 +1990,7 @@ describe('useUseCase', () => {
1971
1990
  unbindEntity
1972
1991
  };
1973
1992
  };
1974
- const _renderHook35 = renderHook(() => {
1993
+ const _renderHook36 = renderHook(() => {
1975
1994
  const _useUseCase26 = useUseCase(5, testUseCase),
1976
1995
  _useUseCase27 = _slicedToArray(_useUseCase26, 2),
1977
1996
  setEntity = _useUseCase27[1].setEntity;
@@ -1979,7 +1998,7 @@ describe('useUseCase', () => {
1979
1998
  setEntity(100);
1980
1999
  });
1981
2000
  }),
1982
- unmount = _renderHook35.unmount;
2001
+ unmount = _renderHook36.unmount;
1983
2002
  expect(unbindEntity).toHaveBeenCalledTimes(0);
1984
2003
  unmount();
1985
2004
  expect(unbindEntity).toHaveBeenCalledTimes(1);
@@ -2546,38 +2565,38 @@ describe('useUseCase', () => {
2546
2565
  });
2547
2566
  describe('`useUseCase` should work the same as `useReducers`', () => {
2548
2567
  test('`entity` should equal `defaultFile`', () => {
2549
- const _renderHook36 = renderHook(() => {
2568
+ const _renderHook37 = renderHook(() => {
2550
2569
  return useUseCase(mathUseCase);
2551
2570
  }),
2552
- result = _renderHook36.result;
2571
+ result = _renderHook37.result;
2553
2572
  const reducers = result.current;
2554
2573
  expect(Array.isArray(reducers)).toBe(false);
2555
2574
  });
2556
2575
  test('returned reducer should work', () => {
2557
- const _renderHook37 = renderHook(() => {
2576
+ const _renderHook38 = renderHook(() => {
2558
2577
  return useUseCase(mathUseCase);
2559
2578
  }),
2560
- result = _renderHook37.result;
2579
+ result = _renderHook38.result;
2561
2580
  const reducers = result.current;
2562
2581
  const add = reducers.add;
2563
2582
  expect(add(1, 2)).toBe(3);
2564
2583
  });
2565
2584
  test('`usecase` should be called only once if deps has not provided', () => {
2566
2585
  const mockUseCase = jest.fn(mathUseCase);
2567
- const _renderHook38 = renderHook(() => {
2586
+ const _renderHook39 = renderHook(() => {
2568
2587
  return useUseCase(mockUseCase);
2569
2588
  }),
2570
- rerender = _renderHook38.rerender;
2589
+ rerender = _renderHook39.rerender;
2571
2590
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2572
2591
  rerender();
2573
2592
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2574
2593
  });
2575
2594
  test('`usecase` should be called only once if deps has not changed', () => {
2576
2595
  const mockUseCase = jest.fn(mathUseCase);
2577
- const _renderHook39 = renderHook(() => {
2596
+ const _renderHook40 = renderHook(() => {
2578
2597
  return useUseCase(mockUseCase, {}, [1, 'x']);
2579
2598
  }),
2580
- rerender = _renderHook39.rerender;
2599
+ rerender = _renderHook40.rerender;
2581
2600
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2582
2601
  rerender();
2583
2602
  expect(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2585,10 +2604,10 @@ describe('useUseCase', () => {
2585
2604
  test('`usecase` should be called if deps has changed', () => {
2586
2605
  let i = 0;
2587
2606
  const mockUseCase = jest.fn(mathUseCase);
2588
- const _renderHook40 = renderHook(() => {
2607
+ const _renderHook41 = renderHook(() => {
2589
2608
  return useUseCase(mockUseCase, {}, [i++, 'x']);
2590
2609
  }),
2591
- rerender = _renderHook40.rerender;
2610
+ rerender = _renderHook41.rerender;
2592
2611
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2593
2612
  rerender();
2594
2613
  expect(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2672,12 +2691,12 @@ describe('useUseCase', () => {
2672
2691
  expect(subtractionReducer).toHaveReturnedWith(4);
2673
2692
  });
2674
2693
  test('`options.extraValue` should be added after call `add` method', () => {
2675
- const _renderHook41 = renderHook(() => {
2694
+ const _renderHook42 = renderHook(() => {
2676
2695
  return useUseCase(mathUseCase, {
2677
2696
  extraValue: 5
2678
2697
  });
2679
2698
  }),
2680
- result = _renderHook41.result;
2699
+ result = _renderHook42.result;
2681
2700
  const reducers = result.current;
2682
2701
  const add = reducers.add;
2683
2702
  expect(add(1, 2)).toBe(8);
@@ -2685,7 +2704,7 @@ describe('useUseCase', () => {
2685
2704
  test('when `options` has changed, it should not trigger update', () => {
2686
2705
  const onUpdate = jest.fn();
2687
2706
  const onDeepUpdate = jest.fn();
2688
- const _renderHook42 = renderHook(() => {
2707
+ const _renderHook43 = renderHook(() => {
2689
2708
  const _useState7 = useState(0),
2690
2709
  _useState8 = _slicedToArray(_useState7, 2),
2691
2710
  extraValue = _useState8[0],
@@ -2701,7 +2720,7 @@ describe('useUseCase', () => {
2701
2720
  }, [reducers]);
2702
2721
  return setExtraValue;
2703
2722
  }),
2704
- result = _renderHook42.result;
2723
+ result = _renderHook43.result;
2705
2724
  expect(onUpdate).toHaveBeenCalledTimes(0);
2706
2725
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2707
2726
  act(() => {
@@ -2713,7 +2732,7 @@ describe('useUseCase', () => {
2713
2732
  test('when `deps` change, it should update reducers', () => {
2714
2733
  const onUpdate = jest.fn();
2715
2734
  const onDeepUpdate = jest.fn();
2716
- const _renderHook43 = renderHook(() => {
2735
+ const _renderHook44 = renderHook(() => {
2717
2736
  const _useState9 = useState(0),
2718
2737
  _useState0 = _slicedToArray(_useState9, 2),
2719
2738
  extraValue = _useState0[0],
@@ -2729,7 +2748,7 @@ describe('useUseCase', () => {
2729
2748
  }, [reducers]);
2730
2749
  return setExtraValue;
2731
2750
  }),
2732
- result = _renderHook43.result;
2751
+ result = _renderHook44.result;
2733
2752
  expect(onUpdate).toHaveBeenCalledTimes(0);
2734
2753
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2735
2754
  act(() => {
@@ -2741,7 +2760,7 @@ describe('useUseCase', () => {
2741
2760
  test('empty `deps` should not update reducers', () => {
2742
2761
  const onUpdate = jest.fn();
2743
2762
  const onDeepUpdate = jest.fn();
2744
- const _renderHook44 = renderHook(() => {
2763
+ const _renderHook45 = renderHook(() => {
2745
2764
  const _useState1 = useState(0),
2746
2765
  _useState10 = _slicedToArray(_useState1, 2),
2747
2766
  extraValue = _useState10[0],
@@ -2757,7 +2776,7 @@ describe('useUseCase', () => {
2757
2776
  }, [reducers]);
2758
2777
  return setExtraValue;
2759
2778
  }),
2760
- result = _renderHook44.result;
2779
+ result = _renderHook45.result;
2761
2780
  expect(onUpdate).toHaveBeenCalledTimes(0);
2762
2781
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2763
2782
  act(() => {