@postxl/utils 0.1.24 → 0.1.28

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.
@@ -2,4 +2,22 @@
2
2
  * returns the default time stamp in format YYMMDD HHMM
3
3
  */
4
4
  export declare function timeStamp(): string;
5
+ /**
6
+ * Checks if a value is a valid Date object.
7
+ * Returns true only for Date instances that are not Invalid Date.
8
+ * This function is isomorphic and works in both Node.js and browser environments.
9
+ *
10
+ * @param value - The value to check
11
+ * @returns true if the value is a valid Date object, false otherwise
12
+ *
13
+ * @example
14
+ * isDate(new Date()) // true
15
+ * isDate(new Date('2023-01-01')) // true
16
+ * isDate(new Date('invalid')) // false (Invalid Date)
17
+ * isDate('2023-01-01') // false
18
+ * isDate(1234567890) // false
19
+ * isDate(null) // false
20
+ * isDate(undefined) // false
21
+ */
22
+ export declare function isDate(value: unknown): value is Date;
5
23
  //# sourceMappingURL=datetime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAQlC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAQlC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD"}
package/dist/datetime.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.timeStamp = timeStamp;
4
+ exports.isDate = isDate;
4
5
  /**
5
6
  * returns the default time stamp in format YYMMDD HHMM
6
7
  */
@@ -13,4 +14,24 @@ function timeStamp() {
13
14
  const minute = date.getMinutes().toString().padStart(2, '0');
14
15
  return `${year}${month}${day} ${hour}${minute}`;
15
16
  }
17
+ /**
18
+ * Checks if a value is a valid Date object.
19
+ * Returns true only for Date instances that are not Invalid Date.
20
+ * This function is isomorphic and works in both Node.js and browser environments.
21
+ *
22
+ * @param value - The value to check
23
+ * @returns true if the value is a valid Date object, false otherwise
24
+ *
25
+ * @example
26
+ * isDate(new Date()) // true
27
+ * isDate(new Date('2023-01-01')) // true
28
+ * isDate(new Date('invalid')) // false (Invalid Date)
29
+ * isDate('2023-01-01') // false
30
+ * isDate(1234567890) // false
31
+ * isDate(null) // false
32
+ * isDate(undefined) // false
33
+ */
34
+ function isDate(value) {
35
+ return value instanceof Date && !Number.isNaN(value.getTime());
36
+ }
16
37
  //# sourceMappingURL=datetime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":";;AAGA,8BAQC;AAXD;;GAEG;AACH,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,IAAI,IAAI,GAAG,MAAM,EAAE,CAAA;AACjD,CAAC"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":";;AAGA,8BAQC;AAmBD,wBAEC;AAhCD;;GAEG;AACH,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,IAAI,IAAI,GAAG,MAAM,EAAE,CAAA;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;AAChE,CAAC"}
package/dist/random.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateRandomAlphanumericString = void 0;
4
- const crypto_1 = require("crypto");
4
+ const node_crypto_1 = require("node:crypto");
5
5
  const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
6
6
  /**
7
7
  * Returns a randomly generated alphanumeric string.
@@ -9,7 +9,7 @@ const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
9
9
  const generateRandomAlphanumericString = (length) => {
10
10
  let result = '';
11
11
  for (let i = 0; i < length; i++) {
12
- result += CHARS[(0, crypto_1.randomInt)(CHARS.length)];
12
+ result += CHARS[(0, node_crypto_1.randomInt)(CHARS.length)];
13
13
  }
14
14
  return result;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAElC,MAAM,KAAK,GAAG,sCAAsC,CAAA;AAEpD;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAU,EAAE;IACzE,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AANY,QAAA,gCAAgC,oCAM5C"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,MAAM,KAAK,GAAG,sCAAsC,CAAA;AAEpD;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAU,EAAE;IACzE,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,IAAA,uBAAS,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AANY,QAAA,gCAAgC,oCAM5C"}
package/dist/result.d.ts CHANGED
@@ -1,25 +1,35 @@
1
- export declare const OK = "OK";
2
- export declare const ERR = "ERR";
3
- export type Ok<Value> = {
4
- type: typeof OK;
5
- value: Value;
1
+ export type SerializedResult<A, E> = {
2
+ tag: 'ok';
3
+ value: A;
4
+ } | {
5
+ tag: 'err';
6
+ err: E;
6
7
  };
7
- export type Err<ErrorType> = {
8
- type: typeof ERR;
9
- error: ErrorType;
10
- };
11
- export type Result<Value, ErrorType = TypedError<'genericError'>> = Ok<Value> | Err<ErrorType>;
12
- export declare const ok: <Value, ErrorType>(value: Value) => Result<Value, ErrorType>;
13
- export declare const err: <Value, ErrorType>(error: ErrorType) => Result<Value, ErrorType>;
14
- export declare const result: <Value, ErrorType>(getValue: () => Promise<Value>, errHandler: (e: any) => ErrorType) => Promise<Result<Value, ErrorType>>;
15
- export declare const isOk: <Value, ErrorType>(r: Result<Value, ErrorType>) => r is Ok<Value>;
16
- export declare const isErr: <Value, ErrorType>(r: Result<Value, ErrorType>) => r is Err<ErrorType>;
17
- export declare const unwrap: <Value, ErrorType>(r: Result<Value, ErrorType>) => Value;
18
- export declare const withDefault: <Value, ErrorType>(r: Result<Value, ErrorType>, defaultValue: Value) => Value;
19
- export declare const map: <FROMValue, TOValue, Error>(func: (t: FROMValue) => TOValue, r: Result<FROMValue, Error>) => Result<TOValue, Error>;
8
+ export declare class Result<A, E> {
9
+ #private;
10
+ static ok<A, E>(value: A): Result<A, E>;
11
+ static err<A, E>(value: E): Result<A, E>;
12
+ static fromThrowable<A, E>(f: () => A, handleError: (error: Error) => E): Result<A, E>;
13
+ static fromObject<A, E>(result: SerializedResult<A, E>): Result<A, E>;
14
+ static fromPromise<A, E>(promise: () => Promise<A>, handleError: (error: Error) => E): Promise<Result<A, E>>;
15
+ private constructor();
16
+ private constructor();
17
+ isOk(): this is Result<A, never>;
18
+ isErr(): this is Result<never, E>;
19
+ map<B>(f: (a: A) => B): Result<B, E>;
20
+ mapErr<X>(f: (e: E) => X): Result<A, X>;
21
+ andThen<B>(f: (a: A) => Result<B, E>): Result<B, E>;
22
+ withDefault(fallback: A): A;
23
+ unwrap(): A;
24
+ unwrapErr(): E;
25
+ toJSON(): SerializedResult<A, E>;
26
+ }
27
+ export declare const ok: typeof Result.ok;
28
+ export declare const err: typeof Result.err;
20
29
  export type TypedError<T extends string> = {
21
30
  type: T;
22
31
  message: string;
23
32
  error: Error;
24
33
  };
34
+ export default Result;
25
35
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,OAAO,CAAA;AACtB,eAAO,MAAM,GAAG,QAAQ,CAAA;AACxB,MAAM,MAAM,EAAE,CAAC,KAAK,IAAI;IACtB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,SAAS,IAAI;IAC3B,IAAI,EAAE,OAAO,GAAG,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;AAE9F,eAAO,MAAM,EAAE,GAAI,KAAK,EAAE,SAAS,EAAE,OAAO,KAAK,KAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAGzE,CAAA;AACF,eAAO,MAAM,GAAG,GAAI,KAAK,EAAE,SAAS,EAAE,OAAO,SAAS,KAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAG9E,CAAA;AAEF,eAAO,MAAM,MAAM,GAAU,KAAK,EAAE,SAAS,EAC3C,UAAU,MAAM,OAAO,CAAC,KAAK,CAAC,EAC9B,YAAY,CAAC,CAAC,EAAE,GAAG,KAAK,SAAS,KAChC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAMlC,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAkB,CAAA;AACpG,eAAO,MAAM,KAAK,GAAI,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAmB,CAAA;AAC3G,eAAO,MAAM,MAAM,GAAI,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAG,KAKtE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,cAAc,KAAK,KAAG,KAKhG,CAAA;AAED,eAAO,MAAM,GAAG,GAAI,SAAS,EAAE,OAAO,EAAE,KAAK,EAC3C,MAAM,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,EAC/B,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAC1B,MAAM,CAAC,OAAO,EAAE,KAAK,CAKvB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IACzC,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,CAAC,CAAA;CAAE,CAAA;AAErF,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;;IACtB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIvC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAQtF,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;WAQxD,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAelH,OAAO;IACP,OAAO;IAOP,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;IAIhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAIjC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAQpC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAQvC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAQnD,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;IAI3B,MAAM,IAAI,CAAC;IAQX,SAAS,IAAI,CAAC;IAQd,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;CAOjC;AAED,eAAO,MAAM,EAAE,kBAAY,CAAA;AAC3B,eAAO,MAAM,GAAG,mBAAa,CAAA;AAE7B,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IACzC,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAe,MAAM,CAAA"}
package/dist/result.js CHANGED
@@ -1,50 +1,120 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.map = exports.withDefault = exports.unwrap = exports.isErr = exports.isOk = exports.result = exports.err = exports.ok = exports.ERR = exports.OK = void 0;
4
- exports.OK = 'OK';
5
- exports.ERR = 'ERR';
6
- const ok = (value) => ({
7
- type: exports.OK,
8
- value,
9
- });
10
- exports.ok = ok;
11
- const err = (error) => ({
12
- type: exports.ERR,
13
- error,
14
- });
15
- exports.err = err;
16
- const result = async (getValue, errHandler) => {
17
- try {
18
- return (0, exports.ok)(await getValue());
19
- }
20
- catch (e) {
21
- return (0, exports.err)(errHandler(e));
22
- }
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
23
7
  };
24
- exports.result = result;
25
- const isOk = (r) => r.type === exports.OK;
26
- exports.isOk = isOk;
27
- const isErr = (r) => r.type === exports.ERR;
28
- exports.isErr = isErr;
29
- const unwrap = (r) => {
30
- if ((0, exports.isErr)(r)) {
31
- throw new Error(typeof r.error === 'string' ? r.error : JSON.stringify(r.error));
32
- }
33
- return r.value;
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
34
12
  };
35
- exports.unwrap = unwrap;
36
- const withDefault = (r, defaultValue) => {
37
- if ((0, exports.isErr)(r)) {
38
- return defaultValue;
13
+ var _Result_tag, _Result_value, _Result_error;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.err = exports.ok = exports.Result = void 0;
16
+ class Result {
17
+ static ok(value) {
18
+ return new Result('ok', value);
39
19
  }
40
- return r.value;
41
- };
42
- exports.withDefault = withDefault;
43
- const map = (func, r) => {
44
- if (r.type === exports.ERR) {
45
- return r;
20
+ static err(value) {
21
+ return new Result('err', value);
46
22
  }
47
- return (0, exports.ok)(func(r.value));
48
- };
49
- exports.map = map;
23
+ static fromThrowable(f, handleError) {
24
+ try {
25
+ return Result.ok(f());
26
+ }
27
+ catch (error) {
28
+ return Result.err(handleError(error));
29
+ }
30
+ }
31
+ static fromObject(result) {
32
+ if (result.tag === 'ok') {
33
+ return Result.ok(result.value);
34
+ }
35
+ else {
36
+ return Result.err(result.err);
37
+ }
38
+ }
39
+ static async fromPromise(promise, handleError) {
40
+ try {
41
+ return Result.ok(await promise());
42
+ }
43
+ catch (error) {
44
+ return Result.err(handleError(error));
45
+ }
46
+ }
47
+ constructor(tag, value) {
48
+ // We track the tag separately from the value and error to allow for us to use
49
+ // `null` as a valid value.
50
+ _Result_tag.set(this, void 0);
51
+ _Result_value.set(this, void 0);
52
+ _Result_error.set(this, void 0);
53
+ __classPrivateFieldSet(this, _Result_tag, tag, "f");
54
+ __classPrivateFieldSet(this, _Result_value, tag === 'ok' ? value : null, "f");
55
+ __classPrivateFieldSet(this, _Result_error, tag === 'err' ? value : null, "f");
56
+ }
57
+ isOk() {
58
+ return __classPrivateFieldGet(this, _Result_tag, "f") === 'ok';
59
+ }
60
+ isErr() {
61
+ return __classPrivateFieldGet(this, _Result_tag, "f") === 'err';
62
+ }
63
+ map(f) {
64
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'ok') {
65
+ return Result.ok(f(__classPrivateFieldGet(this, _Result_value, "f")));
66
+ }
67
+ else {
68
+ return this;
69
+ }
70
+ }
71
+ mapErr(f) {
72
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'err') {
73
+ return Result.err(f(__classPrivateFieldGet(this, _Result_error, "f")));
74
+ }
75
+ else {
76
+ return this;
77
+ }
78
+ }
79
+ andThen(f) {
80
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'ok') {
81
+ return f(__classPrivateFieldGet(this, _Result_value, "f"));
82
+ }
83
+ else {
84
+ return this;
85
+ }
86
+ }
87
+ withDefault(fallback) {
88
+ return __classPrivateFieldGet(this, _Result_tag, "f") === 'ok' ? __classPrivateFieldGet(this, _Result_value, "f") : fallback;
89
+ }
90
+ unwrap() {
91
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'ok') {
92
+ return __classPrivateFieldGet(this, _Result_value, "f");
93
+ }
94
+ else {
95
+ throw new Error(typeof __classPrivateFieldGet(this, _Result_error, "f") === 'string' ? __classPrivateFieldGet(this, _Result_error, "f") : JSON.stringify(__classPrivateFieldGet(this, _Result_error, "f")));
96
+ }
97
+ }
98
+ unwrapErr() {
99
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'err') {
100
+ return __classPrivateFieldGet(this, _Result_error, "f");
101
+ }
102
+ else {
103
+ throw new Error('tried to unwrap an ok result');
104
+ }
105
+ }
106
+ toJSON() {
107
+ if (__classPrivateFieldGet(this, _Result_tag, "f") === 'ok') {
108
+ return { tag: 'ok', value: __classPrivateFieldGet(this, _Result_value, "f") };
109
+ }
110
+ else {
111
+ return { tag: 'err', err: __classPrivateFieldGet(this, _Result_error, "f") };
112
+ }
113
+ }
114
+ }
115
+ exports.Result = Result;
116
+ _Result_tag = new WeakMap(), _Result_value = new WeakMap(), _Result_error = new WeakMap();
117
+ exports.ok = Result.ok;
118
+ exports.err = Result.err;
119
+ exports.default = Result;
50
120
  //# sourceMappingURL=result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":";;;AAAa,QAAA,EAAE,GAAG,IAAI,CAAA;AACT,QAAA,GAAG,GAAG,KAAK,CAAA;AAYjB,MAAM,EAAE,GAAG,CAAmB,KAAY,EAA4B,EAAE,CAAC,CAAC;IAC/E,IAAI,EAAE,UAAE;IACR,KAAK;CACN,CAAC,CAAA;AAHW,QAAA,EAAE,MAGb;AACK,MAAM,GAAG,GAAG,CAAmB,KAAgB,EAA4B,EAAE,CAAC,CAAC;IACpF,IAAI,EAAE,WAAG;IACT,KAAK;CACN,CAAC,CAAA;AAHW,QAAA,GAAG,OAGd;AAEK,MAAM,MAAM,GAAG,KAAK,EACzB,QAA8B,EAC9B,UAAiC,EACE,EAAE;IACrC,IAAI,CAAC;QACH,OAAO,IAAA,UAAE,EAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AATY,QAAA,MAAM,UASlB;AAEM,MAAM,IAAI,GAAG,CAAmB,CAA2B,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAE,CAAA;AAAvF,QAAA,IAAI,QAAmF;AAC7F,MAAM,KAAK,GAAG,CAAmB,CAA2B,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAG,CAAA;AAA9F,QAAA,KAAK,SAAyF;AACpG,MAAM,MAAM,GAAG,CAAmB,CAA2B,EAAS,EAAE;IAC7E,IAAI,IAAA,aAAK,EAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAA;AAChB,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB;AAEM,MAAM,WAAW,GAAG,CAAmB,CAA2B,EAAE,YAAmB,EAAS,EAAE;IACvG,IAAI,IAAA,aAAK,EAAC,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAA;AAChB,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB;AAEM,MAAM,GAAG,GAAG,CACjB,IAA+B,EAC/B,CAA2B,EACH,EAAE;IAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAG,EAAE,CAAC;QACnB,OAAO,CAAsC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAA,UAAE,EAAiB,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA;AARY,QAAA,GAAG,OAQf"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/dist/string.d.ts CHANGED
@@ -129,5 +129,18 @@ export type Conjugated = {
129
129
  export declare function conjugateNames(name: string): Conjugated;
130
130
  export declare function slugify(str: string): string;
131
131
  export declare function isSlug(str: string): boolean;
132
+ /**
133
+ * Ensures that a string is unique within a list of existing values by appending a sequential number if necessary.
134
+ *
135
+ * If the base string is not in the list, it is returned as is.
136
+ * If it is, the function looks for existing strings in the format "base (n)" where n is a number,
137
+ * and returns the next available sequential string.
138
+ *
139
+ * @param value - The base string to ensure uniqueness for.
140
+ * @param existingValues - An array of existing strings to check against.
141
+ * @param maxChecks - Maximum number of checks to be performed. An error is thrown if this limit is exceeded. Default is 100
142
+ * @returns A unique string based on the base string.
143
+ */
144
+ export declare const ensureUnique: (value: string, existingValues: string[], maxChecks?: number) => string;
132
145
  export {};
133
146
  //# sourceMappingURL=string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
package/dist/string.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureUnique = void 0;
3
4
  exports.upperFirst = upperFirst;
4
5
  exports.lowerFirst = lowerFirst;
5
6
  exports.pluralize = pluralize;
@@ -369,4 +370,41 @@ function slugify(str) {
369
370
  function isSlug(str) {
370
371
  return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(str);
371
372
  }
373
+ /**
374
+ * Ensures that a string is unique within a list of existing values by appending a sequential number if necessary.
375
+ *
376
+ * If the base string is not in the list, it is returned as is.
377
+ * If it is, the function looks for existing strings in the format "base (n)" where n is a number,
378
+ * and returns the next available sequential string.
379
+ *
380
+ * @param value - The base string to ensure uniqueness for.
381
+ * @param existingValues - An array of existing strings to check against.
382
+ * @param maxChecks - Maximum number of checks to be performed. An error is thrown if this limit is exceeded. Default is 100
383
+ * @returns A unique string based on the base string.
384
+ */
385
+ const ensureUnique = (value, existingValues, maxChecks = 100) => {
386
+ // convert existingValues to a Set for faster lookup
387
+ const values = new Set(existingValues);
388
+ // if the base itself (without a number) is not in the list, return it
389
+ if (!values.has(value)) {
390
+ return value;
391
+ }
392
+ let base = value.trim();
393
+ let num = 0;
394
+ // Regex to match a numeric suffix like " (n)" at the end of the string.
395
+ // Using a targeted pattern avoids catastrophic backtracking for inputs without such a suffix.
396
+ const m = /\((\d{1,5})\)$/.exec(value);
397
+ if (m && /\s$/.test(value.slice(0, m.index))) {
398
+ base = value.slice(0, m.index).trimEnd();
399
+ }
400
+ while (num < maxChecks) {
401
+ const newValue = num === 0 ? base : `${base} (${num})`;
402
+ if (!values.has(newValue)) {
403
+ return newValue;
404
+ }
405
+ num++;
406
+ }
407
+ throw new Error(`Could not find a unique name for "${value}" after ${maxChecks} checks`);
408
+ };
409
+ exports.ensureUnique = ensureUnique;
372
410
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export declare const excelStringStrictDecoder: z.ZodEffects<z.ZodUnion<[z.ZodStr
27
27
  * - If the value is boolean, it'll return 'true' or 'false'
28
28
  * - If the value is null or undefined, it'll return an empty string
29
29
  * - If the value is any other type, it'll return an empty string
30
+ *
31
+ * Null handling: Null values/blank cells will be converted to a blank string.
30
32
  */
31
33
  export declare const excelStringDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUndefined, z.ZodAny]>, string, any>;
32
34
  /**
@@ -38,10 +40,13 @@ export declare const excelStringDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z
38
40
  *
39
41
  * It'll perform casting based on the following rules:
40
42
  * - If the value is a number, it'll be converted to a string
41
- * - If the value is a string, it'll be returned as-is
43
+ * - If the value is a string, it'll be returned as-is - except blank strings, which will be converted to null
42
44
  * - If the value is boolean, it'll return 'true' or 'false'
43
45
  * - If the value is null or undefined, it'll return null
44
46
  * - If the value is any other type, it'll return null
47
+ *
48
+ * Null handling: Blank strings will be converted to null. This is to reflect that in Excel a formula
49
+ * cannot return null. As a workaround, one often returns a blank string to represent null.
45
50
  */
46
51
  export declare const excelStringNullableDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUndefined, z.ZodAny]>, string | null, any>;
47
52
  /**
@@ -63,6 +68,8 @@ export declare const excelNumberStrictDecoder: z.ZodEffects<z.ZodUnion<[z.ZodStr
63
68
  * - If the value is a string, it'll try to parse it to a number. Blank strings and non-numerical strings will be converted to 0.
64
69
  * - If the value is boolean, it'll return 1 or 0
65
70
  * - If the value is any other type, it'll return 0
71
+ *
72
+ * Null handling: Null values/blank cells will be converted to blank strings.
66
73
  */
67
74
  export declare const excelNumberDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUndefined, z.ZodAny]>, number, any>;
68
75
  /**
@@ -70,9 +77,12 @@ export declare const excelNumberDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z
70
77
 
71
78
  * It'll perform casting based on the following rules:
72
79
  * - If the value is a number, it'll be returned as-is
73
- * - If the value is a string, it'll try to parse it to a number. Blank strings and non-numerical strings will be converted to 0.
80
+ * - If the value is a string, it'll try to parse it to a number. Non-numerical and blank strings will be converted to null
74
81
  * - If the value is boolean, it'll return 1 or 0
75
82
  * - If the value is any other type, it'll return null
83
+ *
84
+ * Null handling: Blank strings will be converted to null. This is to reflect that in Excel a formula
85
+ * cannot return null. As a workaround, one often returns a blank string to represent null.
76
86
  */
77
87
  export declare const excelNumberNullableDecoder: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNull, z.ZodNumber, z.ZodUndefined, z.ZodAny]>, number | null, any>;
78
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zod-excel.decoders.d.ts","sourceRoot":"","sources":["../src/zod-excel.decoders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-excel.decoders.d.ts","sourceRoot":"","sources":["../src/zod-excel.decoders.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.excelDateNullableDecoder = exports.excelDateDecoder = exports.excelBooleanNullableDecoder = exports.excelBooleanDecoder = exports.excelBooleanStrictDecoder = exports.excelBigIntNullableDecoder = exports.excelBigIntDecoder = exports.excelBigIntStrictDecoder = exports.excelIntNullableDecoder = exports.excelIntDecoder = exports.excelIntStrictDecoder = exports.excelNumberNullableDecoder = exports.excelNumberDecoder = exports.excelNumberStrictDecoder = exports.excelStringNullableDecoder = exports.excelStringDecoder = exports.excelStringStrictDecoder = void 0;
7
- const types_1 = require("util/types");
8
7
  const zod_1 = __importDefault(require("zod"));
8
+ const datetime_1 = require("./datetime");
9
9
  /**
10
10
  * Transformer that verifies that the number is an integer
11
11
  */
@@ -25,7 +25,7 @@ const intValidator = (x, ctx) => {
25
25
  * is applied
26
26
  */
27
27
  const nullableTransformer = (transformer) => (x, ctx) => {
28
- if (x === null || x === undefined) {
28
+ if (x === null || x === undefined || (typeof x === 'string' && x === '')) {
29
29
  return null;
30
30
  }
31
31
  return transformer(x, ctx);
@@ -66,6 +66,8 @@ exports.excelStringStrictDecoder = zod_1.default.union([zod_1.default.string(),
66
66
  * - If the value is boolean, it'll return 'true' or 'false'
67
67
  * - If the value is null or undefined, it'll return an empty string
68
68
  * - If the value is any other type, it'll return an empty string
69
+ *
70
+ * Null handling: Null values/blank cells will be converted to a blank string.
69
71
  */
70
72
  exports.excelStringDecoder = zod_1.default.union([zod_1.default.string(), zod_1.default.number(), zod_1.default.boolean(), zod_1.default.null(), zod_1.default.undefined(), zod_1.default.any()]).transform((x) => {
71
73
  if (x === null || x === undefined) {
@@ -91,10 +93,13 @@ exports.excelStringDecoder = zod_1.default.union([zod_1.default.string(), zod_1.
91
93
  *
92
94
  * It'll perform casting based on the following rules:
93
95
  * - If the value is a number, it'll be converted to a string
94
- * - If the value is a string, it'll be returned as-is
96
+ * - If the value is a string, it'll be returned as-is - except blank strings, which will be converted to null
95
97
  * - If the value is boolean, it'll return 'true' or 'false'
96
98
  * - If the value is null or undefined, it'll return null
97
99
  * - If the value is any other type, it'll return null
100
+ *
101
+ * Null handling: Blank strings will be converted to null. This is to reflect that in Excel a formula
102
+ * cannot return null. As a workaround, one often returns a blank string to represent null.
98
103
  */
99
104
  exports.excelStringNullableDecoder = zod_1.default.union([zod_1.default.string(), zod_1.default.number(), zod_1.default.boolean(), zod_1.default.null(), zod_1.default.undefined(), zod_1.default.any()]).transform((x) => {
100
105
  if (x === null || x === undefined) {
@@ -107,6 +112,9 @@ exports.excelStringNullableDecoder = zod_1.default.union([zod_1.default.string()
107
112
  return x ? 'true' : 'false';
108
113
  }
109
114
  if (typeof x === 'string') {
115
+ if (x === '') {
116
+ return null;
117
+ }
110
118
  return x;
111
119
  }
112
120
  return null;
@@ -117,7 +125,7 @@ const excelNumberTransformer = (x) => {
117
125
  return null;
118
126
  }
119
127
  const parsed = parseFloat(x);
120
- if (isNaN(parsed)) {
128
+ if (Number.isNaN(parsed)) {
121
129
  return null;
122
130
  }
123
131
  return parsed;
@@ -159,6 +167,8 @@ exports.excelNumberStrictDecoder = zod_1.default.union([zod_1.default.string(),
159
167
  * - If the value is a string, it'll try to parse it to a number. Blank strings and non-numerical strings will be converted to 0.
160
168
  * - If the value is boolean, it'll return 1 or 0
161
169
  * - If the value is any other type, it'll return 0
170
+ *
171
+ * Null handling: Null values/blank cells will be converted to blank strings.
162
172
  */
163
173
  exports.excelNumberDecoder = zod_1.default.union([zod_1.default.string(), zod_1.default.number(), zod_1.default.boolean(), zod_1.default.null(), zod_1.default.undefined(), zod_1.default.any()]).transform((x) => {
164
174
  const result = excelNumberTransformer(x);
@@ -172,9 +182,12 @@ exports.excelNumberDecoder = zod_1.default.union([zod_1.default.string(), zod_1.
172
182
 
173
183
  * It'll perform casting based on the following rules:
174
184
  * - If the value is a number, it'll be returned as-is
175
- * - If the value is a string, it'll try to parse it to a number. Blank strings and non-numerical strings will be converted to 0.
185
+ * - If the value is a string, it'll try to parse it to a number. Non-numerical and blank strings will be converted to null
176
186
  * - If the value is boolean, it'll return 1 or 0
177
187
  * - If the value is any other type, it'll return null
188
+ *
189
+ * Null handling: Blank strings will be converted to null. This is to reflect that in Excel a formula
190
+ * cannot return null. As a workaround, one often returns a blank string to represent null.
178
191
  */
179
192
  exports.excelNumberNullableDecoder = zod_1.default.union([zod_1.default.string(), zod_1.default.null(), zod_1.default.number(), zod_1.default.undefined(), zod_1.default.any()]).transform(excelNumberTransformer);
180
193
  /**
@@ -297,7 +310,7 @@ const excelDateNullableTransformer = (x, ctx) => {
297
310
  if (x === null || x === undefined) {
298
311
  return null;
299
312
  }
300
- if ((0, types_1.isDate)(x)) {
313
+ if ((0, datetime_1.isDate)(x)) {
301
314
  return x;
302
315
  }
303
316
  if (typeof x === 'number') {
@@ -314,7 +327,7 @@ const excelDateNullableTransformer = (x, ctx) => {
314
327
  return null;
315
328
  }
316
329
  const result = new Date(x);
317
- if (isNaN(result.getTime())) {
330
+ if (Number.isNaN(result.getTime())) {
318
331
  ctx.addIssue({
319
332
  code: zod_1.default.ZodIssueCode.custom,
320
333
  message: `Not a date: ${x}`,
@@ -1 +1 @@
1
- {"version":3,"file":"zod-excel.decoders.js","sourceRoot":"","sources":["../src/zod-excel.decoders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-excel.decoders.js","sourceRoot":"","sources":["../src/zod-excel.decoders.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/utils",
3
- "version": "0.1.24",
3
+ "version": "0.1.28",
4
4
  "main": "./dist/index.js",
5
5
  "typings": "./dist/index.d.ts",
6
6
  "license": "MIT",