@zajno/common 1.5.10 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +99 -36
- package/coverage/coverage-final.json +9 -5
- package/coverage/lcov-report/index.html +37 -22
- package/coverage/lcov-report/src/__tests__/helpers/expect.ts.html +94 -0
- package/coverage/lcov-report/src/__tests__/helpers/index.html +18 -3
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +2 -2
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/async/timeout.ts.html +13 -13
- package/coverage/lcov-report/src/cache.ts.html +6 -6
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/disposer.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +1 -1
- package/coverage/lcov-report/src/fields/update.ts.html +1 -1
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +11 -26
- package/coverage/lcov-report/src/lazy/index.html +161 -0
- package/coverage/lcov-report/src/lazy/lazy.ts.html +181 -0
- package/coverage/lcov-report/src/lazy/light.ts.html +172 -0
- package/coverage/lcov-report/src/lazy/observable.ts.html +184 -0
- package/coverage/lcov-report/src/lazy/promise.ts.html +229 -0
- package/coverage/lcov-report/src/lazy/singleton.ts.html +181 -0
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/observersMap.ts.html +1 -1
- package/coverage/lcov-report/src/observingCache.ts.html +1 -1
- package/coverage/lcov-report/src/queue/index.html +1 -1
- package/coverage/lcov-report/src/queue/parallel.ts.html +1 -1
- package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +3 -3
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +2 -2
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +2 -2
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +4 -4
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +5 -5
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +178 -53
- package/lib/cache.js.map +1 -1
- package/lib/lazy/index.d.ts +10 -0
- package/lib/lazy/index.d.ts.map +1 -0
- package/lib/lazy/index.js +23 -0
- package/lib/lazy/index.js.map +1 -0
- package/lib/lazy/light.d.ts +8 -0
- package/lib/lazy/light.d.ts.map +1 -0
- package/lib/lazy/light.js +23 -0
- package/lib/lazy/light.js.map +1 -0
- package/lib/lazy/observable.d.ts +9 -0
- package/lib/lazy/observable.d.ts.map +1 -0
- package/lib/lazy/observable.js +30 -0
- package/lib/lazy/observable.js.map +1 -0
- package/lib/{lazy.d.ts → lazy/promise.d.ts} +4 -14
- package/lib/lazy/promise.d.ts.map +1 -0
- package/lib/lazy/promise.js +39 -0
- package/lib/lazy/promise.js.map +1 -0
- package/lib/lazy/singleton.d.ts +13 -0
- package/lib/lazy/singleton.d.ts.map +1 -0
- package/lib/lazy/singleton.js +29 -0
- package/lib/lazy/singleton.js.map +1 -0
- package/lib/lazy.light.d.ts +1 -7
- package/lib/lazy.light.d.ts.map +1 -1
- package/lib/lazy.light.js +5 -20
- package/lib/lazy.light.js.map +1 -1
- package/lib/services/localization/LocalaziedValidationErrors.js.map +1 -1
- package/lib/services/localization/LocalizationManager.js.map +1 -1
- package/lib/unsubscriber.d.ts.map +1 -1
- package/lib/unsubscriber.js +1 -0
- package/lib/unsubscriber.js.map +1 -1
- package/lib/validation/validators.js +2 -2
- package/lib/validation/validators.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +2 -2
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/PromptModal.js.map +1 -1
- package/lib/viewModels/SelectModel.js +2 -2
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/lib/viewModels/TextModel.js.map +1 -1
- package/package.json +15 -16
- package/src/__tests__/helpers/expect.ts +3 -0
- package/src/__tests__/helpers/main.ts +1 -1
- package/src/lazy/__tests__/lazy.test.ts +94 -0
- package/src/lazy/index.ts +33 -0
- package/src/lazy/light.ts +29 -0
- package/src/lazy/observable.ts +33 -0
- package/src/lazy/promise.ts +48 -0
- package/src/lazy/singleton.ts +32 -0
- package/src/lazy.light.ts +4 -25
- package/src/logger/__tests__/logger.test.ts +7 -7
- package/src/unsubscriber.ts +3 -0
- package/src/validation/__tests__/validator.test.ts +1 -1
- package/src/validation/validators.ts +2 -2
- package/src/viewModels/MultiSelectModel.ts +1 -1
- package/src/viewModels/SelectModel.ts +1 -1
- package/yarn.lock +585 -488
- package/lib/lazy.d.ts.map +0 -1
- package/lib/lazy.js +0 -87
- package/lib/lazy.js.map +0 -1
- package/src/lazy.ts +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalizationManager.js","sourceRoot":"","sources":["../../../src/services/localization/LocalizationManager.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAG1D,MAAa,mBAAmB;IAU5B,YACqB,WAA2C,EAC5D,aAA0B,EAC1B,gBAA6B,IAAI;QAFhB,gBAAW,GAAX,WAAW,CAAgC;QATxD,mBAAc,GAAgB,IAAI,CAAC;QAGnC,oBAAe,GAAa,IAAI,CAAC;QAExB,oBAAe,GAAa,IAAI,CAAC;QACjC,gBAAW,GAAqD,EAAE,CAAC;QAOhF,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAG9C,SAAS,CAAC,MAAmB;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;QACpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,GAAmD,EAAE,MAAM,GAAG,KAAK;QACpF,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;aAAM,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEO,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"LocalizationManager.js","sourceRoot":"","sources":["../../../src/services/localization/LocalizationManager.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAG1D,MAAa,mBAAmB;IAU5B,YACqB,WAA2C,EAC5D,aAA0B,EAC1B,gBAA6B,IAAI;QAFhB,gBAAW,GAAX,WAAW,CAAgC;QATxD,mBAAc,GAAgB,IAAI,CAAC;QAGnC,oBAAe,GAAa,IAAI,CAAC;QAExB,oBAAe,GAAa,IAAI,CAAC;QACjC,gBAAW,GAAqD,EAAE,CAAC;QAOhF,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAG9C,SAAS,CAAC,MAAmB;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;QACpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,GAAmD,EAAE,MAAM,GAAG,KAAK;QACpF,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;aAAM,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEO,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACJ;AAhDG;IAAC,iBAAU;;2DACgC;AAE3C;IAAC,iBAAU,CAAC,GAAG;;4DAC0B;AAkBzC;IAAC,aAAM;;;;oDAMN;AA7BL,kDAiDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsubscriber.d.ts","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unsubscriber.d.ts","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,WAAW,EACX,eAAe,IAAI,QAAQ,EAC3B,gBAAgB,EAChB,QAAQ,IAAI,YAAY,EACxB,UAAU,GACb,MAAM,YAAY,CAAC"}
|
package/lib/unsubscriber.js
CHANGED
package/lib/unsubscriber.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsubscriber.js","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"unsubscriber.js","sourceRoot":"","sources":["../src/unsubscriber.ts"],"names":[],"mappings":";AACA,+CAA+C;;;;AAE/C,8DAA8B;AAE9B,uCAMoB;AAHhB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,QAAQ,OAAgB;AACxB,sGAAA,UAAU,OAAA;AAGd,gBAAM,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ const ValidationErrors_1 = require("./ValidationErrors");
|
|
|
7
7
|
exports.ValidatorsRegExps = {
|
|
8
8
|
// There is at least first and last name
|
|
9
9
|
// eslint-disable-next-line no-useless-escape
|
|
10
|
-
name: /^[
|
|
10
|
+
name: /^[\p{L},\.'-]+( +[\p{L},\.'-]+)+$/iu,
|
|
11
11
|
englishLetters: /^([a-zA-Z\s]+)$/,
|
|
12
12
|
email: /^([a-zA-Z0-9_.\-\\+])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/,
|
|
13
13
|
// At least one English letter, (?=.*?[a-zA-Z])
|
|
@@ -22,7 +22,7 @@ exports.ValidatorsRegExps = {
|
|
|
22
22
|
expiryDateCard: /^\d+$/,
|
|
23
23
|
cvv: /^\d+$/,
|
|
24
24
|
// eslint-disable-next-line no-useless-escape
|
|
25
|
-
website: /^(https?:\/\/)?(
|
|
25
|
+
website: /^(https?:\/\/)?((\p{N}|\p{L})+((((-?(\p{N}|\p{L})+)+)?)\.))+\p{L}{2,}(:[0-9]+)?(\/.*)?$/iu,
|
|
26
26
|
linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
|
|
27
27
|
};
|
|
28
28
|
exports.Validators = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":";;;;AAAA,sEAAsC;AACtC,yDAAsD;AAEzC,QAAA,iBAAiB,GAAG;IAC7B,wCAAwC;IACxC,6CAA6C;IAC7C,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MultiSelectString = exports.MultiSelect = void 0;
|
|
4
|
-
const
|
|
4
|
+
const light_1 = require("../lazy/light");
|
|
5
5
|
const mobx_1 = require("mobx");
|
|
6
6
|
const FlagModel_1 = require("./FlagModel");
|
|
7
7
|
const Validatable_1 = require("./Validatable");
|
|
@@ -16,7 +16,7 @@ class MultiSelect extends Validatable_1.ValidatableModel {
|
|
|
16
16
|
this._indexes = new Set();
|
|
17
17
|
this.opened = new FlagModel_1.FlagModel();
|
|
18
18
|
this._initial = null;
|
|
19
|
-
this._flags = (0,
|
|
19
|
+
this._flags = (0, light_1.createLazy)(() => this.createFlags());
|
|
20
20
|
this._indexesLocked = false;
|
|
21
21
|
this.setItemSelected = (item, selected) => {
|
|
22
22
|
const i = this.items.indexOf(item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"MultiSelectModel.js","sourceRoot":"","sources":["../../src/viewModels/MultiSelectModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptModal.js","sourceRoot":"","sources":["../../src/viewModels/PromptModal.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,2CAAwC;AAOxC,MAAa,gBAAgB;IAMzB;QALgB,aAAQ,GAAG,IAAI,qBAAS,EAAE,CAAC;QAGnC,mBAAc,GAAM,IAAI,CAAC;QAS1B,cAAS,GAAG,CAAC,MAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAGK,eAAU,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAEQ,cAAS,GAAG,KAAK,EAAE,EAA8B,EAAE,KAAK,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE;YAC9F,IAAI,EAAE,EAAE;gBACJ,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;gBACrB,IAAI,WAAW,EAAE;oBACb,MAAM,OAAO,CAAC;iBACjB;aACJ;YAED,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;QACL,CAAC,CAAC;QA5BE,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;CA0BtD;
|
|
1
|
+
{"version":3,"file":"PromptModal.js","sourceRoot":"","sources":["../../src/viewModels/PromptModal.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAC1D,2CAAwC;AAOxC,MAAa,gBAAgB;IAMzB;QALgB,aAAQ,GAAG,IAAI,qBAAS,EAAE,CAAC;QAGnC,mBAAc,GAAM,IAAI,CAAC;QAS1B,cAAS,GAAG,CAAC,MAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAGK,eAAU,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;QAEQ,cAAS,GAAG,KAAK,EAAE,EAA8B,EAAE,KAAK,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE;YAC9F,IAAI,EAAE,EAAE;gBACJ,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;gBACrB,IAAI,WAAW,EAAE;oBACb,MAAM,OAAO,CAAC;iBACjB;aACJ;YAED,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;QACL,CAAC,CAAC;QA5BE,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;CA0BtD;AAjCG;IAAC,iBAAU,CAAC,GAAG;;wDACkB;AAQjC;IAAC,aAAM;;mDAIL;AAEF;IAAC,aAAM;;oDAIL;AAtBN,4CAoCC;AAaD,MAAa,oBAAqB,SAAQ,gBAAmC;IAA7E;;QAKI,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtG,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxG,CAAC;IANG,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;CAI/D;AAPD,oDAOC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SelectString = exports.Select = void 0;
|
|
4
4
|
const mobx_1 = require("mobx");
|
|
5
|
-
const
|
|
5
|
+
const 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");
|
|
@@ -15,7 +15,7 @@ class Select extends Validatable_1.ValidatableModel {
|
|
|
15
15
|
this._index = undefined;
|
|
16
16
|
this._indexLocked = false;
|
|
17
17
|
this._initialIndex = null;
|
|
18
|
-
this._flags = (0,
|
|
18
|
+
this._flags = (0, light_1.createLazy)(() => this.createFlags());
|
|
19
19
|
this.opened = new FlagModel_1.FlagModel();
|
|
20
20
|
// @action
|
|
21
21
|
this.setIndex = (val) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":";;;AAAA,+BAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"SelectModel.js","sourceRoot":"","sources":["../../src/viewModels/SelectModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":";;;;AAAA,+BAAoE;AACpE,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,IAAA,eAAQ,EACX,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,IAAA,qBAAc,EAAC,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;
|
|
1
|
+
{"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.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
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Zajno's re-usable utilities for JS/TS projects",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,25 +25,24 @@
|
|
|
25
25
|
"rimraf": "^3"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@
|
|
29
|
-
"@types/jest": "^
|
|
30
|
-
"@types/node": "^16.11.
|
|
31
|
-
"@zajno/eslint-config": "^2.
|
|
32
|
-
"eslint": "^8.
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"jest": "^
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"ts-jest": "^28.0.7",
|
|
28
|
+
"@faker-js/faker": "^7.5.0",
|
|
29
|
+
"@types/jest": "^29.0.3",
|
|
30
|
+
"@types/node": "^16.11.59",
|
|
31
|
+
"@zajno/eslint-config": "^2.2.0",
|
|
32
|
+
"eslint": "^8.23.1",
|
|
33
|
+
"fast-check": "^3.1.4",
|
|
34
|
+
"jest": "^29.0.3",
|
|
35
|
+
"jest-extended": "^3.1.0",
|
|
36
|
+
"mobx": "^6.6.2",
|
|
37
|
+
"ts-jest": "^29.0.1",
|
|
39
38
|
"ts-node": "^10.9.1",
|
|
40
39
|
"tslib": "^2.4.0",
|
|
41
|
-
"typescript": "^4.
|
|
40
|
+
"typescript": "^4.8.3"
|
|
42
41
|
},
|
|
43
42
|
"peerDependencies": {
|
|
44
|
-
"mobx": "^6",
|
|
45
|
-
"tslib": "^2",
|
|
46
|
-
"typescript": "^4"
|
|
43
|
+
"mobx": "^6.6",
|
|
44
|
+
"tslib": "^2.4",
|
|
45
|
+
"typescript": "^4.8"
|
|
47
46
|
},
|
|
48
47
|
"files": [
|
|
49
48
|
"src/*",
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Lazy } from '../singleton';
|
|
2
|
+
import { LazyPromise } from '../promise';
|
|
3
|
+
import { setTimeoutAsync } from '../../async/timeout';
|
|
4
|
+
|
|
5
|
+
import { LazyObservable, LazyPromiseObservable } from '../observable';
|
|
6
|
+
import { reaction } from 'mobx';
|
|
7
|
+
import { expectAnythingOrNothing } from '../../__tests__/helpers/expect';
|
|
8
|
+
|
|
9
|
+
describe('Lazy', () => {
|
|
10
|
+
it('simple', () => {
|
|
11
|
+
const VAL = 'abc';
|
|
12
|
+
const l = new Lazy(() => VAL);
|
|
13
|
+
|
|
14
|
+
expect(l.hasValue).toBeFalse();
|
|
15
|
+
expect(l.value).toBe(VAL);
|
|
16
|
+
expect(l.hasValue).toBeTrue();
|
|
17
|
+
|
|
18
|
+
l.reset();
|
|
19
|
+
expect(l.hasValue).toBeFalse();
|
|
20
|
+
|
|
21
|
+
l.prewarm();
|
|
22
|
+
|
|
23
|
+
expect(l.hasValue).toBeTrue();
|
|
24
|
+
expect(l.value).toBe(VAL);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('observable', () => {
|
|
28
|
+
const createObj = () => ({ str: 'abc' });
|
|
29
|
+
const l = new LazyObservable(() => createObj());
|
|
30
|
+
|
|
31
|
+
const listener = jest.fn().mockImplementation();
|
|
32
|
+
|
|
33
|
+
const clean = reaction(() => l.value, listener, { fireImmediately: true });
|
|
34
|
+
|
|
35
|
+
expect(listener).toHaveBeenCalledWith(createObj(), expectAnythingOrNothing, expectAnythingOrNothing);
|
|
36
|
+
|
|
37
|
+
listener.mockClear();
|
|
38
|
+
|
|
39
|
+
l.reset();
|
|
40
|
+
|
|
41
|
+
expect(listener).toHaveBeenCalledWith(createObj(), expectAnythingOrNothing, expectAnythingOrNothing);
|
|
42
|
+
|
|
43
|
+
clean();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe('LazyPromise', () => {
|
|
48
|
+
|
|
49
|
+
it('simple', async () => {
|
|
50
|
+
const VAL = 'abc';
|
|
51
|
+
const l = new LazyPromise(() => setTimeoutAsync(100).then(() => VAL));
|
|
52
|
+
|
|
53
|
+
expect(l.hasValue).toBeFalse();
|
|
54
|
+
expect(l.busy).toBeFalse();
|
|
55
|
+
|
|
56
|
+
expect(l.value).toBeUndefined();
|
|
57
|
+
expect(l.busy).toBeTrue();
|
|
58
|
+
|
|
59
|
+
await expect(l.promise).resolves.not.toThrow();
|
|
60
|
+
|
|
61
|
+
expect(l.hasValue).toBeTrue();
|
|
62
|
+
expect(l.busy).toBeFalse();
|
|
63
|
+
expect(l.value).toBe(VAL);
|
|
64
|
+
|
|
65
|
+
l.dispose();
|
|
66
|
+
expect(l.hasValue).toBeFalse();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('observable', async () => {
|
|
70
|
+
const VAL = 'abc';
|
|
71
|
+
const l = new LazyPromiseObservable(() => setTimeoutAsync(200).then(() => VAL));
|
|
72
|
+
|
|
73
|
+
expect(l.hasValue).toBeFalse();
|
|
74
|
+
expect(l.busy).toBeFalse();
|
|
75
|
+
|
|
76
|
+
expect(l.value).toBeUndefined();
|
|
77
|
+
expect(l.busy).toBeTrue();
|
|
78
|
+
|
|
79
|
+
const listener = jest.fn().mockImplementation();
|
|
80
|
+
const clean = reaction(() => l.value, listener, { fireImmediately: true });
|
|
81
|
+
|
|
82
|
+
expect(listener).toHaveBeenCalledWith(undefined, expectAnythingOrNothing, expectAnythingOrNothing);
|
|
83
|
+
|
|
84
|
+
await expect(l.promise).resolves.not.toThrow();
|
|
85
|
+
|
|
86
|
+
expect(listener).toHaveBeenCalledWith(VAL, expectAnythingOrNothing, expectAnythingOrNothing);
|
|
87
|
+
|
|
88
|
+
expect(l.hasValue).toBeTrue();
|
|
89
|
+
expect(l.busy).toBeFalse();
|
|
90
|
+
expect(l.value).toBe(VAL);
|
|
91
|
+
|
|
92
|
+
clean();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
import { LazyObservable, LazyPromiseObservable } from './observable';
|
|
3
|
+
import logger from '../logger';
|
|
4
|
+
|
|
5
|
+
// Backward compatibility stuff ...
|
|
6
|
+
|
|
7
|
+
class LazyObservableWarned<T> extends LazyObservable<T> {
|
|
8
|
+
|
|
9
|
+
constructor(factory: () => T) {
|
|
10
|
+
super(factory);
|
|
11
|
+
|
|
12
|
+
logger.log('@zajno/common/lazy: you are using LazyObservable but imported just as Lazy. To avoid this warning import LazyObservable directly from lazy/observable or use non-observable version from lazy/singleton.');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
class LazyPromiseObservableWarned<T> extends LazyPromiseObservable<T> {
|
|
18
|
+
|
|
19
|
+
constructor(factory: () => Promise<T>, initial?: T) {
|
|
20
|
+
super(factory, initial);
|
|
21
|
+
|
|
22
|
+
logger.log('@zajno/common/lazy: you are using LazyPromiseObservableWarned but imported just as LazyPromise. To avoid this warning import LazyPromiseObservable directly from lazy/observable or use non-observable version from lazy/promise.');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default LazyObservableWarned;
|
|
28
|
+
|
|
29
|
+
// In future versions make these imports straight
|
|
30
|
+
export {
|
|
31
|
+
LazyObservableWarned as Lazy,
|
|
32
|
+
LazyPromiseObservableWarned as LazyPromise,
|
|
33
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IDisposable } from '../disposer';
|
|
2
|
+
|
|
3
|
+
export type LazyLight<T> = IDisposable & {
|
|
4
|
+
readonly value: T;
|
|
5
|
+
readonly hasValue: boolean;
|
|
6
|
+
|
|
7
|
+
reset(): void;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function createLazy<T>(factory: () => T) {
|
|
11
|
+
const _factory = factory;
|
|
12
|
+
let _instance: T = undefined;
|
|
13
|
+
|
|
14
|
+
const res: LazyLight<T> = {
|
|
15
|
+
get value() {
|
|
16
|
+
if (_instance === undefined) {
|
|
17
|
+
_instance = _factory();
|
|
18
|
+
}
|
|
19
|
+
return _instance;
|
|
20
|
+
},
|
|
21
|
+
get hasValue() { return _instance !== undefined; },
|
|
22
|
+
reset: () => {
|
|
23
|
+
_instance = undefined;
|
|
24
|
+
},
|
|
25
|
+
dispose: () => res.reset(),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Lazy } from './singleton';
|
|
2
|
+
import { LazyPromise } from './promise';
|
|
3
|
+
import { observable, makeObservable, action } from 'mobx';
|
|
4
|
+
|
|
5
|
+
export class LazyObservable<T> extends Lazy<T> {
|
|
6
|
+
|
|
7
|
+
constructor(factory: (() => T)) {
|
|
8
|
+
super(factory);
|
|
9
|
+
|
|
10
|
+
makeObservable<Lazy<T>, '_instance' | 'ensureInstance'>(this, {
|
|
11
|
+
_instance: observable,
|
|
12
|
+
reset: action,
|
|
13
|
+
ensureInstance: action,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class LazyPromiseObservable<T> extends LazyPromise<T> {
|
|
19
|
+
|
|
20
|
+
constructor(
|
|
21
|
+
factory: () => Promise<T>,
|
|
22
|
+
initial?: T,
|
|
23
|
+
) {
|
|
24
|
+
super(factory, initial);
|
|
25
|
+
|
|
26
|
+
makeObservable<LazyPromise<T>, '_instance' | '_busy' | 'setInstance'>(this, {
|
|
27
|
+
_instance: observable.ref,
|
|
28
|
+
_busy: observable,
|
|
29
|
+
setInstance: action,
|
|
30
|
+
reset: action,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { IDisposable } from '../disposer';
|
|
2
|
+
|
|
3
|
+
export class LazyPromise<T> implements IDisposable {
|
|
4
|
+
|
|
5
|
+
private _instance: T = undefined;
|
|
6
|
+
private _busy: boolean = null;
|
|
7
|
+
|
|
8
|
+
private _promise: Promise<T> = null;
|
|
9
|
+
|
|
10
|
+
constructor(
|
|
11
|
+
private readonly _factory: () => Promise<T>,
|
|
12
|
+
private readonly initial: T = undefined,
|
|
13
|
+
) {
|
|
14
|
+
this._instance = initial;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get busy() { return this._busy || false; }
|
|
18
|
+
get hasValue() { return this._busy === false; }
|
|
19
|
+
|
|
20
|
+
get promise() {
|
|
21
|
+
return this._promise;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
get value() {
|
|
25
|
+
if (this._busy === null) {
|
|
26
|
+
this._busy = true;
|
|
27
|
+
this._promise = this._factory();
|
|
28
|
+
this._promise.then(this.setInstance);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return this._instance;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private setInstance = (res: T) => {
|
|
35
|
+
this._busy = false;
|
|
36
|
+
this._instance = res || null;
|
|
37
|
+
|
|
38
|
+
// keep this._promise to allow to re-use it outside
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
reset() {
|
|
42
|
+
this._busy = null;
|
|
43
|
+
this._instance = this.initial;
|
|
44
|
+
this._promise = null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
dispose = () => this.reset();
|
|
48
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IDisposable } from '../disposer';
|
|
2
|
+
|
|
3
|
+
export class Lazy<T> implements IDisposable {
|
|
4
|
+
|
|
5
|
+
protected _instance: T = null;
|
|
6
|
+
|
|
7
|
+
constructor(protected readonly _factory: (() => T)) { }
|
|
8
|
+
|
|
9
|
+
get hasValue() { return this._instance !== null; }
|
|
10
|
+
|
|
11
|
+
get value() {
|
|
12
|
+
this.ensureInstance();
|
|
13
|
+
return this._instance;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
private ensureInstance() {
|
|
17
|
+
if (this._instance === null) {
|
|
18
|
+
this._instance = this._factory();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
prewarm() {
|
|
23
|
+
this.ensureInstance();
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
reset() {
|
|
28
|
+
this._instance = null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
dispose() { this.reset(); }
|
|
32
|
+
}
|
package/src/lazy.light.ts
CHANGED
|
@@ -1,29 +1,8 @@
|
|
|
1
|
-
import type { IDisposable } from './disposer';
|
|
2
1
|
|
|
3
|
-
|
|
4
|
-
readonly value: T;
|
|
5
|
-
readonly hasValue: boolean;
|
|
2
|
+
// DEPRECATED MODULE. Delete in future versions
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
};
|
|
4
|
+
import logger from './logger';
|
|
9
5
|
|
|
10
|
-
export
|
|
11
|
-
const _factory = factory;
|
|
12
|
-
let _instance: T = undefined;
|
|
6
|
+
export * from './lazy/light';
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
get value() {
|
|
16
|
-
if (_instance === undefined) {
|
|
17
|
-
_instance = _factory();
|
|
18
|
-
}
|
|
19
|
-
return _instance;
|
|
20
|
-
},
|
|
21
|
-
get hasValue() { return _instance !== undefined; },
|
|
22
|
-
reset: () => {
|
|
23
|
-
_instance = undefined;
|
|
24
|
-
},
|
|
25
|
-
dispose: () => res.reset(),
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
return res;
|
|
29
|
-
}
|
|
8
|
+
logger.warn('@zajno/common: importing module "lazy.light" is deprecated; please change your import to "lazy/light" module.');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import faker from 'faker';
|
|
1
|
+
import { faker } from '@faker-js/faker';
|
|
2
2
|
import logger, { batchLoggers, createLogger, getMode, ILogger, setMode } from '..';
|
|
3
3
|
import fc from 'fast-check';
|
|
4
4
|
import { toArbitrary } from '../../__tests__/helpers/main';
|
|
@@ -9,16 +9,16 @@ const CONSOLE = console;
|
|
|
9
9
|
describe('#logger-tests', () => {
|
|
10
10
|
|
|
11
11
|
const customLogger = {
|
|
12
|
-
log: jest.fn().mockImplementation(
|
|
13
|
-
warn: jest.fn().mockImplementation(
|
|
14
|
-
error: jest.fn().mockImplementation(
|
|
12
|
+
log: jest.fn().mockImplementation(),
|
|
13
|
+
warn: jest.fn().mockImplementation(),
|
|
14
|
+
error: jest.fn().mockImplementation(),
|
|
15
15
|
};
|
|
16
16
|
const customLoggerGetter = () => customLogger;
|
|
17
17
|
|
|
18
18
|
const consoleMocks: Record<keyof ILogger, jest.SpyInstance> = {
|
|
19
|
-
log: jest.spyOn(CONSOLE, 'log').mockImplementation(
|
|
20
|
-
warn: jest.spyOn(CONSOLE, 'warn').mockImplementation(
|
|
21
|
-
error: jest.spyOn(CONSOLE, 'error').mockImplementation(
|
|
19
|
+
log: jest.spyOn(CONSOLE, 'log').mockImplementation(),
|
|
20
|
+
warn: jest.spyOn(CONSOLE, 'warn').mockImplementation(),
|
|
21
|
+
error: jest.spyOn(CONSOLE, 'error').mockImplementation(),
|
|
22
22
|
} as const;
|
|
23
23
|
const loggerMethods = Object.keys(consoleMocks) as (keyof ILogger)[];
|
|
24
24
|
|
package/src/unsubscriber.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ValidationErrors } from './ValidationErrors';
|
|
|
4
4
|
export const ValidatorsRegExps = {
|
|
5
5
|
// There is at least first and last name
|
|
6
6
|
// eslint-disable-next-line no-useless-escape
|
|
7
|
-
name: /^[
|
|
7
|
+
name: /^[\p{L},\.'-]+( +[\p{L},\.'-]+)+$/iu,
|
|
8
8
|
englishLetters: /^([a-zA-Z\s]+)$/,
|
|
9
9
|
email: /^([a-zA-Z0-9_.\-\\+])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/,
|
|
10
10
|
|
|
@@ -22,7 +22,7 @@ export const ValidatorsRegExps = {
|
|
|
22
22
|
expiryDateCard: /^\d+$/,
|
|
23
23
|
cvv: /^\d+$/,
|
|
24
24
|
// eslint-disable-next-line no-useless-escape
|
|
25
|
-
website: /^(https?:\/\/)?(
|
|
25
|
+
website: /^(https?:\/\/)?((\p{N}|\p{L})+((((-?(\p{N}|\p{L})+)+)?)\.))+\p{L}{2,}(:[0-9]+)?(\/.*)?$/iu,
|
|
26
26
|
linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createLazy } from '../lazy
|
|
1
|
+
import { createLazy } from '../lazy/light';
|
|
2
2
|
import { action, computed, makeObservable, observable, reaction } from 'mobx';
|
|
3
3
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
4
4
|
import { ValidatableModel } from './Validatable';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { observable, computed, makeObservable, reaction, action } from 'mobx';
|
|
2
|
-
import { createLazy } from '../lazy
|
|
2
|
+
import { createLazy } from '../lazy/light';
|
|
3
3
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
4
4
|
import { ValidatableModel } from './Validatable';
|
|
5
5
|
import { IValueModel } from './types';
|