@mic-rexjs/usecases-react 1.4.0 → 1.5.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/README.md +2 -2
- package/dist/index.min.js +1 -1
- package/es/components/UseCaseFragment/types.d.ts +1 -1
- package/es/hooks/useCompareDeps/index.js +3 -16
- package/es/hooks/useReducer/index.d.ts +2 -0
- package/es/hooks/useReducer/index.js +20 -0
- package/es/hooks/useUseCase/index.js +2 -2
- package/es/hooks/useUseCase/index.test.js +493 -41
- package/es/hooks/useUseCase/types.d.ts +18 -6
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- 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/hasField/index.d.ts +1 -0
- package/es/methods/hasField/index.js +6 -0
- package/es/methods/initEntityReducers/types.d.ts +1 -1
- package/es/methods/isSameArray/index.d.ts +1 -0
- package/es/methods/isSameArray/index.js +14 -0
- package/es/methods/triggerCallbacks/index.d.ts +1 -1
- package/es/methods/triggerCallbacks/index.js +3 -3
- package/es/methods/triggerWatchers/index.d.ts +1 -1
- package/es/methods/triggerWatchers/index.js +12 -8
- package/lib/hooks/useCompareDeps/index.js +3 -16
- package/lib/hooks/useReducer/index.js +30 -0
- package/lib/hooks/useUseCase/index.js +2 -2
- package/lib/hooks/useUseCase/index.test.js +643 -91
- package/lib/index.js +7 -0
- package/lib/methods/compareProperty/index.js +50 -0
- package/lib/methods/hasField/index.js +15 -0
- package/lib/methods/isSameArray/index.js +21 -0
- package/lib/methods/triggerCallbacks/index.js +3 -3
- package/lib/methods/triggerWatchers/index.js +16 -9
- package/package.json +1 -1
- package/es/hooks/useScope/index.d.ts +0 -2
- package/es/hooks/useScope/index.js +0 -3
- package/es/hooks/useScope/types.d.ts +0 -3
- package/lib/hooks/useScope/index.js +0 -10
- /package/es/{hooks/useScope → methods/compareProperty}/types.js +0 -0
- /package/lib/{hooks/useScope → methods/compareProperty}/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,10 +462,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
459
462
|
});
|
|
460
463
|
}),
|
|
461
464
|
result = _renderHook11.result;
|
|
462
|
-
|
|
463
|
-
var
|
|
464
|
-
|
|
465
|
-
reducers = _context14[1];
|
|
465
|
+
var cores = result.current;
|
|
466
|
+
var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
|
|
467
|
+
reducers = _cores9[1];
|
|
466
468
|
var setPath = reducers.setPath;
|
|
467
469
|
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
|
|
468
470
|
(0, _react.act)(function () {
|
|
@@ -484,10 +486,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
484
486
|
});
|
|
485
487
|
}),
|
|
486
488
|
result = _renderHook12.result;
|
|
487
|
-
var
|
|
488
|
-
var
|
|
489
|
-
path =
|
|
490
|
-
reducers =
|
|
489
|
+
var cores = result.current;
|
|
490
|
+
var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
|
|
491
|
+
path = _cores10[0].path,
|
|
492
|
+
reducers = _cores10[1];
|
|
491
493
|
var setPath = reducers.setPath;
|
|
492
494
|
(0, _globals.expect)(path).toBe('');
|
|
493
495
|
(0, _react.act)(function () {
|
|
@@ -524,22 +526,54 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
524
526
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
525
527
|
});
|
|
526
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 () {
|
|
527
561
|
var onPathChange1 = _globals.jest.fn();
|
|
528
562
|
var onPathChange2 = _globals.jest.fn();
|
|
529
563
|
var onPathChange = onPathChange1;
|
|
530
|
-
var
|
|
564
|
+
var _renderHook15 = (0, _react.renderHook)(function () {
|
|
531
565
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
532
566
|
watch: {
|
|
533
567
|
path: onPathChange
|
|
534
568
|
}
|
|
535
569
|
});
|
|
536
570
|
}),
|
|
537
|
-
result =
|
|
538
|
-
var
|
|
539
|
-
var
|
|
540
|
-
|
|
541
|
-
setPath =
|
|
542
|
-
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;
|
|
543
577
|
onPathChange = onPathChange2;
|
|
544
578
|
(0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
|
|
545
579
|
(0, _react.act)(function () {
|
|
@@ -549,26 +583,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
549
583
|
});
|
|
550
584
|
});
|
|
551
585
|
(0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
|
|
552
|
-
(0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith(
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
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
|
+
});
|
|
556
596
|
(0, _react.act)(function () {
|
|
557
597
|
setPath('');
|
|
558
598
|
});
|
|
559
599
|
(0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
|
|
560
|
-
(0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith(
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
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
|
+
});
|
|
567
613
|
});
|
|
568
614
|
(0, _globals.test)('when `deps` has changed, it should trigger update', function () {
|
|
569
615
|
var onUpdate = _globals.jest.fn();
|
|
570
616
|
var onDeepUpdate = _globals.jest.fn();
|
|
571
|
-
var
|
|
617
|
+
var _renderHook16 = (0, _react.renderHook)(function () {
|
|
572
618
|
var _useState3 = (0, _react2.useState)('user/'),
|
|
573
619
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
574
620
|
pathPrefix = _useState4[0],
|
|
@@ -584,7 +630,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
584
630
|
}, [context]);
|
|
585
631
|
return setPathPrefix;
|
|
586
632
|
}),
|
|
587
|
-
result =
|
|
633
|
+
result = _renderHook16.result;
|
|
588
634
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
589
635
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
590
636
|
(0, _react.act)(function () {
|
|
@@ -596,7 +642,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
596
642
|
(0, _globals.test)('empty `deps` should not trigger update', function () {
|
|
597
643
|
var onUpdate = _globals.jest.fn();
|
|
598
644
|
var onDeepUpdate = _globals.jest.fn();
|
|
599
|
-
var
|
|
645
|
+
var _renderHook17 = (0, _react.renderHook)(function () {
|
|
600
646
|
var _useState5 = (0, _react2.useState)('user/'),
|
|
601
647
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
602
648
|
pathPrefix = _useState6[0],
|
|
@@ -612,7 +658,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
612
658
|
}, [context]);
|
|
613
659
|
return setPathPrefix;
|
|
614
660
|
}),
|
|
615
|
-
result =
|
|
661
|
+
result = _renderHook17.result;
|
|
616
662
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
617
663
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
618
664
|
(0, _react.act)(function () {
|
|
@@ -624,29 +670,29 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
624
670
|
});
|
|
625
671
|
(0, _globals.describe)('`useUseCase` should work with 1+ arguments on non-entity mode', function () {
|
|
626
672
|
(0, _globals.test)('`entity` should equal `defaultFile`', function () {
|
|
627
|
-
var
|
|
673
|
+
var _renderHook18 = (0, _react.renderHook)(function () {
|
|
628
674
|
return (0, _.useUseCase)(mathUseCase);
|
|
629
675
|
}),
|
|
630
|
-
result =
|
|
676
|
+
result = _renderHook18.result;
|
|
631
677
|
var reducers = result.current;
|
|
632
678
|
(0, _globals.expect)(Array.isArray(reducers)).toBe(false);
|
|
633
679
|
});
|
|
634
680
|
(0, _globals.test)('returned reducer should work', function () {
|
|
635
|
-
var
|
|
681
|
+
var _renderHook19 = (0, _react.renderHook)(function () {
|
|
636
682
|
return (0, _.useUseCase)(mathUseCase);
|
|
637
683
|
}),
|
|
638
|
-
result =
|
|
684
|
+
result = _renderHook19.result;
|
|
639
685
|
var reducers = result.current;
|
|
640
686
|
var add = reducers.add;
|
|
641
687
|
(0, _globals.expect)(add(1, 2)).toBe(3);
|
|
642
688
|
});
|
|
643
689
|
(0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
|
|
644
|
-
var
|
|
690
|
+
var _renderHook20 = (0, _react.renderHook)(function () {
|
|
645
691
|
return (0, _.useUseCase)(mathUseCase, {
|
|
646
692
|
extraValue: 5
|
|
647
693
|
});
|
|
648
694
|
}),
|
|
649
|
-
result =
|
|
695
|
+
result = _renderHook20.result;
|
|
650
696
|
var reducers = result.current;
|
|
651
697
|
var add = reducers.add;
|
|
652
698
|
(0, _globals.expect)(add(1, 2)).toBe(8);
|
|
@@ -654,7 +700,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
654
700
|
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
655
701
|
var onUpdate = _globals.jest.fn();
|
|
656
702
|
var onDeepUpdate = _globals.jest.fn();
|
|
657
|
-
var
|
|
703
|
+
var _renderHook21 = (0, _react.renderHook)(function () {
|
|
658
704
|
var _useState7 = (0, _react2.useState)(0),
|
|
659
705
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
660
706
|
extraValue = _useState8[0],
|
|
@@ -670,7 +716,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
670
716
|
}, [reducers]);
|
|
671
717
|
return setExtraValue;
|
|
672
718
|
}),
|
|
673
|
-
result =
|
|
719
|
+
result = _renderHook21.result;
|
|
674
720
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
675
721
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
676
722
|
(0, _react.act)(function () {
|
|
@@ -682,7 +728,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
682
728
|
(0, _globals.test)('when `deps` change, it should update reducers', function () {
|
|
683
729
|
var onUpdate = _globals.jest.fn();
|
|
684
730
|
var onDeepUpdate = _globals.jest.fn();
|
|
685
|
-
var
|
|
731
|
+
var _renderHook22 = (0, _react.renderHook)(function () {
|
|
686
732
|
var _useState9 = (0, _react2.useState)(0),
|
|
687
733
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
688
734
|
extraValue = _useState10[0],
|
|
@@ -698,7 +744,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
698
744
|
}, [reducers]);
|
|
699
745
|
return setExtraValue;
|
|
700
746
|
}),
|
|
701
|
-
result =
|
|
747
|
+
result = _renderHook22.result;
|
|
702
748
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
703
749
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
704
750
|
(0, _react.act)(function () {
|
|
@@ -710,7 +756,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
710
756
|
(0, _globals.test)('empty `deps` should not update reducers', function () {
|
|
711
757
|
var onUpdate = _globals.jest.fn();
|
|
712
758
|
var onDeepUpdate = _globals.jest.fn();
|
|
713
|
-
var
|
|
759
|
+
var _renderHook23 = (0, _react.renderHook)(function () {
|
|
714
760
|
var _useState11 = (0, _react2.useState)(0),
|
|
715
761
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
716
762
|
extraValue = _useState12[0],
|
|
@@ -726,7 +772,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
726
772
|
}, [reducers]);
|
|
727
773
|
return setExtraValue;
|
|
728
774
|
}),
|
|
729
|
-
result =
|
|
775
|
+
result = _renderHook23.result;
|
|
730
776
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
731
777
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
732
778
|
(0, _react.act)(function () {
|
|
@@ -925,24 +971,37 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
925
971
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
|
|
926
972
|
_react.fireEvent.click(_react.screen.getByText(firstButtonText));
|
|
927
973
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
|
|
928
|
-
(0, _globals.expect)(onFirstExtChange).toHaveBeenLastCalledWith(
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
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
|
+
});
|
|
932
984
|
(0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(1);
|
|
933
985
|
(0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
|
|
934
986
|
_react.fireEvent.click(_react.screen.getByText(secondButtonText));
|
|
935
987
|
(0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(1);
|
|
936
|
-
(0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith(
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
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
|
+
});
|
|
940
998
|
(0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
|
|
941
999
|
(0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(2);
|
|
942
1000
|
});
|
|
943
1001
|
(0, _globals.test)('`options.watch` should be trigger in orders', function () {
|
|
944
1002
|
var changeTimes = 0;
|
|
945
|
-
var updateChangeTimes = function updateChangeTimes() {
|
|
1003
|
+
var updateChangeTimes = function updateChangeTimes(e) {
|
|
1004
|
+
void e;
|
|
946
1005
|
return ++changeTimes;
|
|
947
1006
|
};
|
|
948
1007
|
var onChangeA = _globals.jest.fn(updateChangeTimes);
|
|
@@ -996,5 +1055,498 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
996
1055
|
(0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
|
|
997
1056
|
(0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
|
|
998
1057
|
});
|
|
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();
|
|
1061
|
+
var _renderHook24 = (0, _react.renderHook)(function () {
|
|
1062
|
+
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1063
|
+
watch: {
|
|
1064
|
+
'list.ext': onExtChange,
|
|
1065
|
+
'list.size': onSizeChange
|
|
1066
|
+
}
|
|
1067
|
+
});
|
|
1068
|
+
}),
|
|
1069
|
+
result = _renderHook24.result;
|
|
1070
|
+
var cores = result.current;
|
|
1071
|
+
var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1072
|
+
setEntity = _cores13[1].setEntity;
|
|
1073
|
+
(0, _react.act)(function () {
|
|
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
|
|
1349
|
+
});
|
|
1350
|
+
});
|
|
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
|
+
};
|
|
1357
|
+
var _renderHook25 = (0, _react.renderHook)(function () {
|
|
1358
|
+
return (0, _.useUseCase)([], lengthUseCase, {
|
|
1359
|
+
watch: {
|
|
1360
|
+
length: onEntityLengthChange,
|
|
1361
|
+
'list.length': onListLengthChange
|
|
1362
|
+
}
|
|
1363
|
+
});
|
|
1364
|
+
}),
|
|
1365
|
+
result = _renderHook25.result;
|
|
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);
|
|
1371
|
+
(0, _react.act)(function () {
|
|
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
|
|
1395
|
+
});
|
|
1396
|
+
});
|
|
1397
|
+
(0, _globals.test)('`options.watch` should work with field path of nested array', function () {
|
|
1398
|
+
var onChange = _globals.jest.fn();
|
|
1399
|
+
var _renderHook26 = (0, _react.renderHook)(function () {
|
|
1400
|
+
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1401
|
+
watch: {
|
|
1402
|
+
'nestedList.size': onChange
|
|
1403
|
+
}
|
|
1404
|
+
});
|
|
1405
|
+
}),
|
|
1406
|
+
result = _renderHook26.result;
|
|
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);
|
|
1411
|
+
(0, _react.act)(function () {
|
|
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
|
|
1488
|
+
});
|
|
1489
|
+
});
|
|
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
|
+
});
|
|
1550
|
+
});
|
|
999
1551
|
});
|
|
1000
1552
|
});
|