@zajno/common 1.3.8 → 1.3.9
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 +164 -162
- package/coverage/coverage-final.json +6 -6
- package/coverage/lcov-report/index.html +7 -7
- 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 +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +2 -2
- package/coverage/lcov-report/src/dates/convert.ts.html +7 -40
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +8 -5
- package/coverage/lcov-report/src/dates/index.html +13 -13
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +42 -6
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +2 -2
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +2 -2
- 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/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- 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/transitionObserver.ts.html +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +316 -314
- package/lib/dates/calc.js +3 -3
- package/lib/dates/calc.js.map +1 -1
- package/lib/dates/convert.d.ts +0 -2
- package/lib/dates/convert.d.ts.map +1 -1
- package/lib/dates/convert.js +10 -20
- package/lib/dates/convert.js.map +1 -1
- package/lib/dates/format.d.ts.map +1 -1
- package/lib/dates/format.js +4 -3
- package/lib/dates/format.js.map +1 -1
- package/lib/dates/parse.d.ts +2 -0
- package/lib/dates/parse.d.ts.map +1 -1
- package/lib/dates/parse.js +12 -1
- package/lib/dates/parse.js.map +1 -1
- package/lib/dates/shift.js +6 -6
- package/lib/dates/shift.js.map +1 -1
- package/lib/dates/yearDate.js +3 -3
- package/lib/dates/yearDate.js.map +1 -1
- package/lib/disposer.d.ts +22 -0
- package/lib/disposer.d.ts.map +1 -0
- package/lib/disposer.js +65 -0
- package/lib/disposer.js.map +1 -0
- package/lib/transitionObserver.d.ts +1 -1
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/unsubscriber.d.ts +1 -20
- package/lib/unsubscriber.d.ts.map +1 -1
- package/lib/unsubscriber.js +6 -56
- package/lib/unsubscriber.js.map +1 -1
- package/package.json +1 -1
- package/src/dates/calc.ts +1 -1
- package/src/dates/convert.ts +1 -12
- package/src/dates/format.ts +2 -1
- package/src/dates/parse.ts +12 -0
- package/src/dates/shift.ts +1 -1
- package/src/dates/yearDate.ts +1 -1
- package/src/disposer.ts +81 -0
- package/src/transitionObserver.ts +1 -1
- package/src/unsubscriber.ts +9 -75
package/src/dates/format.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as MathX from '../math';
|
|
2
|
-
import { decompose, decomposeDate,
|
|
2
|
+
import { decompose, decomposeDate, getDiscreteDiff } from './convert';
|
|
3
|
+
import { getDate, getTime } from './parse';
|
|
3
4
|
import { YearDate } from './yearDate';
|
|
4
5
|
|
|
5
6
|
export namespace Format {
|
package/src/dates/parse.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
|
|
2
|
+
export function getTime(d: Date | number): number {
|
|
3
|
+
return d instanceof Date ? d.getTime() : d;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export function getDate(d: Date | number | string): Date {
|
|
7
|
+
if (!d) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return new Date(d);
|
|
12
|
+
}
|
|
13
|
+
|
|
2
14
|
export namespace Parse {
|
|
3
15
|
/** `YYYY-MM-DD` */
|
|
4
16
|
export function fromDatePicker(str: string, local = false) {
|
package/src/dates/shift.ts
CHANGED
package/src/dates/yearDate.ts
CHANGED
package/src/disposer.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import logger from './logger';
|
|
2
|
+
|
|
3
|
+
export interface IDisposable {
|
|
4
|
+
dispose(): void;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface DisposeFunction {
|
|
8
|
+
(): void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class Disposer {
|
|
12
|
+
|
|
13
|
+
private readonly _disposers: DisposeFunction[] = [];
|
|
14
|
+
private readonly _map = new Map<string, DisposeFunction>();
|
|
15
|
+
|
|
16
|
+
constructor(readonly logName: string = null) { }
|
|
17
|
+
|
|
18
|
+
add(d: DisposeFunction | IDisposable, id?: string) {
|
|
19
|
+
if (!d) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const dd: DisposeFunction = typeof d !== 'function'
|
|
24
|
+
? (() => d.dispose ? d.dispose() : null)
|
|
25
|
+
: d;
|
|
26
|
+
|
|
27
|
+
this._disposers.push(dd);
|
|
28
|
+
|
|
29
|
+
if (id) {
|
|
30
|
+
// dispose previous identified disposer
|
|
31
|
+
if (this._map.has(id)) {
|
|
32
|
+
this.execute(id);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this._map.set(id, dd);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
execute(id: string) {
|
|
40
|
+
const d = this._map.get(id);
|
|
41
|
+
if (!d) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
this._map.delete(id);
|
|
46
|
+
const i = this._disposers.indexOf(d);
|
|
47
|
+
if (i >= 0) {
|
|
48
|
+
this._disposers.splice(i, 1);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
d();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
dispose(log = false) {
|
|
55
|
+
if (log) {
|
|
56
|
+
logger.log(
|
|
57
|
+
`[Disposer:${this.logName || '<unknown>'}] Disposing ${this._disposers.length} items including named ones:`,
|
|
58
|
+
Array.from(this._map.entries()).map(e => e[0]),
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
this._disposers.forEach(d => d());
|
|
63
|
+
this._disposers.length = 0;
|
|
64
|
+
this._map.clear();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function combineDisposers(...items: DisposeFunction[]): DisposeFunction {
|
|
69
|
+
return () => items.forEach(i => i());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export class Disposable implements IDisposable {
|
|
73
|
+
|
|
74
|
+
protected readonly disposer = new Disposer();
|
|
75
|
+
protected _isDisposed = false;
|
|
76
|
+
|
|
77
|
+
public dispose = () => {
|
|
78
|
+
this._isDisposed = true;
|
|
79
|
+
this.disposer.dispose();
|
|
80
|
+
};
|
|
81
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { reaction } from 'mobx';
|
|
2
2
|
import { IEvent, Event } from './event';
|
|
3
3
|
import { ILogger, createLogger } from './logger';
|
|
4
|
-
import { IDisposable } from './
|
|
4
|
+
import { IDisposable } from './disposer';
|
|
5
5
|
|
|
6
6
|
export class TransitionObserver<T> implements IDisposable {
|
|
7
7
|
|
package/src/unsubscriber.ts
CHANGED
|
@@ -1,77 +1,11 @@
|
|
|
1
1
|
import logger from './logger';
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
private readonly _disposers: Disposer[] = [];
|
|
14
|
-
private readonly _map = new Map<string, Disposer>();
|
|
15
|
-
|
|
16
|
-
constructor(readonly logName: string = null) { }
|
|
17
|
-
|
|
18
|
-
add(d: Disposer | IDisposable, id?: string) {
|
|
19
|
-
if (!d) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const dd: Disposer = typeof d !== 'function'
|
|
24
|
-
? (() => d.dispose ? d.dispose() : null)
|
|
25
|
-
: d;
|
|
26
|
-
|
|
27
|
-
this._disposers.push(dd);
|
|
28
|
-
|
|
29
|
-
if (id) {
|
|
30
|
-
// dispose previous identified disposer
|
|
31
|
-
if (this._map.has(id)) {
|
|
32
|
-
this.execute(id);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
this._map.set(id, dd);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
execute(id: string) {
|
|
40
|
-
const d = this._map.get(id);
|
|
41
|
-
if (!d) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
this._map.delete(id);
|
|
46
|
-
const i = this._disposers.indexOf(d);
|
|
47
|
-
if (i >= 0) {
|
|
48
|
-
this._disposers.splice(i, 1);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
d();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
dispose(log = false) {
|
|
55
|
-
if (log) {
|
|
56
|
-
logger.log(
|
|
57
|
-
`[Disposer:${this.logName || '<unknown>'}] Disposing ${this._disposers.length} items including named ones:`,
|
|
58
|
-
Array.from(this._map.entries()).map(e => e[0]),
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
this._disposers.forEach(d => d());
|
|
63
|
-
this._disposers.length = 0;
|
|
64
|
-
this._map.clear();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function combineDisposers(...items: Disposer[]): Disposer {
|
|
69
|
-
return () => items.forEach(i => i());
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export class Disposable implements IDisposable {
|
|
73
|
-
|
|
74
|
-
protected readonly disposer = new Unsubscriber();
|
|
75
|
-
|
|
76
|
-
public dispose = () => this.disposer.dispose();
|
|
77
|
-
}
|
|
3
|
+
export {
|
|
4
|
+
IDisposable,
|
|
5
|
+
DisposeFunction as Disposer,
|
|
6
|
+
combineDisposers,
|
|
7
|
+
Disposer as Unsubscriber,
|
|
8
|
+
Disposable,
|
|
9
|
+
} from './disposer';
|
|
10
|
+
|
|
11
|
+
logger.warn('@zajno/common: importing module "unsusbcriber" is deprecated; please change your import to "disposer" module.');
|