@alterior/common 3.13.3 → 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 +10 -7
- 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/clone.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Perform a shallow clone of the object, producing one that has the
|
|
3
|
-
* same constructor chain and prototype as the passed object.
|
|
4
|
-
* @param obj
|
|
5
|
-
*/
|
|
6
|
-
export function shallowClone(obj) {
|
|
7
|
-
if (typeof obj !== 'object')
|
|
8
|
-
return obj;
|
|
9
|
-
let clone = Object.create(obj.constructor.prototype);
|
|
10
|
-
Object.assign(clone, obj);
|
|
11
|
-
return clone;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Perform a standard clone using serialization (see cloneBySerialization)
|
|
15
|
-
* @param obj
|
|
16
|
-
*/
|
|
17
|
-
export function clone(obj) {
|
|
18
|
-
return cloneBySerialization(obj);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Deeply clone the given value. If the value is an object, all subobjects
|
|
22
|
-
* are deeply cloned as well.
|
|
23
|
-
*
|
|
24
|
-
* @param o
|
|
25
|
-
*/
|
|
26
|
-
export function deepClone(o) {
|
|
27
|
-
return deepCloneWithMemoization(o, new WeakMap());
|
|
28
|
-
}
|
|
29
|
-
function deepCloneWithMemoization(o, memo) {
|
|
30
|
-
if (o === null)
|
|
31
|
-
return null;
|
|
32
|
-
if (!Array.isArray(o) && typeof o !== 'object')
|
|
33
|
-
return o;
|
|
34
|
-
if (memo.has(o))
|
|
35
|
-
return memo.get(o);
|
|
36
|
-
let output, v, key;
|
|
37
|
-
output = Array.isArray(o) ? [] : {};
|
|
38
|
-
memo.set(o, output);
|
|
39
|
-
for (key in o) {
|
|
40
|
-
v = o[key];
|
|
41
|
-
output[key] = (typeof v === 'object') ? deepCloneWithMemoization(v, memo) : v;
|
|
42
|
-
}
|
|
43
|
-
return output;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Clone the value by serializing it to JSON and back.
|
|
47
|
-
* @param obj
|
|
48
|
-
*/
|
|
49
|
-
export function cloneBySerialization(obj) {
|
|
50
|
-
if (obj === undefined || obj === null || typeof obj !== 'object')
|
|
51
|
-
return obj;
|
|
52
|
-
return JSON.parse(JSON.stringify(obj));
|
|
53
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Perform a shallow clone of the object, producing one that has the
|
|
3
|
+
* same constructor chain and prototype as the passed object.
|
|
4
|
+
* @param obj
|
|
5
|
+
*/
|
|
6
|
+
export function shallowClone(obj) {
|
|
7
|
+
if (typeof obj !== 'object')
|
|
8
|
+
return obj;
|
|
9
|
+
let clone = Object.create(obj.constructor.prototype);
|
|
10
|
+
Object.assign(clone, obj);
|
|
11
|
+
return clone;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Perform a standard clone using serialization (see cloneBySerialization)
|
|
15
|
+
* @param obj
|
|
16
|
+
*/
|
|
17
|
+
export function clone(obj) {
|
|
18
|
+
return cloneBySerialization(obj);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Deeply clone the given value. If the value is an object, all subobjects
|
|
22
|
+
* are deeply cloned as well.
|
|
23
|
+
*
|
|
24
|
+
* @param o
|
|
25
|
+
*/
|
|
26
|
+
export function deepClone(o) {
|
|
27
|
+
return deepCloneWithMemoization(o, new WeakMap());
|
|
28
|
+
}
|
|
29
|
+
function deepCloneWithMemoization(o, memo) {
|
|
30
|
+
if (o === null)
|
|
31
|
+
return null;
|
|
32
|
+
if (!Array.isArray(o) && typeof o !== 'object')
|
|
33
|
+
return o;
|
|
34
|
+
if (memo.has(o))
|
|
35
|
+
return memo.get(o);
|
|
36
|
+
let output, v, key;
|
|
37
|
+
output = Array.isArray(o) ? [] : {};
|
|
38
|
+
memo.set(o, output);
|
|
39
|
+
for (key in o) {
|
|
40
|
+
v = o[key];
|
|
41
|
+
output[key] = (typeof v === 'object') ? deepCloneWithMemoization(v, memo) : v;
|
|
42
|
+
}
|
|
43
|
+
return output;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Clone the value by serializing it to JSON and back.
|
|
47
|
+
* @param obj
|
|
48
|
+
*/
|
|
49
|
+
export function cloneBySerialization(obj) {
|
|
50
|
+
if (obj === undefined || obj === null || typeof obj !== 'object')
|
|
51
|
+
return obj;
|
|
52
|
+
return JSON.parse(JSON.stringify(obj));
|
|
53
|
+
}
|
|
54
54
|
//# sourceMappingURL=clone.js.map
|
package/dist.esm/clone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC;IAEZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAU,GAAO;IACrC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAC;IAC1B,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAC,EAAE,IAAwB;IAC5D,IAAI,CAAC,KAAK,IAAI;QACb,OAAO,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAC7C,OAAO,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpB,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;QACf,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG;IACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC/D,OAAO,GAAG,CAAC;IAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC"}
|
package/dist.esm/clone.test.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=clone.test.d.ts.map
|
package/dist.esm/coalesce.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the first value that is not undefined of the passed parameters.
|
|
3
|
-
* @param values
|
|
4
|
-
*/
|
|
5
|
-
export declare function coalesce(...values: any[]): any;
|
|
1
|
+
/**
|
|
2
|
+
* Return the first value that is not undefined of the passed parameters.
|
|
3
|
+
* @param values
|
|
4
|
+
*/
|
|
5
|
+
export declare function coalesce(...values: any[]): any;
|
|
6
6
|
//# sourceMappingURL=coalesce.d.ts.map
|
package/dist.esm/coalesce.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Return the first value that is not undefined of the passed parameters.
|
|
3
|
-
* @param values
|
|
4
|
-
*/
|
|
5
|
-
export function coalesce(...values) {
|
|
6
|
-
for (let value of values) {
|
|
7
|
-
if (value === undefined)
|
|
8
|
-
continue;
|
|
9
|
-
return value;
|
|
10
|
-
}
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Return the first value that is not undefined of the passed parameters.
|
|
3
|
+
* @param values
|
|
4
|
+
*/
|
|
5
|
+
export function coalesce(...values) {
|
|
6
|
+
for (let value of values) {
|
|
7
|
+
if (value === undefined)
|
|
8
|
+
continue;
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
13
|
//# sourceMappingURL=coalesce.js.map
|
package/dist.esm/coalesce.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../src/coalesce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,MAAa;IACrC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../src/coalesce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,MAAa;IACrC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS;YACnB,SAAS;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=coalesce.test.d.ts.map
|
package/dist.esm/colors.d.ts
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
export declare const CONSOLE_COLORS: {
|
|
2
|
-
reset: number[];
|
|
3
|
-
bold: number[];
|
|
4
|
-
dim: number[];
|
|
5
|
-
italic: number[];
|
|
6
|
-
underline: number[];
|
|
7
|
-
inverse: number[];
|
|
8
|
-
hidden: number[];
|
|
9
|
-
strikethrough: number[];
|
|
10
|
-
black: number[];
|
|
11
|
-
red: number[];
|
|
12
|
-
green: number[];
|
|
13
|
-
yellow: number[];
|
|
14
|
-
blue: number[];
|
|
15
|
-
magenta: number[];
|
|
16
|
-
cyan: number[];
|
|
17
|
-
white: number[];
|
|
18
|
-
gray: number[];
|
|
19
|
-
grey: number[];
|
|
20
|
-
bgBlack: number[];
|
|
21
|
-
bgRed: number[];
|
|
22
|
-
bgGreen: number[];
|
|
23
|
-
bgYellow: number[];
|
|
24
|
-
bgBlue: number[];
|
|
25
|
-
bgMagenta: number[];
|
|
26
|
-
bgCyan: number[];
|
|
27
|
-
bgWhite: number[];
|
|
28
|
-
};
|
|
29
|
-
export type ColorLibrary<T> = {
|
|
30
|
-
[K in keyof T]: (message: string) => string;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Provides methods for colorizing strings
|
|
34
|
-
*/
|
|
35
|
-
export declare const ConsoleColors: ColorLibrary<{
|
|
36
|
-
reset: number[];
|
|
37
|
-
bold: number[];
|
|
38
|
-
dim: number[];
|
|
39
|
-
italic: number[];
|
|
40
|
-
underline: number[];
|
|
41
|
-
inverse: number[];
|
|
42
|
-
hidden: number[];
|
|
43
|
-
strikethrough: number[];
|
|
44
|
-
black: number[];
|
|
45
|
-
red: number[];
|
|
46
|
-
green: number[];
|
|
47
|
-
yellow: number[];
|
|
48
|
-
blue: number[];
|
|
49
|
-
magenta: number[];
|
|
50
|
-
cyan: number[];
|
|
51
|
-
white: number[];
|
|
52
|
-
gray: number[];
|
|
53
|
-
grey: number[];
|
|
54
|
-
bgBlack: number[];
|
|
55
|
-
bgRed: number[];
|
|
56
|
-
bgGreen: number[];
|
|
57
|
-
bgYellow: number[];
|
|
58
|
-
bgBlue: number[];
|
|
59
|
-
bgMagenta: number[];
|
|
60
|
-
bgCyan: number[];
|
|
61
|
-
bgWhite: number[];
|
|
62
|
-
}>;
|
|
1
|
+
export declare const CONSOLE_COLORS: {
|
|
2
|
+
reset: number[];
|
|
3
|
+
bold: number[];
|
|
4
|
+
dim: number[];
|
|
5
|
+
italic: number[];
|
|
6
|
+
underline: number[];
|
|
7
|
+
inverse: number[];
|
|
8
|
+
hidden: number[];
|
|
9
|
+
strikethrough: number[];
|
|
10
|
+
black: number[];
|
|
11
|
+
red: number[];
|
|
12
|
+
green: number[];
|
|
13
|
+
yellow: number[];
|
|
14
|
+
blue: number[];
|
|
15
|
+
magenta: number[];
|
|
16
|
+
cyan: number[];
|
|
17
|
+
white: number[];
|
|
18
|
+
gray: number[];
|
|
19
|
+
grey: number[];
|
|
20
|
+
bgBlack: number[];
|
|
21
|
+
bgRed: number[];
|
|
22
|
+
bgGreen: number[];
|
|
23
|
+
bgYellow: number[];
|
|
24
|
+
bgBlue: number[];
|
|
25
|
+
bgMagenta: number[];
|
|
26
|
+
bgCyan: number[];
|
|
27
|
+
bgWhite: number[];
|
|
28
|
+
};
|
|
29
|
+
export type ColorLibrary<T> = {
|
|
30
|
+
[K in keyof T]: (message: string) => string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Provides methods for colorizing strings
|
|
34
|
+
*/
|
|
35
|
+
export declare const ConsoleColors: ColorLibrary<{
|
|
36
|
+
reset: number[];
|
|
37
|
+
bold: number[];
|
|
38
|
+
dim: number[];
|
|
39
|
+
italic: number[];
|
|
40
|
+
underline: number[];
|
|
41
|
+
inverse: number[];
|
|
42
|
+
hidden: number[];
|
|
43
|
+
strikethrough: number[];
|
|
44
|
+
black: number[];
|
|
45
|
+
red: number[];
|
|
46
|
+
green: number[];
|
|
47
|
+
yellow: number[];
|
|
48
|
+
blue: number[];
|
|
49
|
+
magenta: number[];
|
|
50
|
+
cyan: number[];
|
|
51
|
+
white: number[];
|
|
52
|
+
gray: number[];
|
|
53
|
+
grey: number[];
|
|
54
|
+
bgBlack: number[];
|
|
55
|
+
bgRed: number[];
|
|
56
|
+
bgGreen: number[];
|
|
57
|
+
bgYellow: number[];
|
|
58
|
+
bgBlue: number[];
|
|
59
|
+
bgMagenta: number[];
|
|
60
|
+
bgCyan: number[];
|
|
61
|
+
bgWhite: number[];
|
|
62
|
+
}>;
|
|
63
63
|
//# sourceMappingURL=colors.d.ts.map
|
package/dist.esm/colors.js
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* The MIT License (MIT)
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in
|
|
13
|
-
* all copies or substantial portions of the Software.
|
|
14
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
20
|
-
* THE SOFTWARE.
|
|
21
|
-
*/
|
|
22
|
-
export const CONSOLE_COLORS = {
|
|
23
|
-
reset: [0, 0],
|
|
24
|
-
bold: [1, 22],
|
|
25
|
-
dim: [2, 22],
|
|
26
|
-
italic: [3, 23],
|
|
27
|
-
underline: [4, 24],
|
|
28
|
-
inverse: [7, 27],
|
|
29
|
-
hidden: [8, 28],
|
|
30
|
-
strikethrough: [9, 29],
|
|
31
|
-
black: [30, 39],
|
|
32
|
-
red: [31, 39],
|
|
33
|
-
green: [32, 39],
|
|
34
|
-
yellow: [33, 39],
|
|
35
|
-
blue: [34, 39],
|
|
36
|
-
magenta: [35, 39],
|
|
37
|
-
cyan: [36, 39],
|
|
38
|
-
white: [37, 39],
|
|
39
|
-
gray: [90, 39],
|
|
40
|
-
grey: [90, 39],
|
|
41
|
-
bgBlack: [40, 49],
|
|
42
|
-
bgRed: [41, 49],
|
|
43
|
-
bgGreen: [42, 49],
|
|
44
|
-
bgYellow: [43, 49],
|
|
45
|
-
bgBlue: [44, 49],
|
|
46
|
-
bgMagenta: [45, 49],
|
|
47
|
-
bgCyan: [46, 49],
|
|
48
|
-
bgWhite: [47, 49],
|
|
49
|
-
};
|
|
50
|
-
function objectLibrary(codes) {
|
|
51
|
-
let library = {};
|
|
52
|
-
Object.keys(codes).forEach(function (key) {
|
|
53
|
-
let val = codes[key];
|
|
54
|
-
let open = '\u001b[' + val[0] + 'm';
|
|
55
|
-
let close = '\u001b[' + val[1] + 'm';
|
|
56
|
-
library[key] = (message) => `${open}${message}${close}`;
|
|
57
|
-
});
|
|
58
|
-
return library;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Provides methods for colorizing strings
|
|
62
|
-
*/
|
|
63
|
-
export const ConsoleColors = objectLibrary(CONSOLE_COLORS);
|
|
1
|
+
/*
|
|
2
|
+
* The MIT License (MIT)
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in
|
|
13
|
+
* all copies or substantial portions of the Software.
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
20
|
+
* THE SOFTWARE.
|
|
21
|
+
*/
|
|
22
|
+
export const CONSOLE_COLORS = {
|
|
23
|
+
reset: [0, 0],
|
|
24
|
+
bold: [1, 22],
|
|
25
|
+
dim: [2, 22],
|
|
26
|
+
italic: [3, 23],
|
|
27
|
+
underline: [4, 24],
|
|
28
|
+
inverse: [7, 27],
|
|
29
|
+
hidden: [8, 28],
|
|
30
|
+
strikethrough: [9, 29],
|
|
31
|
+
black: [30, 39],
|
|
32
|
+
red: [31, 39],
|
|
33
|
+
green: [32, 39],
|
|
34
|
+
yellow: [33, 39],
|
|
35
|
+
blue: [34, 39],
|
|
36
|
+
magenta: [35, 39],
|
|
37
|
+
cyan: [36, 39],
|
|
38
|
+
white: [37, 39],
|
|
39
|
+
gray: [90, 39],
|
|
40
|
+
grey: [90, 39],
|
|
41
|
+
bgBlack: [40, 49],
|
|
42
|
+
bgRed: [41, 49],
|
|
43
|
+
bgGreen: [42, 49],
|
|
44
|
+
bgYellow: [43, 49],
|
|
45
|
+
bgBlue: [44, 49],
|
|
46
|
+
bgMagenta: [45, 49],
|
|
47
|
+
bgCyan: [46, 49],
|
|
48
|
+
bgWhite: [47, 49],
|
|
49
|
+
};
|
|
50
|
+
function objectLibrary(codes) {
|
|
51
|
+
let library = {};
|
|
52
|
+
Object.keys(codes).forEach(function (key) {
|
|
53
|
+
let val = codes[key];
|
|
54
|
+
let open = '\u001b[' + val[0] + 'm';
|
|
55
|
+
let close = '\u001b[' + val[1] + 'm';
|
|
56
|
+
library[key] = (message) => `${open}${message}${close}`;
|
|
57
|
+
});
|
|
58
|
+
return library;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Provides methods for colorizing strings
|
|
62
|
+
*/
|
|
63
|
+
export const ConsoleColors = objectLibrary(CONSOLE_COLORS);
|
|
64
64
|
//# sourceMappingURL=colors.js.map
|
package/dist.esm/console.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
export interface Console {
|
|
2
|
-
log(...args: any[]): any;
|
|
3
|
-
info(...args: any[]): any;
|
|
4
|
-
warn(...args: any[]): any;
|
|
5
|
-
error(...args: any[]): any;
|
|
6
|
-
debug(...args: any[]): any;
|
|
7
|
-
dir(...args: any[]): any;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Intercept console messages emitted within the given function, allowing you to programmatically call the underlying raw console implementation (or not).
|
|
11
|
-
*
|
|
12
|
-
* @param handler
|
|
13
|
-
* @param callback
|
|
14
|
-
*/
|
|
15
|
-
export declare function interceptConsole(handler: (method: string, originalImpl: Function, console: Console, args: any[]) => void, callback: Function): void;
|
|
16
|
-
/**
|
|
17
|
-
* Intercept all console messages emitted within the given function and indent them with
|
|
18
|
-
* the given number of spaces before printing them out.
|
|
19
|
-
*
|
|
20
|
-
* @param spaces
|
|
21
|
-
* @param callback
|
|
22
|
-
*/
|
|
23
|
-
export declare function indentConsole(spaces: number, callback: Function): void;
|
|
24
|
-
/**
|
|
25
|
-
* Intercept all console messages emitted within the given function and format them using the given formatter before
|
|
26
|
-
* printing them.
|
|
27
|
-
*
|
|
28
|
-
* @param formatter
|
|
29
|
-
* @param callback
|
|
30
|
-
*/
|
|
31
|
-
export declare function formatConsole(formatter: (message: string) => string, callback: Function): void;
|
|
1
|
+
export interface Console {
|
|
2
|
+
log(...args: any[]): any;
|
|
3
|
+
info(...args: any[]): any;
|
|
4
|
+
warn(...args: any[]): any;
|
|
5
|
+
error(...args: any[]): any;
|
|
6
|
+
debug(...args: any[]): any;
|
|
7
|
+
dir(...args: any[]): any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Intercept console messages emitted within the given function, allowing you to programmatically call the underlying raw console implementation (or not).
|
|
11
|
+
*
|
|
12
|
+
* @param handler
|
|
13
|
+
* @param callback
|
|
14
|
+
*/
|
|
15
|
+
export declare function interceptConsole(handler: (method: string, originalImpl: Function, console: Console, args: any[]) => void, callback: Function): void;
|
|
16
|
+
/**
|
|
17
|
+
* Intercept all console messages emitted within the given function and indent them with
|
|
18
|
+
* the given number of spaces before printing them out.
|
|
19
|
+
*
|
|
20
|
+
* @param spaces
|
|
21
|
+
* @param callback
|
|
22
|
+
*/
|
|
23
|
+
export declare function indentConsole(spaces: number, callback: Function): void;
|
|
24
|
+
/**
|
|
25
|
+
* Intercept all console messages emitted within the given function and format them using the given formatter before
|
|
26
|
+
* printing them.
|
|
27
|
+
*
|
|
28
|
+
* @param formatter
|
|
29
|
+
* @param callback
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatConsole(formatter: (message: string) => string, callback: Function): void;
|
|
32
32
|
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,OAAO;IACpB,GAAG,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACrB,IAAI,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACtB,IAAI,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACtB,KAAK,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACvB,KAAK,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACvB,GAAG,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;CACxB;
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,OAAO;IACpB,GAAG,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACrB,IAAI,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACtB,IAAI,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACtB,KAAK,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACvB,KAAK,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;IACvB,GAAG,CAAC,GAAG,IAAI,EAAG,GAAG,EAAE,OAAE;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAG,CAAC,MAAM,EAAG,MAAM,EAAE,YAAY,EAAG,QAAQ,EAAE,OAAO,EAAG,OAAO,EAAE,IAAI,EAAG,GAAG,EAAE,KAAK,IAAI,EAAE,QAAQ,EAAG,QAAQ,QAoBlJ;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,QAAQ,QAUjE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAG,CAAC,OAAO,EAAG,MAAM,KAAK,MAAM,EAAE,QAAQ,EAAG,QAAQ,QAQ1F"}
|
package/dist.esm/console.js
CHANGED
|
@@ -1,81 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
original(
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
*
|
|
62
|
-
* @param formatter
|
|
63
|
-
* @param callback
|
|
64
|
-
*/
|
|
65
|
-
export function formatConsole(formatter, callback) {
|
|
66
|
-
return interceptConsole((method, original, console, args) => {
|
|
67
|
-
if (method == 'dir') {
|
|
68
|
-
const util = safeRequire('util');
|
|
69
|
-
if (util) {
|
|
70
|
-
console.log(`${formatter(util.inspect(args[0]))}`);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
original(...args);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
original(`${formatter(args.join(' '))}`);
|
|
78
|
-
}
|
|
79
|
-
}, callback);
|
|
80
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Intercept console messages emitted within the given function, allowing you to programmatically call the underlying raw console implementation (or not).
|
|
3
|
+
*
|
|
4
|
+
* @param handler
|
|
5
|
+
* @param callback
|
|
6
|
+
*/
|
|
7
|
+
export function interceptConsole(handler, callback) {
|
|
8
|
+
let methods = ['log', 'info', 'warn', 'error', 'debug', 'dir'];
|
|
9
|
+
let rawConsole = {};
|
|
10
|
+
let origConsole = {};
|
|
11
|
+
for (let method of methods) {
|
|
12
|
+
origConsole[method] = console[method];
|
|
13
|
+
rawConsole[method] = (console[method] || console.log).bind(console);
|
|
14
|
+
console[method] = function () {
|
|
15
|
+
handler(method, rawConsole[method], rawConsole, Array.from(arguments));
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
callback();
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
for (let method of methods)
|
|
23
|
+
console[method] = origConsole[method];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Intercept all console messages emitted within the given function and indent them with
|
|
28
|
+
* the given number of spaces before printing them out.
|
|
29
|
+
*
|
|
30
|
+
* @param spaces
|
|
31
|
+
* @param callback
|
|
32
|
+
*/
|
|
33
|
+
export function indentConsole(spaces, callback) {
|
|
34
|
+
let indent = Array(spaces).join(' ');
|
|
35
|
+
return interceptConsole((method, original, console, args) => {
|
|
36
|
+
if (method == 'dir') {
|
|
37
|
+
original(...args);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
original(`${indent}${args.join(' ')}`);
|
|
41
|
+
}
|
|
42
|
+
}, callback);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Intercept all console messages emitted within the given function and format them using the given formatter before
|
|
46
|
+
* printing them.
|
|
47
|
+
*
|
|
48
|
+
* @param formatter
|
|
49
|
+
* @param callback
|
|
50
|
+
*/
|
|
51
|
+
export function formatConsole(formatter, callback) {
|
|
52
|
+
return interceptConsole((method, original, console, args) => {
|
|
53
|
+
if (method == 'dir') {
|
|
54
|
+
original(...args);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
original(`${formatter(args.join(' '))}`);
|
|
58
|
+
}
|
|
59
|
+
}, callback);
|
|
60
|
+
}
|
|
81
61
|
//# sourceMappingURL=console.js.map
|
package/dist.esm/console.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6F,EAAE,QAAmB;IAC/I,IAAI,OAAO,GAAG,CAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAE,CAAC;IAEjE,IAAI,UAAU,GAAa,EAAS,CAAC;IACrC,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACzB,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,MAAM,CAAC,GAAG;YACd,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,QAAQ,EAAE,CAAC;IACf,CAAC;YAAS,CAAC;QACP,KAAK,IAAI,MAAM,IAAI,OAAO;YACtB,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe,EAAE,QAAmB;IAC9D,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErC,OAAO,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACxD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC,EAAE,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,SAAwC,EAAE,QAAmB;IACvF,OAAO,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACxD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC,EAAE,QAAQ,CAAC,CAAC;AACjB,CAAC"}
|