@mic-rexjs/usecases-react 1.3.36 → 1.4.1
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/README.md +2 -2
- package/dist/index.min.js +1 -1
- package/es/components/UpdateFragment/index.d.ts +2 -0
- package/es/components/UpdateFragment/index.js +8 -0
- package/es/components/UpdateFragment/types.d.ts +3 -0
- package/es/components/UseCaseFragment/index.d.ts +1 -1
- package/es/components/UseCaseFragment/types.d.ts +3 -3
- package/es/configs/defaultUseCaseContext/index.d.ts +3 -1
- package/es/configs/defaultUseCaseContext/index.js +1 -1
- package/es/configs/defaultUseCaseContext/types.d.ts +11 -0
- package/es/configs/defaultUseCaseContext/types.js +1 -0
- package/es/configs/usecaseContextMap/index.d.ts +1 -3
- package/es/configs/usecaseContextMap/types.d.ts +4 -17
- package/es/hooks/useCompareDeps/index.d.ts +1 -0
- package/es/hooks/useCompareDeps/index.js +24 -0
- package/es/hooks/useConstant/index.d.ts +2 -0
- package/es/hooks/useConstant/index.js +5 -0
- package/es/hooks/useConstant/types.d.ts +3 -0
- package/es/hooks/useConstant/types.js +1 -0
- package/es/hooks/useConstantFn/index.d.ts +1 -0
- package/es/hooks/useConstantFn/index.js +7 -0
- package/es/hooks/useOptionsRefCollection/index.d.ts +3 -0
- package/es/hooks/useOptionsRefCollection/index.js +22 -0
- package/es/hooks/useOptionsRefCollection/types.d.ts +2 -0
- package/es/hooks/useOptionsRefCollection/types.js +1 -0
- package/es/hooks/useProvider/index.d.ts +7 -0
- package/es/hooks/useProvider/index.js +17 -0
- package/es/hooks/useProvider/types.d.ts +3 -0
- package/es/hooks/useProvider/types.js +1 -0
- package/es/hooks/useScope/index.d.ts +2 -0
- package/es/hooks/useScope/index.js +3 -0
- package/es/hooks/useScope/types.d.ts +3 -0
- package/es/hooks/useScope/types.js +1 -0
- package/es/hooks/useUseCase/index.js +68 -89
- package/es/hooks/useUseCase/index.test.js +638 -156
- package/es/hooks/useUseCase/types.d.ts +27 -13
- package/es/hooks/useUseCaseContext/index.d.ts +3 -0
- package/es/hooks/useUseCaseContext/index.js +17 -0
- package/es/index.d.ts +3 -2
- package/es/methods/compareProperty/index.d.ts +2 -0
- package/es/methods/compareProperty/index.js +34 -0
- package/es/methods/compareProperty/types.d.ts +3 -0
- package/es/methods/compareProperty/types.js +1 -0
- package/es/methods/getRootEntity/index.d.ts +2 -0
- package/es/methods/getRootEntity/index.js +9 -0
- package/es/methods/hasField/index.d.ts +1 -0
- package/es/methods/hasField/index.js +6 -0
- package/es/methods/initEntityReducers/index.d.ts +5 -0
- package/es/methods/initEntityReducers/index.js +13 -0
- package/es/methods/initEntityReducers/types.d.ts +3 -0
- package/es/methods/initEntityReducers/types.js +1 -0
- package/es/methods/removeItem/index.d.ts +1 -0
- package/es/methods/removeItem/index.js +7 -0
- package/es/methods/triggerCallbacks/index.d.ts +3 -0
- package/es/methods/triggerCallbacks/index.js +14 -0
- package/es/methods/triggerWatchers/index.d.ts +2 -0
- package/es/methods/triggerWatchers/index.js +14 -0
- package/lib/components/UpdateFragment/index.js +16 -0
- package/lib/configs/defaultUseCaseContext/index.js +1 -1
- package/lib/configs/defaultUseCaseContext/types.js +5 -0
- package/lib/hooks/useCompareDeps/index.js +31 -0
- package/lib/hooks/useConstant/index.js +16 -0
- package/lib/hooks/useConstant/types.js +5 -0
- package/lib/hooks/useConstantFn/index.js +18 -0
- package/lib/hooks/useOptionsRefCollection/index.js +29 -0
- package/lib/hooks/useOptionsRefCollection/types.js +5 -0
- package/lib/hooks/useProvider/index.js +30 -0
- package/lib/hooks/useProvider/types.js +5 -0
- package/lib/hooks/useScope/index.js +10 -0
- package/lib/hooks/useScope/types.js +5 -0
- package/lib/hooks/useUseCase/index.js +73 -115
- package/lib/hooks/useUseCase/index.test.js +841 -240
- package/lib/hooks/useUseCaseContext/index.js +24 -0
- package/lib/methods/compareProperty/index.js +50 -0
- package/lib/methods/compareProperty/types.js +5 -0
- package/lib/methods/getRootEntity/index.js +16 -0
- package/lib/methods/hasField/index.js +15 -0
- package/lib/methods/initEntityReducers/index.js +29 -0
- package/lib/methods/initEntityReducers/types.js +5 -0
- package/lib/methods/removeItem/index.js +14 -0
- package/lib/methods/triggerCallbacks/index.js +22 -0
- package/lib/{hooks/useUseCase/methods → methods}/triggerWatchers/index.js +16 -9
- package/package.json +2 -2
- package/es/core/usecases/optionsGetterCellectionUseCase/index.d.ts +0 -2
- package/es/core/usecases/optionsGetterCellectionUseCase/index.js +0 -13
- package/es/core/usecases/optionsGetterCellectionUseCase/types.d.ts +0 -8
- package/es/hooks/useOptionsTransfer/index.d.ts +0 -3
- package/es/hooks/useOptionsTransfer/index.js +0 -15
- package/es/hooks/useUseCase/methods/triggerCallbacks/index.d.ts +0 -3
- package/es/hooks/useUseCase/methods/triggerCallbacks/index.js +0 -11
- package/es/hooks/useUseCase/methods/triggerWatchers/index.d.ts +0 -2
- package/es/hooks/useUseCase/methods/triggerWatchers/index.js +0 -10
- package/lib/core/usecases/optionsGetterCellectionUseCase/index.js +0 -23
- package/lib/hooks/useOptionsTransfer/index.js +0 -23
- package/lib/hooks/useUseCase/methods/triggerCallbacks/index.js +0 -32
- /package/es/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js +0 -0
- /package/lib/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js +0 -0
|
@@ -81,8 +81,8 @@ var fileUseCase = function fileUseCase() {
|
|
|
81
81
|
return (0, _awaitAsyncGenerator2["default"])(Promise.resolve(null));
|
|
82
82
|
case 4:
|
|
83
83
|
_context3.next = 6;
|
|
84
|
-
return function (
|
|
85
|
-
return _objectSpread(_objectSpread({},
|
|
84
|
+
return function (oldEntity) {
|
|
85
|
+
return _objectSpread(_objectSpread({}, oldEntity), {}, {
|
|
86
86
|
size: size
|
|
87
87
|
});
|
|
88
88
|
};
|
|
@@ -124,6 +124,9 @@ var mathUseCase = function mathUseCase() {
|
|
|
124
124
|
subtraction: subtraction
|
|
125
125
|
};
|
|
126
126
|
};
|
|
127
|
+
var fieldPathUseCase = function fieldPathUseCase() {
|
|
128
|
+
return (0, _usecases.objectUseCase)();
|
|
129
|
+
};
|
|
127
130
|
var Child = function Child(_ref2) {
|
|
128
131
|
var _ref2$textPrefix = _ref2.textPrefix,
|
|
129
132
|
textPrefix = _ref2$textPrefix === void 0 ? '' : _ref2$textPrefix,
|
|
@@ -243,17 +246,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
243
246
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
244
247
|
}),
|
|
245
248
|
result = _renderHook.result;
|
|
246
|
-
var
|
|
247
|
-
(0, _globals.expect)(
|
|
249
|
+
var cores = result.current;
|
|
250
|
+
(0, _globals.expect)(cores).toHaveLength(3);
|
|
248
251
|
});
|
|
249
252
|
(0, _globals.test)('`entity` should equal `defaultFile`', function () {
|
|
250
253
|
var _renderHook2 = (0, _react.renderHook)(function () {
|
|
251
254
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
252
255
|
}),
|
|
253
256
|
result = _renderHook2.result;
|
|
254
|
-
var
|
|
255
|
-
var
|
|
256
|
-
entity =
|
|
257
|
+
var cores = result.current;
|
|
258
|
+
var _cores = (0, _slicedToArray2["default"])(cores, 1),
|
|
259
|
+
entity = _cores[0];
|
|
257
260
|
(0, _globals.expect)(entity).toBe(defaultFile);
|
|
258
261
|
});
|
|
259
262
|
(0, _globals.test)('`reducers` should be returned as an object', function () {
|
|
@@ -261,9 +264,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
261
264
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
262
265
|
}),
|
|
263
266
|
result = _renderHook3.result;
|
|
264
|
-
var
|
|
265
|
-
var
|
|
266
|
-
reducers =
|
|
267
|
+
var cores = result.current;
|
|
268
|
+
var _cores2 = (0, _slicedToArray2["default"])(cores, 2),
|
|
269
|
+
reducers = _cores2[1];
|
|
267
270
|
(0, _globals.expect)((0, _typeof2["default"])(reducers)).toBe('object');
|
|
268
271
|
});
|
|
269
272
|
(0, _globals.test)('`Provider` should be returned as a function', function () {
|
|
@@ -271,9 +274,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
271
274
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
272
275
|
}),
|
|
273
276
|
result = _renderHook4.result;
|
|
274
|
-
var
|
|
275
|
-
var
|
|
276
|
-
Provider =
|
|
277
|
+
var cores = result.current;
|
|
278
|
+
var _cores3 = (0, _slicedToArray2["default"])(cores, 3),
|
|
279
|
+
Provider = _cores3[2];
|
|
277
280
|
(0, _globals.expect)((0, _typeof2["default"])(Provider)).toBe('function');
|
|
278
281
|
});
|
|
279
282
|
(0, _globals.test)('after call non-generator reducer, it should not trigger update', function () {
|
|
@@ -281,8 +284,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
281
284
|
var onDeepUpdate = _globals.jest.fn();
|
|
282
285
|
var _renderHook5 = (0, _react.renderHook)(function () {
|
|
283
286
|
var context = (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
284
|
-
var
|
|
285
|
-
reducers =
|
|
287
|
+
var _context4 = (0, _slicedToArray2["default"])(context, 2),
|
|
288
|
+
reducers = _context4[1];
|
|
286
289
|
var isImage = reducers.isImage;
|
|
287
290
|
var update = (0, _ahooks.useUpdate)();
|
|
288
291
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
@@ -320,10 +323,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
320
323
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
321
324
|
}),
|
|
322
325
|
result = _renderHook6.result;
|
|
323
|
-
var
|
|
324
|
-
var
|
|
325
|
-
entity =
|
|
326
|
-
reducers =
|
|
326
|
+
var cores = result.current;
|
|
327
|
+
var _cores4 = (0, _slicedToArray2["default"])(cores, 2),
|
|
328
|
+
entity = _cores4[0],
|
|
329
|
+
reducers = _cores4[1];
|
|
327
330
|
var setPath = reducers.setPath,
|
|
328
331
|
setEntity = reducers.setEntity;
|
|
329
332
|
(0, _react.act)(function () {
|
|
@@ -332,7 +335,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
332
335
|
size: 5000
|
|
333
336
|
});
|
|
334
337
|
});
|
|
335
|
-
(0, _globals.expect)(result.current).not.toBe(
|
|
338
|
+
(0, _globals.expect)(result.current).not.toBe(cores);
|
|
336
339
|
(0, _globals.expect)(result.current[0]).not.toBe(entity);
|
|
337
340
|
(0, _globals.expect)(result.current[1]).not.toBe(reducers);
|
|
338
341
|
(0, _globals.expect)(result.current[1].setPath).not.toBe(setPath);
|
|
@@ -344,9 +347,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
344
347
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
345
348
|
});
|
|
346
349
|
(0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
347
|
-
var onUpdate, _renderHook7, result,
|
|
348
|
-
return _regenerator["default"].wrap(function _callee3$(
|
|
349
|
-
while (1) switch (
|
|
350
|
+
var onUpdate, _renderHook7, result, cores, _cores5, entity, reducers, readFile, promise;
|
|
351
|
+
return _regenerator["default"].wrap(function _callee3$(_context5) {
|
|
352
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
350
353
|
case 0:
|
|
351
354
|
onUpdate = _globals.jest.fn();
|
|
352
355
|
_renderHook7 = (0, _react.renderHook)(function () {
|
|
@@ -355,16 +358,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
355
358
|
});
|
|
356
359
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
357
360
|
}), result = _renderHook7.result;
|
|
358
|
-
|
|
359
|
-
|
|
361
|
+
cores = result.current;
|
|
362
|
+
_cores5 = (0, _slicedToArray2["default"])(cores, 2), entity = _cores5[0], reducers = _cores5[1];
|
|
360
363
|
readFile = reducers.readFile;
|
|
361
364
|
promise = (0, _react.act)(function () {
|
|
362
365
|
return readFile(PATH_1);
|
|
363
366
|
});
|
|
364
|
-
(0, _globals.expect)(result.current).toBe(
|
|
365
|
-
(0, _globals.expect)(result.current).toEqual(
|
|
367
|
+
(0, _globals.expect)(result.current).toBe(cores);
|
|
368
|
+
(0, _globals.expect)(result.current).toEqual(cores);
|
|
366
369
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
367
|
-
|
|
370
|
+
_context5.next = 11;
|
|
368
371
|
return promise;
|
|
369
372
|
case 11:
|
|
370
373
|
(0, _globals.expect)(result.current[0]).not.toBe(entity);
|
|
@@ -376,7 +379,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
376
379
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
377
380
|
case 18:
|
|
378
381
|
case "end":
|
|
379
|
-
return
|
|
382
|
+
return _context5.stop();
|
|
380
383
|
}
|
|
381
384
|
}, _callee3);
|
|
382
385
|
})));
|
|
@@ -389,9 +392,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
389
392
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
390
393
|
}),
|
|
391
394
|
result = _renderHook8.result;
|
|
392
|
-
var
|
|
393
|
-
var
|
|
394
|
-
reducers =
|
|
395
|
+
var cores = result.current;
|
|
396
|
+
var _cores6 = (0, _slicedToArray2["default"])(cores, 2),
|
|
397
|
+
reducers = _cores6[1];
|
|
395
398
|
var init = reducers.init;
|
|
396
399
|
(0, _react.act)(function () {
|
|
397
400
|
init(_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
@@ -416,9 +419,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
416
419
|
}),
|
|
417
420
|
result = _renderHook9.result,
|
|
418
421
|
rerender = _renderHook9.rerender;
|
|
419
|
-
var
|
|
420
|
-
var
|
|
421
|
-
setPath =
|
|
422
|
+
var cores = result.current;
|
|
423
|
+
var _cores7 = (0, _slicedToArray2["default"])(cores, 2),
|
|
424
|
+
setPath = _cores7[1].setPath;
|
|
422
425
|
setPath(PATH_1);
|
|
423
426
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
424
427
|
(0, _globals.expect)(result.current[0].path).toBe('');
|
|
@@ -440,15 +443,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
440
443
|
});
|
|
441
444
|
}),
|
|
442
445
|
result = _renderHook10.result;
|
|
443
|
-
var
|
|
444
|
-
var
|
|
445
|
-
reducers =
|
|
446
|
+
var cores = result.current;
|
|
447
|
+
var _cores8 = (0, _slicedToArray2["default"])(cores, 2),
|
|
448
|
+
reducers = _cores8[1];
|
|
446
449
|
var setPath = reducers.setPath;
|
|
447
450
|
(0, _react.act)(function () {
|
|
448
451
|
setPath(PATH_1);
|
|
449
452
|
});
|
|
450
|
-
(0, _globals.expect)(result.current).toBe(
|
|
451
|
-
(0, _globals.expect)(result.current).toEqual(
|
|
453
|
+
(0, _globals.expect)(result.current).toBe(cores);
|
|
454
|
+
(0, _globals.expect)(result.current).toEqual(cores);
|
|
452
455
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
453
456
|
});
|
|
454
457
|
(0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
|
|
@@ -459,9 +462,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
459
462
|
});
|
|
460
463
|
}),
|
|
461
464
|
result = _renderHook11.result;
|
|
462
|
-
var
|
|
463
|
-
var
|
|
464
|
-
reducers =
|
|
465
|
+
var cores = result.current;
|
|
466
|
+
var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
|
|
467
|
+
reducers = _cores9[1];
|
|
465
468
|
var setPath = reducers.setPath;
|
|
466
469
|
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
|
|
467
470
|
(0, _react.act)(function () {
|
|
@@ -483,10 +486,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
483
486
|
});
|
|
484
487
|
}),
|
|
485
488
|
result = _renderHook12.result;
|
|
486
|
-
var
|
|
487
|
-
var
|
|
488
|
-
path =
|
|
489
|
-
reducers =
|
|
489
|
+
var cores = result.current;
|
|
490
|
+
var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
|
|
491
|
+
path = _cores10[0].path,
|
|
492
|
+
reducers = _cores10[1];
|
|
490
493
|
var setPath = reducers.setPath;
|
|
491
494
|
(0, _globals.expect)(path).toBe('');
|
|
492
495
|
(0, _react.act)(function () {
|
|
@@ -523,22 +526,54 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
523
526
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
524
527
|
});
|
|
525
528
|
(0, _globals.test)('when `entity` change, it should trigger watchers', function () {
|
|
529
|
+
var onPathChange = _globals.jest.fn();
|
|
530
|
+
var onSizeChange = _globals.jest.fn();
|
|
531
|
+
var _renderHook14 = (0, _react.renderHook)(function () {
|
|
532
|
+
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
533
|
+
watch: {
|
|
534
|
+
path: onPathChange,
|
|
535
|
+
size: onSizeChange
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
}),
|
|
539
|
+
result = _renderHook14.result;
|
|
540
|
+
var cores = result.current;
|
|
541
|
+
var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
|
|
542
|
+
setPath = _cores11[1].setPath;
|
|
543
|
+
(0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
|
|
544
|
+
(0, _react.act)(function () {
|
|
545
|
+
setPath(PATH_1);
|
|
546
|
+
});
|
|
547
|
+
(0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(1);
|
|
548
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
|
|
549
|
+
(0, _globals.expect)(onPathChange).toHaveBeenLastCalledWith({
|
|
550
|
+
fieldPaths: ['path'],
|
|
551
|
+
newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
552
|
+
path: PATH_1,
|
|
553
|
+
ext: EXT_1
|
|
554
|
+
}),
|
|
555
|
+
oldEntity: defaultFile,
|
|
556
|
+
newValue: PATH_1,
|
|
557
|
+
oldValue: ''
|
|
558
|
+
});
|
|
559
|
+
});
|
|
560
|
+
(0, _globals.test)('watcher should be updated after `entity` change', function () {
|
|
526
561
|
var onPathChange1 = _globals.jest.fn();
|
|
527
562
|
var onPathChange2 = _globals.jest.fn();
|
|
528
563
|
var onPathChange = onPathChange1;
|
|
529
|
-
var
|
|
564
|
+
var _renderHook15 = (0, _react.renderHook)(function () {
|
|
530
565
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
531
566
|
watch: {
|
|
532
567
|
path: onPathChange
|
|
533
568
|
}
|
|
534
569
|
});
|
|
535
570
|
}),
|
|
536
|
-
result =
|
|
537
|
-
var
|
|
538
|
-
var
|
|
539
|
-
|
|
540
|
-
setPath =
|
|
541
|
-
setEntity =
|
|
571
|
+
result = _renderHook15.result;
|
|
572
|
+
var cores = result.current;
|
|
573
|
+
var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
|
|
574
|
+
_cores12$ = _cores12[1],
|
|
575
|
+
setPath = _cores12$.setPath,
|
|
576
|
+
setEntity = _cores12$.setEntity;
|
|
542
577
|
onPathChange = onPathChange2;
|
|
543
578
|
(0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
|
|
544
579
|
(0, _react.act)(function () {
|
|
@@ -548,26 +583,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
548
583
|
});
|
|
549
584
|
});
|
|
550
585
|
(0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
|
|
551
|
-
(0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith(
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
586
|
+
(0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith({
|
|
587
|
+
fieldPaths: ['path'],
|
|
588
|
+
newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
589
|
+
path: PATH_1,
|
|
590
|
+
ext: EXT_1
|
|
591
|
+
}),
|
|
592
|
+
oldEntity: defaultFile,
|
|
593
|
+
newValue: PATH_1,
|
|
594
|
+
oldValue: ''
|
|
595
|
+
});
|
|
555
596
|
(0, _react.act)(function () {
|
|
556
597
|
setPath('');
|
|
557
598
|
});
|
|
558
599
|
(0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
|
|
559
|
-
(0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith(
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
600
|
+
(0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith({
|
|
601
|
+
fieldPaths: ['path'],
|
|
602
|
+
newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
603
|
+
size: 5000
|
|
604
|
+
}),
|
|
605
|
+
oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
606
|
+
path: PATH_1,
|
|
607
|
+
size: 5000,
|
|
608
|
+
ext: EXT_1
|
|
609
|
+
}),
|
|
610
|
+
newValue: '',
|
|
611
|
+
oldValue: PATH_1
|
|
612
|
+
});
|
|
566
613
|
});
|
|
567
614
|
(0, _globals.test)('when `deps` has changed, it should trigger update', function () {
|
|
568
615
|
var onUpdate = _globals.jest.fn();
|
|
569
616
|
var onDeepUpdate = _globals.jest.fn();
|
|
570
|
-
var
|
|
617
|
+
var _renderHook16 = (0, _react.renderHook)(function () {
|
|
571
618
|
var _useState3 = (0, _react2.useState)('user/'),
|
|
572
619
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
573
620
|
pathPrefix = _useState4[0],
|
|
@@ -583,7 +630,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
583
630
|
}, [context]);
|
|
584
631
|
return setPathPrefix;
|
|
585
632
|
}),
|
|
586
|
-
result =
|
|
633
|
+
result = _renderHook16.result;
|
|
587
634
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
588
635
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
589
636
|
(0, _react.act)(function () {
|
|
@@ -595,7 +642,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
595
642
|
(0, _globals.test)('empty `deps` should not trigger update', function () {
|
|
596
643
|
var onUpdate = _globals.jest.fn();
|
|
597
644
|
var onDeepUpdate = _globals.jest.fn();
|
|
598
|
-
var
|
|
645
|
+
var _renderHook17 = (0, _react.renderHook)(function () {
|
|
599
646
|
var _useState5 = (0, _react2.useState)('user/'),
|
|
600
647
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
601
648
|
pathPrefix = _useState6[0],
|
|
@@ -611,7 +658,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
611
658
|
}, [context]);
|
|
612
659
|
return setPathPrefix;
|
|
613
660
|
}),
|
|
614
|
-
result =
|
|
661
|
+
result = _renderHook17.result;
|
|
615
662
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
616
663
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
617
664
|
(0, _react.act)(function () {
|
|
@@ -621,93 +668,157 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
621
668
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
622
669
|
});
|
|
623
670
|
});
|
|
624
|
-
(0, _globals.describe)('`useUseCase` should work with 1+
|
|
625
|
-
(0, _globals.test)('
|
|
626
|
-
var _renderHook17 = (0, _react.renderHook)(function () {
|
|
627
|
-
return (0, _.useUseCase)(fileUseCase);
|
|
628
|
-
}),
|
|
629
|
-
result = _renderHook17.result;
|
|
630
|
-
var context = result.current;
|
|
631
|
-
(0, _globals.expect)(context).toHaveLength(2);
|
|
632
|
-
});
|
|
633
|
-
(0, _globals.test)('`entity` should be `undefined`', function () {
|
|
671
|
+
(0, _globals.describe)('`useUseCase` should work with 1+ arguments on non-entity mode', function () {
|
|
672
|
+
(0, _globals.test)('`entity` should equal `defaultFile`', function () {
|
|
634
673
|
var _renderHook18 = (0, _react.renderHook)(function () {
|
|
635
|
-
return (0, _.useUseCase)(
|
|
674
|
+
return (0, _.useUseCase)(mathUseCase);
|
|
636
675
|
}),
|
|
637
676
|
result = _renderHook18.result;
|
|
638
|
-
var
|
|
639
|
-
|
|
640
|
-
entity = _context17[0];
|
|
641
|
-
(0, _globals.expect)(entity).toBe(void 0);
|
|
677
|
+
var reducers = result.current;
|
|
678
|
+
(0, _globals.expect)(Array.isArray(reducers)).toBe(false);
|
|
642
679
|
});
|
|
643
|
-
(0, _globals.test)('
|
|
680
|
+
(0, _globals.test)('returned reducer should work', function () {
|
|
644
681
|
var _renderHook19 = (0, _react.renderHook)(function () {
|
|
645
|
-
return (0, _.useUseCase)(
|
|
682
|
+
return (0, _.useUseCase)(mathUseCase);
|
|
646
683
|
}),
|
|
647
684
|
result = _renderHook19.result;
|
|
648
|
-
var
|
|
649
|
-
var
|
|
650
|
-
|
|
651
|
-
(0, _globals.expect)((0, _typeof2["default"])(reducers)).toBe('object');
|
|
685
|
+
var reducers = result.current;
|
|
686
|
+
var add = reducers.add;
|
|
687
|
+
(0, _globals.expect)(add(1, 2)).toBe(3);
|
|
652
688
|
});
|
|
653
|
-
(0, _globals.test)('`
|
|
654
|
-
var onUpdate = _globals.jest.fn();
|
|
689
|
+
(0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
|
|
655
690
|
var _renderHook20 = (0, _react.renderHook)(function () {
|
|
656
|
-
(0,
|
|
657
|
-
|
|
691
|
+
return (0, _.useUseCase)(mathUseCase, {
|
|
692
|
+
extraValue: 5
|
|
658
693
|
});
|
|
659
|
-
return (0, _.useUseCase)(fileUseCase);
|
|
660
694
|
}),
|
|
661
695
|
result = _renderHook20.result;
|
|
662
|
-
var
|
|
663
|
-
var
|
|
664
|
-
|
|
665
|
-
|
|
696
|
+
var reducers = result.current;
|
|
697
|
+
var add = reducers.add;
|
|
698
|
+
(0, _globals.expect)(add(1, 2)).toBe(8);
|
|
699
|
+
});
|
|
700
|
+
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
701
|
+
var onUpdate = _globals.jest.fn();
|
|
702
|
+
var onDeepUpdate = _globals.jest.fn();
|
|
703
|
+
var _renderHook21 = (0, _react.renderHook)(function () {
|
|
704
|
+
var _useState7 = (0, _react2.useState)(0),
|
|
705
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
706
|
+
extraValue = _useState8[0],
|
|
707
|
+
setExtraValue = _useState8[1];
|
|
708
|
+
var reducers = (0, _.useUseCase)(mathUseCase, {
|
|
709
|
+
extraValue: extraValue
|
|
710
|
+
});
|
|
711
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
712
|
+
onUpdate();
|
|
713
|
+
}, [reducers]);
|
|
714
|
+
useDeepCompareUpdate(function () {
|
|
715
|
+
onDeepUpdate();
|
|
716
|
+
}, [reducers]);
|
|
717
|
+
return setExtraValue;
|
|
718
|
+
}),
|
|
719
|
+
result = _renderHook21.result;
|
|
720
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
721
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
666
722
|
(0, _react.act)(function () {
|
|
667
|
-
|
|
723
|
+
result.current(3);
|
|
668
724
|
});
|
|
669
|
-
(0, _globals.expect)(result.current).toBe(context);
|
|
670
|
-
(0, _globals.expect)(result.current).toEqual(context);
|
|
671
725
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
726
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
672
727
|
});
|
|
673
|
-
(0, _globals.test)('
|
|
728
|
+
(0, _globals.test)('when `deps` change, it should update reducers', function () {
|
|
729
|
+
var onUpdate = _globals.jest.fn();
|
|
730
|
+
var onDeepUpdate = _globals.jest.fn();
|
|
731
|
+
var _renderHook22 = (0, _react.renderHook)(function () {
|
|
732
|
+
var _useState9 = (0, _react2.useState)(0),
|
|
733
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
734
|
+
extraValue = _useState10[0],
|
|
735
|
+
setExtraValue = _useState10[1];
|
|
736
|
+
var reducers = (0, _.useUseCase)(mathUseCase, {
|
|
737
|
+
extraValue: extraValue
|
|
738
|
+
}, [extraValue]);
|
|
739
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
740
|
+
onUpdate();
|
|
741
|
+
}, [reducers]);
|
|
742
|
+
useDeepCompareUpdate(function () {
|
|
743
|
+
onDeepUpdate();
|
|
744
|
+
}, [reducers]);
|
|
745
|
+
return setExtraValue;
|
|
746
|
+
}),
|
|
747
|
+
result = _renderHook22.result;
|
|
748
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
749
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
750
|
+
(0, _react.act)(function () {
|
|
751
|
+
result.current(3);
|
|
752
|
+
});
|
|
753
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
754
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(1);
|
|
755
|
+
});
|
|
756
|
+
(0, _globals.test)('empty `deps` should not update reducers', function () {
|
|
757
|
+
var onUpdate = _globals.jest.fn();
|
|
758
|
+
var onDeepUpdate = _globals.jest.fn();
|
|
759
|
+
var _renderHook23 = (0, _react.renderHook)(function () {
|
|
760
|
+
var _useState11 = (0, _react2.useState)(0),
|
|
761
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
762
|
+
extraValue = _useState12[0],
|
|
763
|
+
setExtraValue = _useState12[1];
|
|
764
|
+
var reducers = (0, _.useUseCase)(mathUseCase, {
|
|
765
|
+
extraValue: extraValue
|
|
766
|
+
}, []);
|
|
767
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
768
|
+
onUpdate();
|
|
769
|
+
}, [reducers]);
|
|
770
|
+
useDeepCompareUpdate(function () {
|
|
771
|
+
onDeepUpdate();
|
|
772
|
+
}, [reducers]);
|
|
773
|
+
return setExtraValue;
|
|
774
|
+
}),
|
|
775
|
+
result = _renderHook23.result;
|
|
776
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
777
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
778
|
+
(0, _react.act)(function () {
|
|
779
|
+
result.current(3);
|
|
780
|
+
});
|
|
781
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
782
|
+
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
783
|
+
});
|
|
784
|
+
(0, _globals.test)('should not trigger update', function () {
|
|
785
|
+
var onUpdate = _globals.jest.fn();
|
|
786
|
+
(0, _react.render)((0, _jsxRuntime.jsx)(MathParent, {
|
|
787
|
+
onUpdate: onUpdate
|
|
788
|
+
}));
|
|
789
|
+
_react.fireEvent.click(_react.screen.getByText(PARENT_BUTTON_TEXT));
|
|
790
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
791
|
+
});
|
|
792
|
+
});
|
|
793
|
+
(0, _globals.describe)('`useUseCase` should work with 1+ arguments on context mode', function () {
|
|
794
|
+
(0, _globals.test)('should work within <Child /> which it is under <Parent />', function () {
|
|
674
795
|
var textPrefix = '>>';
|
|
675
|
-
var
|
|
676
|
-
var
|
|
677
|
-
var
|
|
678
|
-
var onUpdate2 = _globals.jest.fn();
|
|
679
|
-
var onPathChange2 = _globals.jest.fn();
|
|
680
|
-
var onUndefinedEntity2 = _globals.jest.fn();
|
|
796
|
+
var onUpdate = _globals.jest.fn();
|
|
797
|
+
var onPathChange = _globals.jest.fn();
|
|
798
|
+
var onUndefinedEntity = _globals.jest.fn();
|
|
681
799
|
var onSetPath = _globals.jest.fn(function () {
|
|
682
800
|
return PATH_1;
|
|
683
801
|
});
|
|
684
|
-
(0, _react.render)((0, _jsxRuntime.
|
|
685
|
-
children:
|
|
802
|
+
(0, _react.render)((0, _jsxRuntime.jsx)("div", {
|
|
803
|
+
children: (0, _jsxRuntime.jsx)(Parent, {
|
|
686
804
|
onSetPath: onSetPath,
|
|
687
805
|
children: (0, _jsxRuntime.jsx)(Child, {
|
|
688
806
|
textPrefix: textPrefix,
|
|
689
|
-
onUpdate:
|
|
690
|
-
onPathChange:
|
|
691
|
-
onUndefinedEntity:
|
|
807
|
+
onUpdate: onUpdate,
|
|
808
|
+
onPathChange: onPathChange,
|
|
809
|
+
onUndefinedEntity: onUndefinedEntity
|
|
692
810
|
})
|
|
693
|
-
})
|
|
694
|
-
onUpdate: onUpdate2,
|
|
695
|
-
onPathChange: onPathChange2,
|
|
696
|
-
onUndefinedEntity: onUndefinedEntity2
|
|
697
|
-
})]
|
|
811
|
+
})
|
|
698
812
|
}));
|
|
699
813
|
_react.fireEvent.click(_react.screen.getByText(PARENT_BUTTON_TEXT));
|
|
700
814
|
(0, _globals.expect)(onSetPath).toHaveBeenCalledTimes(1);
|
|
701
|
-
(0, _globals.expect)(
|
|
702
|
-
(0, _globals.expect)(
|
|
815
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
816
|
+
(0, _globals.expect)(onPathChange).toHaveBeenCalledWith(PATH_1);
|
|
703
817
|
_react.fireEvent.click(_react.screen.getByText(textPrefix + CHILD_BUTTON_TEXT));
|
|
704
818
|
(0, _globals.expect)(onSetPath).toHaveBeenCalledTimes(1);
|
|
705
|
-
(0, _globals.expect)(
|
|
706
|
-
(0, _globals.expect)(
|
|
707
|
-
(0, _globals.expect)(
|
|
708
|
-
(0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(0);
|
|
709
|
-
(0, _globals.expect)(onUndefinedEntity1).toHaveBeenCalledTimes(0);
|
|
710
|
-
(0, _globals.expect)(onUndefinedEntity2).toHaveBeenCalledTimes(1);
|
|
819
|
+
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(2);
|
|
820
|
+
(0, _globals.expect)(onPathChange).toHaveBeenCalledWith('');
|
|
821
|
+
(0, _globals.expect)(onUndefinedEntity).toHaveBeenCalledTimes(0);
|
|
711
822
|
});
|
|
712
823
|
(0, _globals.test)('`options.onChange` event should be trigger at child elements', function () {
|
|
713
824
|
var onFirstChange = _globals.jest.fn();
|
|
@@ -765,6 +876,56 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
765
876
|
(0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
|
|
766
877
|
(0, _globals.expect)(onParentPathChange).toHaveBeenCalledTimes(2);
|
|
767
878
|
});
|
|
879
|
+
(0, _globals.test)('`options.onChange` event should be trigger in orders', function () {
|
|
880
|
+
var changeTimes = 0;
|
|
881
|
+
var updateChangeTimes = function updateChangeTimes() {
|
|
882
|
+
return ++changeTimes;
|
|
883
|
+
};
|
|
884
|
+
var onChangeA = _globals.jest.fn(updateChangeTimes);
|
|
885
|
+
var onChangeB = _globals.jest.fn(updateChangeTimes);
|
|
886
|
+
var onChangeC = _globals.jest.fn(updateChangeTimes);
|
|
887
|
+
var buttonText = 'my button';
|
|
888
|
+
var A = function A(_ref7) {
|
|
889
|
+
var children = _ref7.children;
|
|
890
|
+
(0, _.useUseCase)(fileUseCase, {
|
|
891
|
+
onChange: onChangeA
|
|
892
|
+
});
|
|
893
|
+
return (0, _jsxRuntime.jsx)(_react2.Fragment, {
|
|
894
|
+
children: children
|
|
895
|
+
});
|
|
896
|
+
};
|
|
897
|
+
var B = function B() {
|
|
898
|
+
(0, _.useUseCase)(fileUseCase, {
|
|
899
|
+
onChange: onChangeB
|
|
900
|
+
});
|
|
901
|
+
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
902
|
+
};
|
|
903
|
+
var C = function C() {
|
|
904
|
+
var _useUseCase8 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
905
|
+
onChange: onChangeC
|
|
906
|
+
}),
|
|
907
|
+
_useUseCase9 = (0, _slicedToArray2["default"])(_useUseCase8, 3),
|
|
908
|
+
setPath = _useUseCase9[1].setPath,
|
|
909
|
+
Provider = _useUseCase9[2];
|
|
910
|
+
var onFirstClick = function onFirstClick() {
|
|
911
|
+
setPath(PATH_1);
|
|
912
|
+
};
|
|
913
|
+
return (0, _jsxRuntime.jsxs)(Provider, {
|
|
914
|
+
children: [(0, _jsxRuntime.jsx)(A, {
|
|
915
|
+
children: (0, _jsxRuntime.jsx)(B, {})
|
|
916
|
+
}), (0, _jsxRuntime.jsx)("button", {
|
|
917
|
+
onClick: onFirstClick,
|
|
918
|
+
children: buttonText
|
|
919
|
+
})]
|
|
920
|
+
});
|
|
921
|
+
};
|
|
922
|
+
(0, _react.render)((0, _jsxRuntime.jsx)(C, {}));
|
|
923
|
+
(0, _globals.expect)(changeTimes).toBe(0);
|
|
924
|
+
_react.fireEvent.click(_react.screen.getByText(buttonText));
|
|
925
|
+
(0, _globals.expect)(onChangeA).toHaveReturnedWith(2);
|
|
926
|
+
(0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
|
|
927
|
+
(0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
|
|
928
|
+
});
|
|
768
929
|
(0, _globals.test)('`options.watch` should be trigger at child elements', function () {
|
|
769
930
|
var onFirstExtChange = _globals.jest.fn();
|
|
770
931
|
var onSecondExtChange = _globals.jest.fn();
|
|
@@ -781,14 +942,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
781
942
|
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
782
943
|
};
|
|
783
944
|
var B = function B() {
|
|
784
|
-
var
|
|
945
|
+
var _useUseCase10 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
785
946
|
watch: {
|
|
786
947
|
ext: onParentExtChange
|
|
787
948
|
}
|
|
788
949
|
}),
|
|
789
|
-
|
|
790
|
-
setPath =
|
|
791
|
-
Provider =
|
|
950
|
+
_useUseCase11 = (0, _slicedToArray2["default"])(_useUseCase10, 3),
|
|
951
|
+
setPath = _useUseCase11[1].setPath,
|
|
952
|
+
Provider = _useUseCase11[2];
|
|
792
953
|
var onFirstClick = function onFirstClick() {
|
|
793
954
|
setPath(PATH_1);
|
|
794
955
|
onExtChange = onSecondExtChange;
|
|
@@ -810,142 +971,582 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
810
971
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
|
|
811
972
|
_react.fireEvent.click(_react.screen.getByText(firstButtonText));
|
|
812
973
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
|
|
813
|
-
(0, _globals.expect)(onFirstExtChange).toHaveBeenLastCalledWith(
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
974
|
+
(0, _globals.expect)(onFirstExtChange).toHaveBeenLastCalledWith({
|
|
975
|
+
fieldPaths: ['ext'],
|
|
976
|
+
newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
977
|
+
ext: EXT_1,
|
|
978
|
+
path: PATH_1
|
|
979
|
+
}),
|
|
980
|
+
oldEntity: defaultFile,
|
|
981
|
+
newValue: EXT_1,
|
|
982
|
+
oldValue: ''
|
|
983
|
+
});
|
|
817
984
|
(0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(1);
|
|
818
985
|
(0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
|
|
819
986
|
_react.fireEvent.click(_react.screen.getByText(secondButtonText));
|
|
820
987
|
(0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(1);
|
|
821
|
-
(0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith(
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
988
|
+
(0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith({
|
|
989
|
+
fieldPaths: ['ext'],
|
|
990
|
+
newEntity: defaultFile,
|
|
991
|
+
oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
992
|
+
ext: EXT_1,
|
|
993
|
+
path: PATH_1
|
|
994
|
+
}),
|
|
995
|
+
newValue: '',
|
|
996
|
+
oldValue: EXT_1
|
|
997
|
+
});
|
|
825
998
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
|
|
826
999
|
(0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(2);
|
|
827
1000
|
});
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
var
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
1001
|
+
(0, _globals.test)('`options.watch` should be trigger in orders', function () {
|
|
1002
|
+
var changeTimes = 0;
|
|
1003
|
+
var updateChangeTimes = function updateChangeTimes(e) {
|
|
1004
|
+
void e;
|
|
1005
|
+
return ++changeTimes;
|
|
1006
|
+
};
|
|
1007
|
+
var onChangeA = _globals.jest.fn(updateChangeTimes);
|
|
1008
|
+
var onChangeB = _globals.jest.fn(updateChangeTimes);
|
|
1009
|
+
var onChangeC = _globals.jest.fn(updateChangeTimes);
|
|
1010
|
+
var buttonText = 'my button';
|
|
1011
|
+
var A = function A(_ref8) {
|
|
1012
|
+
var children = _ref8.children;
|
|
1013
|
+
(0, _.useUseCase)(fileUseCase, {
|
|
1014
|
+
watch: {
|
|
1015
|
+
ext: onChangeA
|
|
1016
|
+
}
|
|
1017
|
+
});
|
|
1018
|
+
return (0, _jsxRuntime.jsx)(_react2.Fragment, {
|
|
1019
|
+
children: children
|
|
1020
|
+
});
|
|
1021
|
+
};
|
|
1022
|
+
var B = function B() {
|
|
1023
|
+
(0, _.useUseCase)(fileUseCase, {
|
|
1024
|
+
watch: {
|
|
1025
|
+
ext: onChangeB
|
|
1026
|
+
}
|
|
1027
|
+
});
|
|
1028
|
+
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
1029
|
+
};
|
|
1030
|
+
var C = function C() {
|
|
1031
|
+
var _useUseCase12 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
1032
|
+
watch: {
|
|
1033
|
+
ext: onChangeC
|
|
1034
|
+
}
|
|
1035
|
+
}),
|
|
1036
|
+
_useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 3),
|
|
1037
|
+
setPath = _useUseCase13[1].setPath,
|
|
1038
|
+
Provider = _useUseCase13[2];
|
|
1039
|
+
var onFirstClick = function onFirstClick() {
|
|
1040
|
+
setPath(PATH_1);
|
|
1041
|
+
};
|
|
1042
|
+
return (0, _jsxRuntime.jsxs)(Provider, {
|
|
1043
|
+
children: [(0, _jsxRuntime.jsx)(A, {
|
|
1044
|
+
children: (0, _jsxRuntime.jsx)(B, {})
|
|
1045
|
+
}), (0, _jsxRuntime.jsx)("button", {
|
|
1046
|
+
onClick: onFirstClick,
|
|
1047
|
+
children: buttonText
|
|
1048
|
+
})]
|
|
1049
|
+
});
|
|
1050
|
+
};
|
|
1051
|
+
(0, _react.render)((0, _jsxRuntime.jsx)(C, {}));
|
|
1052
|
+
(0, _globals.expect)(changeTimes).toBe(0);
|
|
1053
|
+
_react.fireEvent.click(_react.screen.getByText(buttonText));
|
|
1054
|
+
(0, _globals.expect)(onChangeA).toHaveReturnedWith(2);
|
|
1055
|
+
(0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
|
|
1056
|
+
(0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
|
|
857
1057
|
});
|
|
858
|
-
(0, _globals.test)('
|
|
859
|
-
var
|
|
860
|
-
var
|
|
1058
|
+
(0, _globals.test)('`options.watch` should work with array field path of array', function () {
|
|
1059
|
+
var onExtChange = _globals.jest.fn();
|
|
1060
|
+
var onSizeChange = _globals.jest.fn();
|
|
861
1061
|
var _renderHook24 = (0, _react.renderHook)(function () {
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
extraValue: extraValue
|
|
1062
|
+
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1063
|
+
watch: {
|
|
1064
|
+
'list.ext': onExtChange,
|
|
1065
|
+
'list.size': onSizeChange
|
|
1066
|
+
}
|
|
868
1067
|
});
|
|
869
|
-
(0, _ahooks.useUpdateEffect)(function () {
|
|
870
|
-
onUpdate();
|
|
871
|
-
}, [reducers]);
|
|
872
|
-
useDeepCompareUpdate(function () {
|
|
873
|
-
onDeepUpdate();
|
|
874
|
-
}, [reducers]);
|
|
875
|
-
return setExtraValue;
|
|
876
1068
|
}),
|
|
877
1069
|
result = _renderHook24.result;
|
|
878
|
-
|
|
879
|
-
(0,
|
|
1070
|
+
var cores = result.current;
|
|
1071
|
+
var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1072
|
+
setEntity = _cores13[1].setEntity;
|
|
880
1073
|
(0, _react.act)(function () {
|
|
881
|
-
|
|
1074
|
+
setEntity({
|
|
1075
|
+
list: [defaultFile]
|
|
1076
|
+
});
|
|
1077
|
+
});
|
|
1078
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(1);
|
|
1079
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
|
|
1080
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
|
|
1081
|
+
fieldPaths: ['list', '0', 'ext'],
|
|
1082
|
+
newEntity: {
|
|
1083
|
+
list: [defaultFile]
|
|
1084
|
+
},
|
|
1085
|
+
oldEntity: {},
|
|
1086
|
+
newValue: '',
|
|
1087
|
+
oldValue: void 0
|
|
1088
|
+
});
|
|
1089
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
|
|
1090
|
+
fieldPaths: ['list', '0', 'size'],
|
|
1091
|
+
newEntity: {
|
|
1092
|
+
list: [defaultFile]
|
|
1093
|
+
},
|
|
1094
|
+
oldEntity: {},
|
|
1095
|
+
newValue: 0,
|
|
1096
|
+
oldValue: void 0
|
|
1097
|
+
});
|
|
1098
|
+
(0, _react.act)(function () {
|
|
1099
|
+
setEntity({
|
|
1100
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1101
|
+
ext: EXT_1
|
|
1102
|
+
})]
|
|
1103
|
+
});
|
|
1104
|
+
});
|
|
1105
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(2);
|
|
1106
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
|
|
1107
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
|
|
1108
|
+
fieldPaths: ['list', '0', 'ext'],
|
|
1109
|
+
newEntity: {
|
|
1110
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1111
|
+
ext: EXT_1
|
|
1112
|
+
})]
|
|
1113
|
+
},
|
|
1114
|
+
oldEntity: {
|
|
1115
|
+
list: [defaultFile]
|
|
1116
|
+
},
|
|
1117
|
+
newValue: EXT_1,
|
|
1118
|
+
oldValue: ''
|
|
1119
|
+
});
|
|
1120
|
+
(0, _react.act)(function () {
|
|
1121
|
+
setEntity({
|
|
1122
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1123
|
+
ext: EXT_1
|
|
1124
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1125
|
+
ext: EXT_2
|
|
1126
|
+
})]
|
|
1127
|
+
});
|
|
1128
|
+
});
|
|
1129
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(3);
|
|
1130
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(2);
|
|
1131
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
|
|
1132
|
+
fieldPaths: ['list', '1', 'ext'],
|
|
1133
|
+
newEntity: {
|
|
1134
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1135
|
+
ext: EXT_1
|
|
1136
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1137
|
+
ext: EXT_2
|
|
1138
|
+
})]
|
|
1139
|
+
},
|
|
1140
|
+
oldEntity: {
|
|
1141
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1142
|
+
ext: EXT_1
|
|
1143
|
+
})]
|
|
1144
|
+
},
|
|
1145
|
+
newValue: EXT_2,
|
|
1146
|
+
oldValue: void 0
|
|
1147
|
+
});
|
|
1148
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
|
|
1149
|
+
fieldPaths: ['list', '1', 'size'],
|
|
1150
|
+
newEntity: {
|
|
1151
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1152
|
+
ext: EXT_1
|
|
1153
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1154
|
+
ext: EXT_2
|
|
1155
|
+
})]
|
|
1156
|
+
},
|
|
1157
|
+
oldEntity: {
|
|
1158
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1159
|
+
ext: EXT_1
|
|
1160
|
+
})]
|
|
1161
|
+
},
|
|
1162
|
+
newValue: 0,
|
|
1163
|
+
oldValue: void 0
|
|
1164
|
+
});
|
|
1165
|
+
(0, _react.act)(function () {
|
|
1166
|
+
setEntity({
|
|
1167
|
+
nestedList: []
|
|
1168
|
+
});
|
|
1169
|
+
});
|
|
1170
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(3);
|
|
1171
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(2);
|
|
1172
|
+
(0, _react.act)(function () {
|
|
1173
|
+
setEntity(function () {
|
|
1174
|
+
return {
|
|
1175
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1176
|
+
ext: EXT_2
|
|
1177
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1178
|
+
ext: EXT_1
|
|
1179
|
+
}), defaultFile]
|
|
1180
|
+
};
|
|
1181
|
+
});
|
|
1182
|
+
});
|
|
1183
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(6);
|
|
1184
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(3);
|
|
1185
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(4, {
|
|
1186
|
+
fieldPaths: ['list', '0', 'ext'],
|
|
1187
|
+
newEntity: {
|
|
1188
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1189
|
+
ext: EXT_2
|
|
1190
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1191
|
+
ext: EXT_1
|
|
1192
|
+
}), defaultFile]
|
|
1193
|
+
},
|
|
1194
|
+
oldEntity: {
|
|
1195
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1196
|
+
ext: EXT_1
|
|
1197
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1198
|
+
ext: EXT_2
|
|
1199
|
+
})],
|
|
1200
|
+
nestedList: []
|
|
1201
|
+
},
|
|
1202
|
+
newValue: EXT_2,
|
|
1203
|
+
oldValue: EXT_1
|
|
1204
|
+
});
|
|
1205
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(5, {
|
|
1206
|
+
fieldPaths: ['list', '1', 'ext'],
|
|
1207
|
+
newEntity: {
|
|
1208
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1209
|
+
ext: EXT_2
|
|
1210
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1211
|
+
ext: EXT_1
|
|
1212
|
+
}), defaultFile]
|
|
1213
|
+
},
|
|
1214
|
+
oldEntity: {
|
|
1215
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1216
|
+
ext: EXT_1
|
|
1217
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1218
|
+
ext: EXT_2
|
|
1219
|
+
})],
|
|
1220
|
+
nestedList: []
|
|
1221
|
+
},
|
|
1222
|
+
newValue: EXT_1,
|
|
1223
|
+
oldValue: EXT_2
|
|
1224
|
+
});
|
|
1225
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(6, {
|
|
1226
|
+
fieldPaths: ['list', '2', 'ext'],
|
|
1227
|
+
newEntity: {
|
|
1228
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1229
|
+
ext: EXT_2
|
|
1230
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1231
|
+
ext: EXT_1
|
|
1232
|
+
}), defaultFile]
|
|
1233
|
+
},
|
|
1234
|
+
oldEntity: {
|
|
1235
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1236
|
+
ext: EXT_1
|
|
1237
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1238
|
+
ext: EXT_2
|
|
1239
|
+
})],
|
|
1240
|
+
nestedList: []
|
|
1241
|
+
},
|
|
1242
|
+
newValue: '',
|
|
1243
|
+
oldValue: void 0
|
|
1244
|
+
});
|
|
1245
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
|
|
1246
|
+
fieldPaths: ['list', '2', 'size'],
|
|
1247
|
+
newEntity: {
|
|
1248
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1249
|
+
ext: EXT_2
|
|
1250
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1251
|
+
ext: EXT_1
|
|
1252
|
+
}), defaultFile]
|
|
1253
|
+
},
|
|
1254
|
+
oldEntity: {
|
|
1255
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1256
|
+
ext: EXT_1
|
|
1257
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1258
|
+
ext: EXT_2
|
|
1259
|
+
})],
|
|
1260
|
+
nestedList: []
|
|
1261
|
+
},
|
|
1262
|
+
newValue: 0,
|
|
1263
|
+
oldValue: void 0
|
|
1264
|
+
});
|
|
1265
|
+
(0, _react.act)(function () {
|
|
1266
|
+
setEntity(function () {
|
|
1267
|
+
return {};
|
|
1268
|
+
});
|
|
1269
|
+
});
|
|
1270
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(9);
|
|
1271
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(6);
|
|
1272
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(7, {
|
|
1273
|
+
fieldPaths: ['list', '0', 'ext'],
|
|
1274
|
+
newEntity: {},
|
|
1275
|
+
oldEntity: {
|
|
1276
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1277
|
+
ext: EXT_2
|
|
1278
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1279
|
+
ext: EXT_1
|
|
1280
|
+
}), defaultFile]
|
|
1281
|
+
},
|
|
1282
|
+
newValue: void 0,
|
|
1283
|
+
oldValue: EXT_2
|
|
1284
|
+
});
|
|
1285
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(8, {
|
|
1286
|
+
fieldPaths: ['list', '1', 'ext'],
|
|
1287
|
+
newEntity: {},
|
|
1288
|
+
oldEntity: {
|
|
1289
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1290
|
+
ext: EXT_2
|
|
1291
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1292
|
+
ext: EXT_1
|
|
1293
|
+
}), defaultFile]
|
|
1294
|
+
},
|
|
1295
|
+
newValue: void 0,
|
|
1296
|
+
oldValue: EXT_1
|
|
1297
|
+
});
|
|
1298
|
+
(0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(9, {
|
|
1299
|
+
fieldPaths: ['list', '2', 'ext'],
|
|
1300
|
+
newEntity: {},
|
|
1301
|
+
oldEntity: {
|
|
1302
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1303
|
+
ext: EXT_2
|
|
1304
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1305
|
+
ext: EXT_1
|
|
1306
|
+
}), defaultFile]
|
|
1307
|
+
},
|
|
1308
|
+
newValue: void 0,
|
|
1309
|
+
oldValue: ''
|
|
1310
|
+
});
|
|
1311
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(4, {
|
|
1312
|
+
fieldPaths: ['list', '0', 'size'],
|
|
1313
|
+
newEntity: {},
|
|
1314
|
+
oldEntity: {
|
|
1315
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1316
|
+
ext: EXT_2
|
|
1317
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1318
|
+
ext: EXT_1
|
|
1319
|
+
}), defaultFile]
|
|
1320
|
+
},
|
|
1321
|
+
newValue: void 0,
|
|
1322
|
+
oldValue: 0
|
|
1323
|
+
});
|
|
1324
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(5, {
|
|
1325
|
+
fieldPaths: ['list', '1', 'size'],
|
|
1326
|
+
newEntity: {},
|
|
1327
|
+
oldEntity: {
|
|
1328
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1329
|
+
ext: EXT_2
|
|
1330
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1331
|
+
ext: EXT_1
|
|
1332
|
+
}), defaultFile]
|
|
1333
|
+
},
|
|
1334
|
+
newValue: void 0,
|
|
1335
|
+
oldValue: 0
|
|
1336
|
+
});
|
|
1337
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(6, {
|
|
1338
|
+
fieldPaths: ['list', '2', 'size'],
|
|
1339
|
+
newEntity: {},
|
|
1340
|
+
oldEntity: {
|
|
1341
|
+
list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1342
|
+
ext: EXT_2
|
|
1343
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1344
|
+
ext: EXT_1
|
|
1345
|
+
}), defaultFile]
|
|
1346
|
+
},
|
|
1347
|
+
newValue: void 0,
|
|
1348
|
+
oldValue: 0
|
|
882
1349
|
});
|
|
883
|
-
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
884
|
-
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
885
1350
|
});
|
|
886
|
-
(0, _globals.test)('
|
|
887
|
-
var
|
|
888
|
-
var
|
|
1351
|
+
(0, _globals.test)('`options.watch` should work with field path of array length', function () {
|
|
1352
|
+
var onEntityLengthChange = _globals.jest.fn();
|
|
1353
|
+
var onListLengthChange = _globals.jest.fn();
|
|
1354
|
+
var lengthUseCase = function lengthUseCase() {
|
|
1355
|
+
return (0, _usecases.entityUseCase)();
|
|
1356
|
+
};
|
|
889
1357
|
var _renderHook25 = (0, _react.renderHook)(function () {
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
}, [extraValue]);
|
|
897
|
-
(0, _ahooks.useUpdateEffect)(function () {
|
|
898
|
-
onUpdate();
|
|
899
|
-
}, [reducers]);
|
|
900
|
-
useDeepCompareUpdate(function () {
|
|
901
|
-
onDeepUpdate();
|
|
902
|
-
}, [reducers]);
|
|
903
|
-
return setExtraValue;
|
|
1358
|
+
return (0, _.useUseCase)([], lengthUseCase, {
|
|
1359
|
+
watch: {
|
|
1360
|
+
length: onEntityLengthChange,
|
|
1361
|
+
'list.length': onListLengthChange
|
|
1362
|
+
}
|
|
1363
|
+
});
|
|
904
1364
|
}),
|
|
905
1365
|
result = _renderHook25.result;
|
|
906
|
-
|
|
907
|
-
(0,
|
|
1366
|
+
var cores = result.current;
|
|
1367
|
+
var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1368
|
+
setEntity = _cores14[1].setEntity;
|
|
1369
|
+
(0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(0);
|
|
1370
|
+
(0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(0);
|
|
908
1371
|
(0, _react.act)(function () {
|
|
909
|
-
|
|
1372
|
+
setEntity([{
|
|
1373
|
+
list: [defaultFile, defaultFile]
|
|
1374
|
+
}]);
|
|
1375
|
+
});
|
|
1376
|
+
(0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(1);
|
|
1377
|
+
(0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(1);
|
|
1378
|
+
(0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledWith({
|
|
1379
|
+
fieldPaths: ['length'],
|
|
1380
|
+
newEntity: [{
|
|
1381
|
+
list: [defaultFile, defaultFile]
|
|
1382
|
+
}],
|
|
1383
|
+
oldEntity: [],
|
|
1384
|
+
newValue: 1,
|
|
1385
|
+
oldValue: 0
|
|
1386
|
+
});
|
|
1387
|
+
(0, _globals.expect)(onListLengthChange).toHaveBeenCalledWith({
|
|
1388
|
+
fieldPaths: ['0', 'list', 'length'],
|
|
1389
|
+
newEntity: [{
|
|
1390
|
+
list: [defaultFile, defaultFile]
|
|
1391
|
+
}],
|
|
1392
|
+
oldEntity: [],
|
|
1393
|
+
newValue: 2,
|
|
1394
|
+
oldValue: void 0
|
|
910
1395
|
});
|
|
911
|
-
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
912
|
-
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(1);
|
|
913
1396
|
});
|
|
914
|
-
(0, _globals.test)('
|
|
915
|
-
var
|
|
916
|
-
var onDeepUpdate = _globals.jest.fn();
|
|
1397
|
+
(0, _globals.test)('`options.watch` should work with field path of nested array', function () {
|
|
1398
|
+
var onChange = _globals.jest.fn();
|
|
917
1399
|
var _renderHook26 = (0, _react.renderHook)(function () {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
extraValue: extraValue
|
|
924
|
-
}, []);
|
|
925
|
-
(0, _ahooks.useUpdateEffect)(function () {
|
|
926
|
-
onUpdate();
|
|
927
|
-
}, [reducers]);
|
|
928
|
-
useDeepCompareUpdate(function () {
|
|
929
|
-
onDeepUpdate();
|
|
930
|
-
}, [reducers]);
|
|
931
|
-
return setExtraValue;
|
|
1400
|
+
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1401
|
+
watch: {
|
|
1402
|
+
'nestedList.size': onChange
|
|
1403
|
+
}
|
|
1404
|
+
});
|
|
932
1405
|
}),
|
|
933
1406
|
result = _renderHook26.result;
|
|
934
|
-
|
|
935
|
-
(0,
|
|
1407
|
+
var cores = result.current;
|
|
1408
|
+
var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1409
|
+
setEntity = _cores15[1].setEntity;
|
|
1410
|
+
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
|
|
936
1411
|
(0, _react.act)(function () {
|
|
937
|
-
|
|
1412
|
+
setEntity({
|
|
1413
|
+
nestedList: [[[defaultFile]]]
|
|
1414
|
+
});
|
|
1415
|
+
});
|
|
1416
|
+
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(1);
|
|
1417
|
+
(0, _globals.expect)(onChange).toHaveBeenCalledWith({
|
|
1418
|
+
fieldPaths: ['nestedList', '0', '0', '0', 'size'],
|
|
1419
|
+
newEntity: {
|
|
1420
|
+
nestedList: [[[defaultFile]]]
|
|
1421
|
+
},
|
|
1422
|
+
oldEntity: {},
|
|
1423
|
+
newValue: 0,
|
|
1424
|
+
oldValue: void 0
|
|
1425
|
+
});
|
|
1426
|
+
(0, _react.act)(function () {
|
|
1427
|
+
setEntity({
|
|
1428
|
+
nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1429
|
+
size: 100
|
|
1430
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1431
|
+
size: 200
|
|
1432
|
+
})]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1433
|
+
size: 300
|
|
1434
|
+
})]]]
|
|
1435
|
+
});
|
|
1436
|
+
});
|
|
1437
|
+
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(4);
|
|
1438
|
+
(0, _globals.expect)(onChange).toHaveBeenNthCalledWith(2, {
|
|
1439
|
+
fieldPaths: ['nestedList', '0', '0', '0', 'size'],
|
|
1440
|
+
newEntity: {
|
|
1441
|
+
nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1442
|
+
size: 100
|
|
1443
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1444
|
+
size: 200
|
|
1445
|
+
})]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1446
|
+
size: 300
|
|
1447
|
+
})]]]
|
|
1448
|
+
},
|
|
1449
|
+
oldEntity: {
|
|
1450
|
+
nestedList: [[[defaultFile]]]
|
|
1451
|
+
},
|
|
1452
|
+
newValue: 100,
|
|
1453
|
+
oldValue: 0
|
|
1454
|
+
});
|
|
1455
|
+
(0, _globals.expect)(onChange).toHaveBeenNthCalledWith(3, {
|
|
1456
|
+
fieldPaths: ['nestedList', '0', '0', '1', 'size'],
|
|
1457
|
+
newEntity: {
|
|
1458
|
+
nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1459
|
+
size: 100
|
|
1460
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1461
|
+
size: 200
|
|
1462
|
+
})]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1463
|
+
size: 300
|
|
1464
|
+
})]]]
|
|
1465
|
+
},
|
|
1466
|
+
oldEntity: {
|
|
1467
|
+
nestedList: [[[defaultFile]]]
|
|
1468
|
+
},
|
|
1469
|
+
newValue: 200,
|
|
1470
|
+
oldValue: void 0
|
|
1471
|
+
});
|
|
1472
|
+
(0, _globals.expect)(onChange).toHaveBeenNthCalledWith(4, {
|
|
1473
|
+
fieldPaths: ['nestedList', '1', '0', '0', 'size'],
|
|
1474
|
+
newEntity: {
|
|
1475
|
+
nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1476
|
+
size: 100
|
|
1477
|
+
}), _objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1478
|
+
size: 200
|
|
1479
|
+
})]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
1480
|
+
size: 300
|
|
1481
|
+
})]]]
|
|
1482
|
+
},
|
|
1483
|
+
oldEntity: {
|
|
1484
|
+
nestedList: [[[defaultFile]]]
|
|
1485
|
+
},
|
|
1486
|
+
newValue: 300,
|
|
1487
|
+
oldValue: void 0
|
|
938
1488
|
});
|
|
939
|
-
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
940
|
-
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
941
1489
|
});
|
|
942
|
-
(0, _globals.test)('should
|
|
943
|
-
var
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
1490
|
+
(0, _globals.test)('`options.watch` should work with field path of object', function () {
|
|
1491
|
+
var onExtChange = _globals.jest.fn();
|
|
1492
|
+
var onSizeChange = _globals.jest.fn();
|
|
1493
|
+
var _renderHook27 = (0, _react.renderHook)(function () {
|
|
1494
|
+
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1495
|
+
watch: {
|
|
1496
|
+
'obj.file.ext': onExtChange,
|
|
1497
|
+
'obj.file.size': onSizeChange
|
|
1498
|
+
}
|
|
1499
|
+
});
|
|
1500
|
+
}),
|
|
1501
|
+
result = _renderHook27.result;
|
|
1502
|
+
var cores = result.current;
|
|
1503
|
+
var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1504
|
+
setEntity = _cores16[1].setEntity;
|
|
1505
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(0);
|
|
1506
|
+
(0, _react.act)(function () {
|
|
1507
|
+
setEntity({
|
|
1508
|
+
obj: {
|
|
1509
|
+
file: {
|
|
1510
|
+
ext: EXT_1
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
});
|
|
1514
|
+
});
|
|
1515
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(1);
|
|
1516
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
|
|
1517
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
|
|
1518
|
+
fieldPaths: ['obj', 'file', 'ext'],
|
|
1519
|
+
newEntity: {
|
|
1520
|
+
obj: {
|
|
1521
|
+
file: {
|
|
1522
|
+
ext: EXT_1
|
|
1523
|
+
}
|
|
1524
|
+
}
|
|
1525
|
+
},
|
|
1526
|
+
oldEntity: {},
|
|
1527
|
+
newValue: EXT_1,
|
|
1528
|
+
oldValue: void 0
|
|
1529
|
+
});
|
|
1530
|
+
(0, _react.act)(function () {
|
|
1531
|
+
setEntity(function () {
|
|
1532
|
+
return {};
|
|
1533
|
+
});
|
|
1534
|
+
});
|
|
1535
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(2);
|
|
1536
|
+
(0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
|
|
1537
|
+
(0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
|
|
1538
|
+
fieldPaths: ['obj', 'file', 'ext'],
|
|
1539
|
+
newEntity: {},
|
|
1540
|
+
oldEntity: {
|
|
1541
|
+
obj: {
|
|
1542
|
+
file: {
|
|
1543
|
+
ext: EXT_1
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
},
|
|
1547
|
+
newValue: void 0,
|
|
1548
|
+
oldValue: EXT_1
|
|
1549
|
+
});
|
|
949
1550
|
});
|
|
950
1551
|
});
|
|
951
1552
|
});
|