@zajno/common 1.4.2 → 1.4.6
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/.nvmrc +1 -1
- package/README.md +5 -5
- package/coverage/clover.xml +394 -107
- package/coverage/coverage-final.json +18 -13
- package/coverage/lcov-report/index.html +38 -38
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +24 -9
- package/coverage/lcov-report/src/async/timeout.ts.html +230 -0
- package/coverage/lcov-report/src/cache.ts.html +623 -0
- 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 +332 -0
- 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 +78 -18
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +2 -2
- package/coverage/lcov-report/src/logger/console.ts.html +5 -5
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +22 -22
- package/coverage/lcov-report/src/logger/named.ts.html +13 -13
- package/coverage/lcov-report/src/logger/proxy.ts.html +7 -7
- package/coverage/lcov-report/src/math/arrays.ts.html +23 -23
- package/coverage/lcov-report/src/math/calc.ts.html +9 -9
- package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +6 -6
- package/coverage/lcov-report/src/observers.ts.html +368 -0
- package/coverage/lcov-report/src/observersMap.ts.html +395 -0
- package/coverage/lcov-report/src/observingCache.ts.html +530 -0
- package/coverage/lcov-report/src/transitionObserver.ts.html +29 -8
- package/coverage/lcov-report/src/types.ts.html +5 -5
- 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 +2 -2
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +24 -24
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +15 -15
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +741 -133
- package/lib/cache.d.ts +6 -2
- package/lib/cache.d.ts.map +1 -1
- package/lib/cache.js +20 -4
- package/lib/cache.js.map +1 -1
- package/lib/observersMap.d.ts +22 -0
- package/lib/observersMap.d.ts.map +1 -0
- package/lib/observersMap.js +93 -0
- package/lib/observersMap.js.map +1 -0
- package/lib/observingCache.d.ts +31 -0
- package/lib/observingCache.d.ts.map +1 -0
- package/lib/observingCache.js +118 -0
- package/lib/observingCache.js.map +1 -0
- package/lib/transitionObserver.d.ts +1 -0
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +8 -1
- package/lib/transitionObserver.js.map +1 -1
- package/lib/validation/validators.js +1 -1
- package/lib/viewModels/InitializableModel.d.ts +6 -0
- package/lib/viewModels/InitializableModel.d.ts.map +1 -0
- package/lib/viewModels/InitializableModel.js +23 -0
- package/lib/viewModels/InitializableModel.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/observingCache.test.ts +127 -0
- package/src/cache.ts +25 -4
- package/src/observersMap.ts +105 -0
- package/src/observingCache.ts +150 -0
- package/src/transitionObserver.ts +7 -0
- package/src/validation/validators.ts +1 -1
- package/src/viewModels/InitializableModel.ts +17 -0
package/lib/cache.d.ts
CHANGED
|
@@ -10,21 +10,25 @@ export declare class PromiseCache<T, K = string> {
|
|
|
10
10
|
readonly fetcher: (id: K) => Promise<T>;
|
|
11
11
|
readonly keyAdapter?: K extends string ? null : (k: K) => string;
|
|
12
12
|
readonly keyParser?: K extends string ? null : (id: string) => K;
|
|
13
|
-
readonly observeItems: boolean;
|
|
14
13
|
private readonly _itemsCache;
|
|
15
14
|
private readonly _itemsStatus;
|
|
16
15
|
private readonly _fetchCache;
|
|
17
16
|
private _logger;
|
|
17
|
+
private _observeItems;
|
|
18
|
+
private readonly _busyCount;
|
|
18
19
|
constructor(fetcher: (id: K) => Promise<T>, keyAdapter?: K extends string ? null : (k: K) => string, keyParser?: K extends string ? null : (id: string) => K, observeItems?: boolean);
|
|
20
|
+
get busyCount(): number;
|
|
21
|
+
useObserveItems(observeItems: boolean): this;
|
|
19
22
|
private _pk;
|
|
20
23
|
useLogger(name?: string): this;
|
|
21
24
|
getDeferred(key: K): DeferredGetter<T>;
|
|
22
25
|
getIsBusy(id: K): boolean;
|
|
23
|
-
getCurrent(id: K): T;
|
|
26
|
+
getCurrent(id: K, initiateFetch?: boolean): T;
|
|
24
27
|
get(id: K): Promise<T>;
|
|
25
28
|
private _doFetchAsync;
|
|
26
29
|
invalidate(id: K): void;
|
|
27
30
|
updateValueDirectly(id: K, value: T): void;
|
|
31
|
+
hasKey(id: K): boolean;
|
|
28
32
|
keys(): string[];
|
|
29
33
|
keysParsed(): K[];
|
|
30
34
|
private _set;
|
package/lib/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,oBAAY,cAAc,CAAC,CAAC,IAAI;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,yBAAiB,cAAc,CAAC;IAErB,MAAM,KAAK,sBAKO,CAAC;CAC7B;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAgB/B,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;IAfpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAGtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAE7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAGpC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EACvD,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,EAChE,YAAY,UAAQ;IAMxB,IAAW,SAAS,WAAoC;IAExD,eAAe,CAAC,YAAY,EAAE,OAAO;IAKrC,OAAO,CAAC,GAAG;IAgBX,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM;IAKvB,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAStC,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAKzB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,UAAO,GAAG,CAAC;IAU1C,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBtB,OAAO,CAAC,aAAa,CAmBnB;IAEF,UAAU,CAAC,EAAE,EAAE,CAAC;IAKhB,mBAAmB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAKnC,MAAM,CAAC,EAAE,EAAE,CAAC;IAKZ,IAAI;IAIJ,UAAU;IASV,OAAO,CAAC,IAAI;CAKf"}
|
package/lib/cache.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PromiseCache = exports.DeferredGetter = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const mobx_1 = require("mobx");
|
|
6
|
+
const NumberModel_1 = require("./viewModels/NumberModel");
|
|
6
7
|
const logger_1 = require("./logger");
|
|
7
8
|
var DeferredGetter;
|
|
8
9
|
(function (DeferredGetter) {
|
|
@@ -19,19 +20,21 @@ class PromiseCache {
|
|
|
19
20
|
this.fetcher = fetcher;
|
|
20
21
|
this.keyAdapter = keyAdapter;
|
|
21
22
|
this.keyParser = keyParser;
|
|
22
|
-
this.observeItems = observeItems;
|
|
23
23
|
this._itemsCache = {};
|
|
24
24
|
this._itemsStatus = {};
|
|
25
25
|
this._fetchCache = {};
|
|
26
26
|
this._logger = null;
|
|
27
|
+
this._observeItems = false;
|
|
28
|
+
this._busyCount = new NumberModel_1.NumberModel(0);
|
|
27
29
|
this._doFetchAsync = async (id, key) => {
|
|
28
30
|
var _a;
|
|
29
31
|
try {
|
|
32
|
+
this._busyCount.increment();
|
|
30
33
|
const res = await this.fetcher(id);
|
|
31
34
|
if (this._fetchCache[key]) {
|
|
32
35
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.log(key, 'item\'s <promise> resolved to', res);
|
|
33
36
|
const result = res
|
|
34
|
-
? (this.
|
|
37
|
+
? (this._observeItems ? mobx_1.observable.object(res) : res)
|
|
35
38
|
: null;
|
|
36
39
|
mobx_1.runInAction(() => this._itemsCache[key] = result);
|
|
37
40
|
}
|
|
@@ -39,12 +42,19 @@ class PromiseCache {
|
|
|
39
42
|
}
|
|
40
43
|
finally {
|
|
41
44
|
mobx_1.runInAction(() => {
|
|
45
|
+
this._busyCount.decrement();
|
|
42
46
|
delete this._fetchCache[key];
|
|
43
47
|
this._itemsStatus[key] = false;
|
|
44
48
|
});
|
|
45
49
|
}
|
|
46
50
|
};
|
|
47
51
|
mobx_1.makeObservable(this);
|
|
52
|
+
this._observeItems = observeItems;
|
|
53
|
+
}
|
|
54
|
+
get busyCount() { return this._busyCount.value; }
|
|
55
|
+
useObserveItems(observeItems) {
|
|
56
|
+
this._observeItems = observeItems;
|
|
57
|
+
return this;
|
|
48
58
|
}
|
|
49
59
|
_pk(k) {
|
|
50
60
|
if (k == null) {
|
|
@@ -74,11 +84,13 @@ class PromiseCache {
|
|
|
74
84
|
const key = this._pk(id);
|
|
75
85
|
return this._itemsStatus[key];
|
|
76
86
|
}
|
|
77
|
-
getCurrent(id) {
|
|
87
|
+
getCurrent(id, initiateFetch = true) {
|
|
78
88
|
var _a;
|
|
79
89
|
const key = this._pk(id);
|
|
80
90
|
const item = this._itemsCache[key];
|
|
81
|
-
|
|
91
|
+
if (initiateFetch) {
|
|
92
|
+
this.get(id);
|
|
93
|
+
}
|
|
82
94
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.log(key, 'getCurrent returns', item);
|
|
83
95
|
return item;
|
|
84
96
|
}
|
|
@@ -108,6 +120,10 @@ class PromiseCache {
|
|
|
108
120
|
const key = this._pk(id);
|
|
109
121
|
this._set(key, value, undefined, undefined);
|
|
110
122
|
}
|
|
123
|
+
hasKey(id) {
|
|
124
|
+
const key = this._pk(id);
|
|
125
|
+
return this._itemsCache[key] !== undefined || this._itemsStatus[key] !== undefined;
|
|
126
|
+
}
|
|
111
127
|
keys() {
|
|
112
128
|
return Object.keys(this._itemsCache);
|
|
113
129
|
}
|
package/lib/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":";;;;AAAA,+BAAuE;AACvE,qCAAiD;AAQjD,IAAiB,cAAc,CAQ9B;AARD,WAAiB,cAAc;IAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAY,SAAS,CAAC,CAAC;IAClD,oBAAK,GAAG;QACjB,IAAI,OAAO,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAyB,OAAO,gBAAgB,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI;KACQ,CAAC;AAC9B,CAAC,EARgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAQ9B;AAED,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IDisposable } from './disposer';
|
|
2
|
+
declare type Unsub = () => void;
|
|
3
|
+
export declare class ObserversMap implements IDisposable {
|
|
4
|
+
readonly subscribe: null | ((key: string) => Promise<Unsub[]>);
|
|
5
|
+
readonly name?: string;
|
|
6
|
+
/** Unsusbcrobers map: key => unsub fn */
|
|
7
|
+
private readonly _map;
|
|
8
|
+
/** Timeouts map: key => timeout handle */
|
|
9
|
+
private readonly _timeouts;
|
|
10
|
+
private readonly _logger;
|
|
11
|
+
private readonly _count;
|
|
12
|
+
constructor(subscribe: null | ((key: string) => Promise<Unsub[]>), name?: string);
|
|
13
|
+
get count(): number;
|
|
14
|
+
getIsObserving(key: string): boolean;
|
|
15
|
+
getHasObserveTimeout(key: string): boolean;
|
|
16
|
+
enable(key: string, enable: boolean, clearAfter?: number, existingUnsubs?: Unsub[]): Promise<void>;
|
|
17
|
+
private refreshTimeout;
|
|
18
|
+
clear(): void;
|
|
19
|
+
dispose(): void;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=observersMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observersMap.d.ts","sourceRoot":"","sources":["../src/observersMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAG3D,aAAK,KAAK,GAAG,MAAM,IAAI,CAAC;AAExB,qBAAa,YAAa,YAAW,WAAW;IAShC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IARlG,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEvB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAW,IAAI,CAAC,EAAE,MAAM;IAIlG,IAAW,KAAK,WAAgC;IAEzC,cAAc,CAAC,GAAG,EAAE,MAAM;IAI1B,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAI1B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAE,MAAa,EAAE,cAAc,GAAE,KAAK,EAAS;IAuC3G,OAAO,CAAC,cAAc;IAkBf,KAAK;IAeL,OAAO;CAGjB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObserversMap = void 0;
|
|
4
|
+
const logger_1 = require("./logger");
|
|
5
|
+
const disposer_1 = require("./disposer");
|
|
6
|
+
const NumberModel_1 = require("./viewModels/NumberModel");
|
|
7
|
+
class ObserversMap {
|
|
8
|
+
constructor(subscribe, name) {
|
|
9
|
+
this.subscribe = subscribe;
|
|
10
|
+
this.name = name;
|
|
11
|
+
/** Unsusbcrobers map: key => unsub fn */
|
|
12
|
+
this._map = new Map();
|
|
13
|
+
/** Timeouts map: key => timeout handle */
|
|
14
|
+
this._timeouts = new Map();
|
|
15
|
+
this._logger = null;
|
|
16
|
+
this._count = new NumberModel_1.NumberModel();
|
|
17
|
+
this._logger = logger_1.createLogger(`[Observers:${this.name || '?'}]`);
|
|
18
|
+
}
|
|
19
|
+
get count() { return this._count.value; }
|
|
20
|
+
getIsObserving(key) {
|
|
21
|
+
return this._map.has(key);
|
|
22
|
+
}
|
|
23
|
+
getHasObserveTimeout(key) {
|
|
24
|
+
return this.getIsObserving(key) && this._timeouts.has(key);
|
|
25
|
+
}
|
|
26
|
+
async enable(key, enable, clearAfter = null, existingUnsubs = null) {
|
|
27
|
+
if (enable === this.getIsObserving(key)) {
|
|
28
|
+
this.refreshTimeout(key, enable, clearAfter, true);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (enable) {
|
|
32
|
+
this._logger.log('Adding observer for key =', key, clearAfter ? `, clearAfter = ${clearAfter}` : '');
|
|
33
|
+
// this marker will help to determine whether unsubscribe was requested while we were in process of subscribing
|
|
34
|
+
let disabed = false;
|
|
35
|
+
const marker = () => { disabed = true; };
|
|
36
|
+
this._map.set(key, marker);
|
|
37
|
+
if (!this.subscribe && !existingUnsubs) {
|
|
38
|
+
throw new Error('Neither subscribe function nor existingUnsubs has been configured');
|
|
39
|
+
}
|
|
40
|
+
const unsubs = existingUnsubs || await this.subscribe(key);
|
|
41
|
+
const result = disposer_1.combineDisposers(...unsubs);
|
|
42
|
+
if (disabed) { // unsubscribe was requested
|
|
43
|
+
result();
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this._map.set(key, result);
|
|
47
|
+
this._count.increment();
|
|
48
|
+
this.refreshTimeout(key, true, clearAfter);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this._logger.log('Removing observer for key =', key);
|
|
53
|
+
this.refreshTimeout(key, false);
|
|
54
|
+
const unsub = this._map.get(key);
|
|
55
|
+
this._map.delete(key);
|
|
56
|
+
unsub();
|
|
57
|
+
this._count.decrement();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
refreshTimeout(key, enable, timeout, refresh = false) {
|
|
61
|
+
const current = this._timeouts.get(key);
|
|
62
|
+
if (current) {
|
|
63
|
+
clearTimeout(current);
|
|
64
|
+
this._timeouts.delete(key);
|
|
65
|
+
}
|
|
66
|
+
if (enable && refresh && current == null) {
|
|
67
|
+
// DO NOT setup new timeout because it's not intended to clear subscribtion if it was previously enabled for long term
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (enable && timeout) {
|
|
71
|
+
const t = setTimeout(() => this.enable(key, false), timeout);
|
|
72
|
+
this._timeouts.set(key, t);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
clear() {
|
|
76
|
+
// Clear timeouts
|
|
77
|
+
for (const t of this._timeouts.values()) {
|
|
78
|
+
clearTimeout(t);
|
|
79
|
+
}
|
|
80
|
+
this._timeouts.clear();
|
|
81
|
+
// Invoke unsubscribers
|
|
82
|
+
for (const u of this._map.values()) {
|
|
83
|
+
u();
|
|
84
|
+
}
|
|
85
|
+
this._map.clear();
|
|
86
|
+
this._count.setValue(0);
|
|
87
|
+
}
|
|
88
|
+
dispose() {
|
|
89
|
+
this.clear();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ObserversMap = ObserversMap;
|
|
93
|
+
//# sourceMappingURL=observersMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observersMap.js","sourceRoot":"","sources":["../src/observersMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Disposable } from './disposer';
|
|
2
|
+
import { DeferredGetter } from './cache';
|
|
3
|
+
import { Fields } from './fields';
|
|
4
|
+
export declare type Unsub = () => void;
|
|
5
|
+
export declare type Fetcher<T> = (key: string, cb: (val: T) => Promise<void> | void) => Unsub | Promise<Unsub>;
|
|
6
|
+
declare type ObserveStrategy = boolean | 'short' | number;
|
|
7
|
+
export interface IObservingCache<T> {
|
|
8
|
+
get(key: string): DeferredGetter<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare class ObservingCache<T> extends Disposable implements IObservingCache<T> {
|
|
11
|
+
readonly fetcher: Fetcher<T>;
|
|
12
|
+
private readonly _cache;
|
|
13
|
+
private readonly _observers;
|
|
14
|
+
private _observeStrategy;
|
|
15
|
+
private readonly _observeStrategyOverrides;
|
|
16
|
+
private _updater;
|
|
17
|
+
constructor(fetcher: Fetcher<T>);
|
|
18
|
+
get loadingCount(): number;
|
|
19
|
+
get observersCount(): number;
|
|
20
|
+
useObservingStrategy(observe: ObserveStrategy): this;
|
|
21
|
+
useUpdater(updater: Fields.Updater<T>): this;
|
|
22
|
+
getIsCached(key: string): boolean;
|
|
23
|
+
getCurent(key: string): T;
|
|
24
|
+
get(key: string, overrideStrategy?: ObserveStrategy): DeferredGetter<T>;
|
|
25
|
+
populate: (key: string, item: T) => void;
|
|
26
|
+
private _fetch;
|
|
27
|
+
private _subscribe;
|
|
28
|
+
private _updateItem;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=observingCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observingCache.d.ts","sourceRoot":"","sources":["../src/observingCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,KAAK,GAAG,MAAM,IAAI,CAAC;AAC/B,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvG,aAAK,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;CACvC;AAED,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,eAAe,CAAC,CAAC,CAAC;IAU/D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IARxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAE1C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAwC;IAElF,OAAO,CAAC,QAAQ,CAA2B;gBAEtB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IASxC,IAAW,YAAY,WAAoC;IAC3D,IAAW,cAAc,WAAoC;IAE7D,oBAAoB,CAAC,OAAO,EAAE,eAAe;IAa7C,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAMrC,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,SAAS,CAAC,GAAG,EAAE,MAAM;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC;IAmBvE,QAAQ,QAAS,MAAM,QAAQ,CAAC,UAE9B;IAEF,OAAO,CAAC,MAAM,CAwBZ;IAEF,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,WAAW,CAYhB;CACN"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservingCache = void 0;
|
|
4
|
+
const mobx_1 = require("mobx");
|
|
5
|
+
const disposer_1 = require("./disposer");
|
|
6
|
+
const cache_1 = require("./cache");
|
|
7
|
+
const observersMap_1 = require("./observersMap");
|
|
8
|
+
class ObservingCache extends disposer_1.Disposable {
|
|
9
|
+
constructor(fetcher) {
|
|
10
|
+
super();
|
|
11
|
+
this.fetcher = fetcher;
|
|
12
|
+
this._observeStrategy = null;
|
|
13
|
+
this._observeStrategyOverrides = {};
|
|
14
|
+
this._updater = null;
|
|
15
|
+
this.populate = (key, item) => {
|
|
16
|
+
this._updateItem(key, item);
|
|
17
|
+
};
|
|
18
|
+
this._fetch = async (key) => {
|
|
19
|
+
let firstLoad = true;
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
Promise.resolve(this.fetcher(key, item => {
|
|
22
|
+
if (firstLoad) {
|
|
23
|
+
resolve(item);
|
|
24
|
+
firstLoad = false;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this._updateItem(key, item);
|
|
28
|
+
}
|
|
29
|
+
})).then(unsub => {
|
|
30
|
+
const strategy = firstDefined(this._observeStrategyOverrides[key], this._observeStrategy);
|
|
31
|
+
if (!strategy) {
|
|
32
|
+
// immediate unsub in case no observing strategy has been set
|
|
33
|
+
unsub();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const timeout = getObserveTimeout(strategy);
|
|
37
|
+
this._observers.enable(key, true, timeout, [unsub]);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
this._subscribe = (key) => {
|
|
43
|
+
return Promise.all([
|
|
44
|
+
this.fetcher(key, item => this._updateItem(key, item)),
|
|
45
|
+
]);
|
|
46
|
+
};
|
|
47
|
+
this._updateItem = mobx_1.action((key, item) => {
|
|
48
|
+
if (this._updater != null) {
|
|
49
|
+
const current = this._cache.getCurrent(key, false);
|
|
50
|
+
if (current != null) {
|
|
51
|
+
const result = this._updater(current, item);
|
|
52
|
+
// re-set existing item but with updated contents
|
|
53
|
+
this._cache.updateValueDirectly(key, result);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this._cache.updateValueDirectly(key, item);
|
|
58
|
+
});
|
|
59
|
+
this._cache = new cache_1.PromiseCache(this._fetch);
|
|
60
|
+
this._observers = new observersMap_1.ObserversMap(this._subscribe);
|
|
61
|
+
this.disposer.add(this._observers);
|
|
62
|
+
}
|
|
63
|
+
get loadingCount() { return this._cache.busyCount; }
|
|
64
|
+
get observersCount() { return this._observers.count; }
|
|
65
|
+
useObservingStrategy(observe) {
|
|
66
|
+
this._observeStrategy = observe;
|
|
67
|
+
if (!this._observeStrategy) {
|
|
68
|
+
this._observers.clear();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const currentKeys = this._cache.keys();
|
|
72
|
+
const timeout = getObserveTimeout(this._observeStrategy);
|
|
73
|
+
currentKeys.forEach(key => this._observers.enable(key, true, timeout));
|
|
74
|
+
}
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
useUpdater(updater) {
|
|
78
|
+
this._updater = updater;
|
|
79
|
+
this._cache.useObserveItems(updater != null);
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
getIsCached(key) {
|
|
83
|
+
return this._cache.hasKey(key);
|
|
84
|
+
}
|
|
85
|
+
getCurent(key) {
|
|
86
|
+
return this._cache.getCurrent(key, false);
|
|
87
|
+
}
|
|
88
|
+
get(key, overrideStrategy) {
|
|
89
|
+
if (overrideStrategy !== undefined) {
|
|
90
|
+
this._observeStrategyOverrides[key] = overrideStrategy;
|
|
91
|
+
}
|
|
92
|
+
const strategy = firstDefined(this._observeStrategyOverrides[key], this._observeStrategy);
|
|
93
|
+
if (strategy && !this._observers.getIsObserving(key)) {
|
|
94
|
+
// ensure observe
|
|
95
|
+
if (this._cache.hasKey(key)) {
|
|
96
|
+
// the request has been initiated already
|
|
97
|
+
const timeout = getObserveTimeout(strategy);
|
|
98
|
+
this._observers.enable(key, true, timeout);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return this._cache.getDeferred(key);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.ObservingCache = ObservingCache;
|
|
105
|
+
function getObserveTimeout(s) {
|
|
106
|
+
if (!s) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
return typeof s === 'number'
|
|
110
|
+
? s
|
|
111
|
+
: (s === 'short'
|
|
112
|
+
? 5 * 60 * 1000
|
|
113
|
+
: null);
|
|
114
|
+
}
|
|
115
|
+
function firstDefined(...values) {
|
|
116
|
+
return values.find(v => v !== undefined);
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=observingCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observingCache.js","sourceRoot":"","sources":["../src/observingCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionObserver.d.ts","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,WAAW;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAM5B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAwB;IACrD,IAAW,YAAY,MAAyB;IAEhD,IAAW,WAAW,YAAqC;IAC3D,OAAO,KAAK,WAAW,GAA0C;IAEjE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAQvB,IAAI,CAAC,IAAI,EAAE,CAAC;IAKZ,EAAE,CAAC,EAAE,EAAE,CAAC;IAKR,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;IAQpB,SAAS;IAOT,QAAQ,CAAC,MAAM,UAAO;IAKtB,UAAU;IAIV,aAAa;IAKb,UAAU,CAAC,OAAO,GAAE,MAAa;IA2BjC,OAAO;IAMP,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,aASL;IAEF,OAAO,CAAC,WAAW,CAiCjB;IAEF,OAAO,CAAC,cAAc;CAQzB"}
|
|
1
|
+
{"version":3,"file":"transitionObserver.d.ts","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,WAAW;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAgB;IAE3B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAM5B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAwB;IACrD,IAAW,YAAY,MAAyB;IAEhD,IAAW,WAAW,YAAqC;IAC3D,OAAO,KAAK,WAAW,GAA0C;IAEjE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IAQvB,IAAI,CAAC,IAAI,EAAE,CAAC;IAKZ,EAAE,CAAC,EAAE,EAAE,CAAC;IAKR,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;IAQpB,SAAS;IAOT,QAAQ,CAAC,MAAM,UAAO;IAKtB,UAAU;IAIV,aAAa;IAKb,UAAU,CAAC,OAAO,GAAE,MAAa;IA2BjC,OAAO;IAMP,aAAa,CAAC,IAAI,EAAE,MAAM;IAK1B,OAAO,aASL;IAEF,OAAO,CAAC,WAAW,CAiCjB;IAEF,OAAO,CAAC,cAAc;CAQzB;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,cAKnD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TransitionObserver = void 0;
|
|
3
|
+
exports.waitFor = exports.TransitionObserver = void 0;
|
|
4
4
|
const mobx_1 = require("mobx");
|
|
5
5
|
const event_1 = require("./event");
|
|
6
6
|
const logger_1 = require("./logger");
|
|
@@ -143,4 +143,11 @@ class TransitionObserver {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
exports.TransitionObserver = TransitionObserver;
|
|
146
|
+
function waitFor(current, toBe) {
|
|
147
|
+
return new TransitionObserver(current)
|
|
148
|
+
.to(toBe)
|
|
149
|
+
.fireOnce()
|
|
150
|
+
.getPromise();
|
|
151
|
+
}
|
|
152
|
+
exports.waitFor = waitFor;
|
|
146
153
|
//# sourceMappingURL=transitionObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transitionObserver.js","sourceRoot":"","sources":["../src/transitionObserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -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?:\/\/)?([a-z0-9]+(
|
|
25
|
+
website: /^(https?:\/\/)?([a-z0-9]+([a-z0-9\-]+\.))+[a-z]{2,}(:[0-9]{1,})?(\/.*)?$/i,
|
|
26
26
|
linkedin: /^(https?:\/\/)?([a-z]+\d*[a-z]*\.)?linkedin\.com\/.*$/i,
|
|
27
27
|
};
|
|
28
28
|
exports.Validators = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitializableModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/InitializableModel.ts"],"names":[],"mappings":"AAEA,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAE/C,IAAW,YAAY,YAAsC;cAE7C,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAS/E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InitializableModel = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const NumberModel_1 = tslib_1.__importDefault(require("./NumberModel"));
|
|
6
|
+
class InitializableModel {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._counter = new NumberModel_1.default(0);
|
|
9
|
+
}
|
|
10
|
+
get initializing() { return this._counter.value > 0; }
|
|
11
|
+
async runOperation(operation) {
|
|
12
|
+
try {
|
|
13
|
+
this._counter.increment();
|
|
14
|
+
const res = await operation();
|
|
15
|
+
return res;
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
this._counter.decrement();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.InitializableModel = InitializableModel;
|
|
23
|
+
//# sourceMappingURL=InitializableModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitializableModel.js","sourceRoot":"","sources":["../../src/viewModels/InitializableModel.ts"],"names":[],"mappings":";;;;AAAA,wEAAwC;AAExC,MAAa,kBAAkB;IAA/B;QACqB,aAAQ,GAAG,IAAI,qBAAW,CAAC,CAAC,CAAC,CAAC;IAanD,CAAC;IAXG,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnD,KAAK,CAAC,YAAY,CAAI,SAA+B;QAC3D,IAAI;YACA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SAC7B;IACL,CAAC;CACJ;AAdD,gDAcC"}
|