@mic-rexjs/usecases-react 2.13.6 → 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;
@@ -1666,20 +1685,21 @@ describe('useUseCase', () => {
1666
1685
  });
1667
1686
  });
1668
1687
  test('`options.watch` should work with field path of array length', () => {
1688
+ const defaultList = [];
1669
1689
  const onEntityLengthChange = jest.fn();
1670
1690
  const onListLengthChange = jest.fn();
1671
1691
  const lengthUseCase = () => {
1672
1692
  return entityUseCase();
1673
1693
  };
1674
- const _renderHook32 = renderHook(() => {
1675
- return useUseCase([], lengthUseCase, {
1694
+ const _renderHook33 = renderHook(() => {
1695
+ return useUseCase(defaultList, lengthUseCase, {
1676
1696
  watch: {
1677
1697
  length: onEntityLengthChange,
1678
1698
  'list.length': onListLengthChange
1679
1699
  }
1680
1700
  });
1681
1701
  }),
1682
- result = _renderHook32.result;
1702
+ result = _renderHook33.result;
1683
1703
  const cores = result.current;
1684
1704
  const _cores14 = _slicedToArray(cores, 2),
1685
1705
  setEntity = _cores14[1].setEntity;
@@ -1714,14 +1734,14 @@ describe('useUseCase', () => {
1714
1734
  test('`options.watch` should work with field path of nested array', () => {
1715
1735
  const initialData = {};
1716
1736
  const onChange = jest.fn();
1717
- const _renderHook33 = renderHook(() => {
1737
+ const _renderHook34 = renderHook(() => {
1718
1738
  return useUseCase(initialData, fieldPathUseCase, {
1719
1739
  watch: {
1720
1740
  'nestedList.size': onChange
1721
1741
  }
1722
1742
  });
1723
1743
  }),
1724
- result = _renderHook33.result;
1744
+ result = _renderHook34.result;
1725
1745
  const cores = result.current;
1726
1746
  const _cores15 = _slicedToArray(cores, 2),
1727
1747
  setEntity = _cores15[1].setEntity;
@@ -1821,7 +1841,7 @@ describe('useUseCase', () => {
1821
1841
  const initialData = {};
1822
1842
  const onExtChange = jest.fn();
1823
1843
  const onSizeChange = jest.fn();
1824
- const _renderHook34 = renderHook(() => {
1844
+ const _renderHook35 = renderHook(() => {
1825
1845
  return useUseCase(initialData, fieldPathUseCase, {
1826
1846
  watch: {
1827
1847
  'obj.file.ext': onExtChange,
@@ -1829,7 +1849,7 @@ describe('useUseCase', () => {
1829
1849
  }
1830
1850
  });
1831
1851
  }),
1832
- result = _renderHook34.result;
1852
+ result = _renderHook35.result;
1833
1853
  const cores = result.current;
1834
1854
  const _cores16 = _slicedToArray(cores, 2),
1835
1855
  setEntity = _cores16[1].setEntity;
@@ -1937,6 +1957,53 @@ describe('useUseCase', () => {
1937
1957
  expect(onStringMount).toHaveBeenCalledWith('hello');
1938
1958
  expect(onBooleanMount).toHaveBeenCalledWith(true);
1939
1959
  });
1960
+ test('`bindEntity` should be called when component mount', () => {
1961
+ const bindEntity = jest.fn(entity => {
1962
+ void entity;
1963
+ });
1964
+ const testUseCase = () => {
1965
+ const entityReducers = entityUseCase();
1966
+ return {
1967
+ ...entityReducers,
1968
+ bindEntity
1969
+ };
1970
+ };
1971
+ renderHook(() => {
1972
+ const _useUseCase24 = useUseCase(5, testUseCase),
1973
+ _useUseCase25 = _slicedToArray(_useUseCase24, 2),
1974
+ setEntity = _useUseCase25[1].setEntity;
1975
+ useMount(() => {
1976
+ setEntity(100);
1977
+ });
1978
+ });
1979
+ expect(bindEntity).toHaveBeenCalledTimes(1);
1980
+ expect(bindEntity).toHaveBeenCalledWith(5);
1981
+ });
1982
+ test('`unbindEntity` should be called when component unmount', () => {
1983
+ const unbindEntity = jest.fn(entity => {
1984
+ void entity;
1985
+ });
1986
+ const testUseCase = () => {
1987
+ const entityReducers = entityUseCase();
1988
+ return {
1989
+ ...entityReducers,
1990
+ unbindEntity
1991
+ };
1992
+ };
1993
+ const _renderHook36 = renderHook(() => {
1994
+ const _useUseCase26 = useUseCase(5, testUseCase),
1995
+ _useUseCase27 = _slicedToArray(_useUseCase26, 2),
1996
+ setEntity = _useUseCase27[1].setEntity;
1997
+ useMount(() => {
1998
+ setEntity(100);
1999
+ });
2000
+ }),
2001
+ unmount = _renderHook36.unmount;
2002
+ expect(unbindEntity).toHaveBeenCalledTimes(0);
2003
+ unmount();
2004
+ expect(unbindEntity).toHaveBeenCalledTimes(1);
2005
+ expect(unbindEntity).toHaveBeenCalledWith(100);
2006
+ });
1940
2007
  });
1941
2008
  describe('`useUseCase` should work the same as `useContextualCoreCollection`', () => {
1942
2009
  test('Provider should be returned in child component', () => {
@@ -1953,14 +2020,14 @@ describe('useUseCase', () => {
1953
2020
  return _jsx(Fragment, {});
1954
2021
  };
1955
2022
  const TestParent = () => {
1956
- const _useUseCase24 = useUseCase(() => {
2023
+ const _useUseCase28 = useUseCase(() => {
1957
2024
  return {
1958
2025
  ...defaultFile,
1959
2026
  ext: EXT_1
1960
2027
  };
1961
2028
  }, fileUseCase),
1962
- _useUseCase25 = _slicedToArray(_useUseCase24, 3),
1963
- Provider = _useUseCase25[2];
2029
+ _useUseCase29 = _slicedToArray(_useUseCase28, 3),
2030
+ Provider = _useUseCase29[2];
1964
2031
  return _jsx(Provider, {
1965
2032
  children: _jsx(TestChild, {})
1966
2033
  });
@@ -1977,10 +2044,10 @@ describe('useUseCase', () => {
1977
2044
  const onPopupFile = jest.fn();
1978
2045
  const buttonText = 'button';
1979
2046
  const Popup = () => {
1980
- const _useUseCase26 = useUseCase(fileUseCase),
1981
- _useUseCase27 = _slicedToArray(_useUseCase26, 2),
1982
- file = _useUseCase27[0],
1983
- setEntity = _useUseCase27[1].setEntity;
2047
+ const _useUseCase30 = useUseCase(fileUseCase),
2048
+ _useUseCase31 = _slicedToArray(_useUseCase30, 2),
2049
+ file = _useUseCase31[0],
2050
+ setEntity = _useUseCase31[1].setEntity;
1984
2051
  const onClick = () => {
1985
2052
  setEntity({
1986
2053
  ext: EXT_2
@@ -1995,15 +2062,15 @@ describe('useUseCase', () => {
1995
2062
  });
1996
2063
  };
1997
2064
  const TestChild = () => {
1998
- const _useUseCase28 = useUseCase(fileUseCase),
1999
- _useUseCase29 = _slicedToArray(_useUseCase28, 3),
2000
- Provider = _useUseCase29[2];
2065
+ const _useUseCase32 = useUseCase(fileUseCase),
2066
+ _useUseCase33 = _slicedToArray(_useUseCase32, 3),
2067
+ Provider = _useUseCase33[2];
2001
2068
  return createPortal(_jsx(Provider, {
2002
2069
  children: _jsx(Popup, {})
2003
2070
  }), document.body);
2004
2071
  };
2005
2072
  const TestParent = () => {
2006
- const _useUseCase30 = useUseCase(() => {
2073
+ const _useUseCase34 = useUseCase(() => {
2007
2074
  return {
2008
2075
  ...defaultFile,
2009
2076
  ext: EXT_1
@@ -2011,9 +2078,9 @@ describe('useUseCase', () => {
2011
2078
  }, fileUseCase, {
2012
2079
  onChange
2013
2080
  }),
2014
- _useUseCase31 = _slicedToArray(_useUseCase30, 3),
2015
- file = _useUseCase31[0],
2016
- Provider = _useUseCase31[2];
2081
+ _useUseCase35 = _slicedToArray(_useUseCase34, 3),
2082
+ file = _useUseCase35[0],
2083
+ Provider = _useUseCase35[2];
2017
2084
  useEffect(() => {
2018
2085
  onRootFile(file);
2019
2086
  }, [file]);
@@ -2078,9 +2145,9 @@ describe('useUseCase', () => {
2078
2145
  return _jsx(Fragment, {});
2079
2146
  };
2080
2147
  const B = () => {
2081
- const _useUseCase32 = useUseCase(defaultFile, mockUseCase),
2082
- _useUseCase33 = _slicedToArray(_useUseCase32, 3),
2083
- Provider = _useUseCase33[2];
2148
+ const _useUseCase36 = useUseCase(defaultFile, mockUseCase),
2149
+ _useUseCase37 = _slicedToArray(_useUseCase36, 3),
2150
+ Provider = _useUseCase37[2];
2084
2151
  return _jsx(Provider, {
2085
2152
  children: _jsx(A, {})
2086
2153
  });
@@ -2101,9 +2168,9 @@ describe('useUseCase', () => {
2101
2168
  };
2102
2169
  };
2103
2170
  const A = () => {
2104
- const _useUseCase34 = useUseCase(stringUseCase),
2105
- _useUseCase35 = _slicedToArray(_useUseCase34, 2),
2106
- add = _useUseCase35[1].add;
2171
+ const _useUseCase38 = useUseCase(stringUseCase),
2172
+ _useUseCase39 = _slicedToArray(_useUseCase38, 2),
2173
+ add = _useUseCase39[1].add;
2107
2174
  const update = useUpdate();
2108
2175
  const onClick = () => {
2109
2176
  update();
@@ -2115,9 +2182,9 @@ describe('useUseCase', () => {
2115
2182
  });
2116
2183
  };
2117
2184
  const B = () => {
2118
- const _useUseCase36 = useUseCase('', stringUseCase),
2119
- _useUseCase37 = _slicedToArray(_useUseCase36, 3),
2120
- Provider = _useUseCase37[2];
2185
+ const _useUseCase40 = useUseCase('', stringUseCase),
2186
+ _useUseCase41 = _slicedToArray(_useUseCase40, 3),
2187
+ Provider = _useUseCase41[2];
2121
2188
  return _jsx(Provider, {
2122
2189
  children: _jsx(A, {})
2123
2190
  });
@@ -2142,9 +2209,9 @@ describe('useUseCase', () => {
2142
2209
  };
2143
2210
  };
2144
2211
  const A = () => {
2145
- const _useUseCase38 = useUseCase(stringUseCase),
2146
- _useUseCase39 = _slicedToArray(_useUseCase38, 2),
2147
- add = _useUseCase39[1].add;
2212
+ const _useUseCase42 = useUseCase(stringUseCase),
2213
+ _useUseCase43 = _slicedToArray(_useUseCase42, 2),
2214
+ add = _useUseCase43[1].add;
2148
2215
  const onClick = () => {
2149
2216
  add('x');
2150
2217
  };
@@ -2158,9 +2225,9 @@ describe('useUseCase', () => {
2158
2225
  });
2159
2226
  };
2160
2227
  const B = () => {
2161
- const _useUseCase40 = useUseCase('', stringUseCase),
2162
- _useUseCase41 = _slicedToArray(_useUseCase40, 3),
2163
- Provider = _useUseCase41[2];
2228
+ const _useUseCase44 = useUseCase('', stringUseCase),
2229
+ _useUseCase45 = _slicedToArray(_useUseCase44, 3),
2230
+ Provider = _useUseCase45[2];
2164
2231
  return _jsx(Provider, {
2165
2232
  children: _jsx(A, {})
2166
2233
  });
@@ -2189,11 +2256,11 @@ describe('useUseCase', () => {
2189
2256
  };
2190
2257
  };
2191
2258
  const A = () => {
2192
- const _useUseCase42 = useUseCase(stringUseCase),
2193
- _useUseCase43 = _slicedToArray(_useUseCase42, 2),
2194
- _useUseCase43$ = _useUseCase43[1],
2195
- add = _useUseCase43$.add,
2196
- setEntity = _useUseCase43$.setEntity;
2259
+ const _useUseCase46 = useUseCase(stringUseCase),
2260
+ _useUseCase47 = _slicedToArray(_useUseCase46, 2),
2261
+ _useUseCase47$ = _useUseCase47[1],
2262
+ add = _useUseCase47$.add,
2263
+ setEntity = _useUseCase47$.setEntity;
2197
2264
  const update = useUpdate();
2198
2265
  add(addedText);
2199
2266
  const onSet = () => {
@@ -2213,9 +2280,9 @@ describe('useUseCase', () => {
2213
2280
  });
2214
2281
  };
2215
2282
  const B = () => {
2216
- const _useUseCase44 = useUseCase('', stringUseCase),
2217
- _useUseCase45 = _slicedToArray(_useUseCase44, 3),
2218
- Provider = _useUseCase45[2];
2283
+ const _useUseCase48 = useUseCase('', stringUseCase),
2284
+ _useUseCase49 = _slicedToArray(_useUseCase48, 3),
2285
+ Provider = _useUseCase49[2];
2219
2286
  return _jsx(Provider, {
2220
2287
  children: _jsx(A, {})
2221
2288
  });
@@ -2260,12 +2327,12 @@ describe('useUseCase', () => {
2260
2327
  return _jsx(Fragment, {});
2261
2328
  };
2262
2329
  const C = () => {
2263
- const _useUseCase46 = useUseCase(defaultFile, fileUseCase, {
2330
+ const _useUseCase50 = useUseCase(defaultFile, fileUseCase, {
2264
2331
  onChange: onChangeC
2265
2332
  }),
2266
- _useUseCase47 = _slicedToArray(_useUseCase46, 3),
2267
- setPath = _useUseCase47[1].setPath,
2268
- Provider = _useUseCase47[2];
2333
+ _useUseCase51 = _slicedToArray(_useUseCase50, 3),
2334
+ setPath = _useUseCase51[1].setPath,
2335
+ Provider = _useUseCase51[2];
2269
2336
  const onFirstClick = () => {
2270
2337
  setPath(PATH_1);
2271
2338
  };
@@ -2292,11 +2359,11 @@ describe('useUseCase', () => {
2292
2359
  const firstButtonText = 'first button';
2293
2360
  const secondButtonText = 'second button';
2294
2361
  const A = () => {
2295
- const _useUseCase48 = useUseCase(fileUseCase, {
2362
+ const _useUseCase52 = useUseCase(fileUseCase, {
2296
2363
  onChange
2297
2364
  }),
2298
- _useUseCase49 = _slicedToArray(_useUseCase48, 2),
2299
- setPath = _useUseCase49[1].setPath;
2365
+ _useUseCase53 = _slicedToArray(_useUseCase52, 2),
2366
+ setPath = _useUseCase53[1].setPath;
2300
2367
  const onFirstClick = () => {
2301
2368
  setPath(PATH_1);
2302
2369
  onChange = onSecondChange;
@@ -2315,9 +2382,9 @@ describe('useUseCase', () => {
2315
2382
  });
2316
2383
  };
2317
2384
  const B = () => {
2318
- const _useUseCase50 = useUseCase(defaultFile, fileUseCase),
2319
- _useUseCase51 = _slicedToArray(_useUseCase50, 3),
2320
- Provider = _useUseCase51[2];
2385
+ const _useUseCase54 = useUseCase(defaultFile, fileUseCase),
2386
+ _useUseCase55 = _slicedToArray(_useUseCase54, 3),
2387
+ Provider = _useUseCase55[2];
2321
2388
  return _jsx(Provider, {
2322
2389
  children: _jsx(A, {})
2323
2390
  });
@@ -2340,13 +2407,13 @@ describe('useUseCase', () => {
2340
2407
  const onExtChange = jest.fn();
2341
2408
  const firstButtonText = 'first button';
2342
2409
  const A = () => {
2343
- const _useUseCase52 = useUseCase(fileUseCase, {
2410
+ const _useUseCase56 = useUseCase(fileUseCase, {
2344
2411
  watch: {
2345
2412
  ext: onExtChange
2346
2413
  }
2347
2414
  }),
2348
- _useUseCase53 = _slicedToArray(_useUseCase52, 2),
2349
- setPath = _useUseCase53[1].setPath;
2415
+ _useUseCase57 = _slicedToArray(_useUseCase56, 2),
2416
+ setPath = _useUseCase57[1].setPath;
2350
2417
  const onFirstClick = () => {
2351
2418
  setPath(PATH_1);
2352
2419
  };
@@ -2356,9 +2423,9 @@ describe('useUseCase', () => {
2356
2423
  });
2357
2424
  };
2358
2425
  const B = () => {
2359
- const _useUseCase54 = useUseCase(defaultFile, fileUseCase, {}),
2360
- _useUseCase55 = _slicedToArray(_useUseCase54, 3),
2361
- Provider = _useUseCase55[2];
2426
+ const _useUseCase58 = useUseCase(defaultFile, fileUseCase, {}),
2427
+ _useUseCase59 = _slicedToArray(_useUseCase58, 3),
2428
+ Provider = _useUseCase59[2];
2362
2429
  return _jsx(Provider, {
2363
2430
  children: _jsx(A, {})
2364
2431
  });
@@ -2409,14 +2476,14 @@ describe('useUseCase', () => {
2409
2476
  return _jsx(Fragment, {});
2410
2477
  };
2411
2478
  const C = () => {
2412
- const _useUseCase56 = useUseCase(defaultFile, fileUseCase, {
2479
+ const _useUseCase60 = useUseCase(defaultFile, fileUseCase, {
2413
2480
  watch: {
2414
2481
  ext: onChangeC
2415
2482
  }
2416
2483
  }),
2417
- _useUseCase57 = _slicedToArray(_useUseCase56, 3),
2418
- setPath = _useUseCase57[1].setPath,
2419
- Provider = _useUseCase57[2];
2484
+ _useUseCase61 = _slicedToArray(_useUseCase60, 3),
2485
+ setPath = _useUseCase61[1].setPath,
2486
+ Provider = _useUseCase61[2];
2420
2487
  const onFirstClick = () => {
2421
2488
  setPath(PATH_1);
2422
2489
  };
@@ -2443,13 +2510,13 @@ describe('useUseCase', () => {
2443
2510
  const firstButtonText = 'first button';
2444
2511
  const secondButtonText = 'second button';
2445
2512
  const A = () => {
2446
- const _useUseCase58 = useUseCase(fileUseCase, {
2513
+ const _useUseCase62 = useUseCase(fileUseCase, {
2447
2514
  watch: {
2448
2515
  ext: onExtChange
2449
2516
  }
2450
2517
  }),
2451
- _useUseCase59 = _slicedToArray(_useUseCase58, 2),
2452
- setPath = _useUseCase59[1].setPath;
2518
+ _useUseCase63 = _slicedToArray(_useUseCase62, 2),
2519
+ setPath = _useUseCase63[1].setPath;
2453
2520
  const onFirstClick = () => {
2454
2521
  setPath(PATH_1);
2455
2522
  onExtChange = onSecondExtChange;
@@ -2468,9 +2535,9 @@ describe('useUseCase', () => {
2468
2535
  });
2469
2536
  };
2470
2537
  const B = () => {
2471
- const _useUseCase60 = useUseCase(defaultFile, fileUseCase),
2472
- _useUseCase61 = _slicedToArray(_useUseCase60, 3),
2473
- Provider = _useUseCase61[2];
2538
+ const _useUseCase64 = useUseCase(defaultFile, fileUseCase),
2539
+ _useUseCase65 = _slicedToArray(_useUseCase64, 3),
2540
+ Provider = _useUseCase65[2];
2474
2541
  return _jsx(Provider, {
2475
2542
  children: _jsx(A, {})
2476
2543
  });
@@ -2498,38 +2565,38 @@ describe('useUseCase', () => {
2498
2565
  });
2499
2566
  describe('`useUseCase` should work the same as `useReducers`', () => {
2500
2567
  test('`entity` should equal `defaultFile`', () => {
2501
- const _renderHook35 = renderHook(() => {
2568
+ const _renderHook37 = renderHook(() => {
2502
2569
  return useUseCase(mathUseCase);
2503
2570
  }),
2504
- result = _renderHook35.result;
2571
+ result = _renderHook37.result;
2505
2572
  const reducers = result.current;
2506
2573
  expect(Array.isArray(reducers)).toBe(false);
2507
2574
  });
2508
2575
  test('returned reducer should work', () => {
2509
- const _renderHook36 = renderHook(() => {
2576
+ const _renderHook38 = renderHook(() => {
2510
2577
  return useUseCase(mathUseCase);
2511
2578
  }),
2512
- result = _renderHook36.result;
2579
+ result = _renderHook38.result;
2513
2580
  const reducers = result.current;
2514
2581
  const add = reducers.add;
2515
2582
  expect(add(1, 2)).toBe(3);
2516
2583
  });
2517
2584
  test('`usecase` should be called only once if deps has not provided', () => {
2518
2585
  const mockUseCase = jest.fn(mathUseCase);
2519
- const _renderHook37 = renderHook(() => {
2586
+ const _renderHook39 = renderHook(() => {
2520
2587
  return useUseCase(mockUseCase);
2521
2588
  }),
2522
- rerender = _renderHook37.rerender;
2589
+ rerender = _renderHook39.rerender;
2523
2590
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2524
2591
  rerender();
2525
2592
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2526
2593
  });
2527
2594
  test('`usecase` should be called only once if deps has not changed', () => {
2528
2595
  const mockUseCase = jest.fn(mathUseCase);
2529
- const _renderHook38 = renderHook(() => {
2596
+ const _renderHook40 = renderHook(() => {
2530
2597
  return useUseCase(mockUseCase, {}, [1, 'x']);
2531
2598
  }),
2532
- rerender = _renderHook38.rerender;
2599
+ rerender = _renderHook40.rerender;
2533
2600
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2534
2601
  rerender();
2535
2602
  expect(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2537,10 +2604,10 @@ describe('useUseCase', () => {
2537
2604
  test('`usecase` should be called if deps has changed', () => {
2538
2605
  let i = 0;
2539
2606
  const mockUseCase = jest.fn(mathUseCase);
2540
- const _renderHook39 = renderHook(() => {
2607
+ const _renderHook41 = renderHook(() => {
2541
2608
  return useUseCase(mockUseCase, {}, [i++, 'x']);
2542
2609
  }),
2543
- rerender = _renderHook39.rerender;
2610
+ rerender = _renderHook41.rerender;
2544
2611
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2545
2612
  rerender();
2546
2613
  expect(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2548,8 +2615,8 @@ describe('useUseCase', () => {
2548
2615
  test('reducer call should not be cached if component is at rendering phase', () => {
2549
2616
  const buttonText = 'button';
2550
2617
  const CacheTestComponent = () => {
2551
- const _useUseCase62 = useUseCase(mathUseCase),
2552
- subtraction = _useUseCase62.subtraction;
2618
+ const _useUseCase66 = useUseCase(mathUseCase),
2619
+ subtraction = _useUseCase66.subtraction;
2553
2620
  const update = useUpdate();
2554
2621
  const onClick = () => {
2555
2622
  update();
@@ -2572,8 +2639,8 @@ describe('useUseCase', () => {
2572
2639
  test('reducer call should not be cached if component is not at rendering phase', () => {
2573
2640
  const buttonText = 'button';
2574
2641
  const CacheTestComponent = () => {
2575
- const _useUseCase63 = useUseCase(mathUseCase),
2576
- subtraction = _useUseCase63.subtraction;
2642
+ const _useUseCase67 = useUseCase(mathUseCase),
2643
+ subtraction = _useUseCase67.subtraction;
2577
2644
  const onClick = () => {
2578
2645
  subtraction(5, 3);
2579
2646
  };
@@ -2601,8 +2668,8 @@ describe('useUseCase', () => {
2601
2668
  let count = 0;
2602
2669
  const buttonText = 'button';
2603
2670
  const StringUseCaseTestComponent = () => {
2604
- const _useUseCase64 = useUseCase(mathUseCase),
2605
- subtraction = _useUseCase64.subtraction;
2671
+ const _useUseCase68 = useUseCase(mathUseCase),
2672
+ subtraction = _useUseCase68.subtraction;
2606
2673
  const update = useUpdate();
2607
2674
  subtraction(5, count++);
2608
2675
  const onUpdate = () => {
@@ -2624,12 +2691,12 @@ describe('useUseCase', () => {
2624
2691
  expect(subtractionReducer).toHaveReturnedWith(4);
2625
2692
  });
2626
2693
  test('`options.extraValue` should be added after call `add` method', () => {
2627
- const _renderHook40 = renderHook(() => {
2694
+ const _renderHook42 = renderHook(() => {
2628
2695
  return useUseCase(mathUseCase, {
2629
2696
  extraValue: 5
2630
2697
  });
2631
2698
  }),
2632
- result = _renderHook40.result;
2699
+ result = _renderHook42.result;
2633
2700
  const reducers = result.current;
2634
2701
  const add = reducers.add;
2635
2702
  expect(add(1, 2)).toBe(8);
@@ -2637,7 +2704,7 @@ describe('useUseCase', () => {
2637
2704
  test('when `options` has changed, it should not trigger update', () => {
2638
2705
  const onUpdate = jest.fn();
2639
2706
  const onDeepUpdate = jest.fn();
2640
- const _renderHook41 = renderHook(() => {
2707
+ const _renderHook43 = renderHook(() => {
2641
2708
  const _useState7 = useState(0),
2642
2709
  _useState8 = _slicedToArray(_useState7, 2),
2643
2710
  extraValue = _useState8[0],
@@ -2653,7 +2720,7 @@ describe('useUseCase', () => {
2653
2720
  }, [reducers]);
2654
2721
  return setExtraValue;
2655
2722
  }),
2656
- result = _renderHook41.result;
2723
+ result = _renderHook43.result;
2657
2724
  expect(onUpdate).toHaveBeenCalledTimes(0);
2658
2725
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2659
2726
  act(() => {
@@ -2665,7 +2732,7 @@ describe('useUseCase', () => {
2665
2732
  test('when `deps` change, it should update reducers', () => {
2666
2733
  const onUpdate = jest.fn();
2667
2734
  const onDeepUpdate = jest.fn();
2668
- const _renderHook42 = renderHook(() => {
2735
+ const _renderHook44 = renderHook(() => {
2669
2736
  const _useState9 = useState(0),
2670
2737
  _useState0 = _slicedToArray(_useState9, 2),
2671
2738
  extraValue = _useState0[0],
@@ -2681,7 +2748,7 @@ describe('useUseCase', () => {
2681
2748
  }, [reducers]);
2682
2749
  return setExtraValue;
2683
2750
  }),
2684
- result = _renderHook42.result;
2751
+ result = _renderHook44.result;
2685
2752
  expect(onUpdate).toHaveBeenCalledTimes(0);
2686
2753
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2687
2754
  act(() => {
@@ -2693,7 +2760,7 @@ describe('useUseCase', () => {
2693
2760
  test('empty `deps` should not update reducers', () => {
2694
2761
  const onUpdate = jest.fn();
2695
2762
  const onDeepUpdate = jest.fn();
2696
- const _renderHook43 = renderHook(() => {
2763
+ const _renderHook45 = renderHook(() => {
2697
2764
  const _useState1 = useState(0),
2698
2765
  _useState10 = _slicedToArray(_useState1, 2),
2699
2766
  extraValue = _useState10[0],
@@ -2709,7 +2776,7 @@ describe('useUseCase', () => {
2709
2776
  }, [reducers]);
2710
2777
  return setExtraValue;
2711
2778
  }),
2712
- result = _renderHook43.result;
2779
+ result = _renderHook45.result;
2713
2780
  expect(onUpdate).toHaveBeenCalledTimes(0);
2714
2781
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2715
2782
  act(() => {