@mic-rexjs/usecases-react 2.13.4 → 2.14.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.
- package/dist/index.min.js +1 -1
- package/es/hooks/useEntity/index.d.ts +5 -2
- package/es/hooks/useEntity/index.js +88 -17
- package/es/hooks/useExec/index.d.ts +2 -0
- package/es/hooks/useExec/index.js +13 -0
- package/es/hooks/useReducers/index.js +2 -1
- package/es/hooks/useStore/index.d.ts +1 -1
- package/es/hooks/useStore/index.js +4 -61
- package/es/hooks/useUseCase/index.js +2 -2
- package/es/hooks/useUseCase/index.test.js +228 -106
- package/es/usecases/valueUseCase/index.js +6 -18
- package/lib/hooks/useEntity/index.js +88 -17
- package/lib/hooks/useExec/index.js +19 -0
- package/lib/hooks/useReducers/index.js +2 -1
- package/lib/hooks/useStore/index.js +3 -60
- package/lib/hooks/useUseCase/index.js +2 -2
- package/lib/hooks/useUseCase/index.test.js +222 -110
- package/lib/usecases/valueUseCase/index.js +6 -18
- package/package.json +1 -1
|
@@ -1183,6 +1183,80 @@ describe('useUseCase', () => {
|
|
|
1183
1183
|
oldValue: PATH_1
|
|
1184
1184
|
});
|
|
1185
1185
|
});
|
|
1186
|
+
test('`options.watch` should be trigger after update entity by entity initializer at child component', () => {
|
|
1187
|
+
const onPathChange = jest.fn();
|
|
1188
|
+
const TestChild = () => {
|
|
1189
|
+
useUseCase(fileUseCase, {
|
|
1190
|
+
watch: {
|
|
1191
|
+
path: onPathChange
|
|
1192
|
+
}
|
|
1193
|
+
});
|
|
1194
|
+
return _jsx(Fragment, {});
|
|
1195
|
+
};
|
|
1196
|
+
const TestParent = _ref5 => {
|
|
1197
|
+
let file = _ref5.file;
|
|
1198
|
+
const path = file.path;
|
|
1199
|
+
const _useUseCase10 = useUseCase(function () {
|
|
1200
|
+
let currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
|
|
1201
|
+
return {
|
|
1202
|
+
...currentFile,
|
|
1203
|
+
path
|
|
1204
|
+
};
|
|
1205
|
+
}, fileUseCase, {}, [path]),
|
|
1206
|
+
_useUseCase11 = _slicedToArray(_useUseCase10, 3),
|
|
1207
|
+
Provider = _useUseCase11[2];
|
|
1208
|
+
return _jsx(Provider, {
|
|
1209
|
+
children: _jsx(TestChild, {})
|
|
1210
|
+
});
|
|
1211
|
+
};
|
|
1212
|
+
const _render = render(_jsx(TestParent, {
|
|
1213
|
+
file: {
|
|
1214
|
+
...defaultFile
|
|
1215
|
+
}
|
|
1216
|
+
})),
|
|
1217
|
+
rerender = _render.rerender;
|
|
1218
|
+
expect(onPathChange).toHaveBeenCalledTimes(0);
|
|
1219
|
+
act(() => {
|
|
1220
|
+
rerender(_jsx(TestParent, {
|
|
1221
|
+
file: {
|
|
1222
|
+
...defaultFile,
|
|
1223
|
+
path: PATH_1
|
|
1224
|
+
}
|
|
1225
|
+
}));
|
|
1226
|
+
});
|
|
1227
|
+
expect(onPathChange).toHaveBeenCalledTimes(1);
|
|
1228
|
+
expect(onPathChange).toHaveBeenLastCalledWith({
|
|
1229
|
+
fieldPaths: ['path'],
|
|
1230
|
+
newEntity: {
|
|
1231
|
+
...defaultFile,
|
|
1232
|
+
path: PATH_1
|
|
1233
|
+
},
|
|
1234
|
+
oldEntity: defaultFile,
|
|
1235
|
+
newValue: PATH_1,
|
|
1236
|
+
oldValue: ''
|
|
1237
|
+
});
|
|
1238
|
+
act(() => {
|
|
1239
|
+
rerender(_jsx(TestParent, {
|
|
1240
|
+
file: {
|
|
1241
|
+
...defaultFile,
|
|
1242
|
+
path: PATH_2
|
|
1243
|
+
}
|
|
1244
|
+
}));
|
|
1245
|
+
});
|
|
1246
|
+
expect(onPathChange).toHaveBeenLastCalledWith({
|
|
1247
|
+
fieldPaths: ['path'],
|
|
1248
|
+
newEntity: {
|
|
1249
|
+
...defaultFile,
|
|
1250
|
+
path: PATH_2
|
|
1251
|
+
},
|
|
1252
|
+
oldEntity: {
|
|
1253
|
+
...defaultFile,
|
|
1254
|
+
path: PATH_1
|
|
1255
|
+
},
|
|
1256
|
+
newValue: PATH_2,
|
|
1257
|
+
oldValue: PATH_1
|
|
1258
|
+
});
|
|
1259
|
+
});
|
|
1186
1260
|
test('`options.watch` should trigger the latest one', () => {
|
|
1187
1261
|
const onPathChange1 = jest.fn();
|
|
1188
1262
|
const onPathChange2 = jest.fn();
|
|
@@ -1592,13 +1666,14 @@ describe('useUseCase', () => {
|
|
|
1592
1666
|
});
|
|
1593
1667
|
});
|
|
1594
1668
|
test('`options.watch` should work with field path of array length', () => {
|
|
1669
|
+
const defaultList = [];
|
|
1595
1670
|
const onEntityLengthChange = jest.fn();
|
|
1596
1671
|
const onListLengthChange = jest.fn();
|
|
1597
1672
|
const lengthUseCase = () => {
|
|
1598
1673
|
return entityUseCase();
|
|
1599
1674
|
};
|
|
1600
1675
|
const _renderHook32 = renderHook(() => {
|
|
1601
|
-
return useUseCase(
|
|
1676
|
+
return useUseCase(defaultList, lengthUseCase, {
|
|
1602
1677
|
watch: {
|
|
1603
1678
|
length: onEntityLengthChange,
|
|
1604
1679
|
'list.length': onListLengthChange
|
|
@@ -1827,15 +1902,15 @@ describe('useUseCase', () => {
|
|
|
1827
1902
|
return entityUseCase();
|
|
1828
1903
|
};
|
|
1829
1904
|
const TestChildComponent = () => {
|
|
1830
|
-
const
|
|
1831
|
-
_useUseCase11 = _slicedToArray(_useUseCase10, 1),
|
|
1832
|
-
numberValue = _useUseCase11[0];
|
|
1833
|
-
const _useUseCase12 = useUseCase(stringUseCase),
|
|
1905
|
+
const _useUseCase12 = useUseCase(numberUseCase),
|
|
1834
1906
|
_useUseCase13 = _slicedToArray(_useUseCase12, 1),
|
|
1835
|
-
|
|
1836
|
-
const _useUseCase14 = useUseCase(
|
|
1907
|
+
numberValue = _useUseCase13[0];
|
|
1908
|
+
const _useUseCase14 = useUseCase(stringUseCase),
|
|
1837
1909
|
_useUseCase15 = _slicedToArray(_useUseCase14, 1),
|
|
1838
|
-
|
|
1910
|
+
stringValue = _useUseCase15[0];
|
|
1911
|
+
const _useUseCase16 = useUseCase(booleanUseCase),
|
|
1912
|
+
_useUseCase17 = _slicedToArray(_useUseCase16, 1),
|
|
1913
|
+
booleanValue = _useUseCase17[0];
|
|
1839
1914
|
useMount(() => {
|
|
1840
1915
|
onNumberMount(numberValue);
|
|
1841
1916
|
onStringMount(stringValue);
|
|
@@ -1844,15 +1919,15 @@ describe('useUseCase', () => {
|
|
|
1844
1919
|
return null;
|
|
1845
1920
|
};
|
|
1846
1921
|
const TestParentComponent = () => {
|
|
1847
|
-
const
|
|
1848
|
-
_useUseCase17 = _slicedToArray(_useUseCase16, 3),
|
|
1849
|
-
NumberProvider = _useUseCase17[2];
|
|
1850
|
-
const _useUseCase18 = useUseCase('hello', stringUseCase),
|
|
1922
|
+
const _useUseCase18 = useUseCase(11, numberUseCase),
|
|
1851
1923
|
_useUseCase19 = _slicedToArray(_useUseCase18, 3),
|
|
1852
|
-
|
|
1853
|
-
const _useUseCase20 = useUseCase(
|
|
1924
|
+
NumberProvider = _useUseCase19[2];
|
|
1925
|
+
const _useUseCase20 = useUseCase('hello', stringUseCase),
|
|
1854
1926
|
_useUseCase21 = _slicedToArray(_useUseCase20, 3),
|
|
1855
|
-
|
|
1927
|
+
StringProvider = _useUseCase21[2];
|
|
1928
|
+
const _useUseCase22 = useUseCase(true, booleanUseCase),
|
|
1929
|
+
_useUseCase23 = _slicedToArray(_useUseCase22, 3),
|
|
1930
|
+
BooleanProvider = _useUseCase23[2];
|
|
1856
1931
|
return _jsx(NumberProvider, {
|
|
1857
1932
|
with: [StringProvider, BooleanProvider],
|
|
1858
1933
|
children: _jsx(TestChildComponent, {})
|
|
@@ -1863,6 +1938,53 @@ describe('useUseCase', () => {
|
|
|
1863
1938
|
expect(onStringMount).toHaveBeenCalledWith('hello');
|
|
1864
1939
|
expect(onBooleanMount).toHaveBeenCalledWith(true);
|
|
1865
1940
|
});
|
|
1941
|
+
test('`bindEntity` should be called when component mount', () => {
|
|
1942
|
+
const bindEntity = jest.fn(entity => {
|
|
1943
|
+
void entity;
|
|
1944
|
+
});
|
|
1945
|
+
const testUseCase = () => {
|
|
1946
|
+
const entityReducers = entityUseCase();
|
|
1947
|
+
return {
|
|
1948
|
+
...entityReducers,
|
|
1949
|
+
bindEntity
|
|
1950
|
+
};
|
|
1951
|
+
};
|
|
1952
|
+
renderHook(() => {
|
|
1953
|
+
const _useUseCase24 = useUseCase(5, testUseCase),
|
|
1954
|
+
_useUseCase25 = _slicedToArray(_useUseCase24, 2),
|
|
1955
|
+
setEntity = _useUseCase25[1].setEntity;
|
|
1956
|
+
useMount(() => {
|
|
1957
|
+
setEntity(100);
|
|
1958
|
+
});
|
|
1959
|
+
});
|
|
1960
|
+
expect(bindEntity).toHaveBeenCalledTimes(1);
|
|
1961
|
+
expect(bindEntity).toHaveBeenCalledWith(5);
|
|
1962
|
+
});
|
|
1963
|
+
test('`unbindEntity` should be called when component unmount', () => {
|
|
1964
|
+
const unbindEntity = jest.fn(entity => {
|
|
1965
|
+
void entity;
|
|
1966
|
+
});
|
|
1967
|
+
const testUseCase = () => {
|
|
1968
|
+
const entityReducers = entityUseCase();
|
|
1969
|
+
return {
|
|
1970
|
+
...entityReducers,
|
|
1971
|
+
unbindEntity
|
|
1972
|
+
};
|
|
1973
|
+
};
|
|
1974
|
+
const _renderHook35 = renderHook(() => {
|
|
1975
|
+
const _useUseCase26 = useUseCase(5, testUseCase),
|
|
1976
|
+
_useUseCase27 = _slicedToArray(_useUseCase26, 2),
|
|
1977
|
+
setEntity = _useUseCase27[1].setEntity;
|
|
1978
|
+
useMount(() => {
|
|
1979
|
+
setEntity(100);
|
|
1980
|
+
});
|
|
1981
|
+
}),
|
|
1982
|
+
unmount = _renderHook35.unmount;
|
|
1983
|
+
expect(unbindEntity).toHaveBeenCalledTimes(0);
|
|
1984
|
+
unmount();
|
|
1985
|
+
expect(unbindEntity).toHaveBeenCalledTimes(1);
|
|
1986
|
+
expect(unbindEntity).toHaveBeenCalledWith(100);
|
|
1987
|
+
});
|
|
1866
1988
|
});
|
|
1867
1989
|
describe('`useUseCase` should work the same as `useContextualCoreCollection`', () => {
|
|
1868
1990
|
test('Provider should be returned in child component', () => {
|
|
@@ -1879,14 +2001,14 @@ describe('useUseCase', () => {
|
|
|
1879
2001
|
return _jsx(Fragment, {});
|
|
1880
2002
|
};
|
|
1881
2003
|
const TestParent = () => {
|
|
1882
|
-
const
|
|
2004
|
+
const _useUseCase28 = useUseCase(() => {
|
|
1883
2005
|
return {
|
|
1884
2006
|
...defaultFile,
|
|
1885
2007
|
ext: EXT_1
|
|
1886
2008
|
};
|
|
1887
2009
|
}, fileUseCase),
|
|
1888
|
-
|
|
1889
|
-
Provider =
|
|
2010
|
+
_useUseCase29 = _slicedToArray(_useUseCase28, 3),
|
|
2011
|
+
Provider = _useUseCase29[2];
|
|
1890
2012
|
return _jsx(Provider, {
|
|
1891
2013
|
children: _jsx(TestChild, {})
|
|
1892
2014
|
});
|
|
@@ -1903,10 +2025,10 @@ describe('useUseCase', () => {
|
|
|
1903
2025
|
const onPopupFile = jest.fn();
|
|
1904
2026
|
const buttonText = 'button';
|
|
1905
2027
|
const Popup = () => {
|
|
1906
|
-
const
|
|
1907
|
-
|
|
1908
|
-
file =
|
|
1909
|
-
setEntity =
|
|
2028
|
+
const _useUseCase30 = useUseCase(fileUseCase),
|
|
2029
|
+
_useUseCase31 = _slicedToArray(_useUseCase30, 2),
|
|
2030
|
+
file = _useUseCase31[0],
|
|
2031
|
+
setEntity = _useUseCase31[1].setEntity;
|
|
1910
2032
|
const onClick = () => {
|
|
1911
2033
|
setEntity({
|
|
1912
2034
|
ext: EXT_2
|
|
@@ -1921,15 +2043,15 @@ describe('useUseCase', () => {
|
|
|
1921
2043
|
});
|
|
1922
2044
|
};
|
|
1923
2045
|
const TestChild = () => {
|
|
1924
|
-
const
|
|
1925
|
-
|
|
1926
|
-
Provider =
|
|
2046
|
+
const _useUseCase32 = useUseCase(fileUseCase),
|
|
2047
|
+
_useUseCase33 = _slicedToArray(_useUseCase32, 3),
|
|
2048
|
+
Provider = _useUseCase33[2];
|
|
1927
2049
|
return createPortal(_jsx(Provider, {
|
|
1928
2050
|
children: _jsx(Popup, {})
|
|
1929
2051
|
}), document.body);
|
|
1930
2052
|
};
|
|
1931
2053
|
const TestParent = () => {
|
|
1932
|
-
const
|
|
2054
|
+
const _useUseCase34 = useUseCase(() => {
|
|
1933
2055
|
return {
|
|
1934
2056
|
...defaultFile,
|
|
1935
2057
|
ext: EXT_1
|
|
@@ -1937,9 +2059,9 @@ describe('useUseCase', () => {
|
|
|
1937
2059
|
}, fileUseCase, {
|
|
1938
2060
|
onChange
|
|
1939
2061
|
}),
|
|
1940
|
-
|
|
1941
|
-
file =
|
|
1942
|
-
Provider =
|
|
2062
|
+
_useUseCase35 = _slicedToArray(_useUseCase34, 3),
|
|
2063
|
+
file = _useUseCase35[0],
|
|
2064
|
+
Provider = _useUseCase35[2];
|
|
1943
2065
|
useEffect(() => {
|
|
1944
2066
|
onRootFile(file);
|
|
1945
2067
|
}, [file]);
|
|
@@ -2004,9 +2126,9 @@ describe('useUseCase', () => {
|
|
|
2004
2126
|
return _jsx(Fragment, {});
|
|
2005
2127
|
};
|
|
2006
2128
|
const B = () => {
|
|
2007
|
-
const
|
|
2008
|
-
|
|
2009
|
-
Provider =
|
|
2129
|
+
const _useUseCase36 = useUseCase(defaultFile, mockUseCase),
|
|
2130
|
+
_useUseCase37 = _slicedToArray(_useUseCase36, 3),
|
|
2131
|
+
Provider = _useUseCase37[2];
|
|
2010
2132
|
return _jsx(Provider, {
|
|
2011
2133
|
children: _jsx(A, {})
|
|
2012
2134
|
});
|
|
@@ -2027,9 +2149,9 @@ describe('useUseCase', () => {
|
|
|
2027
2149
|
};
|
|
2028
2150
|
};
|
|
2029
2151
|
const A = () => {
|
|
2030
|
-
const
|
|
2031
|
-
|
|
2032
|
-
add =
|
|
2152
|
+
const _useUseCase38 = useUseCase(stringUseCase),
|
|
2153
|
+
_useUseCase39 = _slicedToArray(_useUseCase38, 2),
|
|
2154
|
+
add = _useUseCase39[1].add;
|
|
2033
2155
|
const update = useUpdate();
|
|
2034
2156
|
const onClick = () => {
|
|
2035
2157
|
update();
|
|
@@ -2041,9 +2163,9 @@ describe('useUseCase', () => {
|
|
|
2041
2163
|
});
|
|
2042
2164
|
};
|
|
2043
2165
|
const B = () => {
|
|
2044
|
-
const
|
|
2045
|
-
|
|
2046
|
-
Provider =
|
|
2166
|
+
const _useUseCase40 = useUseCase('', stringUseCase),
|
|
2167
|
+
_useUseCase41 = _slicedToArray(_useUseCase40, 3),
|
|
2168
|
+
Provider = _useUseCase41[2];
|
|
2047
2169
|
return _jsx(Provider, {
|
|
2048
2170
|
children: _jsx(A, {})
|
|
2049
2171
|
});
|
|
@@ -2068,9 +2190,9 @@ describe('useUseCase', () => {
|
|
|
2068
2190
|
};
|
|
2069
2191
|
};
|
|
2070
2192
|
const A = () => {
|
|
2071
|
-
const
|
|
2072
|
-
|
|
2073
|
-
add =
|
|
2193
|
+
const _useUseCase42 = useUseCase(stringUseCase),
|
|
2194
|
+
_useUseCase43 = _slicedToArray(_useUseCase42, 2),
|
|
2195
|
+
add = _useUseCase43[1].add;
|
|
2074
2196
|
const onClick = () => {
|
|
2075
2197
|
add('x');
|
|
2076
2198
|
};
|
|
@@ -2084,9 +2206,9 @@ describe('useUseCase', () => {
|
|
|
2084
2206
|
});
|
|
2085
2207
|
};
|
|
2086
2208
|
const B = () => {
|
|
2087
|
-
const
|
|
2088
|
-
|
|
2089
|
-
Provider =
|
|
2209
|
+
const _useUseCase44 = useUseCase('', stringUseCase),
|
|
2210
|
+
_useUseCase45 = _slicedToArray(_useUseCase44, 3),
|
|
2211
|
+
Provider = _useUseCase45[2];
|
|
2090
2212
|
return _jsx(Provider, {
|
|
2091
2213
|
children: _jsx(A, {})
|
|
2092
2214
|
});
|
|
@@ -2115,11 +2237,11 @@ describe('useUseCase', () => {
|
|
|
2115
2237
|
};
|
|
2116
2238
|
};
|
|
2117
2239
|
const A = () => {
|
|
2118
|
-
const
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
add =
|
|
2122
|
-
setEntity =
|
|
2240
|
+
const _useUseCase46 = useUseCase(stringUseCase),
|
|
2241
|
+
_useUseCase47 = _slicedToArray(_useUseCase46, 2),
|
|
2242
|
+
_useUseCase47$ = _useUseCase47[1],
|
|
2243
|
+
add = _useUseCase47$.add,
|
|
2244
|
+
setEntity = _useUseCase47$.setEntity;
|
|
2123
2245
|
const update = useUpdate();
|
|
2124
2246
|
add(addedText);
|
|
2125
2247
|
const onSet = () => {
|
|
@@ -2139,9 +2261,9 @@ describe('useUseCase', () => {
|
|
|
2139
2261
|
});
|
|
2140
2262
|
};
|
|
2141
2263
|
const B = () => {
|
|
2142
|
-
const
|
|
2143
|
-
|
|
2144
|
-
Provider =
|
|
2264
|
+
const _useUseCase48 = useUseCase('', stringUseCase),
|
|
2265
|
+
_useUseCase49 = _slicedToArray(_useUseCase48, 3),
|
|
2266
|
+
Provider = _useUseCase49[2];
|
|
2145
2267
|
return _jsx(Provider, {
|
|
2146
2268
|
children: _jsx(A, {})
|
|
2147
2269
|
});
|
|
@@ -2170,8 +2292,8 @@ describe('useUseCase', () => {
|
|
|
2170
2292
|
const onChangeB = jest.fn(updateChangeTimes);
|
|
2171
2293
|
const onChangeC = jest.fn(updateChangeTimes);
|
|
2172
2294
|
const buttonText = 'my button';
|
|
2173
|
-
const A =
|
|
2174
|
-
let children =
|
|
2295
|
+
const A = _ref6 => {
|
|
2296
|
+
let children = _ref6.children;
|
|
2175
2297
|
useUseCase(fileUseCase, {
|
|
2176
2298
|
onChange: onChangeA
|
|
2177
2299
|
});
|
|
@@ -2186,12 +2308,12 @@ describe('useUseCase', () => {
|
|
|
2186
2308
|
return _jsx(Fragment, {});
|
|
2187
2309
|
};
|
|
2188
2310
|
const C = () => {
|
|
2189
|
-
const
|
|
2311
|
+
const _useUseCase50 = useUseCase(defaultFile, fileUseCase, {
|
|
2190
2312
|
onChange: onChangeC
|
|
2191
2313
|
}),
|
|
2192
|
-
|
|
2193
|
-
setPath =
|
|
2194
|
-
Provider =
|
|
2314
|
+
_useUseCase51 = _slicedToArray(_useUseCase50, 3),
|
|
2315
|
+
setPath = _useUseCase51[1].setPath,
|
|
2316
|
+
Provider = _useUseCase51[2];
|
|
2195
2317
|
const onFirstClick = () => {
|
|
2196
2318
|
setPath(PATH_1);
|
|
2197
2319
|
};
|
|
@@ -2218,11 +2340,11 @@ describe('useUseCase', () => {
|
|
|
2218
2340
|
const firstButtonText = 'first button';
|
|
2219
2341
|
const secondButtonText = 'second button';
|
|
2220
2342
|
const A = () => {
|
|
2221
|
-
const
|
|
2343
|
+
const _useUseCase52 = useUseCase(fileUseCase, {
|
|
2222
2344
|
onChange
|
|
2223
2345
|
}),
|
|
2224
|
-
|
|
2225
|
-
setPath =
|
|
2346
|
+
_useUseCase53 = _slicedToArray(_useUseCase52, 2),
|
|
2347
|
+
setPath = _useUseCase53[1].setPath;
|
|
2226
2348
|
const onFirstClick = () => {
|
|
2227
2349
|
setPath(PATH_1);
|
|
2228
2350
|
onChange = onSecondChange;
|
|
@@ -2241,9 +2363,9 @@ describe('useUseCase', () => {
|
|
|
2241
2363
|
});
|
|
2242
2364
|
};
|
|
2243
2365
|
const B = () => {
|
|
2244
|
-
const
|
|
2245
|
-
|
|
2246
|
-
Provider =
|
|
2366
|
+
const _useUseCase54 = useUseCase(defaultFile, fileUseCase),
|
|
2367
|
+
_useUseCase55 = _slicedToArray(_useUseCase54, 3),
|
|
2368
|
+
Provider = _useUseCase55[2];
|
|
2247
2369
|
return _jsx(Provider, {
|
|
2248
2370
|
children: _jsx(A, {})
|
|
2249
2371
|
});
|
|
@@ -2266,13 +2388,13 @@ describe('useUseCase', () => {
|
|
|
2266
2388
|
const onExtChange = jest.fn();
|
|
2267
2389
|
const firstButtonText = 'first button';
|
|
2268
2390
|
const A = () => {
|
|
2269
|
-
const
|
|
2391
|
+
const _useUseCase56 = useUseCase(fileUseCase, {
|
|
2270
2392
|
watch: {
|
|
2271
2393
|
ext: onExtChange
|
|
2272
2394
|
}
|
|
2273
2395
|
}),
|
|
2274
|
-
|
|
2275
|
-
setPath =
|
|
2396
|
+
_useUseCase57 = _slicedToArray(_useUseCase56, 2),
|
|
2397
|
+
setPath = _useUseCase57[1].setPath;
|
|
2276
2398
|
const onFirstClick = () => {
|
|
2277
2399
|
setPath(PATH_1);
|
|
2278
2400
|
};
|
|
@@ -2282,9 +2404,9 @@ describe('useUseCase', () => {
|
|
|
2282
2404
|
});
|
|
2283
2405
|
};
|
|
2284
2406
|
const B = () => {
|
|
2285
|
-
const
|
|
2286
|
-
|
|
2287
|
-
Provider =
|
|
2407
|
+
const _useUseCase58 = useUseCase(defaultFile, fileUseCase, {}),
|
|
2408
|
+
_useUseCase59 = _slicedToArray(_useUseCase58, 3),
|
|
2409
|
+
Provider = _useUseCase59[2];
|
|
2288
2410
|
return _jsx(Provider, {
|
|
2289
2411
|
children: _jsx(A, {})
|
|
2290
2412
|
});
|
|
@@ -2315,8 +2437,8 @@ describe('useUseCase', () => {
|
|
|
2315
2437
|
const onChangeB = jest.fn(updateChangeTimes);
|
|
2316
2438
|
const onChangeC = jest.fn(updateChangeTimes);
|
|
2317
2439
|
const buttonText = 'my button';
|
|
2318
|
-
const A =
|
|
2319
|
-
let children =
|
|
2440
|
+
const A = _ref7 => {
|
|
2441
|
+
let children = _ref7.children;
|
|
2320
2442
|
useUseCase(fileUseCase, {
|
|
2321
2443
|
watch: {
|
|
2322
2444
|
ext: onChangeA
|
|
@@ -2335,14 +2457,14 @@ describe('useUseCase', () => {
|
|
|
2335
2457
|
return _jsx(Fragment, {});
|
|
2336
2458
|
};
|
|
2337
2459
|
const C = () => {
|
|
2338
|
-
const
|
|
2460
|
+
const _useUseCase60 = useUseCase(defaultFile, fileUseCase, {
|
|
2339
2461
|
watch: {
|
|
2340
2462
|
ext: onChangeC
|
|
2341
2463
|
}
|
|
2342
2464
|
}),
|
|
2343
|
-
|
|
2344
|
-
setPath =
|
|
2345
|
-
Provider =
|
|
2465
|
+
_useUseCase61 = _slicedToArray(_useUseCase60, 3),
|
|
2466
|
+
setPath = _useUseCase61[1].setPath,
|
|
2467
|
+
Provider = _useUseCase61[2];
|
|
2346
2468
|
const onFirstClick = () => {
|
|
2347
2469
|
setPath(PATH_1);
|
|
2348
2470
|
};
|
|
@@ -2369,13 +2491,13 @@ describe('useUseCase', () => {
|
|
|
2369
2491
|
const firstButtonText = 'first button';
|
|
2370
2492
|
const secondButtonText = 'second button';
|
|
2371
2493
|
const A = () => {
|
|
2372
|
-
const
|
|
2494
|
+
const _useUseCase62 = useUseCase(fileUseCase, {
|
|
2373
2495
|
watch: {
|
|
2374
2496
|
ext: onExtChange
|
|
2375
2497
|
}
|
|
2376
2498
|
}),
|
|
2377
|
-
|
|
2378
|
-
setPath =
|
|
2499
|
+
_useUseCase63 = _slicedToArray(_useUseCase62, 2),
|
|
2500
|
+
setPath = _useUseCase63[1].setPath;
|
|
2379
2501
|
const onFirstClick = () => {
|
|
2380
2502
|
setPath(PATH_1);
|
|
2381
2503
|
onExtChange = onSecondExtChange;
|
|
@@ -2394,9 +2516,9 @@ describe('useUseCase', () => {
|
|
|
2394
2516
|
});
|
|
2395
2517
|
};
|
|
2396
2518
|
const B = () => {
|
|
2397
|
-
const
|
|
2398
|
-
|
|
2399
|
-
Provider =
|
|
2519
|
+
const _useUseCase64 = useUseCase(defaultFile, fileUseCase),
|
|
2520
|
+
_useUseCase65 = _slicedToArray(_useUseCase64, 3),
|
|
2521
|
+
Provider = _useUseCase65[2];
|
|
2400
2522
|
return _jsx(Provider, {
|
|
2401
2523
|
children: _jsx(A, {})
|
|
2402
2524
|
});
|
|
@@ -2424,38 +2546,38 @@ describe('useUseCase', () => {
|
|
|
2424
2546
|
});
|
|
2425
2547
|
describe('`useUseCase` should work the same as `useReducers`', () => {
|
|
2426
2548
|
test('`entity` should equal `defaultFile`', () => {
|
|
2427
|
-
const
|
|
2549
|
+
const _renderHook36 = renderHook(() => {
|
|
2428
2550
|
return useUseCase(mathUseCase);
|
|
2429
2551
|
}),
|
|
2430
|
-
result =
|
|
2552
|
+
result = _renderHook36.result;
|
|
2431
2553
|
const reducers = result.current;
|
|
2432
2554
|
expect(Array.isArray(reducers)).toBe(false);
|
|
2433
2555
|
});
|
|
2434
2556
|
test('returned reducer should work', () => {
|
|
2435
|
-
const
|
|
2557
|
+
const _renderHook37 = renderHook(() => {
|
|
2436
2558
|
return useUseCase(mathUseCase);
|
|
2437
2559
|
}),
|
|
2438
|
-
result =
|
|
2560
|
+
result = _renderHook37.result;
|
|
2439
2561
|
const reducers = result.current;
|
|
2440
2562
|
const add = reducers.add;
|
|
2441
2563
|
expect(add(1, 2)).toBe(3);
|
|
2442
2564
|
});
|
|
2443
2565
|
test('`usecase` should be called only once if deps has not provided', () => {
|
|
2444
2566
|
const mockUseCase = jest.fn(mathUseCase);
|
|
2445
|
-
const
|
|
2567
|
+
const _renderHook38 = renderHook(() => {
|
|
2446
2568
|
return useUseCase(mockUseCase);
|
|
2447
2569
|
}),
|
|
2448
|
-
rerender =
|
|
2570
|
+
rerender = _renderHook38.rerender;
|
|
2449
2571
|
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
2450
2572
|
rerender();
|
|
2451
2573
|
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
2452
2574
|
});
|
|
2453
2575
|
test('`usecase` should be called only once if deps has not changed', () => {
|
|
2454
2576
|
const mockUseCase = jest.fn(mathUseCase);
|
|
2455
|
-
const
|
|
2577
|
+
const _renderHook39 = renderHook(() => {
|
|
2456
2578
|
return useUseCase(mockUseCase, {}, [1, 'x']);
|
|
2457
2579
|
}),
|
|
2458
|
-
rerender =
|
|
2580
|
+
rerender = _renderHook39.rerender;
|
|
2459
2581
|
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
2460
2582
|
rerender();
|
|
2461
2583
|
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
@@ -2463,10 +2585,10 @@ describe('useUseCase', () => {
|
|
|
2463
2585
|
test('`usecase` should be called if deps has changed', () => {
|
|
2464
2586
|
let i = 0;
|
|
2465
2587
|
const mockUseCase = jest.fn(mathUseCase);
|
|
2466
|
-
const
|
|
2588
|
+
const _renderHook40 = renderHook(() => {
|
|
2467
2589
|
return useUseCase(mockUseCase, {}, [i++, 'x']);
|
|
2468
2590
|
}),
|
|
2469
|
-
rerender =
|
|
2591
|
+
rerender = _renderHook40.rerender;
|
|
2470
2592
|
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
2471
2593
|
rerender();
|
|
2472
2594
|
expect(mockUseCase).toHaveBeenCalledTimes(2);
|
|
@@ -2474,8 +2596,8 @@ describe('useUseCase', () => {
|
|
|
2474
2596
|
test('reducer call should not be cached if component is at rendering phase', () => {
|
|
2475
2597
|
const buttonText = 'button';
|
|
2476
2598
|
const CacheTestComponent = () => {
|
|
2477
|
-
const
|
|
2478
|
-
subtraction =
|
|
2599
|
+
const _useUseCase66 = useUseCase(mathUseCase),
|
|
2600
|
+
subtraction = _useUseCase66.subtraction;
|
|
2479
2601
|
const update = useUpdate();
|
|
2480
2602
|
const onClick = () => {
|
|
2481
2603
|
update();
|
|
@@ -2498,8 +2620,8 @@ describe('useUseCase', () => {
|
|
|
2498
2620
|
test('reducer call should not be cached if component is not at rendering phase', () => {
|
|
2499
2621
|
const buttonText = 'button';
|
|
2500
2622
|
const CacheTestComponent = () => {
|
|
2501
|
-
const
|
|
2502
|
-
subtraction =
|
|
2623
|
+
const _useUseCase67 = useUseCase(mathUseCase),
|
|
2624
|
+
subtraction = _useUseCase67.subtraction;
|
|
2503
2625
|
const onClick = () => {
|
|
2504
2626
|
subtraction(5, 3);
|
|
2505
2627
|
};
|
|
@@ -2527,8 +2649,8 @@ describe('useUseCase', () => {
|
|
|
2527
2649
|
let count = 0;
|
|
2528
2650
|
const buttonText = 'button';
|
|
2529
2651
|
const StringUseCaseTestComponent = () => {
|
|
2530
|
-
const
|
|
2531
|
-
subtraction =
|
|
2652
|
+
const _useUseCase68 = useUseCase(mathUseCase),
|
|
2653
|
+
subtraction = _useUseCase68.subtraction;
|
|
2532
2654
|
const update = useUpdate();
|
|
2533
2655
|
subtraction(5, count++);
|
|
2534
2656
|
const onUpdate = () => {
|
|
@@ -2550,12 +2672,12 @@ describe('useUseCase', () => {
|
|
|
2550
2672
|
expect(subtractionReducer).toHaveReturnedWith(4);
|
|
2551
2673
|
});
|
|
2552
2674
|
test('`options.extraValue` should be added after call `add` method', () => {
|
|
2553
|
-
const
|
|
2675
|
+
const _renderHook41 = renderHook(() => {
|
|
2554
2676
|
return useUseCase(mathUseCase, {
|
|
2555
2677
|
extraValue: 5
|
|
2556
2678
|
});
|
|
2557
2679
|
}),
|
|
2558
|
-
result =
|
|
2680
|
+
result = _renderHook41.result;
|
|
2559
2681
|
const reducers = result.current;
|
|
2560
2682
|
const add = reducers.add;
|
|
2561
2683
|
expect(add(1, 2)).toBe(8);
|
|
@@ -2563,7 +2685,7 @@ describe('useUseCase', () => {
|
|
|
2563
2685
|
test('when `options` has changed, it should not trigger update', () => {
|
|
2564
2686
|
const onUpdate = jest.fn();
|
|
2565
2687
|
const onDeepUpdate = jest.fn();
|
|
2566
|
-
const
|
|
2688
|
+
const _renderHook42 = renderHook(() => {
|
|
2567
2689
|
const _useState7 = useState(0),
|
|
2568
2690
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
2569
2691
|
extraValue = _useState8[0],
|
|
@@ -2579,7 +2701,7 @@ describe('useUseCase', () => {
|
|
|
2579
2701
|
}, [reducers]);
|
|
2580
2702
|
return setExtraValue;
|
|
2581
2703
|
}),
|
|
2582
|
-
result =
|
|
2704
|
+
result = _renderHook42.result;
|
|
2583
2705
|
expect(onUpdate).toHaveBeenCalledTimes(0);
|
|
2584
2706
|
expect(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2585
2707
|
act(() => {
|
|
@@ -2591,7 +2713,7 @@ describe('useUseCase', () => {
|
|
|
2591
2713
|
test('when `deps` change, it should update reducers', () => {
|
|
2592
2714
|
const onUpdate = jest.fn();
|
|
2593
2715
|
const onDeepUpdate = jest.fn();
|
|
2594
|
-
const
|
|
2716
|
+
const _renderHook43 = renderHook(() => {
|
|
2595
2717
|
const _useState9 = useState(0),
|
|
2596
2718
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
2597
2719
|
extraValue = _useState0[0],
|
|
@@ -2607,7 +2729,7 @@ describe('useUseCase', () => {
|
|
|
2607
2729
|
}, [reducers]);
|
|
2608
2730
|
return setExtraValue;
|
|
2609
2731
|
}),
|
|
2610
|
-
result =
|
|
2732
|
+
result = _renderHook43.result;
|
|
2611
2733
|
expect(onUpdate).toHaveBeenCalledTimes(0);
|
|
2612
2734
|
expect(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2613
2735
|
act(() => {
|
|
@@ -2619,7 +2741,7 @@ describe('useUseCase', () => {
|
|
|
2619
2741
|
test('empty `deps` should not update reducers', () => {
|
|
2620
2742
|
const onUpdate = jest.fn();
|
|
2621
2743
|
const onDeepUpdate = jest.fn();
|
|
2622
|
-
const
|
|
2744
|
+
const _renderHook44 = renderHook(() => {
|
|
2623
2745
|
const _useState1 = useState(0),
|
|
2624
2746
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
2625
2747
|
extraValue = _useState10[0],
|
|
@@ -2635,7 +2757,7 @@ describe('useUseCase', () => {
|
|
|
2635
2757
|
}, [reducers]);
|
|
2636
2758
|
return setExtraValue;
|
|
2637
2759
|
}),
|
|
2638
|
-
result =
|
|
2760
|
+
result = _renderHook44.result;
|
|
2639
2761
|
expect(onUpdate).toHaveBeenCalledTimes(0);
|
|
2640
2762
|
expect(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2641
2763
|
act(() => {
|