@ngutil/common 0.0.3-dev.10
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/README.md +7 -0
- package/bool-attr.d.ts +2 -0
- package/destruct.d.ts +27 -0
- package/dom.d.ts +17 -0
- package/esm2022/bool-attr.mjs +4 -0
- package/esm2022/destruct.mjs +83 -0
- package/esm2022/dom.mjs +71 -0
- package/esm2022/index.mjs +6 -0
- package/esm2022/ngutil-common.mjs +5 -0
- package/esm2022/number-with-unit.mjs +35 -0
- package/esm2022/unngzone.mjs +14 -0
- package/fesm2022/ngutil-common.mjs +213 -0
- package/fesm2022/ngutil-common.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/number-with-unit.d.ts +8 -0
- package/package.json +29 -0
- package/unngzone.d.ts +8 -0
package/README.md
ADDED
package/bool-attr.d.ts
ADDED
package/destruct.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OnDestroy } from "@angular/core";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface IDisposable {
|
|
5
|
+
dispose(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare class Destruct {
|
|
8
|
+
#private;
|
|
9
|
+
readonly on: Observable<void>;
|
|
10
|
+
constructor(fn?: () => void);
|
|
11
|
+
get done(): boolean;
|
|
12
|
+
sub<T>(o: Observable<T>): Observable<T>;
|
|
13
|
+
disposable<T extends IDisposable>(d: T): T;
|
|
14
|
+
node<T extends Node>(el: T): T;
|
|
15
|
+
any(f: () => void): void;
|
|
16
|
+
run(): void;
|
|
17
|
+
}
|
|
18
|
+
export declare abstract class Destructible implements OnDestroy, IDisposable {
|
|
19
|
+
/** @ignore */
|
|
20
|
+
readonly d: Destruct;
|
|
21
|
+
/** @ignore */
|
|
22
|
+
ngOnDestroy(): void;
|
|
23
|
+
/** @ignore */
|
|
24
|
+
dispose(): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Destructible, never>;
|
|
26
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Destructible, never, never, {}, {}, never, never, false, never>;
|
|
27
|
+
}
|
package/dom.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type FastDomHandler = () => void;
|
|
2
|
+
declare class _FastDOM {
|
|
3
|
+
#private;
|
|
4
|
+
mutate(handler: FastDomHandler): void;
|
|
5
|
+
mutateNext(handler: FastDomHandler): void;
|
|
6
|
+
measure(handler: FastDomHandler): void;
|
|
7
|
+
setStyle(el: HTMLElement, style: {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}, chain?: FastDomHandler): void;
|
|
10
|
+
setAttributes(el: HTMLElement, attrs: {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}, chain?: FastDomHandler): void;
|
|
13
|
+
private _schedule;
|
|
14
|
+
private _apply;
|
|
15
|
+
}
|
|
16
|
+
export declare const FastDOM: _FastDOM;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function coerceBoolAttr(value) {
|
|
2
|
+
return value != null && `${value}` !== "false";
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbC1hdHRyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9ib29sLWF0dHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFtQjtJQUM5QyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUE7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJvb2xlYW5JbnB1dCA9IHN0cmluZyB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VCb29sQXR0cih2YWx1ZTogQm9vbGVhbklucHV0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gXCJmYWxzZVwiXG59XG4iXX0=
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import { share, Subject, take, takeUntil } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class Destruct {
|
|
5
|
+
#on;
|
|
6
|
+
constructor(fn) {
|
|
7
|
+
this.#on = new Subject();
|
|
8
|
+
this.on = this.#on.pipe(share());
|
|
9
|
+
if (fn != null) {
|
|
10
|
+
this.any(fn);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
get done() {
|
|
14
|
+
return this.#on.closed;
|
|
15
|
+
}
|
|
16
|
+
sub(o) {
|
|
17
|
+
if (this.done) {
|
|
18
|
+
return o.pipe(take(0));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return o.pipe(takeUntil(this.on));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
disposable(d) {
|
|
25
|
+
if (this.done) {
|
|
26
|
+
d.dispose();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.on.subscribe(d.dispose.bind(d));
|
|
30
|
+
}
|
|
31
|
+
return d;
|
|
32
|
+
}
|
|
33
|
+
node(el) {
|
|
34
|
+
const remove = () => {
|
|
35
|
+
const parent = el.parentNode;
|
|
36
|
+
if (parent) {
|
|
37
|
+
parent.removeChild(el);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
if (this.done) {
|
|
41
|
+
remove();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.on.subscribe(remove);
|
|
45
|
+
}
|
|
46
|
+
return el;
|
|
47
|
+
}
|
|
48
|
+
any(f) {
|
|
49
|
+
if (this.done) {
|
|
50
|
+
f();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.on.subscribe(f);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
run() {
|
|
57
|
+
if (!this.done) {
|
|
58
|
+
this.#on.next();
|
|
59
|
+
this.#on.complete();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export class Destructible {
|
|
64
|
+
constructor() {
|
|
65
|
+
/** @ignore */
|
|
66
|
+
this.d = new Destruct();
|
|
67
|
+
}
|
|
68
|
+
/** @ignore */
|
|
69
|
+
ngOnDestroy() {
|
|
70
|
+
this.d.run();
|
|
71
|
+
delete this.d;
|
|
72
|
+
}
|
|
73
|
+
/** @ignore */
|
|
74
|
+
dispose() {
|
|
75
|
+
this.ngOnDestroy();
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Destructible, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: Destructible, ngImport: i0 }); }
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Destructible, decorators: [{
|
|
81
|
+
type: Directive
|
|
82
|
+
}] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJ1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2Rlc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFFcEQsT0FBTyxFQUFjLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFNbEUsTUFBTSxPQUFPLFFBQVE7SUFDUixHQUFHLENBQXNCO0lBR2xDLFlBQVksRUFBZTtRQUhsQixRQUFHLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUN6QixPQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUdoQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFFRCxHQUFHLENBQUksQ0FBZ0I7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUF3QixDQUFJO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3hDLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQTtJQUNaLENBQUM7SUFFRCxJQUFJLENBQWlCLEVBQUs7UUFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUE7WUFDNUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUE7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLE1BQU0sRUFBRSxDQUFBO1FBQ1osQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0lBRUQsR0FBRyxDQUFDLENBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLENBQUMsRUFBRSxDQUFBO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUc7UUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDdkIsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUdELE1BQU0sT0FBZ0IsWUFBWTtJQURsQztRQUVJLGNBQWM7UUFDTCxNQUFDLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQTtLQVk5QjtJQVZHLGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUNaLE9BQVEsSUFBWSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsY0FBYztJQUNkLE9BQU87UUFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDdEIsQ0FBQzs4R0FiaUIsWUFBWTtrR0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlLCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSURpc3Bvc2FibGUge1xuICAgIGRpc3Bvc2UoKTogdm9pZFxufVxuXG5leHBvcnQgY2xhc3MgRGVzdHJ1Y3Qge1xuICAgIHJlYWRvbmx5ICNvbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcbiAgICByZWFkb25seSBvbiA9IHRoaXMuI29uLnBpcGUoc2hhcmUoKSlcblxuICAgIGNvbnN0cnVjdG9yKGZuPzogKCkgPT4gdm9pZCkge1xuICAgICAgICBpZiAoZm4gIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5hbnkoZm4pXG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRvbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLiNvbi5jbG9zZWRcbiAgICB9XG5cbiAgICBzdWI8VD4obzogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICBpZiAodGhpcy5kb25lKSB7XG4gICAgICAgICAgICByZXR1cm4gby5waXBlKHRha2UoMCkpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gby5waXBlKHRha2VVbnRpbCh0aGlzLm9uKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3Bvc2FibGU8VCBleHRlbmRzIElEaXNwb3NhYmxlPihkOiBUKTogVCB7XG4gICAgICAgIGlmICh0aGlzLmRvbmUpIHtcbiAgICAgICAgICAgIGQuZGlzcG9zZSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uLnN1YnNjcmliZShkLmRpc3Bvc2UuYmluZChkKSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkXG4gICAgfVxuXG4gICAgbm9kZTxUIGV4dGVuZHMgTm9kZT4oZWw6IFQpOiBUIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gZWwucGFyZW50Tm9kZVxuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChlbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kb25lKSB7XG4gICAgICAgICAgICByZW1vdmUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbi5zdWJzY3JpYmUocmVtb3ZlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVsXG4gICAgfVxuXG4gICAgYW55KGY6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9uZSkge1xuICAgICAgICAgICAgZigpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uLnN1YnNjcmliZShmKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcnVuKCkge1xuICAgICAgICBpZiAoIXRoaXMuZG9uZSkge1xuICAgICAgICAgICAgdGhpcy4jb24ubmV4dCgpXG4gICAgICAgICAgICB0aGlzLiNvbi5jb21wbGV0ZSgpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERlc3RydWN0aWJsZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgSURpc3Bvc2FibGUge1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgZCA9IG5ldyBEZXN0cnVjdCgpXG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmQucnVuKClcbiAgICAgICAgZGVsZXRlICh0aGlzIGFzIGFueSkuZFxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgdGhpcy5uZ09uRGVzdHJveSgpXG4gICAgfVxufVxuIl19
|
package/esm2022/dom.mjs
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { rawRequestAnimationFrame } from "./unngzone";
|
|
2
|
+
class _FastDOM {
|
|
3
|
+
#rafId;
|
|
4
|
+
#mutate = [];
|
|
5
|
+
#measure = [];
|
|
6
|
+
mutate(handler) {
|
|
7
|
+
this.#mutate.push(handler);
|
|
8
|
+
this._schedule();
|
|
9
|
+
}
|
|
10
|
+
mutateNext(handler) {
|
|
11
|
+
this.#mutate.push(() => {
|
|
12
|
+
this.#mutate.push(handler);
|
|
13
|
+
});
|
|
14
|
+
this._schedule();
|
|
15
|
+
}
|
|
16
|
+
measure(handler) {
|
|
17
|
+
this.#measure.push(handler);
|
|
18
|
+
this._schedule();
|
|
19
|
+
}
|
|
20
|
+
setStyle(el, style, chain) {
|
|
21
|
+
this.mutate(() => {
|
|
22
|
+
for (const [k, v] of Object.entries(style)) {
|
|
23
|
+
if (v == null) {
|
|
24
|
+
el.style.removeProperty(k);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
el.style.setProperty(k, v);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
chain && chain();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
setAttributes(el, attrs, chain) {
|
|
34
|
+
this.mutate(() => {
|
|
35
|
+
for (const [k, v] of Object.entries(attrs)) {
|
|
36
|
+
if (v == null) {
|
|
37
|
+
el.removeAttribute(k);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
el.setAttribute(k, v);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
chain && chain();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
_schedule() {
|
|
47
|
+
if (!this.#rafId) {
|
|
48
|
+
this.#rafId = rawRequestAnimationFrame(this._apply.bind(this));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
_apply() {
|
|
52
|
+
this.#rafId = null;
|
|
53
|
+
const measure = this.#measure.slice();
|
|
54
|
+
const mutate = this.#mutate.slice();
|
|
55
|
+
this.#measure.length = 0;
|
|
56
|
+
this.#mutate.length = 0;
|
|
57
|
+
runQ(measure);
|
|
58
|
+
runQ(mutate);
|
|
59
|
+
if (this.#measure.length || this.#mutate.length) {
|
|
60
|
+
this._schedule();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function runQ(items) {
|
|
65
|
+
let item;
|
|
66
|
+
while ((item = items.shift())) {
|
|
67
|
+
item();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export const FastDOM = new _FastDOM();
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXJELE1BQU0sUUFBUTtJQUNWLE1BQU0sQ0FBSztJQUNYLE9BQU8sR0FBMEIsRUFBRSxDQUFBO0lBQ25DLFFBQVEsR0FBMEIsRUFBRSxDQUFBO0lBRTdCLE1BQU0sQ0FBQyxPQUF1QjtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUF1QjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxPQUF1QjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxFQUFlLEVBQUUsS0FBNkIsRUFBRSxLQUFzQjtRQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNaLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUM5QixDQUFDO3FCQUFNLENBQUM7b0JBQ0osRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2dCQUM5QixDQUFDO1lBQ0wsQ0FBQztZQUVELEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUNwQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFTSxhQUFhLENBQUMsRUFBZSxFQUFFLEtBQTZCLEVBQUUsS0FBc0I7UUFDdkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDYixLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDWixFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN6QixDQUFDO3FCQUFNLENBQUM7b0JBQ0osRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3pCLENBQUM7WUFDTCxDQUFDO1lBRUQsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFBO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVPLFNBQVM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ2xFLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTTtRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBRWxCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVaLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDcEIsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVELFNBQVMsSUFBSSxDQUFDLEtBQXVCO0lBQ2pDLElBQUksSUFBb0IsQ0FBQTtJQUN4QixPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsSUFBSSxFQUFFLENBQUE7SUFDVixDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmF3UmVxdWVzdEFuaW1hdGlvbkZyYW1lIH0gZnJvbSBcIi4vdW5uZ3pvbmVcIlxuXG50eXBlIEZhc3REb21IYW5kbGVyID0gKCkgPT4gdm9pZFxuXG5jbGFzcyBfRmFzdERPTSB7XG4gICAgI3JhZklkOiBhbnlcbiAgICAjbXV0YXRlOiBBcnJheTxGYXN0RG9tSGFuZGxlcj4gPSBbXVxuICAgICNtZWFzdXJlOiBBcnJheTxGYXN0RG9tSGFuZGxlcj4gPSBbXVxuXG4gICAgcHVibGljIG11dGF0ZShoYW5kbGVyOiBGYXN0RG9tSGFuZGxlcikge1xuICAgICAgICB0aGlzLiNtdXRhdGUucHVzaChoYW5kbGVyKVxuICAgICAgICB0aGlzLl9zY2hlZHVsZSgpXG4gICAgfVxuXG4gICAgcHVibGljIG11dGF0ZU5leHQoaGFuZGxlcjogRmFzdERvbUhhbmRsZXIpIHtcbiAgICAgICAgdGhpcy4jbXV0YXRlLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4jbXV0YXRlLnB1c2goaGFuZGxlcilcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5fc2NoZWR1bGUoKVxuICAgIH1cblxuICAgIHB1YmxpYyBtZWFzdXJlKGhhbmRsZXI6IEZhc3REb21IYW5kbGVyKSB7XG4gICAgICAgIHRoaXMuI21lYXN1cmUucHVzaChoYW5kbGVyKVxuICAgICAgICB0aGlzLl9zY2hlZHVsZSgpXG4gICAgfVxuXG4gICAgcHVibGljIHNldFN0eWxlKGVsOiBIVE1MRWxlbWVudCwgc3R5bGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGNoYWluPzogRmFzdERvbUhhbmRsZXIpIHtcbiAgICAgICAgdGhpcy5tdXRhdGUoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoc3R5bGUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHYgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShrKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KGssIHYpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjaGFpbiAmJiBjaGFpbigpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHVibGljIHNldEF0dHJpYnV0ZXMoZWw6IEhUTUxFbGVtZW50LCBhdHRyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgY2hhaW4/OiBGYXN0RG9tSGFuZGxlcikge1xuICAgICAgICB0aGlzLm11dGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhhdHRycykpIHtcbiAgICAgICAgICAgICAgICBpZiAodiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZShrLCB2KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2hhaW4gJiYgY2hhaW4oKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NjaGVkdWxlKCkge1xuICAgICAgICBpZiAoIXRoaXMuI3JhZklkKSB7XG4gICAgICAgICAgICB0aGlzLiNyYWZJZCA9IHJhd1JlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9hcHBseS5iaW5kKHRoaXMpKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbHkoKSB7XG4gICAgICAgIHRoaXMuI3JhZklkID0gbnVsbFxuXG4gICAgICAgIGNvbnN0IG1lYXN1cmUgPSB0aGlzLiNtZWFzdXJlLnNsaWNlKClcbiAgICAgICAgY29uc3QgbXV0YXRlID0gdGhpcy4jbXV0YXRlLnNsaWNlKClcbiAgICAgICAgdGhpcy4jbWVhc3VyZS5sZW5ndGggPSAwXG4gICAgICAgIHRoaXMuI211dGF0ZS5sZW5ndGggPSAwXG5cbiAgICAgICAgcnVuUShtZWFzdXJlKVxuICAgICAgICBydW5RKG11dGF0ZSlcblxuICAgICAgICBpZiAodGhpcy4jbWVhc3VyZS5sZW5ndGggfHwgdGhpcy4jbXV0YXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5fc2NoZWR1bGUoKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBydW5RKGl0ZW1zOiBGYXN0RG9tSGFuZGxlcltdKSB7XG4gICAgbGV0IGl0ZW06IEZhc3REb21IYW5kbGVyXG4gICAgd2hpbGUgKChpdGVtID0gaXRlbXMuc2hpZnQoKSEpKSB7XG4gICAgICAgIGl0ZW0oKVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEZhc3RET00gPSBuZXcgX0Zhc3RET00oKVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./destruct";
|
|
2
|
+
export * from "./number-with-unit";
|
|
3
|
+
export * from "./bool-attr";
|
|
4
|
+
export * from "./unngzone";
|
|
5
|
+
export * from "./dom";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxPQUFPLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZXN0cnVjdFwiXG5leHBvcnQgKiBmcm9tIFwiLi9udW1iZXItd2l0aC11bml0XCJcbmV4cG9ydCAqIGZyb20gXCIuL2Jvb2wtYXR0clwiXG5leHBvcnQgKiBmcm9tIFwiLi91bm5nem9uZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9kb21cIlxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1dGlsLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbmd1dGlsLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const specials = ["auto", "inherit"];
|
|
2
|
+
const regex = /^([\d.\-+]+)\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/;
|
|
3
|
+
export class NumberWithUnit {
|
|
4
|
+
static coerce(value, defaultUnit) {
|
|
5
|
+
if (specials.includes(value)) {
|
|
6
|
+
return new NumberWithUnit(NaN, value);
|
|
7
|
+
}
|
|
8
|
+
else if (typeof value === "string") {
|
|
9
|
+
const match = value.match(regex);
|
|
10
|
+
if (match) {
|
|
11
|
+
return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
else if (typeof value === "number") {
|
|
15
|
+
return new NumberWithUnit(value, defaultUnit);
|
|
16
|
+
}
|
|
17
|
+
throw new Error(`Not implemented number with unit: ${value}`);
|
|
18
|
+
}
|
|
19
|
+
constructor(value, unit) {
|
|
20
|
+
this.value = value;
|
|
21
|
+
this.unit = unit;
|
|
22
|
+
}
|
|
23
|
+
toString() {
|
|
24
|
+
if (isNaN(this.value)) {
|
|
25
|
+
return this.unit;
|
|
26
|
+
}
|
|
27
|
+
else if (this.unit != null) {
|
|
28
|
+
return `${this.value}${this.unit}`;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return `${this.value}`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpdGgtdW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbnVtYmVyLXdpdGgtdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNwQyxNQUFNLEtBQUssR0FBRyx5RUFBeUUsQ0FBQTtBQUV2RixNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVUsRUFBRSxXQUFvQjtRQUMxQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN6QyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsWUFDb0IsS0FBYSxFQUNiLElBQWE7UUFEYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUztJQUM5QixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNwQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDMUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE51bWJlcldpdGhVbml0SW5wdXQgPSBudW1iZXIgfCBzdHJpbmcgfCBOdW1iZXJXaXRoVW5pdFxuXG5jb25zdCBzcGVjaWFscyA9IFtcImF1dG9cIiwgXCJpbmhlcml0XCJdXG5jb25zdCByZWdleCA9IC9eKFtcXGQuXFwtK10rKVxccyoodltofHd8bWlufG1heF18cFtjfHR8eF18W3JlfGV8Y3xtXW18W2x8Y11ofCV8aW58UXxleCk/JC9cblxuZXhwb3J0IGNsYXNzIE51bWJlcldpdGhVbml0IHtcbiAgICBzdGF0aWMgY29lcmNlKHZhbHVlOiBhbnksIGRlZmF1bHRVbml0Pzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChzcGVjaWFscy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyV2l0aFVuaXQoTmFOLCB2YWx1ZSlcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXgpXG4gICAgICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcldpdGhVbml0KE51bWJlcihtYXRjaFsxXSksIG1hdGNoWzJdIHx8IGRlZmF1bHRVbml0KVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJXaXRoVW5pdCh2YWx1ZSwgZGVmYXVsdFVuaXQpXG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBpbXBsZW1lbnRlZCBudW1iZXIgd2l0aCB1bml0OiAke3ZhbHVlfWApXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdW5pdD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICBpZiAoaXNOYU4odGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVuaXRcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuaXQgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMudmFsdWV9JHt0aGlzLnVuaXR9YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMudmFsdWV9YFxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const Zone = window.Zone;
|
|
2
|
+
export function __zone_symbol__(val) {
|
|
3
|
+
const symbol = typeof Zone !== "undefined" && Zone.__symbol__
|
|
4
|
+
? Zone.__symbol__(val)
|
|
5
|
+
: `__zone_symbol__${val}`;
|
|
6
|
+
return typeof window[symbol] !== "undefined" ? symbol : val;
|
|
7
|
+
}
|
|
8
|
+
export const rawSetTimeout = window[__zone_symbol__("setTimeout")];
|
|
9
|
+
export const rawClearTimeout = window[__zone_symbol__("clearTimeout")];
|
|
10
|
+
export const rawSetInterval = window[__zone_symbol__("setInterval")];
|
|
11
|
+
export const rawClearInterval = window[__zone_symbol__("clearInterval")];
|
|
12
|
+
export const rawRequestAnimationFrame = window[__zone_symbol__("requestAnimationFrame")];
|
|
13
|
+
export const rawCancelAnimationFrame = window[__zone_symbol__("cancelAnimationFrame")];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5uZ3pvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL3Vubmd6b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxDQUFBO0FBRXhDLE1BQU0sVUFBVSxlQUFlLENBQW1CLEdBQU07SUFDcEQsTUFBTSxNQUFNLEdBQ1IsT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFLLElBQVksQ0FBQyxVQUFVO1FBQ25ELENBQUMsQ0FBRSxJQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0lBQ2pDLE9BQU8sT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtBQUMvRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtBQUNsRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7QUFDcEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFBO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFpvbmUgPSAod2luZG93IGFzIGFueSkuWm9uZVxuXG5leHBvcnQgZnVuY3Rpb24gX196b25lX3N5bWJvbF9fPFQgZXh0ZW5kcyBzdHJpbmc+KHZhbDogVCk6IFQge1xuICAgIGNvbnN0IHN5bWJvbCA9XG4gICAgICAgIHR5cGVvZiBab25lICE9PSBcInVuZGVmaW5lZFwiICYmIChab25lIGFzIGFueSkuX19zeW1ib2xfX1xuICAgICAgICAgICAgPyAoWm9uZSBhcyBhbnkpLl9fc3ltYm9sX18odmFsKVxuICAgICAgICAgICAgOiBgX196b25lX3N5bWJvbF9fJHt2YWx9YFxuICAgIHJldHVybiB0eXBlb2Ygd2luZG93W3N5bWJvbF0gIT09IFwidW5kZWZpbmVkXCIgPyBzeW1ib2wgOiB2YWxcbn1cblxuZXhwb3J0IGNvbnN0IHJhd1NldFRpbWVvdXQgPSB3aW5kb3dbX196b25lX3N5bWJvbF9fKFwic2V0VGltZW91dFwiKV1cbmV4cG9ydCBjb25zdCByYXdDbGVhclRpbWVvdXQgPSB3aW5kb3dbX196b25lX3N5bWJvbF9fKFwiY2xlYXJUaW1lb3V0XCIpXVxuZXhwb3J0IGNvbnN0IHJhd1NldEludGVydmFsID0gd2luZG93W19fem9uZV9zeW1ib2xfXyhcInNldEludGVydmFsXCIpXVxuZXhwb3J0IGNvbnN0IHJhd0NsZWFySW50ZXJ2YWwgPSB3aW5kb3dbX196b25lX3N5bWJvbF9fKFwiY2xlYXJJbnRlcnZhbFwiKV1cbmV4cG9ydCBjb25zdCByYXdSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSB3aW5kb3dbX196b25lX3N5bWJvbF9fKFwicmVxdWVzdEFuaW1hdGlvbkZyYW1lXCIpXVxuZXhwb3J0IGNvbnN0IHJhd0NhbmNlbEFuaW1hdGlvbkZyYW1lID0gd2luZG93W19fem9uZV9zeW1ib2xfXyhcImNhbmNlbEFuaW1hdGlvbkZyYW1lXCIpXVxuIl19
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
import { Subject, share, take, takeUntil } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
class Destruct {
|
|
6
|
+
#on;
|
|
7
|
+
constructor(fn) {
|
|
8
|
+
this.#on = new Subject();
|
|
9
|
+
this.on = this.#on.pipe(share());
|
|
10
|
+
if (fn != null) {
|
|
11
|
+
this.any(fn);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get done() {
|
|
15
|
+
return this.#on.closed;
|
|
16
|
+
}
|
|
17
|
+
sub(o) {
|
|
18
|
+
if (this.done) {
|
|
19
|
+
return o.pipe(take(0));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return o.pipe(takeUntil(this.on));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
disposable(d) {
|
|
26
|
+
if (this.done) {
|
|
27
|
+
d.dispose();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.on.subscribe(d.dispose.bind(d));
|
|
31
|
+
}
|
|
32
|
+
return d;
|
|
33
|
+
}
|
|
34
|
+
node(el) {
|
|
35
|
+
const remove = () => {
|
|
36
|
+
const parent = el.parentNode;
|
|
37
|
+
if (parent) {
|
|
38
|
+
parent.removeChild(el);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
if (this.done) {
|
|
42
|
+
remove();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.on.subscribe(remove);
|
|
46
|
+
}
|
|
47
|
+
return el;
|
|
48
|
+
}
|
|
49
|
+
any(f) {
|
|
50
|
+
if (this.done) {
|
|
51
|
+
f();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.on.subscribe(f);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
run() {
|
|
58
|
+
if (!this.done) {
|
|
59
|
+
this.#on.next();
|
|
60
|
+
this.#on.complete();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
class Destructible {
|
|
65
|
+
constructor() {
|
|
66
|
+
/** @ignore */
|
|
67
|
+
this.d = new Destruct();
|
|
68
|
+
}
|
|
69
|
+
/** @ignore */
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this.d.run();
|
|
72
|
+
delete this.d;
|
|
73
|
+
}
|
|
74
|
+
/** @ignore */
|
|
75
|
+
dispose() {
|
|
76
|
+
this.ngOnDestroy();
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Destructible, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
79
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: Destructible, ngImport: i0 }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Destructible, decorators: [{
|
|
82
|
+
type: Directive
|
|
83
|
+
}] });
|
|
84
|
+
|
|
85
|
+
const specials = ["auto", "inherit"];
|
|
86
|
+
const regex = /^([\d.\-+]+)\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/;
|
|
87
|
+
class NumberWithUnit {
|
|
88
|
+
static coerce(value, defaultUnit) {
|
|
89
|
+
if (specials.includes(value)) {
|
|
90
|
+
return new NumberWithUnit(NaN, value);
|
|
91
|
+
}
|
|
92
|
+
else if (typeof value === "string") {
|
|
93
|
+
const match = value.match(regex);
|
|
94
|
+
if (match) {
|
|
95
|
+
return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (typeof value === "number") {
|
|
99
|
+
return new NumberWithUnit(value, defaultUnit);
|
|
100
|
+
}
|
|
101
|
+
throw new Error(`Not implemented number with unit: ${value}`);
|
|
102
|
+
}
|
|
103
|
+
constructor(value, unit) {
|
|
104
|
+
this.value = value;
|
|
105
|
+
this.unit = unit;
|
|
106
|
+
}
|
|
107
|
+
toString() {
|
|
108
|
+
if (isNaN(this.value)) {
|
|
109
|
+
return this.unit;
|
|
110
|
+
}
|
|
111
|
+
else if (this.unit != null) {
|
|
112
|
+
return `${this.value}${this.unit}`;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return `${this.value}`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function coerceBoolAttr(value) {
|
|
121
|
+
return value != null && `${value}` !== "false";
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const Zone = window.Zone;
|
|
125
|
+
function __zone_symbol__(val) {
|
|
126
|
+
const symbol = typeof Zone !== "undefined" && Zone.__symbol__
|
|
127
|
+
? Zone.__symbol__(val)
|
|
128
|
+
: `__zone_symbol__${val}`;
|
|
129
|
+
return typeof window[symbol] !== "undefined" ? symbol : val;
|
|
130
|
+
}
|
|
131
|
+
const rawSetTimeout = window[__zone_symbol__("setTimeout")];
|
|
132
|
+
const rawClearTimeout = window[__zone_symbol__("clearTimeout")];
|
|
133
|
+
const rawSetInterval = window[__zone_symbol__("setInterval")];
|
|
134
|
+
const rawClearInterval = window[__zone_symbol__("clearInterval")];
|
|
135
|
+
const rawRequestAnimationFrame = window[__zone_symbol__("requestAnimationFrame")];
|
|
136
|
+
const rawCancelAnimationFrame = window[__zone_symbol__("cancelAnimationFrame")];
|
|
137
|
+
|
|
138
|
+
class _FastDOM {
|
|
139
|
+
#rafId;
|
|
140
|
+
#mutate = [];
|
|
141
|
+
#measure = [];
|
|
142
|
+
mutate(handler) {
|
|
143
|
+
this.#mutate.push(handler);
|
|
144
|
+
this._schedule();
|
|
145
|
+
}
|
|
146
|
+
mutateNext(handler) {
|
|
147
|
+
this.#mutate.push(() => {
|
|
148
|
+
this.#mutate.push(handler);
|
|
149
|
+
});
|
|
150
|
+
this._schedule();
|
|
151
|
+
}
|
|
152
|
+
measure(handler) {
|
|
153
|
+
this.#measure.push(handler);
|
|
154
|
+
this._schedule();
|
|
155
|
+
}
|
|
156
|
+
setStyle(el, style, chain) {
|
|
157
|
+
this.mutate(() => {
|
|
158
|
+
for (const [k, v] of Object.entries(style)) {
|
|
159
|
+
if (v == null) {
|
|
160
|
+
el.style.removeProperty(k);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
el.style.setProperty(k, v);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
chain && chain();
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
setAttributes(el, attrs, chain) {
|
|
170
|
+
this.mutate(() => {
|
|
171
|
+
for (const [k, v] of Object.entries(attrs)) {
|
|
172
|
+
if (v == null) {
|
|
173
|
+
el.removeAttribute(k);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
el.setAttribute(k, v);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
chain && chain();
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
_schedule() {
|
|
183
|
+
if (!this.#rafId) {
|
|
184
|
+
this.#rafId = rawRequestAnimationFrame(this._apply.bind(this));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
_apply() {
|
|
188
|
+
this.#rafId = null;
|
|
189
|
+
const measure = this.#measure.slice();
|
|
190
|
+
const mutate = this.#mutate.slice();
|
|
191
|
+
this.#measure.length = 0;
|
|
192
|
+
this.#mutate.length = 0;
|
|
193
|
+
runQ(measure);
|
|
194
|
+
runQ(mutate);
|
|
195
|
+
if (this.#measure.length || this.#mutate.length) {
|
|
196
|
+
this._schedule();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function runQ(items) {
|
|
201
|
+
let item;
|
|
202
|
+
while ((item = items.shift())) {
|
|
203
|
+
item();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
const FastDOM = new _FastDOM();
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Generated bundle index. Do not edit.
|
|
210
|
+
*/
|
|
211
|
+
|
|
212
|
+
export { Destruct, Destructible, FastDOM, NumberWithUnit, Zone, __zone_symbol__, coerceBoolAttr, rawCancelAnimationFrame, rawClearInterval, rawClearTimeout, rawRequestAnimationFrame, rawSetInterval, rawSetTimeout };
|
|
213
|
+
//# sourceMappingURL=ngutil-common.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngutil-common.mjs","sources":["../../../../packages/common/src/destruct.ts","../../../../packages/common/src/number-with-unit.ts","../../../../packages/common/src/bool-attr.ts","../../../../packages/common/src/unngzone.ts","../../../../packages/common/src/dom.ts","../../../../packages/common/src/ngutil-common.ts"],"sourcesContent":["import { Directive, OnDestroy } from \"@angular/core\"\n\nimport { Observable, share, Subject, take, takeUntil } from \"rxjs\"\n\nexport interface IDisposable {\n dispose(): void\n}\n\nexport class Destruct {\n readonly #on = new Subject<void>()\n readonly on = this.#on.pipe(share())\n\n constructor(fn?: () => void) {\n if (fn != null) {\n this.any(fn)\n }\n }\n get done(): boolean {\n return this.#on.closed\n }\n\n sub<T>(o: Observable<T>): Observable<T> {\n if (this.done) {\n return o.pipe(take(0))\n } else {\n return o.pipe(takeUntil(this.on))\n }\n }\n\n disposable<T extends IDisposable>(d: T): T {\n if (this.done) {\n d.dispose()\n } else {\n this.on.subscribe(d.dispose.bind(d))\n }\n\n return d\n }\n\n node<T extends Node>(el: T): T {\n const remove = () => {\n const parent = el.parentNode\n if (parent) {\n parent.removeChild(el)\n }\n }\n if (this.done) {\n remove()\n } else {\n this.on.subscribe(remove)\n }\n\n return el\n }\n\n any(f: () => void): void {\n if (this.done) {\n f()\n } else {\n this.on.subscribe(f)\n }\n }\n\n run() {\n if (!this.done) {\n this.#on.next()\n this.#on.complete()\n }\n }\n}\n\n@Directive()\nexport abstract class Destructible implements OnDestroy, IDisposable {\n /** @ignore */\n readonly d = new Destruct()\n\n /** @ignore */\n ngOnDestroy() {\n this.d.run()\n delete (this as any).d\n }\n\n /** @ignore */\n dispose() {\n this.ngOnDestroy()\n }\n}\n","export type NumberWithUnitInput = number | string | NumberWithUnit\n\nconst specials = [\"auto\", \"inherit\"]\nconst regex = /^([\\d.\\-+]+)\\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/\n\nexport class NumberWithUnit {\n static coerce(value: any, defaultUnit?: string) {\n if (specials.includes(value)) {\n return new NumberWithUnit(NaN, value)\n } else if (typeof value === \"string\") {\n const match = value.match(regex)\n if (match) {\n return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit)\n }\n } else if (typeof value === \"number\") {\n return new NumberWithUnit(value, defaultUnit)\n }\n\n throw new Error(`Not implemented number with unit: ${value}`)\n }\n\n constructor(\n public readonly value: number,\n public readonly unit?: string\n ) {}\n\n toString() {\n if (isNaN(this.value)) {\n return this.unit\n } else if (this.unit != null) {\n return `${this.value}${this.unit}`\n } else {\n return `${this.value}`\n }\n }\n}\n","export type BooleanInput = string | boolean | null | undefined\n\nexport function coerceBoolAttr(value: BooleanInput): boolean {\n return value != null && `${value}` !== \"false\"\n}\n","export const Zone = (window as any).Zone\n\nexport function __zone_symbol__<T extends string>(val: T): T {\n const symbol =\n typeof Zone !== \"undefined\" && (Zone as any).__symbol__\n ? (Zone as any).__symbol__(val)\n : `__zone_symbol__${val}`\n return typeof window[symbol] !== \"undefined\" ? symbol : val\n}\n\nexport const rawSetTimeout = window[__zone_symbol__(\"setTimeout\")]\nexport const rawClearTimeout = window[__zone_symbol__(\"clearTimeout\")]\nexport const rawSetInterval = window[__zone_symbol__(\"setInterval\")]\nexport const rawClearInterval = window[__zone_symbol__(\"clearInterval\")]\nexport const rawRequestAnimationFrame = window[__zone_symbol__(\"requestAnimationFrame\")]\nexport const rawCancelAnimationFrame = window[__zone_symbol__(\"cancelAnimationFrame\")]\n","import { rawRequestAnimationFrame } from \"./unngzone\"\n\ntype FastDomHandler = () => void\n\nclass _FastDOM {\n #rafId: any\n #mutate: Array<FastDomHandler> = []\n #measure: Array<FastDomHandler> = []\n\n public mutate(handler: FastDomHandler) {\n this.#mutate.push(handler)\n this._schedule()\n }\n\n public mutateNext(handler: FastDomHandler) {\n this.#mutate.push(() => {\n this.#mutate.push(handler)\n })\n this._schedule()\n }\n\n public measure(handler: FastDomHandler) {\n this.#measure.push(handler)\n this._schedule()\n }\n\n public setStyle(el: HTMLElement, style: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(style)) {\n if (v == null) {\n el.style.removeProperty(k)\n } else {\n el.style.setProperty(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n public setAttributes(el: HTMLElement, attrs: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(attrs)) {\n if (v == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n private _schedule() {\n if (!this.#rafId) {\n this.#rafId = rawRequestAnimationFrame(this._apply.bind(this))\n }\n }\n\n private _apply() {\n this.#rafId = null\n\n const measure = this.#measure.slice()\n const mutate = this.#mutate.slice()\n this.#measure.length = 0\n this.#mutate.length = 0\n\n runQ(measure)\n runQ(mutate)\n\n if (this.#measure.length || this.#mutate.length) {\n this._schedule()\n }\n }\n}\n\nfunction runQ(items: FastDomHandler[]) {\n let item: FastDomHandler\n while ((item = items.shift()!)) {\n item()\n }\n}\n\nexport const FastDOM = new _FastDOM()\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type NumberWithUnitInput = number | string | NumberWithUnit;
|
|
2
|
+
export declare class NumberWithUnit {
|
|
3
|
+
readonly value: number;
|
|
4
|
+
readonly unit?: string | undefined;
|
|
5
|
+
static coerce(value: any, defaultUnit?: string): NumberWithUnit;
|
|
6
|
+
constructor(value: number, unit?: string | undefined);
|
|
7
|
+
toString(): string | undefined;
|
|
8
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ngutil/common",
|
|
3
|
+
"version": "0.0.3-dev.10",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"directory": "../../dist/packages/common/"
|
|
7
|
+
},
|
|
8
|
+
"peerDependencies": {
|
|
9
|
+
"@angular/common": "^17.1.0",
|
|
10
|
+
"@angular/core": "^17.1.0"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"tslib": "^2.3.0"
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"module": "fesm2022/ngutil-common.mjs",
|
|
17
|
+
"typings": "index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
"./package.json": {
|
|
20
|
+
"default": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
|
+
"esm2022": "./esm2022/ngutil-common.mjs",
|
|
25
|
+
"esm": "./esm2022/ngutil-common.mjs",
|
|
26
|
+
"default": "./fesm2022/ngutil-common.mjs"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
package/unngzone.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const Zone: any;
|
|
2
|
+
export declare function __zone_symbol__<T extends string>(val: T): T;
|
|
3
|
+
export declare const rawSetTimeout: ((handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number) & typeof setTimeout;
|
|
4
|
+
export declare const rawClearTimeout: ((id: number | undefined) => void) & typeof clearTimeout;
|
|
5
|
+
export declare const rawSetInterval: ((handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number) & typeof setInterval;
|
|
6
|
+
export declare const rawClearInterval: ((id: number | undefined) => void) & typeof clearInterval;
|
|
7
|
+
export declare const rawRequestAnimationFrame: ((callback: FrameRequestCallback) => number) & typeof requestAnimationFrame;
|
|
8
|
+
export declare const rawCancelAnimationFrame: ((handle: number) => void) & typeof cancelAnimationFrame;
|