@mic-rexjs/usecases-react 3.1.0 → 3.1.2

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.
@@ -486,6 +486,47 @@ describe('useUseCase', () => {
486
486
  path: PATH_1
487
487
  });
488
488
  });
489
+ test('Entity property accessors should be reserved in initializer', () => {
490
+ let updateIndex = 0;
491
+ const defaultFileWithAccessors = {
492
+ ...defaultFile,
493
+ get text() {
494
+ const path = this.path;
495
+ return `xyz-${path}`;
496
+ }
497
+ };
498
+ const _renderHook10 = renderHook(() => {
499
+ return useUseCase(function* () {
500
+ yield defaultFileWithAccessors;
501
+ yield {
502
+ path: PATH_1
503
+ };
504
+ }, fileUseCase, {}, [updateIndex++]);
505
+ }),
506
+ result = _renderHook10.result;
507
+ const current1 = result.current;
508
+ const _current5 = _slicedToArray(current1, 2),
509
+ entity1 = _current5[0],
510
+ setEntity = _current5[1].setEntity;
511
+ expect(entity1).toEqual({
512
+ ...defaultFile,
513
+ path: PATH_1,
514
+ text: `xyz-${PATH_1}`
515
+ });
516
+ act(() => {
517
+ setEntity({
518
+ path: PATH_2
519
+ });
520
+ });
521
+ const current2 = result.current;
522
+ const _current6 = _slicedToArray(current2, 1),
523
+ entity2 = _current6[0];
524
+ expect(entity2).toEqual({
525
+ ...defaultFile,
526
+ path: PATH_2,
527
+ text: `xyz-${PATH_2}`
528
+ });
529
+ });
489
530
  test('Entity property getter should always return the same object if nothing changed after component update', () => {
490
531
  let updateTimes = 0;
491
532
  const data = {
@@ -494,7 +535,7 @@ describe('useUseCase', () => {
494
535
  return {};
495
536
  }
496
537
  };
497
- const _renderHook10 = renderHook(() => {
538
+ const _renderHook11 = renderHook(() => {
498
539
  const collection = useUseCase(data, entityUseCase);
499
540
  const _collection3 = _slicedToArray(collection, 1),
500
541
  obj = _collection3[0].obj;
@@ -504,7 +545,7 @@ describe('useUseCase', () => {
504
545
  }, [obj]);
505
546
  return collection;
506
547
  }),
507
- rerender = _renderHook10.rerender;
548
+ rerender = _renderHook11.rerender;
508
549
  expect(updateTimes).toEqual(1);
509
550
  act(() => {
510
551
  rerender();
@@ -519,7 +560,7 @@ describe('useUseCase', () => {
519
560
  return {};
520
561
  }
521
562
  };
522
- const _renderHook11 = renderHook(() => {
563
+ const _renderHook12 = renderHook(() => {
523
564
  const collection = useUseCase(data, entityUseCase);
524
565
  const _collection4 = _slicedToArray(collection, 1),
525
566
  obj = _collection4[0].obj;
@@ -529,10 +570,10 @@ describe('useUseCase', () => {
529
570
  }, [obj]);
530
571
  return collection;
531
572
  }),
532
- result = _renderHook11.result;
573
+ result = _renderHook12.result;
533
574
  const current = result.current;
534
- const _current5 = _slicedToArray(current, 2),
535
- setEntity = _current5[1].setEntity;
575
+ const _current7 = _slicedToArray(current, 2),
576
+ setEntity = _current7[1].setEntity;
536
577
  expect(updateTimes).toEqual(1);
537
578
  act(() => {
538
579
  setEntity({
@@ -545,7 +586,7 @@ describe('useUseCase', () => {
545
586
  let entityArg;
546
587
  let times = 0;
547
588
  const file = defaultFile;
548
- const _renderHook12 = renderHook(() => {
589
+ const _renderHook13 = renderHook(() => {
549
590
  return useUseCase(function () {
550
591
  let entity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
551
592
  const path = entity.path;
@@ -556,7 +597,7 @@ describe('useUseCase', () => {
556
597
  };
557
598
  }, fileUseCase, {}, [times++]);
558
599
  }),
559
- result = _renderHook12.result;
600
+ result = _renderHook13.result;
560
601
  const collection1 = result.current;
561
602
  const _collection5 = _slicedToArray(collection1, 2),
562
603
  currentFile1 = _collection5[0],
@@ -582,20 +623,20 @@ describe('useUseCase', () => {
582
623
  });
583
624
  });
584
625
  test('`reducers` should be returned as an object', () => {
585
- const _renderHook13 = renderHook(() => {
626
+ const _renderHook14 = renderHook(() => {
586
627
  return useUseCase(defaultFile, fileUseCase);
587
628
  }),
588
- result = _renderHook13.result;
629
+ result = _renderHook14.result;
589
630
  const cores = result.current;
590
631
  const _cores2 = _slicedToArray(cores, 2),
591
632
  reducers = _cores2[1];
592
633
  expect(typeof reducers).toBe('object');
593
634
  });
594
635
  test('`Provider` should be returned as a function', () => {
595
- const _renderHook14 = renderHook(() => {
636
+ const _renderHook15 = renderHook(() => {
596
637
  return useUseCase(defaultFile, fileUseCase);
597
638
  }),
598
- result = _renderHook14.result;
639
+ result = _renderHook15.result;
599
640
  const cores = result.current;
600
641
  const _cores3 = _slicedToArray(cores, 3),
601
642
  Provider = _cores3[2];
@@ -603,11 +644,11 @@ describe('useUseCase', () => {
603
644
  });
604
645
  test('`usecase` should be called only once if deps has not provided', () => {
605
646
  const mockUseCase = jest.fn(fileUseCase);
606
- const _renderHook15 = renderHook(() => {
647
+ const _renderHook16 = renderHook(() => {
607
648
  return useUseCase(defaultFile, mockUseCase);
608
649
  }),
609
- result = _renderHook15.result,
610
- rerender = _renderHook15.rerender;
650
+ result = _renderHook16.result,
651
+ rerender = _renderHook16.rerender;
611
652
  const cores = result.current;
612
653
  const _cores4 = _slicedToArray(cores, 2),
613
654
  setEntity = _cores4[1].setEntity;
@@ -622,11 +663,11 @@ describe('useUseCase', () => {
622
663
  });
623
664
  test('`usecase` should be called only once if deps has not changed', () => {
624
665
  const mockUseCase = jest.fn(fileUseCase);
625
- const _renderHook16 = renderHook(() => {
666
+ const _renderHook17 = renderHook(() => {
626
667
  return useUseCase(defaultFile, mockUseCase, {}, [1, 'x']);
627
668
  }),
628
- result = _renderHook16.result,
629
- rerender = _renderHook16.rerender;
669
+ result = _renderHook17.result,
670
+ rerender = _renderHook17.rerender;
630
671
  const cores = result.current;
631
672
  const _cores5 = _slicedToArray(cores, 2),
632
673
  setEntity = _cores5[1].setEntity;
@@ -642,11 +683,11 @@ describe('useUseCase', () => {
642
683
  test('`usecase` should be called if deps has changed', () => {
643
684
  let i = 0;
644
685
  const mockUseCase = jest.fn(fileUseCase);
645
- const _renderHook17 = renderHook(() => {
686
+ const _renderHook18 = renderHook(() => {
646
687
  return useUseCase(defaultFile, mockUseCase, {}, [i++, 'x']);
647
688
  }),
648
- result = _renderHook17.result,
649
- rerender = _renderHook17.rerender;
689
+ result = _renderHook18.result,
690
+ rerender = _renderHook18.rerender;
650
691
  const cores = result.current;
651
692
  const _cores6 = _slicedToArray(cores, 2),
652
693
  setEntity = _cores6[1].setEntity;
@@ -663,7 +704,7 @@ describe('useUseCase', () => {
663
704
  test('after call non-generator reducer, it should not trigger update', () => {
664
705
  const onUpdate = jest.fn();
665
706
  const onDeepUpdate = jest.fn();
666
- const _renderHook18 = renderHook(() => {
707
+ const _renderHook19 = renderHook(() => {
667
708
  const context = useUseCase(defaultFile, fileUseCase);
668
709
  const _context = _slicedToArray(context, 2),
669
710
  reducers = _context[1];
@@ -683,7 +724,7 @@ describe('useUseCase', () => {
683
724
  update();
684
725
  };
685
726
  }),
686
- result = _renderHook18.result;
727
+ result = _renderHook19.result;
687
728
  act(() => {
688
729
  result.current();
689
730
  });
@@ -697,13 +738,13 @@ describe('useUseCase', () => {
697
738
  });
698
739
  test('after `yield entity`, it should trigger update', () => {
699
740
  const onUpdate = jest.fn();
700
- const _renderHook19 = renderHook(() => {
741
+ const _renderHook20 = renderHook(() => {
701
742
  useUpdateEffect(() => {
702
743
  onUpdate();
703
744
  });
704
745
  return useUseCase(defaultFile, fileUseCase);
705
746
  }),
706
- result = _renderHook19.result;
747
+ result = _renderHook20.result;
707
748
  const cores = result.current;
708
749
  const _cores7 = _slicedToArray(cores, 2),
709
750
  entity = _cores7[0],
@@ -730,13 +771,13 @@ describe('useUseCase', () => {
730
771
  });
731
772
  test('after `yield entity` on async mode, it should trigger update', async () => {
732
773
  const onUpdate = jest.fn();
733
- const _renderHook20 = renderHook(() => {
774
+ const _renderHook21 = renderHook(() => {
734
775
  useUpdateEffect(() => {
735
776
  onUpdate();
736
777
  });
737
778
  return useUseCase(defaultFile, fileUseCase);
738
779
  }),
739
- result = _renderHook20.result;
780
+ result = _renderHook21.result;
740
781
  const cores = result.current;
741
782
  const _cores8 = _slicedToArray(cores, 2),
742
783
  entity = _cores8[0],
@@ -759,13 +800,13 @@ describe('useUseCase', () => {
759
800
  });
760
801
  test('after `yield entity` callbacks, it should trigger update', () => {
761
802
  const onUpdate = jest.fn();
762
- const _renderHook21 = renderHook(() => {
803
+ const _renderHook22 = renderHook(() => {
763
804
  useUpdateEffect(() => {
764
805
  onUpdate();
765
806
  });
766
807
  return useUseCase(defaultFile, fileUseCase);
767
808
  }),
768
- result = _renderHook21.result;
809
+ result = _renderHook22.result;
769
810
  const cores = result.current;
770
811
  const _cores9 = _slicedToArray(cores, 2),
771
812
  reducers = _cores9[1];
@@ -906,12 +947,12 @@ describe('useUseCase', () => {
906
947
  });
907
948
  test('`options.onChange` should be trigger when entity has changed', () => {
908
949
  const onChange = jest.fn();
909
- const _renderHook22 = renderHook(() => {
950
+ const _renderHook23 = renderHook(() => {
910
951
  return useUseCase(defaultFile, fileUseCase, {
911
952
  onChange
912
953
  });
913
954
  }),
914
- result = _renderHook22.result;
955
+ result = _renderHook23.result;
915
956
  const cores = result.current;
916
957
  const _cores0 = _slicedToArray(cores, 2),
917
958
  reducers = _cores0[1];
@@ -931,12 +972,12 @@ describe('useUseCase', () => {
931
972
  const onChange1 = jest.fn();
932
973
  const onChange2 = jest.fn();
933
974
  let onChange = onChange1;
934
- const _renderHook23 = renderHook(() => {
975
+ const _renderHook24 = renderHook(() => {
935
976
  return useUseCase(defaultFile, fileUseCase, {
936
977
  onChange
937
978
  }, []);
938
979
  }),
939
- result = _renderHook23.result;
980
+ result = _renderHook24.result;
940
981
  const cores = result.current;
941
982
  const _cores1 = _slicedToArray(cores, 2),
942
983
  reducers = _cores1[1];
@@ -969,7 +1010,7 @@ describe('useUseCase', () => {
969
1010
  });
970
1011
  });
971
1012
  test('`options.options` should override rest options', () => {
972
- const _renderHook24 = renderHook(() => {
1013
+ const _renderHook25 = renderHook(() => {
973
1014
  return useUseCase(defaultFile, fileUseCase, {
974
1015
  pathPrefix: 'xyz/',
975
1016
  options: {
@@ -977,7 +1018,7 @@ describe('useUseCase', () => {
977
1018
  }
978
1019
  });
979
1020
  }),
980
- result = _renderHook24.result;
1021
+ result = _renderHook25.result;
981
1022
  const cores = result.current;
982
1023
  const _cores10 = _slicedToArray(cores, 2),
983
1024
  path = _cores10[0].path,
@@ -1012,7 +1053,7 @@ describe('useUseCase', () => {
1012
1053
  test('when `options` has changed, it should not trigger update', () => {
1013
1054
  const onUpdate = jest.fn();
1014
1055
  const onDeepUpdate = jest.fn();
1015
- const _renderHook25 = renderHook(() => {
1056
+ const _renderHook26 = renderHook(() => {
1016
1057
  const _useState = useState('user/'),
1017
1058
  _useState2 = _slicedToArray(_useState, 2),
1018
1059
  pathPrefix = _useState2[0],
@@ -1028,7 +1069,7 @@ describe('useUseCase', () => {
1028
1069
  }, [context]);
1029
1070
  return setPathPrefix;
1030
1071
  }),
1031
- result = _renderHook25.result;
1072
+ result = _renderHook26.result;
1032
1073
  expect(onUpdate).toHaveBeenCalledTimes(0);
1033
1074
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1034
1075
  act(() => {
@@ -1040,7 +1081,7 @@ describe('useUseCase', () => {
1040
1081
  test('when `deps` has changed, it should trigger update', () => {
1041
1082
  const onUpdate = jest.fn();
1042
1083
  const onDeepUpdate = jest.fn();
1043
- const _renderHook26 = renderHook(() => {
1084
+ const _renderHook27 = renderHook(() => {
1044
1085
  const _useState3 = useState('user/'),
1045
1086
  _useState4 = _slicedToArray(_useState3, 2),
1046
1087
  pathPrefix = _useState4[0],
@@ -1056,7 +1097,7 @@ describe('useUseCase', () => {
1056
1097
  }, [context]);
1057
1098
  return setPathPrefix;
1058
1099
  }),
1059
- result = _renderHook26.result;
1100
+ result = _renderHook27.result;
1060
1101
  expect(onUpdate).toHaveBeenCalledTimes(0);
1061
1102
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1062
1103
  act(() => {
@@ -1068,7 +1109,7 @@ describe('useUseCase', () => {
1068
1109
  test('empty `deps` should not trigger update', () => {
1069
1110
  const onUpdate = jest.fn();
1070
1111
  const onDeepUpdate = jest.fn();
1071
- const _renderHook27 = renderHook(() => {
1112
+ const _renderHook28 = renderHook(() => {
1072
1113
  const _useState5 = useState('user/'),
1073
1114
  _useState6 = _slicedToArray(_useState5, 2),
1074
1115
  pathPrefix = _useState6[0],
@@ -1084,7 +1125,7 @@ describe('useUseCase', () => {
1084
1125
  }, [context]);
1085
1126
  return setPathPrefix;
1086
1127
  }),
1087
- result = _renderHook27.result;
1128
+ result = _renderHook28.result;
1088
1129
  expect(onUpdate).toHaveBeenCalledTimes(0);
1089
1130
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
1090
1131
  act(() => {
@@ -1097,12 +1138,12 @@ describe('useUseCase', () => {
1097
1138
  const onPathChange1 = jest.fn();
1098
1139
  const onPathChange2 = jest.fn();
1099
1140
  let onPathChange = onPathChange1;
1100
- const _renderHook28 = renderHook(() => {
1141
+ const _renderHook29 = renderHook(() => {
1101
1142
  return useUseCase(defaultFile, fileUseCase, {
1102
1143
  onPathChange
1103
1144
  });
1104
1145
  }),
1105
- result = _renderHook28.result;
1146
+ result = _renderHook29.result;
1106
1147
  const context = result.current;
1107
1148
  const _context2 = _slicedToArray(context, 2),
1108
1149
  setPath = _context2[1].setPath;
@@ -1123,7 +1164,7 @@ describe('useUseCase', () => {
1123
1164
  test('`options.watch` should be trigger after entity changed', () => {
1124
1165
  const onPathChange = jest.fn();
1125
1166
  const onSizeChange = jest.fn();
1126
- const _renderHook29 = renderHook(() => {
1167
+ const _renderHook30 = renderHook(() => {
1127
1168
  return useUseCase(defaultFile, fileUseCase, {
1128
1169
  watch: {
1129
1170
  path: onPathChange,
@@ -1131,7 +1172,7 @@ describe('useUseCase', () => {
1131
1172
  }
1132
1173
  });
1133
1174
  }),
1134
- result = _renderHook29.result;
1175
+ result = _renderHook30.result;
1135
1176
  const cores = result.current;
1136
1177
  const _cores11 = _slicedToArray(cores, 2),
1137
1178
  setPath = _cores11[1].setPath;
@@ -1155,7 +1196,7 @@ describe('useUseCase', () => {
1155
1196
  });
1156
1197
  test('`options.watch` should be trigger after update entity by entity initializer', () => {
1157
1198
  const onPathChange = jest.fn();
1158
- const _renderHook30 = renderHook(function () {
1199
+ const _renderHook31 = renderHook(function () {
1159
1200
  let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1160
1201
  return useUseCase(function () {
1161
1202
  let currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
@@ -1169,7 +1210,7 @@ describe('useUseCase', () => {
1169
1210
  }
1170
1211
  }, [path]);
1171
1212
  }),
1172
- rerender = _renderHook30.rerender;
1213
+ rerender = _renderHook31.rerender;
1173
1214
  expect(onPathChange).toHaveBeenCalledTimes(0);
1174
1215
  act(() => {
1175
1216
  rerender(PATH_1);
@@ -1280,14 +1321,14 @@ describe('useUseCase', () => {
1280
1321
  const onPathChange1 = jest.fn();
1281
1322
  const onPathChange2 = jest.fn();
1282
1323
  let onPathChange = onPathChange1;
1283
- const _renderHook31 = renderHook(() => {
1324
+ const _renderHook32 = renderHook(() => {
1284
1325
  return useUseCase(defaultFile, fileUseCase, {
1285
1326
  watch: {
1286
1327
  path: onPathChange
1287
1328
  }
1288
1329
  });
1289
1330
  }),
1290
- result = _renderHook31.result;
1331
+ result = _renderHook32.result;
1291
1332
  const cores = result.current;
1292
1333
  const _cores12 = _slicedToArray(cores, 2),
1293
1334
  _cores12$ = _cores12[1],
@@ -1338,7 +1379,7 @@ describe('useUseCase', () => {
1338
1379
  const initialData = {};
1339
1380
  const onExtChange = jest.fn();
1340
1381
  const onSizeChange = jest.fn();
1341
- const _renderHook32 = renderHook(() => {
1382
+ const _renderHook33 = renderHook(() => {
1342
1383
  return useUseCase(initialData, fieldPathUseCase, {
1343
1384
  watch: {
1344
1385
  'list.ext': onExtChange,
@@ -1346,7 +1387,7 @@ describe('useUseCase', () => {
1346
1387
  }
1347
1388
  });
1348
1389
  }),
1349
- result = _renderHook32.result;
1390
+ result = _renderHook33.result;
1350
1391
  const cores = result.current;
1351
1392
  const _cores13 = _slicedToArray(cores, 2),
1352
1393
  setEntity = _cores13[1].setEntity;
@@ -1691,7 +1732,7 @@ describe('useUseCase', () => {
1691
1732
  const lengthUseCase = () => {
1692
1733
  return entityUseCase();
1693
1734
  };
1694
- const _renderHook33 = renderHook(() => {
1735
+ const _renderHook34 = renderHook(() => {
1695
1736
  return useUseCase(defaultList, lengthUseCase, {
1696
1737
  watch: {
1697
1738
  length: onEntityLengthChange,
@@ -1699,7 +1740,7 @@ describe('useUseCase', () => {
1699
1740
  }
1700
1741
  });
1701
1742
  }),
1702
- result = _renderHook33.result;
1743
+ result = _renderHook34.result;
1703
1744
  const cores = result.current;
1704
1745
  const _cores14 = _slicedToArray(cores, 2),
1705
1746
  setEntity = _cores14[1].setEntity;
@@ -1734,14 +1775,14 @@ describe('useUseCase', () => {
1734
1775
  test('`options.watch` should work with field path of nested array', () => {
1735
1776
  const initialData = {};
1736
1777
  const onChange = jest.fn();
1737
- const _renderHook34 = renderHook(() => {
1778
+ const _renderHook35 = renderHook(() => {
1738
1779
  return useUseCase(initialData, fieldPathUseCase, {
1739
1780
  watch: {
1740
1781
  'nestedList.size': onChange
1741
1782
  }
1742
1783
  });
1743
1784
  }),
1744
- result = _renderHook34.result;
1785
+ result = _renderHook35.result;
1745
1786
  const cores = result.current;
1746
1787
  const _cores15 = _slicedToArray(cores, 2),
1747
1788
  setEntity = _cores15[1].setEntity;
@@ -1841,7 +1882,7 @@ describe('useUseCase', () => {
1841
1882
  const initialData = {};
1842
1883
  const onExtChange = jest.fn();
1843
1884
  const onSizeChange = jest.fn();
1844
- const _renderHook35 = renderHook(() => {
1885
+ const _renderHook36 = renderHook(() => {
1845
1886
  return useUseCase(initialData, fieldPathUseCase, {
1846
1887
  watch: {
1847
1888
  'obj.file.ext': onExtChange,
@@ -1849,7 +1890,7 @@ describe('useUseCase', () => {
1849
1890
  }
1850
1891
  });
1851
1892
  }),
1852
- result = _renderHook35.result;
1893
+ result = _renderHook36.result;
1853
1894
  const cores = result.current;
1854
1895
  const _cores16 = _slicedToArray(cores, 2),
1855
1896
  setEntity = _cores16[1].setEntity;
@@ -1990,7 +2031,7 @@ describe('useUseCase', () => {
1990
2031
  unbindEntity
1991
2032
  };
1992
2033
  };
1993
- const _renderHook36 = renderHook(() => {
2034
+ const _renderHook37 = renderHook(() => {
1994
2035
  const _useUseCase26 = useUseCase(5, testUseCase),
1995
2036
  _useUseCase27 = _slicedToArray(_useUseCase26, 2),
1996
2037
  setEntity = _useUseCase27[1].setEntity;
@@ -1998,7 +2039,7 @@ describe('useUseCase', () => {
1998
2039
  setEntity(100);
1999
2040
  });
2000
2041
  }),
2001
- unmount = _renderHook36.unmount;
2042
+ unmount = _renderHook37.unmount;
2002
2043
  expect(unbindEntity).toHaveBeenCalledTimes(0);
2003
2044
  unmount();
2004
2045
  expect(unbindEntity).toHaveBeenCalledTimes(1);
@@ -2565,38 +2606,38 @@ describe('useUseCase', () => {
2565
2606
  });
2566
2607
  describe('`useUseCase` should work the same as `useReducers`', () => {
2567
2608
  test('`entity` should equal `defaultFile`', () => {
2568
- const _renderHook37 = renderHook(() => {
2609
+ const _renderHook38 = renderHook(() => {
2569
2610
  return useUseCase(mathUseCase);
2570
2611
  }),
2571
- result = _renderHook37.result;
2612
+ result = _renderHook38.result;
2572
2613
  const reducers = result.current;
2573
2614
  expect(Array.isArray(reducers)).toBe(false);
2574
2615
  });
2575
2616
  test('returned reducer should work', () => {
2576
- const _renderHook38 = renderHook(() => {
2617
+ const _renderHook39 = renderHook(() => {
2577
2618
  return useUseCase(mathUseCase);
2578
2619
  }),
2579
- result = _renderHook38.result;
2620
+ result = _renderHook39.result;
2580
2621
  const reducers = result.current;
2581
2622
  const add = reducers.add;
2582
2623
  expect(add(1, 2)).toBe(3);
2583
2624
  });
2584
2625
  test('`usecase` should be called only once if deps has not provided', () => {
2585
2626
  const mockUseCase = jest.fn(mathUseCase);
2586
- const _renderHook39 = renderHook(() => {
2627
+ const _renderHook40 = renderHook(() => {
2587
2628
  return useUseCase(mockUseCase);
2588
2629
  }),
2589
- rerender = _renderHook39.rerender;
2630
+ rerender = _renderHook40.rerender;
2590
2631
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2591
2632
  rerender();
2592
2633
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2593
2634
  });
2594
2635
  test('`usecase` should be called only once if deps has not changed', () => {
2595
2636
  const mockUseCase = jest.fn(mathUseCase);
2596
- const _renderHook40 = renderHook(() => {
2637
+ const _renderHook41 = renderHook(() => {
2597
2638
  return useUseCase(mockUseCase, {}, [1, 'x']);
2598
2639
  }),
2599
- rerender = _renderHook40.rerender;
2640
+ rerender = _renderHook41.rerender;
2600
2641
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2601
2642
  rerender();
2602
2643
  expect(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2604,10 +2645,10 @@ describe('useUseCase', () => {
2604
2645
  test('`usecase` should be called if deps has changed', () => {
2605
2646
  let i = 0;
2606
2647
  const mockUseCase = jest.fn(mathUseCase);
2607
- const _renderHook41 = renderHook(() => {
2648
+ const _renderHook42 = renderHook(() => {
2608
2649
  return useUseCase(mockUseCase, {}, [i++, 'x']);
2609
2650
  }),
2610
- rerender = _renderHook41.rerender;
2651
+ rerender = _renderHook42.rerender;
2611
2652
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2612
2653
  rerender();
2613
2654
  expect(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2691,12 +2732,12 @@ describe('useUseCase', () => {
2691
2732
  expect(subtractionReducer).toHaveReturnedWith(4);
2692
2733
  });
2693
2734
  test('`options.extraValue` should be added after call `add` method', () => {
2694
- const _renderHook42 = renderHook(() => {
2735
+ const _renderHook43 = renderHook(() => {
2695
2736
  return useUseCase(mathUseCase, {
2696
2737
  extraValue: 5
2697
2738
  });
2698
2739
  }),
2699
- result = _renderHook42.result;
2740
+ result = _renderHook43.result;
2700
2741
  const reducers = result.current;
2701
2742
  const add = reducers.add;
2702
2743
  expect(add(1, 2)).toBe(8);
@@ -2704,7 +2745,7 @@ describe('useUseCase', () => {
2704
2745
  test('when `options` has changed, it should not trigger update', () => {
2705
2746
  const onUpdate = jest.fn();
2706
2747
  const onDeepUpdate = jest.fn();
2707
- const _renderHook43 = renderHook(() => {
2748
+ const _renderHook44 = renderHook(() => {
2708
2749
  const _useState7 = useState(0),
2709
2750
  _useState8 = _slicedToArray(_useState7, 2),
2710
2751
  extraValue = _useState8[0],
@@ -2720,7 +2761,7 @@ describe('useUseCase', () => {
2720
2761
  }, [reducers]);
2721
2762
  return setExtraValue;
2722
2763
  }),
2723
- result = _renderHook43.result;
2764
+ result = _renderHook44.result;
2724
2765
  expect(onUpdate).toHaveBeenCalledTimes(0);
2725
2766
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2726
2767
  act(() => {
@@ -2732,7 +2773,7 @@ describe('useUseCase', () => {
2732
2773
  test('when `deps` change, it should update reducers', () => {
2733
2774
  const onUpdate = jest.fn();
2734
2775
  const onDeepUpdate = jest.fn();
2735
- const _renderHook44 = renderHook(() => {
2776
+ const _renderHook45 = renderHook(() => {
2736
2777
  const _useState9 = useState(0),
2737
2778
  _useState0 = _slicedToArray(_useState9, 2),
2738
2779
  extraValue = _useState0[0],
@@ -2748,7 +2789,7 @@ describe('useUseCase', () => {
2748
2789
  }, [reducers]);
2749
2790
  return setExtraValue;
2750
2791
  }),
2751
- result = _renderHook44.result;
2792
+ result = _renderHook45.result;
2752
2793
  expect(onUpdate).toHaveBeenCalledTimes(0);
2753
2794
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2754
2795
  act(() => {
@@ -2760,7 +2801,7 @@ describe('useUseCase', () => {
2760
2801
  test('empty `deps` should not update reducers', () => {
2761
2802
  const onUpdate = jest.fn();
2762
2803
  const onDeepUpdate = jest.fn();
2763
- const _renderHook45 = renderHook(() => {
2804
+ const _renderHook46 = renderHook(() => {
2764
2805
  const _useState1 = useState(0),
2765
2806
  _useState10 = _slicedToArray(_useState1, 2),
2766
2807
  extraValue = _useState10[0],
@@ -2776,7 +2817,7 @@ describe('useUseCase', () => {
2776
2817
  }, [reducers]);
2777
2818
  return setExtraValue;
2778
2819
  }),
2779
- result = _renderHook45.result;
2820
+ result = _renderHook46.result;
2780
2821
  expect(onUpdate).toHaveBeenCalledTimes(0);
2781
2822
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2782
2823
  act(() => {
package/es/index.d.ts CHANGED
@@ -4,4 +4,5 @@ export { lifeCycleUseCase } from './usecases/lifeCycleUseCase';
4
4
  export type { EntityWatchEvent, RootCoreCollection, ContextualCoreCollection, CoreCollection, } from './hooks/useUseCase/types';
5
5
  export type { UseCaseHookOptions } from './hooks/useUseCase/types';
6
6
  export type { UseCaseProvider } from './hooks/useProvider/types';
7
+ export type { LifeCycleReducers, LifeCycleUseCaseOptions } from './usecases/lifeCycleUseCase/types';
7
8
  export type { UseCaseFragmentProps } from './components/UseCaseFragment/types';