@alterior/common 3.9.1 → 3.13.4
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/dist/base64.d.ts +6 -6
- package/dist/base64.js +52 -52
- package/dist/base64.js.map +1 -1
- package/dist/base64.test.d.ts +1 -1
- package/dist/cache.d.ts +84 -84
- package/dist/cache.js +148 -148
- package/dist/cache.js.map +1 -1
- package/dist/cache.test.d.ts +1 -1
- package/dist/check-native-async.d.ts +1 -1
- package/dist/check-native-async.js +27 -28
- package/dist/check-native-async.js.map +1 -1
- package/dist/clone.d.ts +23 -23
- package/dist/clone.js +59 -60
- package/dist/clone.js.map +1 -1
- package/dist/clone.test.d.ts +1 -1
- package/dist/coalesce.d.ts +5 -5
- package/dist/coalesce.js +15 -16
- package/dist/coalesce.js.map +1 -1
- package/dist/coalesce.test.d.ts +1 -1
- package/dist/colors.d.ts +62 -62
- package/dist/colors.js +66 -66
- package/dist/console.d.ts +31 -31
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +65 -86
- package/dist/console.js.map +1 -1
- package/dist/constructor.d.ts +6 -6
- package/dist/constructor.js +2 -2
- package/dist/decorators.d.ts +1 -1
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +6 -7
- package/dist/decorators.js.map +1 -1
- package/dist/environment.d.ts +11 -11
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +27 -27
- package/dist/environment.js.map +1 -1
- package/dist/errors.d.ts +66 -66
- package/dist/errors.js +133 -133
- package/dist/errors.test.d.ts +1 -1
- package/dist/get-param-names.d.ts +5 -5
- package/dist/get-param-names.js +48 -49
- package/dist/get-param-names.js.map +1 -1
- package/dist/index.d.ts +20 -20
- package/dist/index.js +23 -23
- package/dist/is-constructor.d.ts +12 -12
- package/dist/is-constructor.js +28 -29
- package/dist/is-constructor.js.map +1 -1
- package/dist/is-constructor.test.d.ts +1 -1
- package/dist/lazy-promise.d.ts +14 -14
- package/dist/lazy-promise.js +32 -32
- package/dist/lazy-promise.js.map +1 -1
- package/dist/lazy-subject.d.ts +22 -22
- package/dist/lazy-subject.js +22 -23
- package/dist/lazy-subject.js.map +1 -1
- package/dist/locks.d.ts +23 -23
- package/dist/locks.js +76 -76
- package/dist/locks.js.map +1 -1
- package/dist/locks.test.d.ts +1 -1
- package/dist/locks.test.js.map +1 -1
- package/dist/padding.d.ts +22 -22
- package/dist/padding.js +42 -43
- package/dist/padding.js.map +1 -1
- package/dist/presentation.d.ts +49 -49
- package/dist/presentation.d.ts.map +1 -1
- package/dist/presentation.js +132 -132
- package/dist/presentation.js.map +1 -1
- package/dist/presentation.test.d.ts +1 -1
- package/dist/presentation.test.js.map +1 -1
- package/dist/serializer.d.ts +8 -8
- package/dist/serializer.js +23 -24
- package/dist/serializer.js.map +1 -1
- package/dist/test.d.ts +2 -2
- package/dist/time.d.ts +9 -9
- package/dist/time.js +22 -22
- package/dist/time.js.map +1 -1
- package/dist/timeout.d.ts +13 -13
- package/dist/timeout.js +27 -28
- package/dist/timeout.js.map +1 -1
- package/dist/zones.d.ts +46 -46
- package/dist/zones.js +139 -139
- package/dist/zones.js.map +1 -1
- package/dist.esm/base64.d.ts +6 -6
- package/dist.esm/base64.js +48 -48
- package/dist.esm/base64.js.map +1 -1
- package/dist.esm/base64.test.d.ts +1 -1
- package/dist.esm/cache.d.ts +84 -84
- package/dist.esm/cache.js +144 -144
- package/dist.esm/cache.js.map +1 -1
- package/dist.esm/cache.test.d.ts +1 -1
- package/dist.esm/check-native-async.d.ts +1 -1
- package/dist.esm/check-native-async.js +24 -24
- package/dist.esm/check-native-async.js.map +1 -1
- package/dist.esm/clone.d.ts +23 -23
- package/dist.esm/clone.js +53 -53
- package/dist.esm/clone.js.map +1 -1
- package/dist.esm/clone.test.d.ts +1 -1
- package/dist.esm/coalesce.d.ts +5 -5
- package/dist.esm/coalesce.js +12 -12
- package/dist.esm/coalesce.js.map +1 -1
- package/dist.esm/coalesce.test.d.ts +1 -1
- package/dist.esm/colors.d.ts +62 -62
- package/dist.esm/colors.js +63 -63
- package/dist.esm/console.d.ts +31 -31
- package/dist.esm/console.d.ts.map +1 -1
- package/dist.esm/console.js +60 -80
- package/dist.esm/console.js.map +1 -1
- package/dist.esm/constructor.d.ts +6 -6
- package/dist.esm/constructor.js +1 -1
- package/dist.esm/decorators.d.ts +1 -1
- package/dist.esm/decorators.d.ts.map +1 -1
- package/dist.esm/decorators.js +3 -3
- package/dist.esm/environment.d.ts +11 -11
- package/dist.esm/environment.d.ts.map +1 -1
- package/dist.esm/environment.js +24 -24
- package/dist.esm/environment.js.map +1 -1
- package/dist.esm/errors.d.ts +66 -66
- package/dist.esm/errors.js +115 -115
- package/dist.esm/errors.test.d.ts +1 -1
- package/dist.esm/get-param-names.d.ts +5 -5
- package/dist.esm/get-param-names.js +45 -45
- package/dist.esm/get-param-names.js.map +1 -1
- package/dist.esm/index.d.ts +20 -20
- package/dist.esm/index.js +20 -20
- package/dist.esm/is-constructor.d.ts +12 -12
- package/dist.esm/is-constructor.js +24 -24
- package/dist.esm/is-constructor.js.map +1 -1
- package/dist.esm/is-constructor.test.d.ts +1 -1
- package/dist.esm/lazy-promise.d.ts +14 -14
- package/dist.esm/lazy-promise.js +28 -28
- package/dist.esm/lazy-promise.js.map +1 -1
- package/dist.esm/lazy-subject.d.ts +22 -22
- package/dist.esm/lazy-subject.js +19 -19
- package/dist.esm/locks.d.ts +23 -23
- package/dist.esm/locks.js +71 -71
- package/dist.esm/locks.js.map +1 -1
- package/dist.esm/locks.test.d.ts +1 -1
- package/dist.esm/locks.test.js.map +1 -1
- package/dist.esm/padding.d.ts +22 -22
- package/dist.esm/padding.js +37 -37
- package/dist.esm/presentation.d.ts +49 -49
- package/dist.esm/presentation.d.ts.map +1 -1
- package/dist.esm/presentation.js +126 -126
- package/dist.esm/presentation.js.map +1 -1
- package/dist.esm/presentation.test.d.ts +1 -1
- package/dist.esm/presentation.test.js.map +1 -1
- package/dist.esm/serializer.d.ts +8 -8
- package/dist.esm/serializer.js +20 -20
- package/dist.esm/test.d.ts +2 -2
- package/dist.esm/time.d.ts +9 -9
- package/dist.esm/time.js +19 -19
- package/dist.esm/time.js.map +1 -1
- package/dist.esm/timeout.d.ts +13 -13
- package/dist.esm/timeout.js +23 -23
- package/dist.esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist.esm/zones.d.ts +46 -46
- package/dist.esm/zones.js +135 -135
- package/dist.esm/zones.js.map +1 -1
- package/package.json +11 -8
- package/src/console.ts +2 -22
- package/src/environment.ts +2 -0
- package/tsconfig.esm.json +0 -3
- package/tsconfig.json +0 -2
- package/tsconfig.tsbuildinfo +1 -3791
package/dist.esm/timeout.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { lazySubject } from './lazy-subject';
|
|
2
|
-
/**
|
|
3
|
-
* Wait a specified amount of time before resolving.
|
|
4
|
-
* @param time
|
|
5
|
-
*/
|
|
6
|
-
export function timeout(time = 0) {
|
|
7
|
-
return new Promise((resolve, reject) => {
|
|
8
|
-
setTimeout(() => resolve(), time);
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Return an observable that fires at regular intervals as long as
|
|
13
|
-
* it has subscribers. To stop the interval, remove all subscribers.
|
|
14
|
-
*
|
|
15
|
-
* @param time
|
|
16
|
-
*/
|
|
17
|
-
export function interval(time) {
|
|
18
|
-
let interval;
|
|
19
|
-
return lazySubject({
|
|
20
|
-
start: subject => interval = setInterval(() => subject.next()),
|
|
21
|
-
stop: () => clearInterval(interval)
|
|
22
|
-
});
|
|
23
|
-
}
|
|
1
|
+
import { lazySubject } from './lazy-subject';
|
|
2
|
+
/**
|
|
3
|
+
* Wait a specified amount of time before resolving.
|
|
4
|
+
* @param time
|
|
5
|
+
*/
|
|
6
|
+
export function timeout(time = 0) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
setTimeout(() => resolve(), time);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Return an observable that fires at regular intervals as long as
|
|
13
|
+
* it has subscribers. To stop the interval, remove all subscribers.
|
|
14
|
+
*
|
|
15
|
+
* @param time
|
|
16
|
+
*/
|
|
17
|
+
export function interval(time) {
|
|
18
|
+
let interval;
|
|
19
|
+
return lazySubject({
|
|
20
|
+
start: subject => interval = setInterval(() => subject.next()),
|
|
21
|
+
stop: () => clearInterval(interval)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
24
|
//# sourceMappingURL=timeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/base64.test.ts","../src/base64.ts","../src/cache.test.ts","../src/cache.ts","../src/check-native-async.ts","../src/clone.test.ts","../src/clone.ts","../src/coalesce.test.ts","../src/coalesce.ts","../src/colors.ts","../src/console.ts","../src/constructor.ts","../src/decorators.ts","../src/environment.ts","../src/errors.test.ts","../src/errors.ts","../src/get-param-names.ts","../src/index.ts","../src/is-constructor.test.ts","../src/is-constructor.ts","../src/lazy-promise.ts","../src/lazy-subject.ts","../src/locks.test.ts","../src/locks.ts","../src/padding.ts","../src/presentation.test.ts","../src/presentation.ts","../src/serializer.ts","../src/test.ts","../src/time.ts","../src/timeout.ts","../src/zones.ts"],"version":"5.9.3"}
|
package/dist.esm/zones.d.ts
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
3
|
-
* Copyright William Lahti
|
|
4
|
-
*
|
|
5
|
-
* Derived from Angular's NgZone
|
|
6
|
-
* https://github.com/angular/angular/blob/6.0.0/packages/core/src/zone/ng_zone.ts
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
10
|
-
/**
|
|
11
|
-
* Provides a zone that checks for zone stability and emits events when the zone's stability
|
|
12
|
-
* changes. This is useful for running code when asynchronous code has completely finished executing,
|
|
13
|
-
* and no further execution is possible.
|
|
14
|
-
*/
|
|
15
|
-
export declare class AsyncZone {
|
|
16
|
-
constructor(name: string, properties?: any);
|
|
17
|
-
private _zonesWithPendingMicrotasks;
|
|
18
|
-
private _zonesWithPendingMacrotasks;
|
|
19
|
-
private _outside;
|
|
20
|
-
private _nesting;
|
|
21
|
-
private _hasPendingMicrotasks;
|
|
22
|
-
private _hasPendingMacrotasks;
|
|
23
|
-
private _zone;
|
|
24
|
-
private _onError;
|
|
25
|
-
private _isStable;
|
|
26
|
-
private _onMicrotaskEmpty;
|
|
27
|
-
private _onStable;
|
|
28
|
-
static run<T>(cb: () => (Promise<T> | T)): Promise<T>;
|
|
29
|
-
/**
|
|
30
|
-
* Get the underlying Zone object.
|
|
31
|
-
* @returns Zone
|
|
32
|
-
* @todo Typed as `any` to avoid issue where this reference to Zone
|
|
33
|
-
* is undefined because we cannot directly export Zone's types without
|
|
34
|
-
* directly referencing Zone. PRs welcome.
|
|
35
|
-
*/
|
|
36
|
-
get zone(): any;
|
|
37
|
-
get onMicrotaskEmpty(): Observable<void>;
|
|
38
|
-
get onStable(): Observable<void>;
|
|
39
|
-
get onError(): Observable<Error>;
|
|
40
|
-
checkStable(): void;
|
|
41
|
-
runOutside(runnable: any): void;
|
|
42
|
-
invoke(callback: () => void): void;
|
|
43
|
-
private innerInvoke;
|
|
44
|
-
onEnter(): void;
|
|
45
|
-
onLeave(): void;
|
|
46
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
3
|
+
* Copyright William Lahti
|
|
4
|
+
*
|
|
5
|
+
* Derived from Angular's NgZone
|
|
6
|
+
* https://github.com/angular/angular/blob/6.0.0/packages/core/src/zone/ng_zone.ts
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
import { Observable } from 'rxjs';
|
|
10
|
+
/**
|
|
11
|
+
* Provides a zone that checks for zone stability and emits events when the zone's stability
|
|
12
|
+
* changes. This is useful for running code when asynchronous code has completely finished executing,
|
|
13
|
+
* and no further execution is possible.
|
|
14
|
+
*/
|
|
15
|
+
export declare class AsyncZone {
|
|
16
|
+
constructor(name: string, properties?: any);
|
|
17
|
+
private _zonesWithPendingMicrotasks;
|
|
18
|
+
private _zonesWithPendingMacrotasks;
|
|
19
|
+
private _outside;
|
|
20
|
+
private _nesting;
|
|
21
|
+
private _hasPendingMicrotasks;
|
|
22
|
+
private _hasPendingMacrotasks;
|
|
23
|
+
private _zone;
|
|
24
|
+
private _onError;
|
|
25
|
+
private _isStable;
|
|
26
|
+
private _onMicrotaskEmpty;
|
|
27
|
+
private _onStable;
|
|
28
|
+
static run<T>(cb: () => (Promise<T> | T)): Promise<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Get the underlying Zone object.
|
|
31
|
+
* @returns Zone
|
|
32
|
+
* @todo Typed as `any` to avoid issue where this reference to Zone
|
|
33
|
+
* is undefined because we cannot directly export Zone's types without
|
|
34
|
+
* directly referencing Zone. PRs welcome.
|
|
35
|
+
*/
|
|
36
|
+
get zone(): any;
|
|
37
|
+
get onMicrotaskEmpty(): Observable<void>;
|
|
38
|
+
get onStable(): Observable<void>;
|
|
39
|
+
get onError(): Observable<Error>;
|
|
40
|
+
checkStable(): void;
|
|
41
|
+
runOutside(runnable: any): void;
|
|
42
|
+
invoke(callback: () => void): void;
|
|
43
|
+
private innerInvoke;
|
|
44
|
+
onEnter(): void;
|
|
45
|
+
onLeave(): void;
|
|
46
|
+
}
|
|
47
47
|
//# sourceMappingURL=zones.d.ts.map
|
package/dist.esm/zones.js
CHANGED
|
@@ -1,136 +1,136 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
3
|
-
* Copyright William Lahti
|
|
4
|
-
*
|
|
5
|
-
* Derived from Angular's NgZone
|
|
6
|
-
* https://github.com/angular/angular/blob/6.0.0/packages/core/src/zone/ng_zone.ts
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
import { __awaiter } from "tslib";
|
|
10
|
-
import { Subject } from 'rxjs';
|
|
11
|
-
/**
|
|
12
|
-
* Provides a zone that checks for zone stability and emits events when the zone's stability
|
|
13
|
-
* changes. This is useful for running code when asynchronous code has completely finished executing,
|
|
14
|
-
* and no further execution is possible.
|
|
15
|
-
*/
|
|
16
|
-
export class AsyncZone {
|
|
17
|
-
constructor(name, properties = {}) {
|
|
18
|
-
this._zonesWithPendingMicrotasks = [];
|
|
19
|
-
this._zonesWithPendingMacrotasks = [];
|
|
20
|
-
this._nesting = 0;
|
|
21
|
-
this._onError = new Subject();
|
|
22
|
-
this._onMicrotaskEmpty = new Subject();
|
|
23
|
-
this._onStable = new Subject();
|
|
24
|
-
let self = this;
|
|
25
|
-
this._outside = Zone.current;
|
|
26
|
-
this._zone = Zone.current.fork({
|
|
27
|
-
name,
|
|
28
|
-
properties,
|
|
29
|
-
onInvoke(delegate, current, target, callback, applyThis, applyArgs, source) {
|
|
30
|
-
return self.innerInvoke(() => delegate.invoke(target, callback, applyThis, applyArgs, source));
|
|
31
|
-
},
|
|
32
|
-
onInvokeTask(delegate, current, target, task, applyThis, applyArgs) {
|
|
33
|
-
return self.innerInvoke(() => delegate.invokeTask(target, task, applyThis, applyArgs));
|
|
34
|
-
},
|
|
35
|
-
onHasTask(delegate, current, target, hasTaskState) {
|
|
36
|
-
delegate.hasTask(target, hasTaskState);
|
|
37
|
-
if (hasTaskState.change == 'microTask') {
|
|
38
|
-
if (hasTaskState.microTask) {
|
|
39
|
-
if (!self._zonesWithPendingMicrotasks.includes(target))
|
|
40
|
-
self._zonesWithPendingMicrotasks.push(target);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
self._zonesWithPendingMicrotasks = self._zonesWithPendingMicrotasks.filter(x => x !== target);
|
|
44
|
-
}
|
|
45
|
-
self._hasPendingMicrotasks = hasTaskState.microTask;
|
|
46
|
-
}
|
|
47
|
-
else if (hasTaskState.change == 'macroTask') {
|
|
48
|
-
self._hasPendingMacrotasks = hasTaskState.macroTask;
|
|
49
|
-
if (hasTaskState.macroTask) {
|
|
50
|
-
if (!self._zonesWithPendingMacrotasks.includes(target))
|
|
51
|
-
self._zonesWithPendingMacrotasks.push(target);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
self._zonesWithPendingMacrotasks = self._zonesWithPendingMacrotasks.filter(x => x !== target);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
self.checkStable();
|
|
58
|
-
},
|
|
59
|
-
onHandleError(delegate, current, target, error) {
|
|
60
|
-
self.runOutside(() => self._onError.next(error));
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
static run(cb) {
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
let zone = new AsyncZone('AsyncZone');
|
|
68
|
-
let value;
|
|
69
|
-
zone.onStable.subscribe(() => resolve(value));
|
|
70
|
-
zone.onError.subscribe(e => reject(e));
|
|
71
|
-
zone.invoke(() => __awaiter(this, void 0, void 0, function* () { return value = yield cb(); }));
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get the underlying Zone object.
|
|
76
|
-
* @returns Zone
|
|
77
|
-
* @todo Typed as `any` to avoid issue where this reference to Zone
|
|
78
|
-
* is undefined because we cannot directly export Zone's types without
|
|
79
|
-
* directly referencing Zone. PRs welcome.
|
|
80
|
-
*/
|
|
81
|
-
get zone() {
|
|
82
|
-
return this._zone;
|
|
83
|
-
}
|
|
84
|
-
get onMicrotaskEmpty() {
|
|
85
|
-
return this._onMicrotaskEmpty;
|
|
86
|
-
}
|
|
87
|
-
get onStable() {
|
|
88
|
-
return this._onStable;
|
|
89
|
-
}
|
|
90
|
-
get onError() {
|
|
91
|
-
return this._onError;
|
|
92
|
-
}
|
|
93
|
-
checkStable() {
|
|
94
|
-
if (this._nesting > 0 || this._hasPendingMacrotasks || this._hasPendingMicrotasks || this._isStable)
|
|
95
|
-
return;
|
|
96
|
-
if (this._zonesWithPendingMicrotasks.length > 0 || this._zonesWithPendingMacrotasks.length > 0)
|
|
97
|
-
return;
|
|
98
|
-
try {
|
|
99
|
-
this._nesting++;
|
|
100
|
-
this._onMicrotaskEmpty.next(null);
|
|
101
|
-
}
|
|
102
|
-
finally {
|
|
103
|
-
this._nesting--;
|
|
104
|
-
if (!this._hasPendingMicrotasks) {
|
|
105
|
-
try {
|
|
106
|
-
this.runOutside(() => this._onStable.next(null));
|
|
107
|
-
}
|
|
108
|
-
finally {
|
|
109
|
-
this._isStable = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
runOutside(runnable) {
|
|
115
|
-
this._outside.run(runnable);
|
|
116
|
-
}
|
|
117
|
-
invoke(callback) {
|
|
118
|
-
this._zone.runGuarded(() => this.innerInvoke(callback));
|
|
119
|
-
}
|
|
120
|
-
innerInvoke(callback) {
|
|
121
|
-
this.onEnter();
|
|
122
|
-
try {
|
|
123
|
-
return callback();
|
|
124
|
-
}
|
|
125
|
-
finally {
|
|
126
|
-
this.onLeave();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
onEnter() {
|
|
130
|
-
this._nesting += 1;
|
|
131
|
-
}
|
|
132
|
-
onLeave() {
|
|
133
|
-
this._nesting -= 1;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
3
|
+
* Copyright William Lahti
|
|
4
|
+
*
|
|
5
|
+
* Derived from Angular's NgZone
|
|
6
|
+
* https://github.com/angular/angular/blob/6.0.0/packages/core/src/zone/ng_zone.ts
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
import { __awaiter } from "tslib";
|
|
10
|
+
import { Subject } from 'rxjs';
|
|
11
|
+
/**
|
|
12
|
+
* Provides a zone that checks for zone stability and emits events when the zone's stability
|
|
13
|
+
* changes. This is useful for running code when asynchronous code has completely finished executing,
|
|
14
|
+
* and no further execution is possible.
|
|
15
|
+
*/
|
|
16
|
+
export class AsyncZone {
|
|
17
|
+
constructor(name, properties = {}) {
|
|
18
|
+
this._zonesWithPendingMicrotasks = [];
|
|
19
|
+
this._zonesWithPendingMacrotasks = [];
|
|
20
|
+
this._nesting = 0;
|
|
21
|
+
this._onError = new Subject();
|
|
22
|
+
this._onMicrotaskEmpty = new Subject();
|
|
23
|
+
this._onStable = new Subject();
|
|
24
|
+
let self = this;
|
|
25
|
+
this._outside = Zone.current;
|
|
26
|
+
this._zone = Zone.current.fork({
|
|
27
|
+
name,
|
|
28
|
+
properties,
|
|
29
|
+
onInvoke(delegate, current, target, callback, applyThis, applyArgs, source) {
|
|
30
|
+
return self.innerInvoke(() => delegate.invoke(target, callback, applyThis, applyArgs, source));
|
|
31
|
+
},
|
|
32
|
+
onInvokeTask(delegate, current, target, task, applyThis, applyArgs) {
|
|
33
|
+
return self.innerInvoke(() => delegate.invokeTask(target, task, applyThis, applyArgs));
|
|
34
|
+
},
|
|
35
|
+
onHasTask(delegate, current, target, hasTaskState) {
|
|
36
|
+
delegate.hasTask(target, hasTaskState);
|
|
37
|
+
if (hasTaskState.change == 'microTask') {
|
|
38
|
+
if (hasTaskState.microTask) {
|
|
39
|
+
if (!self._zonesWithPendingMicrotasks.includes(target))
|
|
40
|
+
self._zonesWithPendingMicrotasks.push(target);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
self._zonesWithPendingMicrotasks = self._zonesWithPendingMicrotasks.filter(x => x !== target);
|
|
44
|
+
}
|
|
45
|
+
self._hasPendingMicrotasks = hasTaskState.microTask;
|
|
46
|
+
}
|
|
47
|
+
else if (hasTaskState.change == 'macroTask') {
|
|
48
|
+
self._hasPendingMacrotasks = hasTaskState.macroTask;
|
|
49
|
+
if (hasTaskState.macroTask) {
|
|
50
|
+
if (!self._zonesWithPendingMacrotasks.includes(target))
|
|
51
|
+
self._zonesWithPendingMacrotasks.push(target);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
self._zonesWithPendingMacrotasks = self._zonesWithPendingMacrotasks.filter(x => x !== target);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
self.checkStable();
|
|
58
|
+
},
|
|
59
|
+
onHandleError(delegate, current, target, error) {
|
|
60
|
+
self.runOutside(() => self._onError.next(error));
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static run(cb) {
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
let zone = new AsyncZone('AsyncZone');
|
|
68
|
+
let value;
|
|
69
|
+
zone.onStable.subscribe(() => resolve(value));
|
|
70
|
+
zone.onError.subscribe(e => reject(e));
|
|
71
|
+
zone.invoke(() => __awaiter(this, void 0, void 0, function* () { return value = yield cb(); }));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get the underlying Zone object.
|
|
76
|
+
* @returns Zone
|
|
77
|
+
* @todo Typed as `any` to avoid issue where this reference to Zone
|
|
78
|
+
* is undefined because we cannot directly export Zone's types without
|
|
79
|
+
* directly referencing Zone. PRs welcome.
|
|
80
|
+
*/
|
|
81
|
+
get zone() {
|
|
82
|
+
return this._zone;
|
|
83
|
+
}
|
|
84
|
+
get onMicrotaskEmpty() {
|
|
85
|
+
return this._onMicrotaskEmpty;
|
|
86
|
+
}
|
|
87
|
+
get onStable() {
|
|
88
|
+
return this._onStable;
|
|
89
|
+
}
|
|
90
|
+
get onError() {
|
|
91
|
+
return this._onError;
|
|
92
|
+
}
|
|
93
|
+
checkStable() {
|
|
94
|
+
if (this._nesting > 0 || this._hasPendingMacrotasks || this._hasPendingMicrotasks || this._isStable)
|
|
95
|
+
return;
|
|
96
|
+
if (this._zonesWithPendingMicrotasks.length > 0 || this._zonesWithPendingMacrotasks.length > 0)
|
|
97
|
+
return;
|
|
98
|
+
try {
|
|
99
|
+
this._nesting++;
|
|
100
|
+
this._onMicrotaskEmpty.next(null);
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
this._nesting--;
|
|
104
|
+
if (!this._hasPendingMicrotasks) {
|
|
105
|
+
try {
|
|
106
|
+
this.runOutside(() => this._onStable.next(null));
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
this._isStable = true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
runOutside(runnable) {
|
|
115
|
+
this._outside.run(runnable);
|
|
116
|
+
}
|
|
117
|
+
invoke(callback) {
|
|
118
|
+
this._zone.runGuarded(() => this.innerInvoke(callback));
|
|
119
|
+
}
|
|
120
|
+
innerInvoke(callback) {
|
|
121
|
+
this.onEnter();
|
|
122
|
+
try {
|
|
123
|
+
return callback();
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
this.onLeave();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
onEnter() {
|
|
130
|
+
this._nesting += 1;
|
|
131
|
+
}
|
|
132
|
+
onLeave() {
|
|
133
|
+
this._nesting -= 1;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
136
|
//# sourceMappingURL=zones.js.map
|
package/dist.esm/zones.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAEH,OAAO,EAAc,OAAO,EAAE,MAAM,MAAM,CAAC;AAE3C;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAClB,YAAmB,IAAa,EAAE,aAAmB,EAAE;QAiD/C,gCAA2B,GAAY,EAAE,CAAC;QAC1C,gCAA2B,GAAY,EAAE,CAAC;QAG1C,aAAQ,GAAY,CAAC,CAAC;QAItB,aAAQ,GAAoB,IAAI,OAAO,EAAS,CAAC;QAEjD,sBAAiB,GAAmB,IAAI,OAAO,EAAQ,CAAC;QACxD,cAAS,GAAmB,IAAI,OAAO,EAAQ,CAAC;QA3DpD,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,IAAI;YACJ,UAAU;YAEV,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;gBACtE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACnG,CAAC;YAED,YAAY,CAAC,QAAsB,EAAE,OAAa,EAAE,MAAY,EAAE,IAAU,EAAE,SAAc,EAAE,SAAc;gBACxG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3F,CAAC;YAED,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;gBAC7C,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAEvC,IAAI,YAAY,CAAC,MAAM,IAAI,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alterior/common",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.13.4",
|
|
4
4
|
"description": "Useful utilities for Typescript apps",
|
|
5
5
|
"author": "The Alterior Project (https://github.com/alterior-mvc)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"clean": "rimraf dist dist.esm",
|
|
32
|
-
"build": "npm run
|
|
33
|
-
"build:cjs": "tsc",
|
|
34
|
-
"build:esm": "tsc -
|
|
32
|
+
"build": "npm run build:cjs && npm run build:esm",
|
|
33
|
+
"build:cjs": "tsc -b",
|
|
34
|
+
"build:esm": "tsc -b tsconfig.esm.json",
|
|
35
35
|
"prepublishOnly": "npm test",
|
|
36
|
-
"test": "
|
|
37
|
-
"docs": "typedoc ."
|
|
36
|
+
"test": "node dist/test.js",
|
|
37
|
+
"docs": "typedoc src/index.ts"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"rxjs": "^7.8.0",
|
|
@@ -43,5 +43,8 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"reflect-metadata": "^0.1.13"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
47
|
-
|
|
46
|
+
"gitHead": "87f31ea4078faaca53b45573c6a0013cdb40dd07",
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^20.19.30"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/src/console.ts
CHANGED
|
@@ -8,17 +8,6 @@ export interface Console {
|
|
|
8
8
|
dir(...args : any[]);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
function safeRequire(name : string) {
|
|
12
|
-
if (typeof require === 'undefined')
|
|
13
|
-
return undefined;
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
return require(name);
|
|
17
|
-
} catch (e) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
11
|
/**
|
|
23
12
|
* Intercept console messages emitted within the given function, allowing you to programmatically call the underlying raw console implementation (or not).
|
|
24
13
|
*
|
|
@@ -59,11 +48,7 @@ export function indentConsole(spaces : number, callback : Function) {
|
|
|
59
48
|
|
|
60
49
|
return interceptConsole((method, original, console, args) => {
|
|
61
50
|
if (method == 'dir') {
|
|
62
|
-
|
|
63
|
-
if (util)
|
|
64
|
-
console.log(`${indent}${util.inspect(args[0])}`)
|
|
65
|
-
else
|
|
66
|
-
original(...args);
|
|
51
|
+
original(...args);
|
|
67
52
|
} else {
|
|
68
53
|
original(`${indent}${args.join(' ')}`);
|
|
69
54
|
}
|
|
@@ -80,12 +65,7 @@ export function indentConsole(spaces : number, callback : Function) {
|
|
|
80
65
|
export function formatConsole(formatter : (message : string) => string, callback : Function) {
|
|
81
66
|
return interceptConsole((method, original, console, args) => {
|
|
82
67
|
if (method == 'dir') {
|
|
83
|
-
|
|
84
|
-
if (util) {
|
|
85
|
-
console.log(`${formatter(util.inspect(args[0]))}`)
|
|
86
|
-
} else {
|
|
87
|
-
original(...args);
|
|
88
|
-
}
|
|
68
|
+
original(...args);
|
|
89
69
|
} else {
|
|
90
70
|
original(`${formatter(args.join(' '))}`);
|
|
91
71
|
}
|
package/src/environment.ts
CHANGED
package/tsconfig.esm.json
CHANGED