@qwreey-js/ts-util 1.0.6 → 1.0.8

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/mixin.d.ts CHANGED
@@ -2,12 +2,14 @@ import type { UnionToIntersection } from "./utils.js";
2
2
  /**
3
3
  * Represents a generic constructor function, capable of accepting both concrete and abstract classes.
4
4
  */
5
- export type AbstractConstructor<T = any> = abstract new (...args: any[]) => T;
5
+ export type AbstractConstructor<T = any> = abstract new (...args: any[]) => T & {
6
+ init(...args: any): void;
7
+ };
6
8
  /**
7
9
  * A utility type that combines two constructor types `A` and `B`.
8
10
  * Returns a new constructor type intersecting instances and static properties.
9
11
  */
10
- export type MixinBoth<A extends AbstractConstructor<InstanceType<A>>, B extends AbstractConstructor<InstanceType<B>>> = (A & B) & AbstractConstructor<InstanceType<A> & InstanceType<B>>;
12
+ export type MixinBoth<A extends AbstractConstructor<InstanceType<A>>, B extends AbstractConstructor<InstanceType<B>>> = (A & B) & AbstractConstructor<Omit<InstanceType<A>, "init"> & Omit<InstanceType<B>, "init">>;
11
13
  /**
12
14
  * A recursive utility type that combines an array of constructor types `T` into a single constructor type.
13
15
  */
@@ -61,4 +63,5 @@ export type MixinApplyList = [
61
63
  export type MixinInstance<Apply extends MixinApplyList> = UnionToIntersection<{
62
64
  [K in keyof Apply]: Apply[K][0] extends true ? InstanceType<Apply[K][1]> : object;
63
65
  }[number]>;
66
+ export declare function init<T extends AbstractConstructor>(self: InstanceType<T>, targetClass: T, ...args: Parameters<InstanceType<T>["init"]>): void;
64
67
  //# sourceMappingURL=mixin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../src/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,SAAS,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAC5C,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,CAAC,SAAS;IAC7D,MAAM,KAAK,SAAS,mBAAmB;CACxC,GACG,KAAK,GACL,CAAC,SAAS;IACN,GAAG,MAAM,MAAM,SAAS,mBAAmB,EAAE;IAC7C,MAAM,IAAI,SAAS,mBAAmB;CACvC,GACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAC9B,KAAK,CAAC;AAEZ;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAsCxE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,MAAM,CAIjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,mBAAmB,EACpD,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,CAAC,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,GAAG,GACZ,aAAa,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAWhD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,EACnD,GAAG,aAAa,EAAE,CAAC,GAClB,KAAK,CAAC,CAAC,CAAC,CAMV;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,GAAG,SAAS,GAAG,IAAI;IAC1B,mBAAmB;CACpB,EAAE,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,cAAc,IAAI,mBAAmB,CAC3E;KACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACxC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACzB,MAAM;CACX,CAAC,MAAM,CAAC,CACV,CAAC"}
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../src/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,MACjD,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,CAAC,GAAG;IAAE,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,SAAS,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAC5C,CAAC,CAAC,GAAG,CAAC,CAAC,GACT,mBAAmB,CACjB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAC9D,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,CAAC,SAAS;IAC7D,MAAM,KAAK,SAAS,mBAAmB;CACxC,GACG,KAAK,GACL,CAAC,SAAS;IACN,GAAG,MAAM,MAAM,SAAS,mBAAmB,EAAE;IAC7C,MAAM,IAAI,SAAS,mBAAmB;CACvC,GACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAC9B,KAAK,CAAC;AAEZ;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAsCxE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,MAAM,CAIjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,mBAAmB,EACpD,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,CAAC,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,GAAG,GACZ,aAAa,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAWhD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,EACnD,GAAG,aAAa,EAAE,CAAC,GAClB,KAAK,CAAC,CAAC,CAAC,CAMV;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,GAAG,SAAS,GAAG,IAAI;IAC1B,mBAAmB;CACpB,EAAE,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,cAAc,IAAI,mBAAmB,CAC3E;KACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACxC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACzB,MAAM;CACX,CAAC,MAAM,CAAC,CACV,CAAC;AAEF,wBAAgB,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAChD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,WAAW,EAAE,CAAC,EACd,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAG7C"}
package/dist/mixin.js CHANGED
@@ -89,4 +89,7 @@ export function mixin(...baseClassList) {
89
89
  applyRuntimeMixins(targetClass, baseClassList);
90
90
  return targetClass;
91
91
  }
92
+ export function init(self, targetClass, ...args) {
93
+ targetClass.prototype.init.call(self, ...args);
94
+ }
92
95
  //# sourceMappingURL=mixin.js.map
package/dist/mixin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../src/mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../src/mixin.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAgB,EAAE,aAAoB;IACvE,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;QACvC,OAAO,YAAY,IAAI,YAAY,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,YAAY,EACZ,IAAI,CACL,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,YAAY,GAAG,SAAS,CAAC;QAC7B,OACE,YAAY;YACZ,YAAY,KAAK,QAAQ,CAAC,SAAS;YACnC,YAAY,KAAK,MAAM,EACvB,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,YAAY,EACZ,IAAI,CACL,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAa;IAC3C,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAY,EACZ,QAAa;IAEb,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,QAAa;IAEb,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO;IACvC,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC;QAAE,OAAO;IAEzC,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC7C,IAAI,OAAO,eAAe,KAAK,UAAU;QAAE,OAAO;IAClD,IAAI,CAAC,CAAC,gBAAgB,IAAI,eAAe,CAAC;QAAE,OAAO;IACnD,MAAM,aAAa,GAAG,eAAe,CAAC,gBAAgB,CAAQ,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO;IAE1C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CACnB,GAAG,aAAgB;IAEnB,MAAM,WAAW,GAAG;QAClB,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC;KACvC,CAAC;IACF,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/C,OAAO,WAAkB,CAAC;AAC5B,CAAC;AAqBD,MAAM,UAAU,IAAI,CAClB,IAAqB,EACrB,WAAc,EACd,GAAG,IAAyC;IAE5C,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC"}
package/dist/result.d.ts CHANGED
@@ -4,9 +4,11 @@
4
4
  export type Result<T, U> = {
5
5
  result: undefined;
6
6
  error: U;
7
+ ok: false;
7
8
  } | {
8
9
  result: T;
9
10
  error: undefined;
11
+ ok: true;
10
12
  };
11
13
  export declare namespace Result {
12
14
  /**
@@ -16,6 +18,7 @@ export declare namespace Result {
16
18
  function ok<T>(result: T): {
17
19
  result: T;
18
20
  error: undefined;
21
+ ok: true;
19
22
  };
20
23
  /**
21
24
  * Creates an error result object containing the provided `error` value.
@@ -24,6 +27,7 @@ export declare namespace Result {
24
27
  function err<U>(error: U): {
25
28
  result: undefined;
26
29
  error: U;
30
+ ok: false;
27
31
  };
28
32
  }
29
33
  export declare const Ok: typeof Result.ok;
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN,yBAAiB,MAAM,CAAC;IACtB;;;OAGG;IACH,SAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAEhE;IAED;;;OAGG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,CAEhE;CACF;AAED,eAAO,MAAM,EAAE,kBAAY,CAAC;AAC5B,eAAO,MAAM,GAAG,mBAAa,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC;IACT,EAAE,EAAE,KAAK,CAAC;CACX,GACD;IACE,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,IAAI,CAAC;CACV,CAAC;AAEN,yBAAiB,MAAM,CAAC;IACtB;;;OAGG;IACH,SAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,CAE1E;IAED;;;OAGG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,EAAE,KAAK,CAAA;KAAE,CAE3E;CACF;AAED,eAAO,MAAM,EAAE,kBAAY,CAAC;AAC5B,eAAO,MAAM,GAAG,mBAAa,CAAC"}
package/dist/result.js CHANGED
@@ -5,7 +5,7 @@ export var Result;
5
5
  * @param result The successful value to wrap.
6
6
  */
7
7
  function ok(result) {
8
- return { error: undefined, result };
8
+ return { error: undefined, result, ok: true };
9
9
  }
10
10
  Result.ok = ok;
11
11
  /**
@@ -13,7 +13,7 @@ export var Result;
13
13
  * @param error The error value or object to wrap.
14
14
  */
15
15
  function err(error) {
16
- return { error, result: undefined };
16
+ return { error, result: undefined, ok: false };
17
17
  }
18
18
  Result.err = err;
19
19
  })(Result || (Result = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAaA,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACrB;;;OAGG;IACH,SAAgB,EAAE,CAAI,MAAS;QAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IAFe,SAAE,KAEjB,CAAA;IAED;;;OAGG;IACH,SAAgB,GAAG,CAAI,KAAQ;QAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;IAFe,UAAG,MAElB,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAeA,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACrB;;;OAGG;IACH,SAAgB,EAAE,CAAI,MAAS;QAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAFe,SAAE,KAEjB,CAAA;IAED;;;OAGG;IACH,SAAgB,GAAG,CAAI,KAAQ;QAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAFe,UAAG,MAElB,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeid.d.ts","sourceRoot":"","sources":["../src/timeid.ts"],"names":[],"mappings":"AAEA,yBAAiB,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,CAsB3D;IAED;;;;;;OAMG;IACH,SAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CA+BvE;CACF"}
1
+ {"version":3,"file":"timeid.d.ts","sourceRoot":"","sources":["../src/timeid.ts"],"names":[],"mappings":"AAEA,yBAAiB,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,QAAQ,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,CAoB3D;IAED;;;;;;OAMG;IACH,SAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CA0BvE;CACF"}
package/dist/timeid.js CHANGED
@@ -12,11 +12,8 @@ export var TimeId;
12
12
  */
13
13
  function create(timebase = null) {
14
14
  // Create random values
15
- const randbytes = crypto.getRandomValues(new Uint8Array(8));
16
- const k32 = Base32.fromUint8Array(randbytes);
17
- const lower = k32.substring(0, 8);
18
- const upper = k32.substring(8, 16);
19
- const timepad = k32.substring(16, 19);
15
+ const randbytes = crypto.getRandomValues(new Uint8Array(2));
16
+ const randb32 = Base32.fromUint8Array(randbytes).substring(0, 3);
20
17
  // Construct time Uint8Array
21
18
  timebase ??= new Date();
22
19
  const timestamp = BigInt(timebase.getTime());
@@ -25,10 +22,10 @@ export var TimeId;
25
22
  timeview.setBigUint64(0, timestamp, false);
26
23
  const timearr = new Uint8Array(timebuffer);
27
24
  // Assemble id
28
- const timestr = Base32.fromUint8Array(timearr).substring(0, 13) + timepad;
29
- const timelower = timestr.substring(0, 8);
30
- const timeupper = timestr.substring(8, 16);
31
- const generated = `${timelower}-${timeupper}-${lower}-${upper}`;
25
+ const timeb32 = Base32.fromUint8Array(timearr).substring(0, 13);
26
+ const timelower = timeb32.substring(0, 8);
27
+ const timeupper = timeb32.substring(8, 13);
28
+ const generated = `${timelower}-${timeupper}${randb32}`;
32
29
  return generated;
33
30
  }
34
31
  TimeId.create = create;
@@ -41,17 +38,17 @@ export var TimeId;
41
38
  */
42
39
  function parse(id) {
43
40
  const parts = id.split("-");
44
- if (parts.length !== 4) {
41
+ if (parts.length !== 2) {
45
42
  throw new Error("Invalid timeId format");
46
43
  }
47
- const [timeLower, timeUpper, randLower, randUpper] = parts;
48
- const randStr = randLower + randUpper;
49
- const randbytes = Base32.toUint8Array(randStr);
50
- const timeStr = timeLower + timeUpper;
51
- const timearr = Base32.toUint8Array(timeStr);
52
- if (randbytes.length !== 8 || timearr.length !== 8) {
44
+ const [lower, upper] = parts;
45
+ if (lower.length !== 8 || upper.length !== 8) {
53
46
  throw new Error("Invalid timeId payload");
54
47
  }
48
+ const randStr = upper.substring(5, 8);
49
+ const randbytes = Base32.toUint8Array(randStr);
50
+ const timeStr = lower + upper.substring(0, 5);
51
+ const timearr = Base32.toUint8Array(timeStr);
55
52
  const timeview = new DataView(timearr.buffer, timearr.byteOffset, timearr.byteLength);
56
53
  const timestamp = timeview.getBigUint64(0, false);
57
54
  const date = new Date(Number(timestamp));
@@ -1 +1 @@
1
- {"version":3,"file":"timeid.js","sourceRoot":"","sources":["../src/timeid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeid.js","sourceRoot":"","sources":["../src/timeid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,KAAW,MAAM,CAkEtB;AAlED,WAAiB,MAAM;IACrB;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,WAAwB,IAAI;QACjD,uBAAuB;QACvB,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjE,4BAA4B;QAC5B,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAE3C,cAAc;QACd,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IApBe,aAAM,SAoBrB,CAAA;IAED;;;;;;OAMG;IACH,SAAgB,KAAK,CAAC,EAAU;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAyB,CAAC;QAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAEzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IA1Be,YAAK,QA0BpB,CAAA;AACH,CAAC,EAlEgB,MAAM,KAAN,MAAM,QAkEtB"}
package/dist/utils.d.ts CHANGED
@@ -80,4 +80,12 @@ export declare const KIB_UNIT: number;
80
80
  * @returns {string} The formatted file size string with its corresponding unit (e.g., "1.5GiB", "500B").
81
81
  */
82
82
  export declare function formatFileSize(sizeBytes: number): string;
83
+ export declare function parseSeconds(seconds: number): {
84
+ hours: number;
85
+ minutes: number;
86
+ seconds: number;
87
+ totalMinutes: number;
88
+ };
89
+ export declare function formatSecondsHHMMSS(seconds: number, delimit?: string): string;
90
+ export declare function formatSecondsMMSS(seconds: number, delimit?: string): string;
83
91
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAanE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,CAAC,GAAG,IAAI,CAOV;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAE3B;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAKzE;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAG;AAE3D;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAE3D;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,aAAa,EAAE,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC,EAAE,GACpD,MAAM,CAYR;AAED,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWxD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CACvC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAanE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,CAAC,GAAG,IAAI,CAOV;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAE3B;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAKzE;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAG;AAE3D;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAE3D;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,aAAa,EAAE,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC,EAAE,GACpD,MAAM,CAYR;AAED,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAQA;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAY,GACpB,MAAM,CAUR;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAY,GACpB,MAAM,CAIR"}
package/dist/utils.js CHANGED
@@ -139,4 +139,26 @@ export function formatFileSize(sizeBytes) {
139
139
  }
140
140
  return `${sizeBytes}B`;
141
141
  }
142
+ export function parseSeconds(seconds) {
143
+ seconds = Math.floor(seconds);
144
+ const tSeconds = seconds % 60;
145
+ const totalMinutes = Math.floor(seconds / 60);
146
+ const tMinutes = totalMinutes % 60;
147
+ const tHours = Math.floor(totalMinutes / 60);
148
+ return { seconds: tSeconds, minutes: tMinutes, hours: tHours, totalMinutes };
149
+ }
150
+ export function formatSecondsHHMMSS(seconds, delimit = ":") {
151
+ if (seconds < 3600)
152
+ return formatSecondsMMSS(seconds, delimit);
153
+ const parsed = parseSeconds(seconds);
154
+ return [
155
+ parsed.hours,
156
+ zeroPadding(parsed.minutes),
157
+ zeroPadding(parsed.seconds),
158
+ ].join(delimit);
159
+ }
160
+ export function formatSecondsMMSS(seconds, delimit = ":") {
161
+ const parsed = parseSeconds(seconds);
162
+ return [parsed.totalMinutes, zeroPadding(parsed.seconds)].join(delimit);
163
+ }
142
164
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwreey-js/ts-util",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Qwreey's typescript utilities",
5
5
  "keywords": [
6
6
  "typescript"
package/dist/json.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function parseJsonSafe<T = any>(content: string | undefined | null): T | null;
2
- //# sourceMappingURL=json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,CAAC,GAAG,IAAI,CAOV"}
package/dist/json.js DELETED
@@ -1,11 +0,0 @@
1
- export function parseJsonSafe(content) {
2
- if (!content)
3
- return null;
4
- try {
5
- return JSON.parse(content);
6
- }
7
- catch {
8
- return null;
9
- }
10
- }
11
- //# sourceMappingURL=json.js.map
package/dist/json.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAC3B,OAAkC;IAElC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/promise.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export declare function AsOk(promise: Promise<any>): Promise<boolean>;
2
- export declare function NullCatch<T>(promise: Promise<T>): Promise<T | null>;
3
- export declare function EmptyPromise(): Promise<undefined>;
4
- export declare function ErrorPromise(err: Error): Promise<any>;
5
- //# sourceMappingURL=promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAKnE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAG;AAC3D,wBAAsB,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAE3D"}
package/dist/promise.js DELETED
@@ -1,20 +0,0 @@
1
- import { logErr } from "./libLog.js";
2
- export function AsOk(promise) {
3
- return promise
4
- .then(() => true)
5
- .catch((i) => {
6
- logErr("Promise throw(catch in AsOk): " + i);
7
- return false;
8
- });
9
- }
10
- export function NullCatch(promise) {
11
- return promise.catch((i) => {
12
- logErr("Promise throw(catch in NullCatch): " + i);
13
- return null;
14
- });
15
- }
16
- export async function EmptyPromise() { }
17
- export async function ErrorPromise(err) {
18
- throw err;
19
- }
20
- //# sourceMappingURL=promise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,IAAI,CAAC,OAAqB;IACxC,OAAO,OAAO;SACX,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,CAAC,gCAAgC,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,OAAmB;IAC9C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,MAAM,CAAC,qCAAqC,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,KAAwB,CAAC;AAC3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAU;IAC3C,MAAM,GAAG,CAAC;AACZ,CAAC"}