@zajno/common 1.3.14 → 1.3.15

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 (71) hide show
  1. package/coverage/clover.xml +22 -23
  2. package/coverage/coverage-final.json +3 -3
  3. package/coverage/lcov-report/index.html +19 -19
  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 +1 -1
  22. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  23. package/coverage/lcov-report/src/functions.ts.html +1 -1
  24. package/coverage/lcov-report/src/index.html +1 -1
  25. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  26. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  27. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  28. package/coverage/lcov-report/src/logger/index.html +1 -1
  29. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  32. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  33. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  34. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/index.html +1 -1
  36. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  38. package/coverage/lcov-report/src/types.ts.html +1 -1
  39. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  40. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  41. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  42. package/coverage/lcov-report/src/validation/index.html +1 -1
  43. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/types.ts.html +6 -6
  45. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  47. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  48. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  49. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  50. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +10 -10
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +44 -44
  52. package/coverage/lcov-report/src/viewModels/index.html +28 -28
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +40 -41
  55. package/lib/validation/types.d.ts +5 -5
  56. package/lib/validation/types.d.ts.map +1 -1
  57. package/lib/validation/types.js.map +1 -1
  58. package/lib/validation/wrappers.d.ts +4 -3
  59. package/lib/validation/wrappers.d.ts.map +1 -1
  60. package/lib/viewModels/TextModel.d.ts +2 -3
  61. package/lib/viewModels/TextModel.d.ts.map +1 -1
  62. package/lib/viewModels/TextModel.js +1 -1
  63. package/lib/viewModels/TextModel.js.map +1 -1
  64. package/lib/viewModels/Validatable.d.ts +8 -10
  65. package/lib/viewModels/Validatable.d.ts.map +1 -1
  66. package/lib/viewModels/Validatable.js +5 -6
  67. package/lib/viewModels/Validatable.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/validation/types.ts +5 -5
  70. package/src/viewModels/TextModel.ts +3 -4
  71. package/src/viewModels/Validatable.ts +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,UAAU,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAeF,qBAAa,IAAI;IAEb,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrF,IAAI,KAAK,WAA0B;CACtC;AAED,qBAAa,WAAY,SAAQ,gBAAiB,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAE7F,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAgB;IAG7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;gBAExC,MAAM,CAAC,EAAE,eAAe;IAYpC,IAAI,KAAK,WAA0B;IACnC,IAAI,IAAI,WAAyB;IACjC,IAAI,KAAK,WAA0B;IAEnC,IAAI,KAAK,CAAC,GAAG,QAAA,EAMZ;IAED,IACI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,CAAC,GAAG,SAAA,EAQd;IAED,SAAS,KAAK,eAAe,WAAwC;IAErE,OAAO,CAAC,MAAM;IAId,KAAK,aAIH;CAEL"}
1
+ {"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAeF,qBAAa,IAAI;IAEb,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrF,IAAI,KAAK,WAA0B;CACtC;AAED,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,MAAM,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAErG,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAgB;IAG7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;gBAExC,MAAM,CAAC,EAAE,eAAe;IAYpC,IAAI,KAAK,WAA0B;IACnC,IAAI,IAAI,WAAyB;IACjC,IAAI,KAAK,WAA0B;IAEnC,IAAI,KAAK,CAAC,GAAG,QAAA,EAMZ;IAED,IACI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,CAAC,GAAG,SAAA,EAQd;IAED,SAAS,KAAK,eAAe,WAAwC;IAErE,OAAO,CAAC,MAAM;IAId,KAAK,aAIH;CAEL"}
@@ -28,7 +28,7 @@ tslib_1.__decorate([
28
28
  exports.Text = Text;
29
29
  class TextInputVM extends Validatable_1.ValidatableModel {
30
30
  constructor(config) {
31
- super(config && config.validation);
31
+ super();
32
32
  this._value = '';
33
33
  this._focused = false;
34
34
  this._name = null;
@@ -1 +1 @@
1
- {"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":";;;;AAAA,+BAAsE;AACtE,oCAAkC;AAElC,+DAA+B;AAC/B,+CAAmE;AAanE,SAAS,UAAU,CAAC,MAAsB,EAAE,MAA6B,EAAE,eAAuB,IAAI,EAAE,YAAqB,IAAI;IAC7H,IAAI,SAAS,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;QAC3C,MAAM,CAAC,cAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,eAAQ,CACX,GAAG,EAAE,CAAC,cAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,MAAM,EACN,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CACjD,CAAC;AACN,CAAC;AAED,MAAa,IAAI;IAIb,YAAY,MAAyE;QAF7E,WAAM,GAAW,IAAI,CAAC;QAG1B,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACtC;AARG;IADC,iBAAU;;oCACmB;AAFlC,oBAUC;AAED,MAAa,WAAY,SAAQ,8BAAgB;IAe7C,YAAY,MAAwB;QAChC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;QAd/B,WAAM,GAAG,EAAE,CAAC;QAGZ,aAAQ,GAAG,KAAK,CAAC;QAGjB,UAAK,GAAW,IAAI,CAAC;QAGrB,WAAM,GAAW,IAAI,CAAC;QAEb,oBAAe,GAAe,IAAI,CAAC;QAmDpD,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAK,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC;QAnDE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAExC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACxD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,GAAG;QACT,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACrB;aAAM;YACH,gBAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;SAC5F;IACL,CAAC;IAGD,IAAI,OAAO;QACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG;QACX,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;SACV;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,IAAc,eAAe,aAAK,OAAO,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,MAAM;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;CAQJ;AApEG;IADC,iBAAU;;2CACS;AAGpB;IADC,iBAAU;;6CACc;AAGzB;IADC,iBAAU;;0CACkB;AAG7B;IADC,iBAAU;;2CACmB;AA6B9B;IADC,eAAQ;;;0CAGR;AA1CL,kCAsEC"}
1
+ {"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":";;;;AAAA,+BAAsE;AACtE,oCAAkC;AAElC,+DAA+B;AAC/B,+CAAiD;AAYjD,SAAS,UAAU,CAAC,MAAsB,EAAE,MAA6B,EAAE,eAAuB,IAAI,EAAE,YAAqB,IAAI;IAC7H,IAAI,SAAS,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;QAC3C,MAAM,CAAC,cAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,eAAQ,CACX,GAAG,EAAE,CAAC,cAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,MAAM,EACN,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CACjD,CAAC;AACN,CAAC;AAED,MAAa,IAAI;IAIb,YAAY,MAAyE;QAF7E,WAAM,GAAW,IAAI,CAAC;QAG1B,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACtC;AARG;IADC,iBAAU;;oCACmB;AAFlC,oBAUC;AAED,MAAa,WAAY,SAAQ,8BAAwB;IAerD,YAAY,MAAwB;QAChC,KAAK,EAAE,CAAC;QAdJ,WAAM,GAAG,EAAE,CAAC;QAGZ,aAAQ,GAAG,KAAK,CAAC;QAGjB,UAAK,GAAW,IAAI,CAAC;QAGrB,WAAM,GAAW,IAAI,CAAC;QAEb,oBAAe,GAAe,IAAI,CAAC;QAmDpD,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAK,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC;QAnDE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAExC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACxD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,GAAG;QACT,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACrB;aAAM;YACH,gBAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;SAC5F;IACL,CAAC;IAGD,IAAI,OAAO;QACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG;QACX,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;SACV;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,IAAc,eAAe,aAAK,OAAO,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,MAAM;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;CAQJ;AApEG;IADC,iBAAU;;2CACS;AAGpB;IADC,iBAAU;;6CACc;AAGzB;IADC,iBAAU;;0CACkB;AAG7B;IADC,iBAAU;;2CACmB;AA6B9B;IADC,eAAQ;;;0CAGR;AA1CL,kCAsEC"}
@@ -1,23 +1,21 @@
1
1
  import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors } from '../validation';
2
- export declare type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
3
- export declare type ValidationErrorsStrings = {
4
- [code: number]: string;
5
- };
6
- export declare type ValidationConfig<T> = {
7
- validator: ValueValidator<Readonly<T>>;
8
- errors: ValidationErrorsStrings;
2
+ export declare type ValueValidator<T, TErrors = ValidationErrors> = ValidatorFunction<T, TErrors> | ValidatorFunctionAsync<T, TErrors>;
3
+ export declare type ValidationErrorsStrings<TErrors extends string | number = number> = Record<TErrors, string>;
4
+ export declare type ValidationConfig<T, TErrors extends string | number = ValidationErrors> = {
5
+ validator: ValueValidator<Readonly<T>, TErrors>;
6
+ errors: ValidationErrorsStrings<TErrors>;
9
7
  };
10
8
  export declare abstract class ValidatableModel<T = string> {
11
9
  private _validator;
12
10
  private _strings;
13
11
  private _error;
14
12
  private _validationError;
15
- constructor(config?: ValidationConfig<T>);
13
+ constructor();
16
14
  protected abstract get valueToValidate(): Readonly<T>;
17
15
  get isValid(): boolean;
18
16
  get error(): string;
19
- setValidationConfig(config?: ValidationConfig<T>): this;
20
- testValidate(value: T): Promise<ValidationErrors>;
17
+ setValidationConfig<TErrors extends string | number = ValidationErrors>(config?: ValidationConfig<T, TErrors>): this;
18
+ testValidate(value: T): Promise<any>;
21
19
  validate(): Promise<boolean>;
22
20
  getIsInvalid(): Promise<boolean>;
23
21
  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,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"}
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,EAAE,OAAO,GAAG,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/H,oBAAY,uBAAuB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAExG,oBAAY,gBAAgB,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,IAAI;IAClF,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAIF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAsC;IAGtD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;;IAMjD,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAMvG,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"}
@@ -5,15 +5,14 @@ const tslib_1 = require("tslib");
5
5
  const mobx_1 = require("mobx");
6
6
  const validation_1 = require("../validation");
7
7
  const arrays_1 = require("../async/arrays");
8
- const EmptyValidator = () => validation_1.ValidationErrors.None;
8
+ const EmptyValidator = () => 0;
9
9
  class ValidatableModel {
10
- constructor(config) {
10
+ constructor() {
11
11
  this._validator = null;
12
12
  this._strings = null;
13
13
  this._error = null;
14
14
  this._validationError = null;
15
15
  mobx_1.makeObservable(this);
16
- this.setValidationConfig(config);
17
16
  }
18
17
  get isValid() { return !this._error; }
19
18
  get error() { return this._error; }
@@ -34,10 +33,10 @@ class ValidatableModel {
34
33
  return true;
35
34
  }
36
35
  try {
37
- const valid = await this._validator(this.valueToValidate);
38
- this._validationError = valid === validation_1.ValidationErrors.None
36
+ const validationResult = await this._validator(this.valueToValidate);
37
+ this._validationError = !validationResult
39
38
  ? null
40
- : new validation_1.ValidationError('Unknown error', valid);
39
+ : new validation_1.ValidationError('Unknown error', validationResult);
41
40
  }
42
41
  catch (err) {
43
42
  this._validationError = err;
@@ -1 +1 @@
1
- {"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,8CAA6G;AAC7G,4CAA4C;AAU5C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,6BAAgB,CAAC,IAAI,CAAC;AACnD,MAAsB,gBAAgB;IAUlC,YAAY,MAA4B;QARhC,eAAU,GAAgC,IAAI,CAAC;QAC/C,aAAQ,GAA4B,IAAI,CAAC;QAGzC,WAAM,GAAW,IAAI,CAAC;QAEtB,qBAAgB,GAAoB,IAAI,CAAC;QAG7C,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAID,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,mBAAmB,CAAC,MAA4B;QACnD,IAAI,CAAC,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,cAAc,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAQ;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QAED,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,KAAK,KAAK,6BAAgB,CAAC,IAAI;gBACnD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,4BAAe,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACrD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,gBAAgB,GAAG,GAAsB,CAAC;SAClD;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;aAAM;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IAGD,KAAK;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAuD,EAAE,UAAU,GAAG,IAAI;QACjG,IAAI,UAAU,EAAE;YACZ,OAAO,kBAAS,CAAC,YAAY,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACpE;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACJ;AAvEG;IADC,iBAAU;;gDACmB;AA0D9B;IADC,aAAM;;;;6CAIN;AAnEL,4CA6EC"}
1
+ {"version":3,"file":"Validatable.js","sourceRoot":"","sources":["../../src/viewModels/Validatable.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.3.14",
3
+ "version": "1.3.15",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,14 +1,14 @@
1
1
  import { ValidationErrors } from './ValidationErrors';
2
2
 
3
- export type ValidatorFunction<T = string> = (val: T) => ValidationErrors;
4
- export type ValidatorFunctionAsync<T = string> = (val: T) => Promise<ValidationErrors>;
3
+ export type ValidatorFunction<T = string, TErrors = ValidationErrors> = (val: T) => TErrors;
4
+ export type ValidatorFunctionAsync<T = string, TErrors = ValidationErrors> = (val: T) => Promise<TErrors>;
5
5
 
6
6
  export type WrapperFunction = (val: ValidatorFunction) => ValidatorFunction;
7
7
 
8
- export class ValidationError extends Error {
9
- readonly code: ValidationErrors = null;
8
+ export class ValidationError<TErrors = ValidationErrors> extends Error {
9
+ readonly code: TErrors = null;
10
10
 
11
- constructor(message: string, code: ValidationErrors) {
11
+ constructor(message: string, code: TErrors) {
12
12
  super(message);
13
13
  this.code = code;
14
14
  }
@@ -2,7 +2,7 @@ import { observable, computed, makeObservable, reaction } from 'mobx';
2
2
  import { Getter } from '../types';
3
3
  import { IValueModel } from './types';
4
4
  import logger from '../logger';
5
- import { ValidatableModel, ValidationConfig } from './Validatable';
5
+ import { ValidatableModel } from './Validatable';
6
6
  import { IResetableModel } from 'viewModels';
7
7
 
8
8
  export type TextInputConfig = {
@@ -11,7 +11,6 @@ export type TextInputConfig = {
11
11
  value?: Getter<string>;
12
12
  async?: boolean;
13
13
 
14
- validation?: ValidationConfig<string>;
15
14
  noSubscribe?: boolean;
16
15
  };
17
16
 
@@ -40,7 +39,7 @@ export class Text {
40
39
  get value() { return this._value; }
41
40
  }
42
41
 
43
- export class TextInputVM extends ValidatableModel implements IValueModel<string>, IResetableModel {
42
+ export class TextInputVM extends ValidatableModel<string> implements IValueModel<string>, IResetableModel {
44
43
  @observable
45
44
  private _value = '';
46
45
 
@@ -56,7 +55,7 @@ export class TextInputVM extends ValidatableModel implements IValueModel<string>
56
55
  private readonly _valueObserving: () => void = null;
57
56
 
58
57
  constructor(config?: TextInputConfig) {
59
- super(config && config.validation);
58
+ super();
60
59
  makeObservable(this);
61
60
  config = config || {};
62
61
 
@@ -2,28 +2,28 @@ import { observable, makeObservable, action } from 'mobx';
2
2
  import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors, ValidationError } from '../validation';
3
3
  import { someAsync } from '../async/arrays';
4
4
 
5
- export type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
6
- export type ValidationErrorsStrings = { [code: number]: string };
5
+ export type ValueValidator<T, TErrors = ValidationErrors> = ValidatorFunction<T, TErrors> | ValidatorFunctionAsync<T, TErrors>;
6
+ export type ValidationErrorsStrings<TErrors extends string | number = number> = Record<TErrors, string>;
7
7
 
8
- export type ValidationConfig<T> = {
9
- validator: ValueValidator<Readonly<T>>,
10
- errors: ValidationErrorsStrings,
8
+ export type ValidationConfig<T, TErrors extends string | number = ValidationErrors> = {
9
+ validator: ValueValidator<Readonly<T>, TErrors>,
10
+ errors: ValidationErrorsStrings<TErrors>,
11
11
  };
12
12
 
13
- const EmptyValidator = () => ValidationErrors.None;
13
+ const EmptyValidator = () => 0;
14
+
14
15
  export abstract class ValidatableModel<T = string> {
15
16
 
16
- private _validator: ValueValidator<Readonly<T>> = null;
17
- private _strings: ValidationErrorsStrings = null;
17
+ private _validator: ValueValidator<Readonly<T>, any> = null;
18
+ private _strings: ValidationErrorsStrings<any> = null;
18
19
 
19
20
  @observable
20
21
  private _error: string = null;
21
22
 
22
23
  private _validationError: ValidationError = null;
23
24
 
24
- constructor(config?: ValidationConfig<T>) {
25
+ constructor() {
25
26
  makeObservable(this);
26
- this.setValidationConfig(config);
27
27
  }
28
28
 
29
29
  protected abstract get valueToValidate(): Readonly<T>;
@@ -32,7 +32,7 @@ export abstract class ValidatableModel<T = string> {
32
32
 
33
33
  get error() { return this._error; }
34
34
 
35
- public setValidationConfig(config?: ValidationConfig<T>) {
35
+ public setValidationConfig<TErrors extends string | number = ValidationErrors>(config?: ValidationConfig<T, TErrors>) {
36
36
  this._validator = config?.validator || EmptyValidator;
37
37
  this._strings = config?.errors;
38
38
  return this;
@@ -52,10 +52,10 @@ export abstract class ValidatableModel<T = string> {
52
52
  }
53
53
 
54
54
  try {
55
- const valid = await this._validator(this.valueToValidate);
56
- this._validationError = valid === ValidationErrors.None
55
+ const validationResult = await this._validator(this.valueToValidate);
56
+ this._validationError = !validationResult
57
57
  ? null
58
- : new ValidationError('Unknown error', valid);
58
+ : new ValidationError('Unknown error', validationResult);
59
59
  } catch (err) {
60
60
  this._validationError = err as ValidationError;
61
61
  }