@idlebox/common 1.3.15 → 1.3.16
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 → lib}/common-alpha.d.ts +10 -0
- package/{dist → lib}/common-beta.d.ts +10 -0
- package/{dist → lib}/common-public.d.ts +10 -0
- package/{dist → lib}/common.d.ts +10 -0
- package/lib/function/callbackList.cjs +4 -0
- package/lib/function/callbackList.cjs.map +1 -1
- package/lib/function/callbackList.js +4 -0
- package/lib/function/callbackList.js.map +1 -1
- package/lib/string/concatType.generated.cjs +8 -0
- package/lib/string/concatType.generated.cjs.map +1 -1
- package/lib/string/concatType.generated.js +8 -0
- package/lib/string/concatType.generated.js.map +1 -1
- package/{dist → lib}/tsdoc-metadata.json +1 -1
- package/package.json +12 -12
- package/src/array/arrayDiff.ts +31 -0
- package/src/array/arraySame.ts +15 -0
- package/src/array/arrayUnique.ts +50 -0
- package/src/array/normalizeArray.ts +13 -0
- package/src/array/sortAlpha.ts +15 -0
- package/src/date/consts.ts +5 -0
- package/src/date/isInvalid.ts +6 -0
- package/src/date/sibling.ts +28 -0
- package/src/date/timeString.ts +150 -0
- package/src/date/unix.ts +13 -0
- package/src/debugging/serializable.ts +146 -0
- package/src/debugging/tryInspect.ts +37 -0
- package/src/error/convertUnknown.ts +10 -0
- package/src/error/getFrame.ts +13 -0
- package/src/function/asyncCallbackList.ts +75 -0
- package/src/function/callbackList.ts +88 -0
- package/src/function/delayCallbackList.ts +45 -0
- package/src/function/functionName.ts +39 -0
- package/src/index.generated.ts +289 -0
- package/src/lifecycle/dispose/bridges/rxjs.ts +6 -0
- package/src/lifecycle/dispose/disposableEvent.ts +117 -0
- package/src/lifecycle/dispose/disposedError.ts +16 -0
- package/src/lifecycle/dispose/lifecycle.async.ts +61 -0
- package/src/lifecycle/dispose/lifecycle.global.ts +61 -0
- package/src/lifecycle/dispose/lifecycle.sync.ts +79 -0
- package/src/lifecycle/dispose/lifecycle.ts +28 -0
- package/src/lifecycle/event/event.ts +81 -0
- package/src/lifecycle/event/memorized.ts +39 -0
- package/src/lifecycle/promise/cancel.ts +16 -0
- package/src/lifecycle/promise/cancellationToken/driver.browser.ts +55 -0
- package/src/lifecycle/promise/cancellationToken/driver.common.ts +43 -0
- package/src/lifecycle/promise/cancellationToken/source.ts +48 -0
- package/src/lifecycle/promise/deferredPromise.ts +104 -0
- package/src/lifecycle/timeout/timeout.ts +48 -0
- package/src/lifecycle/timeout/timeoutError.ts +16 -0
- package/src/log/logger.ts +148 -0
- package/src/mapSet/customSet.ts +91 -0
- package/src/mapSet/extendMap.ts +40 -0
- package/src/misc/assertNotNull.ts +21 -0
- package/src/object/definePublicConstant.ts +10 -0
- package/src/object/initOnRead.ts +27 -0
- package/src/object/objectPath.ts +10 -0
- package/src/object/objectSame.ts +52 -0
- package/src/path/isAbsolute.ts +11 -0
- package/src/path/normalizePath.ts +8 -0
- package/src/path/pathArray.ts +42 -0
- package/src/platform/globalObject.ts +22 -0
- package/src/platform/globalSingleton.ts +82 -0
- package/src/platform/globalSymbol.ts +36 -0
- package/src/platform/os.ts +46 -0
- package/src/promise/awaitIterator.ts +19 -0
- package/src/promise/finishAllPromise.ts +50 -0
- package/src/promise/promiseBool.ts +10 -0
- package/src/promise/promisePool.ts +40 -0
- package/src/promise/timeoutPromisePool.ts +22 -0
- package/src/reflection/classes/hookClass.ts +47 -0
- package/src/reflection/classes/singleton.ts +33 -0
- package/src/reflection/methods/bind.ts +30 -0
- package/src/reflection/methods/initOnRead.ts +11 -0
- package/src/reflection/methods/memorize.ts +33 -0
- package/src/string/castCase.ts +44 -0
- package/src/string/concatType.generated.ts +265 -0
- package/src/string/concatType.generator.ts +31 -0
- package/src/string/escapeRegexp.ts +4 -0
- package/src/string/pad2.ts +11 -0
- package/src/string/sizeString.ts +52 -0
- package/src/tsconfig.json +14 -0
- package/src/typingHelper/deep.partial.ts +16 -0
- package/src/typingHelper/deep.readonly.ts +16 -0
- package/src/typingHelper/deep.required.ts +16 -0
- package/src/typingHelper/deep.writable.ts +16 -0
- package/src/typingHelper/literal.ts +1 -0
- package/docs/common.api.json +0 -21737
- package/docs/common.api.md +0 -1139
- package/docs/package-public.d.ts +0 -952
- package/docs/tsdoc-metadata.json +0 -11
|
@@ -106,6 +106,9 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
106
106
|
protected stop: boolean;
|
|
107
107
|
constructor();
|
|
108
108
|
count(): number;
|
|
109
|
+
/**
|
|
110
|
+
* remove all callback
|
|
111
|
+
*/
|
|
109
112
|
reset(): void;
|
|
110
113
|
/**
|
|
111
114
|
* @param name optional name of `item` (will assign displayName to `item`)
|
|
@@ -117,6 +120,7 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
117
120
|
*/
|
|
118
121
|
remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
|
|
119
122
|
/**
|
|
123
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
120
124
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
121
125
|
*/
|
|
122
126
|
run(...argument: Argument): boolean;
|
|
@@ -156,6 +160,12 @@ export declare enum ColorKind {
|
|
|
156
160
|
DETECT = 3
|
|
157
161
|
}
|
|
158
162
|
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
* GENERATED FILE, DO NOT MODIFY
|
|
166
|
+
* 这是生成的文件,千万不要修改
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
159
169
|
export declare function concatStringType<T0 extends string>(t0: T0): `${T0}`;
|
|
160
170
|
|
|
161
171
|
export declare function concatStringType<T0 extends string, T1 extends string>(t0: T0, t1: T1): `${T0}${T1}`;
|
|
@@ -106,6 +106,9 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
106
106
|
protected stop: boolean;
|
|
107
107
|
constructor();
|
|
108
108
|
count(): number;
|
|
109
|
+
/**
|
|
110
|
+
* remove all callback
|
|
111
|
+
*/
|
|
109
112
|
reset(): void;
|
|
110
113
|
/**
|
|
111
114
|
* @param name optional name of `item` (will assign displayName to `item`)
|
|
@@ -117,6 +120,7 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
117
120
|
*/
|
|
118
121
|
remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
|
|
119
122
|
/**
|
|
123
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
120
124
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
121
125
|
*/
|
|
122
126
|
run(...argument: Argument): boolean;
|
|
@@ -156,6 +160,12 @@ export declare enum ColorKind {
|
|
|
156
160
|
DETECT = 3
|
|
157
161
|
}
|
|
158
162
|
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
* GENERATED FILE, DO NOT MODIFY
|
|
166
|
+
* 这是生成的文件,千万不要修改
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
159
169
|
export declare function concatStringType<T0 extends string>(t0: T0): `${T0}`;
|
|
160
170
|
|
|
161
171
|
export declare function concatStringType<T0 extends string, T1 extends string>(t0: T0, t1: T1): `${T0}${T1}`;
|
|
@@ -104,6 +104,9 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
104
104
|
protected stop: boolean;
|
|
105
105
|
constructor();
|
|
106
106
|
count(): number;
|
|
107
|
+
/**
|
|
108
|
+
* remove all callback
|
|
109
|
+
*/
|
|
107
110
|
reset(): void;
|
|
108
111
|
/**
|
|
109
112
|
* @param name optional name of `item` (will assign displayName to `item`)
|
|
@@ -115,6 +118,7 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
115
118
|
*/
|
|
116
119
|
remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
|
|
117
120
|
/**
|
|
121
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
118
122
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
119
123
|
*/
|
|
120
124
|
run(...argument: Argument): boolean;
|
|
@@ -154,6 +158,12 @@ export declare enum ColorKind {
|
|
|
154
158
|
DETECT = 3
|
|
155
159
|
}
|
|
156
160
|
|
|
161
|
+
/**
|
|
162
|
+
*
|
|
163
|
+
* GENERATED FILE, DO NOT MODIFY
|
|
164
|
+
* 这是生成的文件,千万不要修改
|
|
165
|
+
*
|
|
166
|
+
*/
|
|
157
167
|
export declare function concatStringType<T0 extends string>(t0: T0): `${T0}`;
|
|
158
168
|
|
|
159
169
|
export declare function concatStringType<T0 extends string, T1 extends string>(t0: T0, t1: T1): `${T0}${T1}`;
|
package/{dist → lib}/common.d.ts
RENAMED
|
@@ -106,6 +106,9 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
106
106
|
protected stop: boolean;
|
|
107
107
|
constructor();
|
|
108
108
|
count(): number;
|
|
109
|
+
/**
|
|
110
|
+
* remove all callback
|
|
111
|
+
*/
|
|
109
112
|
reset(): void;
|
|
110
113
|
/**
|
|
111
114
|
* @param name optional name of `item` (will assign displayName to `item`)
|
|
@@ -117,6 +120,7 @@ export declare class CallbackList<Argument extends unknown[]> {
|
|
|
117
120
|
*/
|
|
118
121
|
remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
|
|
119
122
|
/**
|
|
123
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
120
124
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
121
125
|
*/
|
|
122
126
|
run(...argument: Argument): boolean;
|
|
@@ -156,6 +160,12 @@ export declare enum ColorKind {
|
|
|
156
160
|
DETECT = 3
|
|
157
161
|
}
|
|
158
162
|
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
* GENERATED FILE, DO NOT MODIFY
|
|
166
|
+
* 这是生成的文件,千万不要修改
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
159
169
|
export declare function concatStringType<T0 extends string>(t0: T0): `${T0}`;
|
|
160
170
|
|
|
161
171
|
export declare function concatStringType<T0 extends string, T1 extends string>(t0: T0, t1: T1): `${T0}${T1}`;
|
|
@@ -15,6 +15,9 @@ class CallbackList {
|
|
|
15
15
|
count() {
|
|
16
16
|
return this.list.length;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* remove all callback
|
|
20
|
+
*/
|
|
18
21
|
reset() {
|
|
19
22
|
if (this.running) {
|
|
20
23
|
throw new Error("Can not reset when it's running.");
|
|
@@ -48,6 +51,7 @@ class CallbackList {
|
|
|
48
51
|
return null;
|
|
49
52
|
}
|
|
50
53
|
/**
|
|
54
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
51
55
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
52
56
|
*/
|
|
53
57
|
run(...argument) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAQ9C;;GAEG;AACH,MAAa,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IAEhC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,IAAA,2BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAQ9C;;GAEG;AACH,MAAa,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IAEhC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,IAAA,2BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AA5ED,oCA4EC"}
|
|
@@ -12,6 +12,9 @@ export class CallbackList {
|
|
|
12
12
|
count() {
|
|
13
13
|
return this.list.length;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* remove all callback
|
|
17
|
+
*/
|
|
15
18
|
reset() {
|
|
16
19
|
if (this.running) {
|
|
17
20
|
throw new Error("Can not reset when it's running.");
|
|
@@ -45,6 +48,7 @@ export class CallbackList {
|
|
|
45
48
|
return null;
|
|
46
49
|
}
|
|
47
50
|
/**
|
|
51
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
48
52
|
* @returns {boolean} true if every callback called, false if stop in middle
|
|
49
53
|
*/
|
|
50
54
|
run(...argument) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAQ9C;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IAEhC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAQ9C;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAY,KAAK,CAAC;IAEhC;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,EAAE;YACT,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concatType.generated.js","sourceRoot":"","sources":["../../src/string/concatType.generated.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"concatType.generated.js","sourceRoot":"","sources":["../../src/string/concatType.generated.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,aAAa;AACb;;;;;GAKG;;;AA8PH,UAAU;AACV,SAAgB,gBAAgB,CAAC,CAAW;IAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC;AAFD,4CAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concatType.generated.js","sourceRoot":"","sources":["../../src/string/concatType.generated.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"concatType.generated.js","sourceRoot":"","sources":["../../src/string/concatType.generated.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,aAAa;AACb;;;;;GAKG;AA8PH,UAAU;AACV,MAAM,UAAU,gBAAgB,CAAC,CAAW;IAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idlebox/common",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.16",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./lib/index.generated.cjs",
|
|
7
7
|
"module": "./lib/index.generated.js",
|
|
@@ -12,21 +12,20 @@
|
|
|
12
12
|
},
|
|
13
13
|
"./package.json": "./package.json"
|
|
14
14
|
},
|
|
15
|
-
"types": "./
|
|
15
|
+
"types": "./lib/common-public.d.ts",
|
|
16
16
|
"repository": "https://github.com/GongT/baobao",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"tslib": "^2.4.
|
|
18
|
+
"tslib": "^2.4.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@build-script/heft-duel-stack": "^1.0.4",
|
|
23
|
-
"@build-script/single-dog-asset": "^1.0.22",
|
|
24
|
-
"@build-script/typescript-transformer-dual-package": "^2.0.2",
|
|
25
|
-
"@idlebox/itypes": "^1.0.3",
|
|
26
|
-
"@rushstack/heft": "^0.47.2",
|
|
27
|
-
"local-rig": "^1.0.0",
|
|
21
|
+
"@rushstack/heft": "^0.48.8",
|
|
28
22
|
"source-map-support": "^0.5.21",
|
|
29
|
-
"typescript": "^4.
|
|
23
|
+
"typescript": "^4.8.4",
|
|
24
|
+
"@build-script/heft-duel-stack": "1.0.7",
|
|
25
|
+
"@build-script/single-dog-asset": "1.0.23",
|
|
26
|
+
"@build-script/codegen": "0.0.6",
|
|
27
|
+
"local-rig": "1.0.1",
|
|
28
|
+
"@idlebox/itypes": "1.0.4"
|
|
30
29
|
},
|
|
31
30
|
"monorepo": "rush",
|
|
32
31
|
"jspm": {
|
|
@@ -36,7 +35,8 @@
|
|
|
36
35
|
"scripts": {
|
|
37
36
|
"test": "heft test",
|
|
38
37
|
"lint": "heft build",
|
|
39
|
-
"build": "heft
|
|
38
|
+
"build": "heft build --production",
|
|
39
|
+
"build:watch": "heft build --lite",
|
|
40
40
|
"watch": "heft build --watch",
|
|
41
41
|
"clean": "heft clean"
|
|
42
42
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export interface IArrayUpdate<T> {
|
|
5
|
+
add: T[];
|
|
6
|
+
del: T[];
|
|
7
|
+
same: T[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Compare two array, returns the difference from `before` to `after`
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export function arrayDiff<T>(_before: readonly T[], after: readonly T[]) {
|
|
15
|
+
const before = _before.slice().sort();
|
|
16
|
+
const add: T[] = after.slice().sort();
|
|
17
|
+
const del: T[] = [];
|
|
18
|
+
const same: T[] = [];
|
|
19
|
+
next: while (before.length) {
|
|
20
|
+
const item = before.pop()!;
|
|
21
|
+
for (let j = add.length - 1; j >= 0; j--) {
|
|
22
|
+
if (item === add[j]) {
|
|
23
|
+
same.push(item);
|
|
24
|
+
add.splice(j, 1);
|
|
25
|
+
continue next;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
del.push(item);
|
|
29
|
+
}
|
|
30
|
+
return { add, del, same };
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* is the two array EXACTLY same
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export function isArraySame<T>(a1: readonly T[], a2: readonly T[]): boolean {
|
|
6
|
+
if (a1.length !== a2.length) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
for (let i = a1.length - 1; i >= 0; i--) {
|
|
10
|
+
if (a1[i] !== a2[i]) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a new array without duplicate values
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export function arrayUnique<T>(arr: readonly T[]): T[] {
|
|
6
|
+
return arr.filter((item, index) => {
|
|
7
|
+
return arr.lastIndexOf(item) === index;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Removes duplicate values from an array
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export function arrayUniqueReference(arr: any[]): void {
|
|
16
|
+
for (let index = arr.length - 1; index >= 0; index--) {
|
|
17
|
+
if (arr.lastIndexOf(arr[index]) !== index) {
|
|
18
|
+
arr.splice(index, 1);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface IUniqueIdFactory<T> {
|
|
24
|
+
(item: T): string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function defaultFactory(t: any) {
|
|
28
|
+
return t as string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Returns a function to be used in <arr>.filter()
|
|
33
|
+
*
|
|
34
|
+
* the returned function can use multiple times, it will remember all values inter multiple arrays
|
|
35
|
+
*
|
|
36
|
+
* @param {IUniqueIdFactory} idFactory function takes an array element, return it's id to be compare with each other
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export function uniqueFilter<T>(idFactory: IUniqueIdFactory<T> = defaultFactory) {
|
|
40
|
+
const seen: { [id: string]: true } = {};
|
|
41
|
+
return function uniqueFilterInner(item: T): boolean {
|
|
42
|
+
const id = idFactory(item);
|
|
43
|
+
if (seen[id]) {
|
|
44
|
+
return false;
|
|
45
|
+
} else {
|
|
46
|
+
seen[id] = true;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ensure a value is an array
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export function normalizeArray<T>(input: T | T[]): T[] {
|
|
6
|
+
if (input && Array.isArray(input)) {
|
|
7
|
+
return input;
|
|
8
|
+
} else if (typeof input !== undefined) {
|
|
9
|
+
return [input];
|
|
10
|
+
} else {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort string array alphabet order
|
|
3
|
+
*
|
|
4
|
+
* to be used in <arr>.sort()
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export function sortByString(a: string, b: string): number {
|
|
8
|
+
if (a === b) {
|
|
9
|
+
return 0;
|
|
10
|
+
} else if (a > b) {
|
|
11
|
+
return 1;
|
|
12
|
+
} else {
|
|
13
|
+
return -1;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function nextSecond(d: Date, n = 1) {
|
|
2
|
+
d.setSeconds(d.getSeconds() + n);
|
|
3
|
+
return d;
|
|
4
|
+
}
|
|
5
|
+
export function nextMinute(d: Date, n = 1) {
|
|
6
|
+
d.setMinutes(d.getMinutes() + n);
|
|
7
|
+
return d;
|
|
8
|
+
}
|
|
9
|
+
export function nextHour(d: Date, n = 1) {
|
|
10
|
+
d.setHours(d.getHours() + n);
|
|
11
|
+
return d;
|
|
12
|
+
}
|
|
13
|
+
export function nextDay(d: Date, n = 1) {
|
|
14
|
+
d.setDate(d.getDate() + n);
|
|
15
|
+
return d;
|
|
16
|
+
}
|
|
17
|
+
export function nextWeek(d: Date, n = 1) {
|
|
18
|
+
d.setDate(d.getDate() + n * 7);
|
|
19
|
+
return d;
|
|
20
|
+
}
|
|
21
|
+
export function nextMonth(d: Date, n = 1) {
|
|
22
|
+
d.setMonth(d.getMonth() + n);
|
|
23
|
+
return d;
|
|
24
|
+
}
|
|
25
|
+
export function nextYear(d: Date, n = 1) {
|
|
26
|
+
d.setFullYear(d.getFullYear() + n);
|
|
27
|
+
return d;
|
|
28
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { pad2 } from '../string/pad2';
|
|
2
|
+
|
|
3
|
+
export namespace humanDate {
|
|
4
|
+
/**
|
|
5
|
+
* Format: HH:mm:ss
|
|
6
|
+
*/
|
|
7
|
+
export function time(date: Date | string | number) {
|
|
8
|
+
if (typeof date === 'string') {
|
|
9
|
+
date = parseInt(date);
|
|
10
|
+
}
|
|
11
|
+
date = new Date(date as number);
|
|
12
|
+
return `${pad2(date.getHours())}:${pad2(date.getMinutes())}:${pad2(date.getSeconds())}`;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Format: YYYY-MM-dd
|
|
17
|
+
*
|
|
18
|
+
* separator can change
|
|
19
|
+
*/
|
|
20
|
+
export function date(date: Date | string | number, sp = '-') {
|
|
21
|
+
if (typeof date === 'string') {
|
|
22
|
+
date = parseInt(date);
|
|
23
|
+
}
|
|
24
|
+
date = new Date(date as number);
|
|
25
|
+
return `${date.getFullYear()}${sp}${pad2(date.getMonth() + 1)}${sp}${pad2(date.getDate())}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Format: YYYY-MM-dd HH:mm:ss
|
|
30
|
+
*/
|
|
31
|
+
export function datetime(date: Date | string | number) {
|
|
32
|
+
if (typeof date === 'string') {
|
|
33
|
+
date = parseInt(date);
|
|
34
|
+
}
|
|
35
|
+
date = new Date(date as number);
|
|
36
|
+
return (
|
|
37
|
+
`${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` +
|
|
38
|
+
' ' +
|
|
39
|
+
`${pad2(date.getHours())}:${pad2(date.getMinutes())}:${pad2(date.getSeconds())}`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface ITimeFormatter {
|
|
44
|
+
(s: number): string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface IFormatters {
|
|
48
|
+
s: ITimeFormatter;
|
|
49
|
+
m: ITimeFormatter;
|
|
50
|
+
h: ITimeFormatter;
|
|
51
|
+
d: ITimeFormatter;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const formatters: IFormatters = {
|
|
55
|
+
s(v: number) {
|
|
56
|
+
return v + 's';
|
|
57
|
+
},
|
|
58
|
+
m(v: number) {
|
|
59
|
+
return v + 'm';
|
|
60
|
+
},
|
|
61
|
+
h(v: number) {
|
|
62
|
+
return v + 'h';
|
|
63
|
+
},
|
|
64
|
+
d(v: number) {
|
|
65
|
+
return v + 'd';
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* set format for time delta
|
|
71
|
+
*/
|
|
72
|
+
export function setLocaleFormatter(formatter: Partial<IFormatters>) {
|
|
73
|
+
Object.assign(formatters, formatter);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* format time delta (in ms) to string, like: '1d'
|
|
78
|
+
* when ms<=0, returns '0s'
|
|
79
|
+
*
|
|
80
|
+
* format can set by `setLocaleFormatter`
|
|
81
|
+
* day is the largest unit
|
|
82
|
+
*/
|
|
83
|
+
export function deltaTiny(ms: number) {
|
|
84
|
+
if (ms <= 0) {
|
|
85
|
+
return '0s';
|
|
86
|
+
}
|
|
87
|
+
if (ms > 86400000) {
|
|
88
|
+
return formatters.d(Math.floor(ms / 86400000));
|
|
89
|
+
}
|
|
90
|
+
if (ms > 3600000) {
|
|
91
|
+
return formatters.h(Math.floor(ms / 3600000));
|
|
92
|
+
}
|
|
93
|
+
if (ms > 60000) {
|
|
94
|
+
return formatters.m(Math.floor(ms / 60000));
|
|
95
|
+
}
|
|
96
|
+
return formatters.s(Math.floor(ms / 1000));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* format time delta (in ms) to string, like: '1d10m42s'
|
|
101
|
+
* when ms<=0, returns '0s'
|
|
102
|
+
*
|
|
103
|
+
* format can set by `setLocaleFormatter`
|
|
104
|
+
* day is the largest unit
|
|
105
|
+
*/
|
|
106
|
+
export function delta(ms: number) {
|
|
107
|
+
let ret = '';
|
|
108
|
+
let val = Math.ceil(ms / 1000);
|
|
109
|
+
|
|
110
|
+
if (val <= 0) {
|
|
111
|
+
return '0s';
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// sec
|
|
115
|
+
const s = val % 60;
|
|
116
|
+
val = Math.floor(val / 60);
|
|
117
|
+
if (s > 0) {
|
|
118
|
+
ret = formatters.s(s);
|
|
119
|
+
}
|
|
120
|
+
if (val === 0) {
|
|
121
|
+
return ret;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// min
|
|
125
|
+
const m = val % 60;
|
|
126
|
+
val = Math.floor(val / 60);
|
|
127
|
+
if (m > 0) {
|
|
128
|
+
ret = formatters.m(m) + ret;
|
|
129
|
+
}
|
|
130
|
+
if (val === 0) {
|
|
131
|
+
return ret;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// hour
|
|
135
|
+
const h = val % 24;
|
|
136
|
+
val = Math.floor(val / 24);
|
|
137
|
+
if (h > 0) {
|
|
138
|
+
ret = formatters.h(h) + ret;
|
|
139
|
+
}
|
|
140
|
+
if (val === 0) {
|
|
141
|
+
return ret;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// day
|
|
145
|
+
if (val > 0) {
|
|
146
|
+
ret = formatters.d(h) + ret;
|
|
147
|
+
}
|
|
148
|
+
return ret;
|
|
149
|
+
}
|
|
150
|
+
}
|
package/src/date/unix.ts
ADDED