@zajno/common 1.4.19 → 1.5.2

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 (79) hide show
  1. package/coverage/clover.xml +75 -73
  2. package/coverage/coverage-final.json +3 -3
  3. package/coverage/lcov-report/index.html +22 -22
  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/async/timeout.ts.html +1 -1
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +1 -1
  24. package/coverage/lcov-report/src/fields/index.html +1 -1
  25. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +15 -15
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  36. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  42. package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
  43. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  44. package/coverage/lcov-report/src/types.ts.html +13 -13
  45. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/helpers.ts.html +7 -4
  48. package/coverage/lcov-report/src/validation/index.html +4 -4
  49. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  51. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  52. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  54. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +54 -21
  59. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/index.html +10 -10
  62. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  63. package/coverage/lcov.info +122 -118
  64. package/lib/services/storage/index.d.ts +4 -0
  65. package/lib/services/storage/index.d.ts.map +1 -1
  66. package/lib/services/storage/index.js +13 -1
  67. package/lib/services/storage/index.js.map +1 -1
  68. package/lib/validation/helpers.d.ts +1 -1
  69. package/lib/validation/helpers.d.ts.map +1 -1
  70. package/lib/validation/helpers.js +2 -2
  71. package/lib/validation/helpers.js.map +1 -1
  72. package/lib/viewModels/SelectModel.d.ts +5 -4
  73. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  74. package/lib/viewModels/SelectModel.js +14 -9
  75. package/lib/viewModels/SelectModel.js.map +1 -1
  76. package/package.json +1 -1
  77. package/src/services/storage/index.ts +17 -1
  78. package/src/validation/helpers.ts +2 -1
  79. package/src/viewModels/SelectModel.ts +23 -12
@@ -1028,30 +1028,30 @@ FN:25,(anonymous_3)
1028
1028
  FNF:4
1029
1029
  FNH:4
1030
1030
  FNDA:10,(anonymous_0)
1031
- FNDA:86,getValue
1031
+ FNDA:111,getValue
1032
1032
  FNDA:10,(anonymous_2)
1033
1033
  FNDA:7,(anonymous_3)
1034
1034
  DA:9,10
1035
1035
  DA:10,10
1036
- DA:11,86
1037
- DA:12,9
1038
- DA:14,77
1036
+ DA:11,111
1037
+ DA:12,10
1038
+ DA:14,101
1039
1039
  DA:15,77
1040
- DA:17,0
1040
+ DA:17,24
1041
1041
  DA:24,10
1042
1042
  DA:25,10
1043
1043
  LF:9
1044
- LH:8
1045
- BRDA:11,0,0,9
1046
- BRDA:11,0,1,77
1044
+ LH:9
1045
+ BRDA:11,0,0,10
1046
+ BRDA:11,0,1,101
1047
1047
  BRDA:14,1,0,77
1048
- BRDA:14,1,1,0
1048
+ BRDA:14,1,1,24
1049
1049
  BRDA:9,2,0,10
1050
1050
  BRDA:9,2,1,10
1051
1051
  BRDA:24,3,0,10
1052
1052
  BRDA:24,3,1,10
1053
1053
  BRF:8
1054
- BRH:7
1054
+ BRH:8
1055
1055
  end_of_record
1056
1056
  TN:
1057
1057
  SF:src/__tests__/helpers/main.ts
@@ -2945,7 +2945,7 @@ FN:9,createShouldBeEqualTo
2945
2945
  FN:10,(anonymous_1)
2946
2946
  FN:13,throwNotOk
2947
2947
  FN:19,validateObject
2948
- FN:27,(anonymous_4)
2948
+ FN:28,(anonymous_4)
2949
2949
  FNF:5
2950
2950
  FNH:0
2951
2951
  FNDA:0,createShouldBeEqualTo
@@ -2961,19 +2961,19 @@ DA:13,5
2961
2961
  DA:14,0
2962
2962
  DA:15,0
2963
2963
  DA:19,5
2964
- DA:25,0
2965
- DA:27,0
2964
+ DA:26,0
2966
2965
  DA:28,0
2967
2966
  DA:29,0
2968
2967
  DA:30,0
2969
2968
  DA:31,0
2970
- DA:34,0
2969
+ DA:32,0
2971
2970
  DA:35,0
2972
2971
  DA:36,0
2973
- DA:39,0
2972
+ DA:37,0
2974
2973
  DA:40,0
2975
2974
  DA:41,0
2976
- DA:45,0
2975
+ DA:42,0
2976
+ DA:46,0
2977
2977
  LF:21
2978
2978
  LH:5
2979
2979
  BRDA:10,0,0,0
@@ -2982,15 +2982,17 @@ BRDA:13,1,0,0
2982
2982
  BRDA:14,2,0,0
2983
2983
  BRDA:14,2,1,0
2984
2984
  BRDA:22,3,0,0
2985
- BRDA:30,4,0,0
2986
- BRDA:30,4,1,0
2987
- BRDA:35,5,0,0
2988
- BRDA:35,5,1,0
2989
- BRDA:35,6,0,0
2990
- BRDA:35,6,1,0
2985
+ BRDA:31,4,0,0
2986
+ BRDA:31,4,1,0
2987
+ BRDA:36,5,0,0
2988
+ BRDA:36,5,1,0
2989
+ BRDA:36,6,0,0
2990
+ BRDA:36,6,1,0
2991
2991
  BRDA:40,7,0,0
2992
2992
  BRDA:40,7,1,0
2993
- BRF:14
2993
+ BRDA:41,8,0,0
2994
+ BRDA:41,8,1,0
2995
+ BRF:16
2994
2996
  BRH:0
2995
2997
  end_of_record
2996
2998
  TN:
@@ -3516,32 +3518,32 @@ BRH:3
3516
3518
  end_of_record
3517
3519
  TN:
3518
3520
  SF:src/viewModels/SelectModel.ts
3519
- FN:19,(anonymous_0)
3520
- FN:17,(anonymous_1)
3521
- FN:86,(anonymous_2)
3522
- FN:102,(anonymous_3)
3523
- FN:109,(anonymous_4)
3524
- FN:35,(anonymous_5)
3525
- FN:38,(anonymous_6)
3526
- FN:39,(anonymous_7)
3527
- FN:42,(anonymous_8)
3528
- FN:46,(anonymous_9)
3529
- FN:50,(anonymous_10)
3530
- FN:51,(anonymous_11)
3531
- FN:56,(anonymous_12)
3532
- FN:57,(anonymous_13)
3533
- FN:64,(anonymous_14)
3534
- FN:68,(anonymous_15)
3535
- FN:75,(anonymous_16)
3536
- FN:77,(anonymous_17)
3537
- FN:81,(anonymous_18)
3538
- FN:114,(anonymous_19)
3539
- FN:116,(anonymous_20)
3540
- FN:119,(anonymous_21)
3541
- FN:123,(anonymous_22)
3542
- FN:123,(anonymous_23)
3543
- FN:138,(anonymous_24)
3544
- FN:139,(anonymous_25)
3521
+ FN:23,(anonymous_0)
3522
+ FN:19,(anonymous_1)
3523
+ FN:97,(anonymous_2)
3524
+ FN:113,(anonymous_3)
3525
+ FN:120,(anonymous_4)
3526
+ FN:44,(anonymous_5)
3527
+ FN:47,(anonymous_6)
3528
+ FN:48,(anonymous_7)
3529
+ FN:51,(anonymous_8)
3530
+ FN:56,(anonymous_9)
3531
+ FN:60,(anonymous_10)
3532
+ FN:61,(anonymous_11)
3533
+ FN:66,(anonymous_12)
3534
+ FN:67,(anonymous_13)
3535
+ FN:74,(anonymous_14)
3536
+ FN:79,(anonymous_15)
3537
+ FN:86,(anonymous_16)
3538
+ FN:88,(anonymous_17)
3539
+ FN:92,(anonymous_18)
3540
+ FN:125,(anonymous_19)
3541
+ FN:127,(anonymous_20)
3542
+ FN:130,(anonymous_21)
3543
+ FN:134,(anonymous_22)
3544
+ FN:134,(anonymous_23)
3545
+ FN:149,(anonymous_24)
3546
+ FN:150,(anonymous_25)
3545
3547
  FNF:26
3546
3548
  FNH:22
3547
3549
  FNDA:6,(anonymous_0)
@@ -3553,7 +3555,7 @@ FNDA:0,(anonymous_5)
3553
3555
  FNDA:14,(anonymous_6)
3554
3556
  FNDA:34,(anonymous_7)
3555
3557
  FNDA:8,(anonymous_8)
3556
- FNDA:1,(anonymous_9)
3558
+ FNDA:25,(anonymous_9)
3557
3559
  FNDA:0,(anonymous_10)
3558
3560
  FNDA:6,(anonymous_11)
3559
3561
  FNDA:0,(anonymous_12)
@@ -3575,80 +3577,82 @@ DA:2,2
3575
3577
  DA:3,2
3576
3578
  DA:4,2
3577
3579
  DA:6,2
3578
- DA:9,2
3579
- DA:11,6
3580
- DA:13,6
3581
- DA:14,6
3582
- DA:15,6
3580
+ DA:8,2
3581
+ DA:10,2
3582
+ DA:12,6
3583
+ DA:16,6
3583
3584
  DA:17,6
3584
- DA:20,6
3585
+ DA:19,6
3585
3586
  DA:21,6
3586
- DA:24,6
3587
3587
  DA:25,6
3588
- DA:31,6
3588
+ DA:28,6
3589
+ DA:30,6
3589
3590
  DA:32,6
3590
- DA:35,0
3591
- DA:39,34
3592
- DA:43,8
3593
- DA:47,1
3594
- DA:50,0
3595
- DA:52,6
3596
- DA:53,6
3597
- DA:56,0
3598
- DA:58,4
3599
- DA:59,4
3600
- DA:60,3
3601
- DA:65,4
3602
- DA:69,5
3603
- DA:70,5
3604
- DA:71,4
3605
- DA:75,0
3606
- DA:78,11
3607
- DA:82,16
3608
- DA:86,6
3609
- DA:87,16
3610
- DA:88,0
3611
- DA:91,16
3591
+ DA:40,6
3592
+ DA:41,6
3593
+ DA:44,0
3594
+ DA:48,34
3595
+ DA:52,8
3596
+ DA:57,25
3597
+ DA:60,0
3598
+ DA:62,6
3599
+ DA:63,6
3600
+ DA:66,0
3601
+ DA:68,4
3602
+ DA:69,4
3603
+ DA:70,3
3604
+ DA:75,4
3605
+ DA:76,4
3606
+ DA:80,5
3607
+ DA:81,5
3608
+ DA:82,4
3609
+ DA:86,0
3610
+ DA:89,11
3612
3611
  DA:93,16
3613
- DA:94,0
3612
+ DA:97,6
3614
3613
  DA:98,16
3615
- DA:99,16
3616
- DA:101,16
3617
- DA:102,45
3618
- DA:105,16
3619
- DA:109,6
3620
- DA:110,1
3621
- DA:111,1
3622
- DA:115,1
3623
- DA:117,3
3624
- DA:119,9
3625
- DA:123,18
3626
- DA:124,15
3627
- DA:125,7
3628
- DA:129,3
3629
- DA:132,1
3630
- DA:137,2
3631
- DA:139,3
3632
- LF:59
3633
- LH:53
3634
- BRDA:22,0,0,3
3635
- BRDA:87,1,0,0
3636
- BRDA:87,1,1,16
3637
- BRDA:93,2,0,0
3638
- BRDA:93,2,1,16
3639
- BRDA:101,3,0,15
3640
- BRDA:101,3,1,1
3641
- BRDA:53,4,0,5
3642
- BRDA:53,4,1,1
3643
- BRDA:59,5,0,3
3644
- BRDA:59,5,1,1
3645
- BRDA:65,6,0,4
3646
- BRDA:65,6,1,0
3647
- BRDA:70,7,0,4
3648
- BRDA:70,7,1,1
3649
- BRDA:124,8,0,7
3650
- BRDA:124,8,1,8
3651
- BRDA:138,9,0,2
3614
+ DA:99,0
3615
+ DA:102,16
3616
+ DA:104,16
3617
+ DA:105,0
3618
+ DA:109,16
3619
+ DA:110,16
3620
+ DA:112,16
3621
+ DA:113,45
3622
+ DA:116,16
3623
+ DA:120,6
3624
+ DA:121,1
3625
+ DA:122,1
3626
+ DA:126,1
3627
+ DA:128,3
3628
+ DA:130,9
3629
+ DA:134,18
3630
+ DA:135,15
3631
+ DA:136,7
3632
+ DA:140,3
3633
+ DA:143,1
3634
+ DA:148,2
3635
+ DA:150,3
3636
+ LF:61
3637
+ LH:55
3638
+ BRDA:26,0,0,3
3639
+ BRDA:98,1,0,0
3640
+ BRDA:98,1,1,16
3641
+ BRDA:104,2,0,0
3642
+ BRDA:104,2,1,16
3643
+ BRDA:112,3,0,15
3644
+ BRDA:112,3,1,1
3645
+ BRDA:63,4,0,5
3646
+ BRDA:63,4,1,1
3647
+ BRDA:69,5,0,3
3648
+ BRDA:69,5,1,1
3649
+ BRDA:76,6,0,4
3650
+ BRDA:76,6,1,0
3651
+ BRDA:81,7,0,4
3652
+ BRDA:81,7,1,1
3653
+ BRDA:135,8,0,7
3654
+ BRDA:135,8,1,8
3655
+ BRDA:149,9,0,2
3652
3656
  BRF:18
3653
3657
  BRH:15
3654
3658
  end_of_record
@@ -13,6 +13,8 @@ export declare class KeyStorage {
13
13
  constructor(storage: IStorageSync, key: string);
14
14
  get value(): string;
15
15
  set value(v: string);
16
+ clean(): void;
17
+ getHasValue(): boolean;
16
18
  }
17
19
  export declare class KeyStorageConverted<T> {
18
20
  readonly input: (v: T) => string;
@@ -21,5 +23,7 @@ export declare class KeyStorageConverted<T> {
21
23
  constructor(storage: IStorageSync, key: string, input?: (v: T) => string, output?: (s: string) => T);
22
24
  get value(): T;
23
25
  set value(v: T);
26
+ clean(): void;
27
+ getHasValue(): boolean;
24
28
  }
25
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,QAAQ;IAEpC,QAAQ,CAAC,UAAU,EAAE,YAAY;gBAAxB,UAAU,EAAE,YAAY;IAE7C,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKnC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM;CAIrB;AAED,qBAAa,UAAU;IACP,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IACI,MAAM,CADoC;IACvD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;CAC/D;AAED,qBAAa,mBAAmB,CAAC,CAAC;IAM1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC;IANrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAGzC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAA6B;IAKjE,IAAI,KAAK,IAAI,CAAC,CAA6C;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;CAC3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,QAAQ;IAEpC,QAAQ,CAAC,UAAU,EAAE,YAAY;gBAAxB,UAAU,EAAE,YAAY;IAE7C,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKnC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM;CAIrB;AAED,qBAAa,UAAU;IACP,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IACI,MAAM,CADoC;IACvD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;IAErD,KAAK;IAIL,WAAW;CAGrB;AAED,qBAAa,mBAAmB,CAAC,CAAC;IAM1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC;IANrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAGzC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAqC;IAKzE,IAAI,KAAK,IAAI,CAAC,CAA6C;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;IAEjD,KAAK;IAIL,WAAW;CAGrB"}
@@ -28,10 +28,16 @@ class KeyStorage {
28
28
  }
29
29
  get value() { return this.storage.getValue(this.key); }
30
30
  set value(v) { this.storage.setValue(this.key, v); }
31
+ clean() {
32
+ this.storage.removeValue(this.key);
33
+ }
34
+ getHasValue() {
35
+ return this.storage.hasValue(this.key);
36
+ }
31
37
  }
32
38
  exports.KeyStorage = KeyStorage;
33
39
  class KeyStorageConverted {
34
- constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s))) {
40
+ constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || null))) {
35
41
  this.input = input;
36
42
  this.output = output;
37
43
  this._storage = null;
@@ -39,6 +45,12 @@ class KeyStorageConverted {
39
45
  }
40
46
  get value() { return this.output(this._storage.value); }
41
47
  set value(v) { this._storage.value = this.input(v); }
48
+ clean() {
49
+ this._storage.clean();
50
+ }
51
+ getHasValue() {
52
+ return this._storage.getHasValue();
53
+ }
42
54
  }
43
55
  exports.KeyStorageConverted = KeyStorageConverted;
44
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAE5B,YAAqB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAElD,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AArBD,kDAqBC;AAED,MAAa,UAAU;IACnB,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AALD,gCAKC;AAED,MAAa,mBAAmB;IAG5B,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;QADpD,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA8C;QANhD,aAAQ,GAAe,IAAI,CAAC;QAQzC,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D;AAdD,kDAcC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAE5B,YAAqB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAElD,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AArBD,kDAqBC;AAED,MAAa,UAAU;IACnB,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,gCAaC;AAED,MAAa,mBAAmB;IAG5B,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAM,CAAC;QAD5D,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAAsD;QANxD,aAAQ,GAAe,IAAI,CAAC;QAQzC,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,kDAsBC"}
@@ -2,5 +2,5 @@ import { ValidationErrors } from './ValidationErrors';
2
2
  import { ValidationConfig, ValidationResults, ValidatorFunction } from './types';
3
3
  export declare function createShouldBeEqualTo<T = string>(getter: () => T): ValidatorFunction<T>;
4
4
  export declare function throwNotOk(result: ValidationErrors, message?: string): void;
5
- export declare function validateObject<T, TErrors = ValidationErrors>(obj: T, validators: ValidationConfig<T, TErrors>, onlyTruethy?: boolean): ValidationResults<T, TErrors>;
5
+ export declare function validateObject<T, TErrors = ValidationErrors>(obj: T, validators: ValidationConfig<T, TErrors>, onlyTruethy?: boolean, context?: T): ValidationResults<T, TErrors>;
6
6
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,SAAqB,QAIhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,EACxD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,WAAW,UAAQ,GACpB,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAuB/B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,SAAqB,QAIhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,EACxD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAuB/B"}
@@ -13,7 +13,7 @@ function throwNotOk(result, message = 'Validation error') {
13
13
  }
14
14
  }
15
15
  exports.throwNotOk = throwNotOk;
16
- function validateObject(obj, validators, onlyTruethy = false) {
16
+ function validateObject(obj, validators, onlyTruethy = false, context) {
17
17
  const res = {};
18
18
  Object.keys(obj).forEach(k => {
19
19
  const kk = k;
@@ -25,7 +25,7 @@ function validateObject(obj, validators, onlyTruethy = false) {
25
25
  if (onlyTruethy && !v) {
26
26
  return;
27
27
  }
28
- const err = validator(v, obj);
28
+ const err = validator(v, context || obj);
29
29
  if (err) {
30
30
  res[kk] = err;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,mCAKiB;AAEjB,SAAgB,qBAAqB,CAAa,MAAe;IAC7D,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,eAAe,CAAC;AACnG,CAAC;AAFD,sDAEC;AAED,SAAgB,UAAU,CAAC,MAAwB,EAAE,OAAO,GAAG,kBAAkB;IAC7E,IAAI,MAAM,EAAE;QACR,MAAM,IAAI,uBAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9C;AACL,CAAC;AAJD,gCAIC;AAED,SAAgB,cAAc,CAC1B,GAAM,EACN,UAAwC,EACxC,WAAW,GAAG,KAAK;IAGnB,MAAM,GAAG,GAAkC,EAAG,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,EAAE,GAAG,CAAY,CAAC;QACxB,MAAM,SAAS,GAAgD,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,CAAC,CAAC;QAC5B,IAAI,WAAW,IAAI,CAAC,CAAC,EAAE;YACnB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AA3BD,wCA2BC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,mCAKiB;AAEjB,SAAgB,qBAAqB,CAAa,MAAe;IAC7D,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,eAAe,CAAC;AACnG,CAAC;AAFD,sDAEC;AAED,SAAgB,UAAU,CAAC,MAAwB,EAAE,OAAO,GAAG,kBAAkB;IAC7E,IAAI,MAAM,EAAE;QACR,MAAM,IAAI,uBAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9C;AACL,CAAC;AAJD,gCAIC;AAED,SAAgB,cAAc,CAC1B,GAAM,EACN,UAAwC,EACxC,WAAW,GAAG,KAAK,EACnB,OAAW;IAGX,MAAM,GAAG,GAAkC,EAAG,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,EAAE,GAAG,CAAY,CAAC;QACxB,MAAM,SAAS,GAAgD,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,CAAC,CAAC;QAC5B,IAAI,WAAW,IAAI,CAAC,CAAC,EAAE;YACnB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AA5BD,wCA4BC"}
@@ -1,16 +1,17 @@
1
1
  import { FlagModel, ILabeledFlagModel } from './FlagModel';
2
2
  import { ValidatableModel } from './Validatable';
3
3
  import { IValueModel } from './types';
4
- import { IResetableModel } from 'viewModels';
4
+ import { IResetableModel } from './types';
5
+ import { Getter } from '../types';
5
6
  export declare class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
6
- private readonly _items;
7
7
  private readonly _accessor;
8
8
  private _index;
9
- readonly opened: FlagModel;
9
+ private readonly _items;
10
10
  private _indexLocked;
11
11
  private _initialIndex;
12
12
  private readonly _flags;
13
- constructor(_items: readonly T[], _accessor: (item: T) => string, initialIndex?: number);
13
+ readonly opened: FlagModel;
14
+ constructor(items: Getter<readonly T[]>, _accessor: (item: T) => string, initialIndex?: number);
14
15
  protected get valueToValidate(): T;
15
16
  get values(): readonly string[];
16
17
  get flags(): readonly ILabeledFlagModel[];
@@ -1 +1 @@
1
- {"version":3,"file":"SelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAWhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV9B,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAgB,MAAM,YAAmB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG1C,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,YAAY,GAAE,MAAU;IAa5B,SAAS,KAAK,eAAe,MAAgC;IAG7D,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,KAAK,iCAER;IAED,IAAI,KAAK,iBAER;IAED,IAAI,KAAK,IAMI,MAAM,CANuB;IAC1C,IAAI,aAAa,IAMQ,MAAM,CAH9B;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAA6B;IAChD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAKvB;IAED,IAAI,SAAS,YAAiD;IAE9D,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAGM,QAAQ,QAAS,MAAM,UAqB5B;IAEF,KAAK,aAGH;IAEF,OAAO,CAAC,WAAW;CAoBtB;AAGD,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,GAAE,MAAU;CAG5D"}
1
+ {"version":3,"file":"SelectModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAehG,OAAO,CAAC,QAAQ,CAAC,SAAS;IAb9B,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,SAAgB,MAAM,YAAmB;gBAGrC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC/C,YAAY,GAAE,MAAU;IAkB5B,SAAS,KAAK,eAAe,MAAgC;IAG7D,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,IAAI,KAAK,iCAER;IAGD,IAAI,KAAK,IAAI,SAAS,CAAC,EAAE,CAExB;IAED,IAAI,KAAK,IAMI,MAAM,CANuB;IAC1C,IAAI,aAAa,IAMQ,MAAM,CAH9B;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAA6B;IAChD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAI,YAAY,IAAI,CAAC,CAGpB;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAKvB;IAED,IAAI,SAAS,YAAiD;IAE9D,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAGM,QAAQ,QAAS,MAAM,UAqB5B;IAEK,KAAK,aAGV;IAEF,OAAO,CAAC,WAAW;CAoBtB;AAGD,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;gBACtD,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,GAAE,MAAU;CAG5D"}
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SelectString = exports.Select = void 0;
4
- const lazy_light_1 = require("../lazy.light");
5
4
  const mobx_1 = require("mobx");
5
+ const lazy_light_1 = require("../lazy.light");
6
6
  const FlagModel_1 = require("./FlagModel");
7
7
  const Validatable_1 = require("./Validatable");
8
8
  const wrappers_1 = require("./wrappers");
9
+ const types_1 = require("../types");
9
10
  class Select extends Validatable_1.ValidatableModel {
10
- constructor(_items, _accessor, initialIndex = 0) {
11
+ constructor(items, _accessor, initialIndex = 0) {
11
12
  super();
12
- this._items = _items;
13
13
  this._accessor = _accessor;
14
14
  // @observable
15
15
  this._index = undefined;
16
- this.opened = new FlagModel_1.FlagModel();
17
16
  this._indexLocked = false;
18
17
  this._initialIndex = null;
19
18
  this._flags = lazy_light_1.createLazy(() => this.createFlags());
19
+ this.opened = new FlagModel_1.FlagModel();
20
20
  // @action
21
21
  this.setIndex = (val) => {
22
22
  if (this._indexLocked) {
@@ -41,9 +41,12 @@ class Select extends Validatable_1.ValidatableModel {
41
41
  super.reset();
42
42
  this.index = this._initialIndex;
43
43
  };
44
+ this._items = items;
44
45
  mobx_1.makeObservable(this, {
45
46
  '_index': mobx_1.observable,
47
+ '_items': mobx_1.observable.ref,
46
48
  values: mobx_1.computed,
49
+ items: mobx_1.computed,
47
50
  setIndex: mobx_1.action,
48
51
  });
49
52
  this._initialIndex = initialIndex;
@@ -52,13 +55,14 @@ class Select extends Validatable_1.ValidatableModel {
52
55
  get valueToValidate() { return this.selectedItem; }
53
56
  // @computed
54
57
  get values() {
55
- return this._items.map(i => this._accessor(i));
58
+ return this.items.map(i => this._accessor(i));
56
59
  }
57
60
  get flags() {
58
61
  return this._flags.value;
59
62
  }
63
+ // @computed
60
64
  get items() {
61
- return this._items;
65
+ return types_1.Getter.getValue(this._items);
62
66
  }
63
67
  get value() { return this.selectedValue; }
64
68
  get selectedValue() {
@@ -73,10 +77,11 @@ class Select extends Validatable_1.ValidatableModel {
73
77
  }
74
78
  }
75
79
  get selectedItem() {
76
- return this._items.length ? this._items[this._index] : null;
80
+ const items = this.items;
81
+ return items.length ? items[this._index] : null;
77
82
  }
78
83
  set selectedItem(item) {
79
- const index = this._items.indexOf(item);
84
+ const index = this.items.indexOf(item);
80
85
  if (index >= 0) {
81
86
  this.index = index;
82
87
  }
@@ -89,7 +94,7 @@ class Select extends Validatable_1.ValidatableModel {
89
94
  this.setIndex(val);
90
95
  }
91
96
  createFlags() {
92
- const flags = this._items
97
+ const flags = this.items
93
98
  .map((item, index) => {
94
99
  const flag = wrappers_1.withLabel(new FlagModel_1.FlagModel(index === this.index), () => this._accessor(item));
95
100
  // react on every flag is changed directly
@@ -1 +1 @@
1
- {"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "1.4.19",
3
+ "version": "1.5.2",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,6 +28,14 @@ export class KeyStorage {
28
28
 
29
29
  get value() { return this.storage.getValue(this.key); }
30
30
  set value(v: string) { this.storage.setValue(this.key, v); }
31
+
32
+ public clean() {
33
+ this.storage.removeValue(this.key);
34
+ }
35
+
36
+ public getHasValue() {
37
+ return this.storage.hasValue(this.key);
38
+ }
31
39
  }
32
40
 
33
41
  export class KeyStorageConverted<T> {
@@ -37,11 +45,19 @@ export class KeyStorageConverted<T> {
37
45
  storage: IStorageSync,
38
46
  key: string,
39
47
  readonly input: (v: T) => string = (v => JSON.stringify(v)),
40
- readonly output: (s: string) => T = (s => JSON.parse(s) as T),
48
+ readonly output: (s: string) => T = (s => JSON.parse(s || null) as T),
41
49
  ) {
42
50
  this._storage = new KeyStorage(storage, key);
43
51
  }
44
52
 
45
53
  get value(): T { return this.output(this._storage.value); }
46
54
  set value(v: T) { this._storage.value = this.input(v); }
55
+
56
+ public clean() {
57
+ this._storage.clean();
58
+ }
59
+
60
+ public getHasValue() {
61
+ return this._storage.getHasValue();
62
+ }
47
63
  }
@@ -20,6 +20,7 @@ export function validateObject<T, TErrors = ValidationErrors>(
20
20
  obj: T,
21
21
  validators: ValidationConfig<T, TErrors>,
22
22
  onlyTruethy = false,
23
+ context?: T,
23
24
  ): ValidationResults<T, TErrors> {
24
25
 
25
26
  const res: ValidationResults<T, TErrors> = { };
@@ -36,7 +37,7 @@ export function validateObject<T, TErrors = ValidationErrors>(
36
37
  return;
37
38
  }
38
39
 
39
- const err = validator(v, obj);
40
+ const err = validator(v, context || obj);
40
41
  if (err) {
41
42
  res[kk] = err;
42
43
  }