@qwreey-js/ts-util 1.0.6 → 1.0.7

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/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/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.7",
4
4
  "description": "Qwreey's typescript utilities",
5
5
  "keywords": [
6
6
  "typescript"