@zajno/common 1.3.4 → 1.3.8

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.
Files changed (92) hide show
  1. package/coverage/clover.xml +123 -66
  2. package/coverage/coverage-final.json +40 -39
  3. package/coverage/lcov-report/index.html +45 -30
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  9. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/index.html +1 -1
  13. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  19. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  20. package/coverage/lcov-report/src/event.ts.html +1 -1
  21. package/coverage/lcov-report/src/fields/index.html +111 -0
  22. package/coverage/lcov-report/src/{viewModels/SelectViewModel.ts.html → fields/update.ts.html} +119 -182
  23. package/coverage/lcov-report/src/index.html +1 -1
  24. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  25. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  26. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  27. package/coverage/lcov-report/src/logger/index.html +1 -1
  28. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  31. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  32. package/coverage/lcov-report/src/math/calc.ts.html +19 -10
  33. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  34. package/coverage/lcov-report/src/math/index.html +19 -19
  35. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  36. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  37. package/coverage/lcov-report/src/types.ts.html +1 -1
  38. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  39. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  40. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  41. package/coverage/lcov-report/src/validation/index.html +1 -1
  42. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  43. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  46. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +51 -9
  47. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  48. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  49. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  50. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +34 -10
  51. package/coverage/lcov-report/src/viewModels/index.html +29 -29
  52. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  53. package/coverage/lcov-report/{enumHelper.ts.html → update.ts.html} +118 -193
  54. package/coverage/lcov.info +198 -55
  55. package/lib/fields/update.d.ts +17 -6
  56. package/lib/fields/update.d.ts.map +1 -1
  57. package/lib/fields/update.js +29 -13
  58. package/lib/fields/update.js.map +1 -1
  59. package/lib/ident.d.ts +6 -0
  60. package/lib/ident.d.ts.map +1 -0
  61. package/lib/ident.js +3 -0
  62. package/lib/ident.js.map +1 -0
  63. package/lib/math/calc.d.ts +1 -0
  64. package/lib/math/calc.d.ts.map +1 -1
  65. package/lib/math/calc.js +5 -1
  66. package/lib/math/calc.js.map +1 -1
  67. package/lib/unsubscriber.d.ts +4 -0
  68. package/lib/unsubscriber.d.ts.map +1 -1
  69. package/lib/unsubscriber.js +8 -1
  70. package/lib/unsubscriber.js.map +1 -1
  71. package/lib/viewModels/FlagModel.d.ts +2 -0
  72. package/lib/viewModels/FlagModel.d.ts.map +1 -1
  73. package/lib/viewModels/FlagModel.js +18 -0
  74. package/lib/viewModels/FlagModel.js.map +1 -1
  75. package/lib/viewModels/Validatable.d.ts +2 -1
  76. package/lib/viewModels/Validatable.d.ts.map +1 -1
  77. package/lib/viewModels/Validatable.js +7 -0
  78. package/lib/viewModels/Validatable.js.map +1 -1
  79. package/package.json +1 -1
  80. package/src/fields/__tests__/fields.update.test.ts +73 -0
  81. package/src/fields/update.ts +54 -20
  82. package/src/ident.ts +8 -0
  83. package/src/math/calc.ts +3 -0
  84. package/src/unsubscriber.ts +7 -0
  85. package/src/viewModels/FlagModel.ts +14 -0
  86. package/src/viewModels/Validatable.ts +8 -0
  87. package/coverage/lcov-report/NumberModel.ts.html +0 -188
  88. package/coverage/lcov-report/arrays.ts.html +0 -602
  89. package/coverage/lcov-report/calc.ts.html +0 -278
  90. package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +0 -137
  91. package/coverage/lcov-report/src/viewModels/labeled.ts.html +0 -128
  92. package/coverage/lcov-report/transitionObserver.ts.html +0 -536
@@ -1340,6 +1340,124 @@ BRF:53
1340
1340
  BRH:51
1341
1341
  end_of_record
1342
1342
  TN:
1343
+ SF:src/fields/update.ts
1344
+ FN:11,updateField
1345
+ FN:12,(anonymous_1)
1346
+ FN:12,(anonymous_2)
1347
+ FN:15,updateFieldExtended
1348
+ FN:24,(anonymous_4)
1349
+ FN:38,(anonymous_5)
1350
+ FN:39,(anonymous_6)
1351
+ FN:49,updateArray
1352
+ FN:69,(anonymous_8)
1353
+ FN:78,(anonymous_9)
1354
+ FN:79,(anonymous_10)
1355
+ FNF:11
1356
+ FNH:5
1357
+ FNDA:0,updateField
1358
+ FNDA:0,(anonymous_1)
1359
+ FNDA:0,(anonymous_2)
1360
+ FNDA:0,updateFieldExtended
1361
+ FNDA:0,(anonymous_4)
1362
+ FNDA:38,(anonymous_5)
1363
+ FNDA:0,(anonymous_6)
1364
+ FNDA:6,updateArray
1365
+ FNDA:31,(anonymous_8)
1366
+ FNDA:12,(anonymous_9)
1367
+ FNDA:15,(anonymous_10)
1368
+ DA:11,1
1369
+ DA:12,0
1370
+ DA:15,1
1371
+ DA:24,0
1372
+ DA:26,0
1373
+ DA:28,0
1374
+ DA:29,0
1375
+ DA:30,0
1376
+ DA:31,0
1377
+ DA:34,0
1378
+ DA:38,38
1379
+ DA:39,1
1380
+ DA:49,1
1381
+ DA:54,6
1382
+ DA:55,1
1383
+ DA:58,5
1384
+ DA:59,5
1385
+ DA:63,5
1386
+ DA:64,5
1387
+ DA:67,5
1388
+ DA:68,5
1389
+ DA:69,31
1390
+ DA:70,10
1391
+ DA:71,10
1392
+ DA:72,10
1393
+ DA:78,5
1394
+ DA:79,15
1395
+ DA:80,12
1396
+ DA:81,12
1397
+ DA:82,7
1398
+ DA:83,7
1399
+ DA:84,5
1400
+ DA:85,1
1401
+ DA:89,5
1402
+ DA:90,5
1403
+ DA:91,4
1404
+ DA:94,5
1405
+ LF:37
1406
+ LH:29
1407
+ BRDA:11,0,0,0
1408
+ BRDA:21,1,0,0
1409
+ BRDA:24,2,0,0
1410
+ BRDA:24,2,1,0
1411
+ BRDA:28,3,0,0
1412
+ BRDA:28,3,1,0
1413
+ BRDA:28,4,0,0
1414
+ BRDA:28,4,1,0
1415
+ BRDA:54,5,0,1
1416
+ BRDA:54,5,1,5
1417
+ BRDA:60,6,0,5
1418
+ BRDA:60,6,1,0
1419
+ BRDA:60,7,0,2
1420
+ BRDA:60,7,1,3
1421
+ BRDA:60,8,0,2
1422
+ BRDA:60,8,1,3
1423
+ BRDA:60,9,0,5
1424
+ BRDA:60,9,1,5
1425
+ BRDA:63,10,0,5
1426
+ BRDA:63,10,1,4
1427
+ BRDA:63,11,0,2
1428
+ BRDA:63,11,1,3
1429
+ BRDA:63,12,0,5
1430
+ BRDA:63,12,1,5
1431
+ BRDA:64,13,0,5
1432
+ BRDA:64,13,1,4
1433
+ BRDA:64,14,0,2
1434
+ BRDA:64,14,1,3
1435
+ BRDA:64,15,0,5
1436
+ BRDA:64,15,1,5
1437
+ BRDA:67,16,0,5
1438
+ BRDA:67,16,1,0
1439
+ BRDA:67,17,0,2
1440
+ BRDA:67,17,1,3
1441
+ BRDA:67,18,0,5
1442
+ BRDA:67,18,1,5
1443
+ BRDA:69,19,0,10
1444
+ BRDA:69,19,1,5
1445
+ BRDA:81,20,0,7
1446
+ BRDA:81,20,1,5
1447
+ BRDA:84,21,0,1
1448
+ BRDA:84,21,1,4
1449
+ BRDA:89,22,0,2
1450
+ BRDA:89,22,1,3
1451
+ BRDA:89,23,0,5
1452
+ BRDA:89,23,1,5
1453
+ BRDA:90,24,0,4
1454
+ BRDA:90,24,1,1
1455
+ BRDA:91,25,0,4
1456
+ BRDA:91,25,1,3
1457
+ BRF:50
1458
+ BRH:40
1459
+ end_of_record
1460
+ TN:
1343
1461
  SF:src/logger/batch.ts
1344
1462
  FN:3,batchLoggers
1345
1463
  FN:5,(anonymous_1)
@@ -1891,7 +2009,8 @@ FN:24,getIntersection
1891
2009
  FN:46,roundNumber
1892
2010
  FN:57,roundHalf
1893
2011
  FN:61,random
1894
- FNF:7
2012
+ FN:67,badRandomString
2013
+ FNF:8
1895
2014
  FNH:7
1896
2015
  FNDA:13,clamp
1897
2016
  FNDA:5,clamp01
@@ -1900,6 +2019,7 @@ FNDA:2,getIntersection
1900
2019
  FNDA:9,roundNumber
1901
2020
  FNDA:2,roundHalf
1902
2021
  FNDA:10,random
2022
+ FNDA:0,badRandomString
1903
2023
  DA:2,7
1904
2024
  DA:3,13
1905
2025
  DA:4,3
@@ -1933,8 +2053,10 @@ DA:61,7
1933
2053
  DA:62,10
1934
2054
  DA:63,10
1935
2055
  DA:64,10
1936
- LF:33
1937
- LH:33
2056
+ DA:67,7
2057
+ DA:68,0
2058
+ LF:35
2059
+ LH:34
1938
2060
  BRDA:2,0,0,1
1939
2061
  BRDA:2,1,0,2
1940
2062
  BRDA:2,2,0,2
@@ -1975,7 +2097,8 @@ BRDA:61,17,0,0
1975
2097
  BRDA:61,18,0,6
1976
2098
  BRDA:64,19,0,8
1977
2099
  BRDA:64,19,1,2
1978
- BRF:40
2100
+ BRDA:67,20,0,0
2101
+ BRF:41
1979
2102
  BRH:37
1980
2103
  end_of_record
1981
2104
  TN:
@@ -2315,18 +2438,22 @@ TN:
2315
2438
  SF:src/viewModels/FlagModel.ts
2316
2439
  FN:20,(anonymous_0)
2317
2440
  FN:36,(anonymous_1)
2318
- FN:41,(anonymous_2)
2319
- FN:25,(anonymous_3)
2320
- FN:29,(anonymous_4)
2321
- FN:33,(anonymous_5)
2322
- FNF:6
2441
+ FN:43,(anonymous_2)
2442
+ FN:50,(anonymous_3)
2443
+ FN:55,(anonymous_4)
2444
+ FN:25,(anonymous_5)
2445
+ FN:29,(anonymous_6)
2446
+ FN:33,(anonymous_7)
2447
+ FNF:8
2323
2448
  FNH:3
2324
2449
  FNDA:17,(anonymous_0)
2325
2450
  FNDA:0,(anonymous_1)
2326
2451
  FNDA:0,(anonymous_2)
2327
- FNDA:39,(anonymous_3)
2328
- FNDA:38,(anonymous_4)
2329
- FNDA:0,(anonymous_5)
2452
+ FNDA:0,(anonymous_3)
2453
+ FNDA:0,(anonymous_4)
2454
+ FNDA:39,(anonymous_5)
2455
+ FNDA:38,(anonymous_6)
2456
+ FNDA:0,(anonymous_7)
2330
2457
  DA:1,3
2331
2458
  DA:15,3
2332
2459
  DA:18,17
@@ -2337,10 +2464,18 @@ DA:30,38
2337
2464
  DA:33,0
2338
2465
  DA:36,17
2339
2466
  DA:37,0
2340
- DA:41,17
2341
- DA:42,0
2342
- LF:12
2343
- LH:9
2467
+ DA:38,0
2468
+ DA:39,0
2469
+ DA:43,17
2470
+ DA:44,0
2471
+ DA:45,0
2472
+ DA:46,0
2473
+ DA:50,17
2474
+ DA:51,0
2475
+ DA:55,17
2476
+ DA:56,0
2477
+ LF:20
2478
+ LH:11
2344
2479
  BRDA:20,0,0,13
2345
2480
  BRF:1
2346
2481
  BRH:1
@@ -2717,26 +2852,28 @@ FN:31,(anonymous_2)
2717
2852
  FN:33,(anonymous_3)
2718
2853
  FN:35,(anonymous_4)
2719
2854
  FN:41,(anonymous_5)
2720
- FN:64,(anonymous_6)
2721
- FN:70,(anonymous_7)
2722
- FN:75,(anonymous_8)
2723
- FN:77,(anonymous_9)
2724
- FN:80,(anonymous_10)
2725
- FN:81,(anonymous_11)
2726
- FNF:12
2855
+ FN:49,(anonymous_6)
2856
+ FN:72,(anonymous_7)
2857
+ FN:78,(anonymous_8)
2858
+ FN:83,(anonymous_9)
2859
+ FN:85,(anonymous_10)
2860
+ FN:88,(anonymous_11)
2861
+ FN:89,(anonymous_12)
2862
+ FNF:13
2727
2863
  FNH:6
2728
2864
  FNDA:1,(anonymous_0)
2729
2865
  FNDA:11,(anonymous_1)
2730
2866
  FNDA:0,(anonymous_2)
2731
2867
  FNDA:1,(anonymous_3)
2732
2868
  FNDA:11,(anonymous_4)
2733
- FNDA:1,(anonymous_5)
2734
- FNDA:0,(anonymous_6)
2735
- FNDA:2,(anonymous_7)
2736
- FNDA:0,(anonymous_8)
2869
+ FNDA:0,(anonymous_5)
2870
+ FNDA:1,(anonymous_6)
2871
+ FNDA:0,(anonymous_7)
2872
+ FNDA:2,(anonymous_8)
2737
2873
  FNDA:0,(anonymous_9)
2738
2874
  FNDA:0,(anonymous_10)
2739
2875
  FNDA:0,(anonymous_11)
2876
+ FNDA:0,(anonymous_12)
2740
2877
  DA:1,2
2741
2878
  DA:2,2
2742
2879
  DA:3,2
@@ -2753,27 +2890,31 @@ DA:33,1
2753
2890
  DA:36,11
2754
2891
  DA:37,11
2755
2892
  DA:38,11
2756
- DA:42,1
2893
+ DA:42,0
2757
2894
  DA:43,0
2758
- DA:46,1
2759
- DA:47,1
2760
- DA:48,1
2761
- DA:52,0
2895
+ DA:44,0
2896
+ DA:46,0
2897
+ DA:50,1
2898
+ DA:51,0
2899
+ DA:54,1
2762
2900
  DA:55,1
2763
2901
  DA:56,1
2764
- DA:58,0
2765
- DA:59,0
2766
- DA:61,1
2767
- DA:65,0
2902
+ DA:60,0
2903
+ DA:63,1
2904
+ DA:64,1
2768
2905
  DA:66,0
2769
- DA:70,2
2770
- DA:71,2
2771
- DA:72,2
2772
- DA:76,0
2773
- DA:77,0
2774
- DA:80,0
2775
- DA:81,0
2776
- LF:36
2906
+ DA:67,0
2907
+ DA:69,1
2908
+ DA:73,0
2909
+ DA:74,0
2910
+ DA:78,2
2911
+ DA:79,2
2912
+ DA:80,2
2913
+ DA:84,0
2914
+ DA:85,0
2915
+ DA:88,0
2916
+ DA:89,0
2917
+ LF:40
2777
2918
  LH:25
2778
2919
  BRDA:36,0,0,11
2779
2920
  BRDA:36,0,1,11
@@ -2786,17 +2927,19 @@ BRDA:37,3,1,0
2786
2927
  BRDA:37,4,0,11
2787
2928
  BRDA:37,4,1,11
2788
2929
  BRDA:42,5,0,0
2789
- BRDA:42,5,1,1
2790
- BRDA:49,6,0,1
2791
- BRDA:49,6,1,0
2792
- BRDA:55,7,0,1
2793
- BRDA:55,7,1,0
2794
- BRDA:59,8,0,0
2795
- BRDA:59,8,1,0
2796
- BRDA:75,9,0,0
2797
- BRDA:76,10,0,0
2798
- BRDA:76,10,1,0
2799
- BRF:21
2930
+ BRDA:42,5,1,0
2931
+ BRDA:50,6,0,0
2932
+ BRDA:50,6,1,1
2933
+ BRDA:57,7,0,1
2934
+ BRDA:57,7,1,0
2935
+ BRDA:63,8,0,1
2936
+ BRDA:63,8,1,0
2937
+ BRDA:67,9,0,0
2938
+ BRDA:67,9,1,0
2939
+ BRDA:83,10,0,0
2940
+ BRDA:84,11,0,0
2941
+ BRDA:84,11,1,0
2942
+ BRF:23
2800
2943
  BRH:11
2801
2944
  end_of_record
2802
2945
  TN:
@@ -1,9 +1,20 @@
1
- export declare type Getter<T> = (obj: Partial<T>) => T[keyof T];
2
- export declare type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
3
- export declare type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
4
- export declare function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged?: Comparer<T>): boolean;
5
- export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Getter<T>, set: Setter<T>, hasChanged?: Comparer<T>): boolean;
6
- export declare function updateArray<T extends string>(current: T[] | null, updated: T[]): {
1
+ import { Comparator } from '../types';
2
+ export declare namespace Fields {
3
+ type Getter<T> = (obj: Partial<T>) => T[keyof T];
4
+ type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
5
+ type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
6
+ type Updater<T> = (target: T, source: T) => T;
7
+ }
8
+ export declare function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged?: Fields.Comparer<T>): boolean;
9
+ export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Fields.Getter<T>, set: Fields.Setter<T>, hasChanged?: Fields.Comparer<T>): boolean;
10
+ export declare type UpdateArrayOptions<T> = {
11
+ additive?: boolean;
12
+ clone?: boolean;
13
+ comparator?: Comparator<T>;
14
+ updater?: Fields.Updater<T>;
15
+ sorter?: Comparator<T, number> | null | undefined;
16
+ };
17
+ export declare function updateArray<T>(target: T[] | null, source: T[], options?: UpdateArrayOptions<T>): {
7
18
  changed: number;
8
19
  result: T[];
9
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,oBAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;AACnE,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;AAE9E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAErI;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EACd,UAAU,GAAE,QAAQ,CAAC,CAAC,CAAQ,GAC/B,OAAO,CAcT;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,CA+BjH"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC9E,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CACxD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAE5I;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GACtC,OAAO,CAcT;AAKD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAClB,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,CA6ClC"}
@@ -16,28 +16,44 @@ function updateFieldExtended(target, source, diff, get, set, hasChanged = null)
16
16
  return changed;
17
17
  }
18
18
  exports.updateFieldExtended = updateFieldExtended;
19
- function updateArray(current, updated) {
20
- if (!updated) {
21
- return { changed: 0, result: current };
19
+ const DefaultComparator = (v1, v2) => v1 === v2;
20
+ const DefaultUpdater = (v1, v2) => Object.assign(v1, v2);
21
+ function updateArray(target, source, options) {
22
+ if (!source) {
23
+ return { changed: 0, result: target };
22
24
  }
23
25
  let changed = 0;
24
- const result = current || [];
26
+ const result = Array.isArray(target)
27
+ ? ((options === null || options === void 0 ? void 0 : options.clone) ? target.slice() : target)
28
+ : [];
29
+ const comparator = (options === null || options === void 0 ? void 0 : options.comparator) || DefaultComparator;
30
+ const updater = (options === null || options === void 0 ? void 0 : options.updater) || DefaultUpdater;
25
31
  // remove all missing elements
26
- for (let i = 0; i < result.length; ++i) {
27
- if (!updated.includes(result[i])) {
28
- result.splice(i, 1);
29
- ++changed;
30
- --i;
32
+ if (!(options === null || options === void 0 ? void 0 : options.additive)) {
33
+ for (let i = 0; i < result.length; ++i) {
34
+ if (source.find(item => comparator(item, result[i])) == null) {
35
+ result.splice(i, 1);
36
+ ++changed;
37
+ --i;
38
+ }
31
39
  }
32
40
  }
33
- // add all new elements
34
- updated.forEach(i => {
35
- if (!result.includes(i)) {
41
+ // add all new elements and update existing
42
+ source.forEach(i => {
43
+ const existingIndex = result.findIndex(item => comparator(i, item));
44
+ const existingItem = result[existingIndex];
45
+ if (existingIndex < 0) {
36
46
  result.push(i);
37
47
  ++changed;
38
48
  }
49
+ else if (typeof existingItem === 'object') {
50
+ result[existingIndex] = updater(existingItem, i);
51
+ }
39
52
  });
40
- result.sort();
53
+ const sorter = options === null || options === void 0 ? void 0 : options.sorter;
54
+ if (sorter !== null) {
55
+ result.sort(sorter || undefined);
56
+ }
41
57
  return {
42
58
  result,
43
59
  changed,
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":";;;AAKA,SAAgB,WAAW,CAAI,MAAS,EAAE,MAAkB,EAAE,IAAgB,EAAE,GAAY,EAAE,aAA0B,IAAI;IACxH,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AACpG,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAC/B,MAAS,EACT,MAAkB,EAClB,IAAgB,EAChB,GAAc,EACd,GAAc,EACd,aAA0B,IAAI;IAG9B,UAAU,GAAG,UAAU,IAAI,CAAC,CAAC,EAAK,EAAE,EAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QACzD,OAAO,GAAG,IAAI,CAAC;QACf,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5B;IAED,OAAO,OAAO,CAAC;AAEnB,CAAC;AArBD,kDAqBC;AAED,SAAgB,WAAW,CAAmB,OAAmB,EAAE,OAAY;IAC3E,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KAC1C;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAE7B,8BAA8B;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,EAAE,OAAO,CAAC;YACV,EAAE,CAAC,CAAC;SACP;KACJ;IAED,uBAAuB;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,EAAE,OAAO,CAAC;SACb;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,EAAE,CAAC;IAEd,OAAO;QACH,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"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"}
package/lib/ident.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export declare type Ident<T, K extends keyof any = string> = T & {
2
+ id: K;
3
+ };
4
+ export declare type IdentAny = Ident<{}>;
5
+ export default Ident;
6
+ //# sourceMappingURL=ident.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ident.d.ts","sourceRoot":"","sources":["../src/ident.ts"],"names":[],"mappings":"AACA,oBAAY,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG;IACrD,EAAE,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,oBAAY,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAEjC,eAAe,KAAK,CAAC"}
package/lib/ident.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ident.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ident.js","sourceRoot":"","sources":["../src/ident.ts"],"names":[],"mappings":""}
@@ -11,4 +11,5 @@ export declare function getIntersection(v1: number, v2: number, r1: number, r2:
11
11
  export declare function roundNumber(val: number, signs?: number, mode?: 'floor' | 'ceil'): number;
12
12
  export declare function roundHalf(num: number): number;
13
13
  export declare function random(min?: number, max?: number, trunc?: boolean): number;
14
+ export declare function badRandomString(length?: number): string;
14
15
  //# sourceMappingURL=calc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calc.d.ts","sourceRoot":"","sources":["../../src/math/calc.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAkB,EAAE,KAAK,UAAQ,UAUjG;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAElC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,WAI7D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;CAAE,CAoB/I;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,UAS1E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,MAAM,CAAC,GAAG,GAAE,MAAU,EAAE,GAAG,GAAE,MAAU,EAAE,KAAK,UAAO,UAIpE"}
1
+ {"version":3,"file":"calc.d.ts","sourceRoot":"","sources":["../../src/math/calc.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAkB,EAAE,KAAK,UAAQ,UAUjG;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAElC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,WAI7D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;CAAE,CAoB/I;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,UAS1E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,MAAM,CAAC,GAAG,GAAE,MAAU,EAAE,GAAG,GAAE,MAAU,EAAE,KAAK,UAAO,UAIpE;AAED,wBAAgB,eAAe,CAAC,MAAM,SAAK,UAE1C"}
package/lib/math/calc.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.random = exports.roundHalf = exports.roundNumber = exports.getIntersection = exports.contains = exports.clamp01 = exports.clamp = void 0;
3
+ exports.badRandomString = exports.random = exports.roundHalf = exports.roundNumber = exports.getIntersection = exports.contains = exports.clamp01 = exports.clamp = void 0;
4
4
  function clamp(val, min = undefined, max = undefined, cycle = false) {
5
5
  if (min != null && val < min) {
6
6
  return (max != null && cycle) ? max : min;
@@ -67,4 +67,8 @@ function random(min = 0, max = 1, trunc = true) {
67
67
  return trunc ? Math.trunc(res) : res;
68
68
  }
69
69
  exports.random = random;
70
+ function badRandomString(length = 12) {
71
+ return Math.random().toString(26).slice(2, clamp(length, 0, 12));
72
+ }
73
+ exports.badRandomString = badRandomString;
70
74
  //# sourceMappingURL=calc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/math/calc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/math/calc.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,8 @@ export declare class Unsubscriber {
14
14
  dispose(log?: boolean): void;
15
15
  }
16
16
  export declare function combineDisposers(...items: Disposer[]): Disposer;
17
+ export declare class Disposable implements IDisposable {
18
+ protected readonly disposer: Unsubscriber;
19
+ dispose: () => void;
20
+ }
17
21
  //# sourceMappingURL=unsubscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsubscriber.d.ts","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,YAAY;IAKT,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;gBAE/B,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqB1C,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;CAYtB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAE/D"}
1
+ {"version":3,"file":"unsubscriber.d.ts","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,YAAY;IAKT,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;gBAE/B,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqB1C,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;CAYtB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAE/D;AAED,qBAAa,UAAW,YAAW,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,eAAsB;IAE1C,OAAO,aAAiC;CAClD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineDisposers = exports.Unsubscriber = void 0;
3
+ exports.Disposable = exports.combineDisposers = exports.Unsubscriber = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const logger_1 = tslib_1.__importDefault(require("./logger"));
6
6
  class Unsubscriber {
@@ -51,4 +51,11 @@ function combineDisposers(...items) {
51
51
  return () => items.forEach(i => i());
52
52
  }
53
53
  exports.combineDisposers = combineDisposers;
54
+ class Disposable {
55
+ constructor() {
56
+ this.disposer = new Unsubscriber();
57
+ this.dispose = () => this.disposer.dispose();
58
+ }
59
+ }
60
+ exports.Disposable = Disposable;
54
61
  //# sourceMappingURL=unsubscriber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsubscriber.js","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,YAAY;IAKrB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAe,EAAE,CAAC;QAC5B,SAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEL,CAAC;IAEhD,GAAG,CAAC,CAAyB,EAAE,EAAW;QACtC,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAa,OAAO,CAAC,KAAK,UAAU;YACxC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACJ;AAvDD,oCAuDC;AAED,SAAgB,gBAAgB,CAAC,GAAG,KAAiB;IACjD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC"}
1
+ {"version":3,"file":"unsubscriber.js","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,YAAY;IAKrB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAe,EAAE,CAAC;QAC5B,SAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEL,CAAC;IAEhD,GAAG,CAAC,CAAyB,EAAE,EAAW;QACtC,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAa,OAAO,CAAC,KAAK,UAAU;YACxC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACJ;AAvDD,oCAuDC;AAED,SAAgB,gBAAgB,CAAC,GAAG,KAAiB;IACjD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,MAAa,UAAU;IAAvB;QAEuB,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAE1C,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;CAAA;AALD,gCAKC"}
@@ -13,6 +13,8 @@ export declare class FlagModel implements IFlagModel, IFlagModelReadonly {
13
13
  get value(): boolean;
14
14
  set value(value: boolean);
15
15
  get isDefault(): boolean;
16
+ setTrue: () => boolean;
17
+ setFalse: () => boolean;
16
18
  toggle: () => void;
17
19
  reset: () => void;
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlagModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IACrE,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,SAAU,YAAW,UAAU,EAAE,kBAAkB;IAG5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,OAAO,UAAQ;IAK3B,IAAI,KAAK,IAIQ,OAAO,CAFvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,SAAS,YAAoC;IAGjD,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
1
+ {"version":3,"file":"FlagModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IACrE,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,SAAU,YAAW,UAAU,EAAE,kBAAkB;IAG5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,OAAO,UAAQ;IAK3B,IAAI,KAAK,IAIQ,OAAO,CAFvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,SAAS,YAAoC;IAGjD,OAAO,gBAIL;IAGF,QAAQ,gBAIN;IAGF,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
@@ -6,6 +6,16 @@ const mobx_1 = require("mobx");
6
6
  class FlagModel {
7
7
  constructor(initial = false) {
8
8
  this._value = false;
9
+ this.setTrue = () => {
10
+ const v = this.value;
11
+ this.value = true;
12
+ return !v;
13
+ };
14
+ this.setFalse = () => {
15
+ const v = this.value;
16
+ this.value = false;
17
+ return v;
18
+ };
9
19
  this.toggle = () => {
10
20
  this._value = !this._value;
11
21
  };
@@ -27,6 +37,14 @@ tslib_1.__decorate([
27
37
  mobx_1.observable,
28
38
  tslib_1.__metadata("design:type", Boolean)
29
39
  ], FlagModel.prototype, "_value", void 0);
40
+ tslib_1.__decorate([
41
+ mobx_1.action,
42
+ tslib_1.__metadata("design:type", Object)
43
+ ], FlagModel.prototype, "setTrue", void 0);
44
+ tslib_1.__decorate([
45
+ mobx_1.action,
46
+ tslib_1.__metadata("design:type", Object)
47
+ ], FlagModel.prototype, "setFalse", void 0);
30
48
  tslib_1.__decorate([
31
49
  mobx_1.action,
32
50
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAc1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;QAkBhC,WAAM,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;QAGF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAtBE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;CAWpD;AA1BG;IADC,iBAAU;;yCACqB;AAkBhC;IADC,aAAM;;yCAGL;AAGF;IADC,aAAM;;wCAGL;AA5BN,8BA6BC"}
1
+ {"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAc1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;QAkBhC,YAAO,GAAG,GAAG,EAAE;YACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;QAGF,aAAQ,GAAG,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAGF,WAAM,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;QAGF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QApCE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;CAyBpD;AAxCG;IADC,iBAAU;;yCACqB;AAkBhC;IADC,aAAM;;0CAKL;AAGF;IADC,aAAM;;2CAKL;AAGF;IADC,aAAM;;yCAGL;AAGF;IADC,aAAM;;wCAGL;AA1CN,8BA2CC"}
@@ -1,4 +1,4 @@
1
- import { ValidatorFunction, ValidatorFunctionAsync } from '../validation';
1
+ import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors } from '../validation';
2
2
  export declare type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
3
3
  export declare type ValidationErrorsStrings = {
4
4
  [code: number]: string;
@@ -17,6 +17,7 @@ export declare abstract class ValidatableModel<T = string> {
17
17
  get isValid(): boolean;
18
18
  get error(): string;
19
19
  setValidationConfig(config?: ValidationConfig<T>): this;
20
+ testValidate(value: T): Promise<ValidationErrors>;
20
21
  validate(): Promise<boolean>;
21
22
  getIsInvalid(): Promise<boolean>;
22
23
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAqC,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACjF,oBAAY,uBAAuB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjE,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAGF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAiC;IAGjD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAKxC,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAMjD,QAAQ;IAuBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
1
+ {"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACjF,oBAAY,uBAAuB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjE,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAGF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,QAAQ,CAAiC;IAGjD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAKxC,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAM1C,YAAY,CAAC,KAAK,EAAE,CAAC;IAQ5B,QAAQ;IAuBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
@@ -22,6 +22,13 @@ class ValidatableModel {
22
22
  this._strings = config === null || config === void 0 ? void 0 : config.errors;
23
23
  return this;
24
24
  }
25
+ async testValidate(value) {
26
+ if (this._validator) {
27
+ const res = await this._validator(value);
28
+ return res;
29
+ }
30
+ return null;
31
+ }
25
32
  async validate() {
26
33
  if (!this._validator) {
27
34
  return true;