@clipboard-health/util-ts 2.2.7 → 2.2.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.
Files changed (95) hide show
  1. package/package.json +5 -3
  2. package/src/{index.ts → index.d.ts} +1 -0
  3. package/src/index.d.ts.map +1 -0
  4. package/src/index.js +19 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/{attributes.ts → attributes.d.ts} +1 -1
  7. package/src/lib/attributes.d.ts.map +1 -0
  8. package/src/lib/attributes.js +3 -0
  9. package/src/lib/attributes.js.map +1 -0
  10. package/src/lib/cbh-error.d.ts +15 -0
  11. package/src/lib/cbh-error.d.ts.map +1 -0
  12. package/src/lib/cbh-error.js +19 -0
  13. package/src/lib/cbh-error.js.map +1 -0
  14. package/src/lib/cbh-response.d.ts +18 -0
  15. package/src/lib/cbh-response.d.ts.map +1 -0
  16. package/src/lib/cbh-response.js +12 -0
  17. package/src/lib/cbh-response.js.map +1 -0
  18. package/src/lib/{defined-utils.ts → defined-utils.d.ts} +4 -9
  19. package/src/lib/defined-utils.d.ts.map +1 -0
  20. package/src/lib/defined-utils.js +21 -0
  21. package/src/lib/defined-utils.js.map +1 -0
  22. package/src/lib/delay.d.ts +2 -0
  23. package/src/lib/delay.d.ts.map +1 -0
  24. package/src/lib/delay.js +9 -0
  25. package/src/lib/delay.js.map +1 -0
  26. package/src/lib/{either.ts → either.d.ts} +9 -22
  27. package/src/lib/either.d.ts.map +1 -0
  28. package/src/lib/either.js +31 -0
  29. package/src/lib/either.js.map +1 -0
  30. package/src/lib/force-cast.d.ts +3 -0
  31. package/src/lib/force-cast.d.ts.map +1 -0
  32. package/src/lib/force-cast.js +8 -0
  33. package/src/lib/force-cast.js.map +1 -0
  34. package/src/lib/head.d.ts +3 -0
  35. package/src/lib/head.d.ts.map +1 -0
  36. package/src/lib/head.js +7 -0
  37. package/src/lib/head.js.map +1 -0
  38. package/src/lib/{identity.ts → identity.d.ts} +2 -3
  39. package/src/lib/identity.d.ts.map +1 -0
  40. package/src/lib/identity.js +17 -0
  41. package/src/lib/identity.js.map +1 -0
  42. package/src/lib/is-string.d.ts +2 -0
  43. package/src/lib/is-string.d.ts.map +1 -0
  44. package/src/lib/is-string.js +7 -0
  45. package/src/lib/is-string.js.map +1 -0
  46. package/src/lib/non-empty-array.d.ts +4 -0
  47. package/src/lib/non-empty-array.d.ts.map +1 -0
  48. package/src/lib/non-empty-array.js +7 -0
  49. package/src/lib/non-empty-array.js.map +1 -0
  50. package/src/lib/{null-to-undefined.ts → null-to-undefined.d.ts} +2 -4
  51. package/src/lib/null-to-undefined.d.ts.map +1 -0
  52. package/src/lib/null-to-undefined.js +17 -0
  53. package/src/lib/null-to-undefined.js.map +1 -0
  54. package/src/lib/{option.ts → option.d.ts} +8 -19
  55. package/src/lib/option.d.ts.map +1 -0
  56. package/src/lib/option.js +29 -0
  57. package/src/lib/option.js.map +1 -0
  58. package/src/lib/stringify.d.ts +2 -0
  59. package/src/lib/stringify.d.ts.map +1 -0
  60. package/src/lib/stringify.js +7 -0
  61. package/src/lib/stringify.js.map +1 -0
  62. package/src/lib/to-error.d.ts +4 -0
  63. package/src/lib/to-error.d.ts.map +1 -0
  64. package/src/lib/to-error.js +24 -0
  65. package/src/lib/to-error.js.map +1 -0
  66. package/.eslintrc.json +0 -12
  67. package/jest.config.ts +0 -18
  68. package/project.json +0 -33
  69. package/src/lib/cbh-error.spec.ts +0 -30
  70. package/src/lib/cbh-error.ts +0 -26
  71. package/src/lib/cbh-response.spec.ts +0 -25
  72. package/src/lib/cbh-response.ts +0 -15
  73. package/src/lib/defined-utils.spec.ts +0 -35
  74. package/src/lib/delay.spec.ts +0 -11
  75. package/src/lib/delay.ts +0 -5
  76. package/src/lib/either.spec.ts +0 -23
  77. package/src/lib/force-cast.spec.ts +0 -8
  78. package/src/lib/force-cast.ts +0 -4
  79. package/src/lib/head.spec.ts +0 -21
  80. package/src/lib/head.ts +0 -5
  81. package/src/lib/identity.spec.ts +0 -17
  82. package/src/lib/is-string.spec.ts +0 -11
  83. package/src/lib/is-string.ts +0 -3
  84. package/src/lib/non-empty-array.ts +0 -7
  85. package/src/lib/null-to-undefined.spec.ts +0 -33
  86. package/src/lib/option.spec.ts +0 -24
  87. package/src/lib/stringify.spec.ts +0 -11
  88. package/src/lib/stringify.ts +0 -5
  89. package/src/lib/to-error.spec.ts +0 -28
  90. package/src/lib/to-error.ts +0 -20
  91. package/tsconfig.json +0 -19
  92. package/tsconfig.lib.json +0 -8
  93. package/tsconfig.lint.json +0 -7
  94. package/tsconfig.spec.json +0 -13
  95. package/typedoc.json +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipboard-health/util-ts",
3
- "version": "2.2.7",
3
+ "version": "2.2.8",
4
4
  "main": "./src/index.js",
5
5
  "publishConfig": {
6
6
  "access": "restricted"
@@ -9,5 +9,7 @@
9
9
  "build": "nx build util-ts",
10
10
  "lint": "nx lint util-ts",
11
11
  "test": "nx test util-ts"
12
- }
13
- }
12
+ },
13
+ "type": "commonjs",
14
+ "types": "./src/index.d.ts"
15
+ }
@@ -13,3 +13,4 @@ export * from "./lib/null-to-undefined";
13
13
  export * from "./lib/option";
14
14
  export * from "./lib/stringify";
15
15
  export * from "./lib/to-error";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/util-ts/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
package/src/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/attributes"), exports);
5
+ tslib_1.__exportStar(require("./lib/cbh-error"), exports);
6
+ tslib_1.__exportStar(require("./lib/cbh-response"), exports);
7
+ tslib_1.__exportStar(require("./lib/defined-utils"), exports);
8
+ tslib_1.__exportStar(require("./lib/delay"), exports);
9
+ tslib_1.__exportStar(require("./lib/either"), exports);
10
+ tslib_1.__exportStar(require("./lib/force-cast"), exports);
11
+ tslib_1.__exportStar(require("./lib/head"), exports);
12
+ tslib_1.__exportStar(require("./lib/identity"), exports);
13
+ tslib_1.__exportStar(require("./lib/is-string"), exports);
14
+ tslib_1.__exportStar(require("./lib/non-empty-array"), exports);
15
+ tslib_1.__exportStar(require("./lib/null-to-undefined"), exports);
16
+ tslib_1.__exportStar(require("./lib/option"), exports);
17
+ tslib_1.__exportStar(require("./lib/stringify"), exports);
18
+ tslib_1.__exportStar(require("./lib/to-error"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/util-ts/src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,sDAA4B;AAC5B,uDAA6B;AAC7B,2DAAiC;AACjC,qDAA2B;AAC3B,yDAA+B;AAC/B,0DAAgC;AAChC,gEAAsC;AACtC,kEAAwC;AACxC,uDAA6B;AAC7B,0DAAgC;AAChC,yDAA+B"}
@@ -1,3 +1,3 @@
1
1
  export type AttributeValue = boolean | Date | number | string | Uint8Array | undefined;
2
-
3
2
  export type Attributes = Record<string, AttributeValue>;
3
+ //# sourceMappingURL=attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/attributes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/attributes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { type OneOrNonEmptyArray } from "./non-empty-array";
2
+ declare const ERROR_STATUS_CODES: readonly [400, 401, 403, 404, 409, 422, 429, 500];
3
+ export type ErrorStatusCode = (typeof ERROR_STATUS_CODES)[number];
4
+ export interface CbhIssue {
5
+ cause?: Error;
6
+ id?: string;
7
+ message: string;
8
+ statusCode?: ErrorStatusCode;
9
+ }
10
+ export declare class CbhError extends Error {
11
+ readonly issues: CbhIssue[];
12
+ constructor(issues: OneOrNonEmptyArray<CbhIssue>);
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=cbh-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbh-error.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/cbh-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,mBAAmB,CAAC;AAE7E,QAAA,MAAM,kBAAkB,mDAAoD,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAEvB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;CAUjD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CbhError = void 0;
4
+ const non_empty_array_1 = require("./non-empty-array");
5
+ const ERROR_STATUS_CODES = [400, 401, 403, 404, 409, 422, 429, 500];
6
+ class CbhError extends Error {
7
+ issues;
8
+ constructor(issues) {
9
+ const is = (0, non_empty_array_1.toNonEmptyArray)(issues);
10
+ const first = is[0];
11
+ super(first?.message, { cause: first?.cause });
12
+ // See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#example
13
+ Object.setPrototypeOf(this, new.target.prototype);
14
+ this.issues = is;
15
+ this.name = "CbhError";
16
+ }
17
+ }
18
+ exports.CbhError = CbhError;
19
+ //# sourceMappingURL=cbh-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbh-error.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/cbh-error.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAE7E,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAU7E,MAAa,QAAS,SAAQ,KAAK;IACjB,MAAM,CAAa;IAEnC,YAAY,MAAoC;QAC9C,MAAM,EAAE,GAAG,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,6FAA6F;QAC7F,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAbD,4BAaC"}
@@ -0,0 +1,18 @@
1
+ import { CbhError, type CbhIssue } from "./cbh-error";
2
+ import type { OneOrNonEmptyArray } from "./non-empty-array";
3
+ export type CbhResponse<T> = {
4
+ success: true;
5
+ data: T;
6
+ } | {
7
+ success: false;
8
+ error: CbhError;
9
+ };
10
+ export declare function toErrorCbhResponse(issues: OneOrNonEmptyArray<CbhIssue>): {
11
+ success: false;
12
+ error: CbhError;
13
+ };
14
+ export declare function toSuccessCbhResponse<T>(data: T): {
15
+ success: true;
16
+ data: T;
17
+ };
18
+ //# sourceMappingURL=cbh-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbh-response.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/cbh-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE9F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG;IACxE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACjB,CAEA;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAE3E"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toErrorCbhResponse = toErrorCbhResponse;
4
+ exports.toSuccessCbhResponse = toSuccessCbhResponse;
5
+ const cbh_error_1 = require("./cbh-error");
6
+ function toErrorCbhResponse(issues) {
7
+ return { success: false, error: new cbh_error_1.CbhError(issues) };
8
+ }
9
+ function toSuccessCbhResponse(data) {
10
+ return { success: true, data };
11
+ }
12
+ //# sourceMappingURL=cbh-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbh-response.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/cbh-response.ts"],"names":[],"mappings":";;AAKA,gDAKC;AAED,oDAEC;AAdD,2CAAsD;AAKtD,SAAgB,kBAAkB,CAAC,MAAoC;IAIrE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,oBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAgB,oBAAoB,CAAI,IAAO;IAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC"}
@@ -2,23 +2,18 @@
2
2
  * We specifically want to guard against both `null` and `undefined`
3
3
  * In this one case, we need to define `null` as an expected argument type.
4
4
  */
5
- // eslint-disable-next-line @typescript-eslint/ban-types
6
5
  type NullOrUndefined = null | undefined;
7
-
8
6
  /**
9
7
  * Checks whether a value is null or undefined. If it is not defined, the return type ensures type safety.
10
8
  * @param value any value or null or undefined
11
9
  * @returns true if `value` is null or undefined, false otherwise.
12
10
  */
13
- export function isNullOrUndefined<T>(value: T | NullOrUndefined): value is NullOrUndefined {
14
- return value === null || value === undefined;
15
- }
16
-
11
+ export declare function isNullOrUndefined<T>(value: T | NullOrUndefined): value is NullOrUndefined;
17
12
  /**
18
13
  * Checks whether a value is defined. If it is defined, the return type ensures type safety.
19
14
  * @param value any value or null or undefined
20
15
  * @returns true if `value` is defined (not null and not undefined), false otherwise.
21
16
  */
22
- export function isDefined<T>(value: T | NullOrUndefined): value is T {
23
- return !isNullOrUndefined(value);
24
- }
17
+ export declare function isDefined<T>(value: T | NullOrUndefined): value is T;
18
+ export {};
19
+ //# sourceMappingURL=defined-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defined-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/defined-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,GAAG,KAAK,IAAI,eAAe,CAEzF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,GAAG,KAAK,IAAI,CAAC,CAEnE"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNullOrUndefined = isNullOrUndefined;
4
+ exports.isDefined = isDefined;
5
+ /**
6
+ * Checks whether a value is null or undefined. If it is not defined, the return type ensures type safety.
7
+ * @param value any value or null or undefined
8
+ * @returns true if `value` is null or undefined, false otherwise.
9
+ */
10
+ function isNullOrUndefined(value) {
11
+ return value === null || value === undefined;
12
+ }
13
+ /**
14
+ * Checks whether a value is defined. If it is defined, the return type ensures type safety.
15
+ * @param value any value or null or undefined
16
+ * @returns true if `value` is defined (not null and not undefined), false otherwise.
17
+ */
18
+ function isDefined(value) {
19
+ return !isNullOrUndefined(value);
20
+ }
21
+ //# sourceMappingURL=defined-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defined-utils.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/defined-utils.ts"],"names":[],"mappings":";;AAYA,8CAEC;AAOD,8BAEC;AAhBD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAI,KAA0B;IAC7D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAI,KAA0B;IACrD,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function delay(milliseconds: number): Promise<void>;
2
+ //# sourceMappingURL=delay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/delay.ts"],"names":[],"mappings":"AAAA,wBAAsB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.delay = delay;
4
+ async function delay(milliseconds) {
5
+ await new Promise((resolve) => {
6
+ setTimeout(resolve, milliseconds);
7
+ });
8
+ }
9
+ //# sourceMappingURL=delay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/delay.ts"],"names":[],"mappings":";;AAAA,sBAIC;AAJM,KAAK,UAAU,KAAK,CAAC,YAAoB;IAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,13 +1,11 @@
1
1
  export interface Left<E> {
2
- isRight: false;
3
- left: E;
2
+ isRight: false;
3
+ left: E;
4
4
  }
5
-
6
5
  export interface Right<A> {
7
- isRight: true;
8
- right: A;
6
+ isRight: true;
7
+ right: A;
9
8
  }
10
-
11
9
  /**
12
10
  * A value of either type `Left<E>` or type `Right<A>`; a disjoint union.
13
11
  *
@@ -15,31 +13,20 @@ export interface Right<A> {
15
13
  * information. Convention dictates that `Left<E>` is used for failure and `Right<A>` for success.
16
14
  */
17
15
  export type Either<E, A> = Left<E> | Right<A>;
18
-
19
16
  /**
20
17
  * Constructs an `Either` holding a `Left<E>` value, usually representing a failure.
21
18
  */
22
- export function left<E, A = never>(left: E): Either<E, A> {
23
- return { isRight: false, left };
24
- }
25
-
19
+ export declare function left<E, A = never>(left: E): Either<E, A>;
26
20
  /**
27
21
  * Constructs an `Either` holding a `Right<A>` value, usually representing a success.
28
22
  */
29
- export function right<A, E = never>(right: A): Either<E, A> {
30
- return { isRight: true, right };
31
- }
32
-
23
+ export declare function right<A, E = never>(right: A): Either<E, A>;
33
24
  /**
34
25
  * Returns `true` if the either is `Left<E>`, `false` otherwise.
35
26
  */
36
- export function isLeft<E, A>(either: Either<E, A>): either is Left<E> {
37
- return !either.isRight;
38
- }
39
-
27
+ export declare function isLeft<E, A>(either: Either<E, A>): either is Left<E>;
40
28
  /**
41
29
  * Returns `true` if the either is `Right<A>`, `false` otherwise.
42
30
  */
43
- export function isRight<E, A>(either: Either<E, A>): either is Right<A> {
44
- return either.isRight;
45
- }
31
+ export declare function isRight<E, A>(either: Either<E, A>): either is Right<A>;
32
+ //# sourceMappingURL=either.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/either.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9C;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE1D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAEtE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.left = left;
4
+ exports.right = right;
5
+ exports.isLeft = isLeft;
6
+ exports.isRight = isRight;
7
+ /**
8
+ * Constructs an `Either` holding a `Left<E>` value, usually representing a failure.
9
+ */
10
+ function left(left) {
11
+ return { isRight: false, left };
12
+ }
13
+ /**
14
+ * Constructs an `Either` holding a `Right<A>` value, usually representing a success.
15
+ */
16
+ function right(right) {
17
+ return { isRight: true, right };
18
+ }
19
+ /**
20
+ * Returns `true` if the either is `Left<E>`, `false` otherwise.
21
+ */
22
+ function isLeft(either) {
23
+ return !either.isRight;
24
+ }
25
+ /**
26
+ * Returns `true` if the either is `Right<A>`, `false` otherwise.
27
+ */
28
+ function isRight(either) {
29
+ return either.isRight;
30
+ }
31
+ //# sourceMappingURL=either.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"either.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/either.ts"],"names":[],"mappings":";;AAqBA,oBAEC;AAKD,sBAEC;AAKD,wBAEC;AAKD,0BAEC;AA1BD;;GAEG;AACH,SAAgB,IAAI,CAAe,IAAO;IACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAe,KAAQ;IAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAO,MAAoB;IAC/C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAO,MAAoB;IAChD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Force cast to the provided type. */
2
+ export declare function forceCast<T>(value: unknown): T;
3
+ //# sourceMappingURL=force-cast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"force-cast.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/force-cast.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAE9C"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forceCast = forceCast;
4
+ /** Force cast to the provided type. */
5
+ function forceCast(value) {
6
+ return value;
7
+ }
8
+ //# sourceMappingURL=force-cast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"force-cast.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/force-cast.ts"],"names":[],"mappings":";;AACA,8BAEC;AAHD,uCAAuC;AACvC,SAAgB,SAAS,CAAI,KAAc;IACzC,OAAO,KAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type OneOrArray<T> = T | T[];
2
+ export declare function head<T>(value?: OneOrArray<T>): T | undefined;
3
+ //# sourceMappingURL=head.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/head.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAEpC,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAE5D"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.head = head;
4
+ function head(value) {
5
+ return Array.isArray(value) ? value[0] : (value ?? undefined);
6
+ }
7
+ //# sourceMappingURL=head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/head.ts"],"names":[],"mappings":";;AAEA,oBAEC;AAFD,SAAgB,IAAI,CAAI,KAAqB;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;AAChE,CAAC"}
@@ -8,6 +8,5 @@
8
8
  * @param {T} value - The value to return unchanged.
9
9
  * @returns {T} The input value, unchanged.
10
10
  */
11
- export function identity<T>(value: T): T {
12
- return value;
13
- }
11
+ export declare function identity<T>(value: T): T;
12
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEvC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.identity = identity;
4
+ /**
5
+ * A generic function that returns its input unchanged.
6
+ * This function is useful in various functional programming scenarios, such as:
7
+ * - Creating higher-order functions like map, filter, and reduce.
8
+ * - Composing functions by providing an "identity element" in function composition.
9
+ *
10
+ * @template T - The type of the input value.
11
+ * @param {T} value - The value to return unchanged.
12
+ * @returns {T} The input value, unchanged.
13
+ */
14
+ function identity(value) {
15
+ return value;
16
+ }
17
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/identity.ts"],"names":[],"mappings":";;AAUA,4BAEC;AAZD;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isString(value: unknown): value is string;
2
+ //# sourceMappingURL=is-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-string.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/is-string.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isString = isString;
4
+ function isString(value) {
5
+ return typeof value === "string" || value instanceof String;
6
+ }
7
+ //# sourceMappingURL=is-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-string.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/is-string.ts"],"names":[],"mappings":";;AAAA,4BAEC;AAFD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type NonEmptyArray<T> = [T, ...T[]];
2
+ export type OneOrNonEmptyArray<T> = T | NonEmptyArray<T>;
3
+ export declare function toNonEmptyArray<T>(value: OneOrNonEmptyArray<T>): NonEmptyArray<T>;
4
+ //# sourceMappingURL=non-empty-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-empty-array.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/non-empty-array.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAEzD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAEjF"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toNonEmptyArray = toNonEmptyArray;
4
+ function toNonEmptyArray(value) {
5
+ return Array.isArray(value) ? value : [value];
6
+ }
7
+ //# sourceMappingURL=non-empty-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-empty-array.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/non-empty-array.ts"],"names":[],"mappings":";;AAIA,0CAEC;AAFD,SAAgB,eAAe,CAAI,KAA4B;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
@@ -7,7 +7,5 @@
7
7
  *
8
8
  * @param value A promise or a promise-like object.
9
9
  */
10
- // eslint-disable-next-line @typescript-eslint/ban-types
11
- export async function nullToUndefined<T>(value: PromiseLike<T | null>): Promise<T | undefined> {
12
- return (await value) ?? undefined;
13
- }
10
+ export declare function nullToUndefined<T>(value: PromiseLike<T | null>): Promise<T | undefined>;
11
+ //# sourceMappingURL=null-to-undefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-to-undefined.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/null-to-undefined.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAsB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAE7F"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nullToUndefined = nullToUndefined;
4
+ /**
5
+ * Turns a null-returning promise into a promise returning undefined.
6
+ *
7
+ * Some of the database packages that we use return promises (Prisma)
8
+ * or promise-like objects (mongoose) that can resolve to null.
9
+ * This function is useful for getting rid of nulls which are banned by our linter rules.
10
+ *
11
+ * @param value A promise or a promise-like object.
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/ban-types
14
+ async function nullToUndefined(value) {
15
+ return (await value) ?? undefined;
16
+ }
17
+ //# sourceMappingURL=null-to-undefined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null-to-undefined.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/null-to-undefined.ts"],"names":[],"mappings":";;AAUA,0CAEC;AAZD;;;;;;;;GAQG;AACH,wDAAwD;AACjD,KAAK,UAAU,eAAe,CAAI,KAA4B;IACnE,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC;AACpC,CAAC"}
@@ -1,39 +1,28 @@
1
1
  export interface None {
2
- isSome: false;
2
+ isSome: false;
3
3
  }
4
-
5
4
  export interface Some<A> {
6
- isSome: true;
7
- value: A;
5
+ isSome: true;
6
+ value: A;
8
7
  }
9
-
10
8
  /**
11
9
  * An optional value. If the value exists, it's of type `Some<A>`, otherwise it's of type `None`.
12
10
  */
13
11
  export type Option<A> = None | Some<A>;
14
-
15
12
  /**
16
13
  * Constructs an `Option` of `None`, representing a missing value.
17
14
  */
18
- export const none: None = { isSome: false };
19
-
15
+ export declare const none: None;
20
16
  /**
21
17
  * Constructs an `Option` holding a `Some<A>`, representing an optional value that exists.
22
18
  */
23
- export function some<A>(value: A): Some<A> {
24
- return { isSome: true, value };
25
- }
26
-
19
+ export declare function some<A>(value: A): Some<A>;
27
20
  /**
28
21
  * Returns `true` if the option is `None`, `false` otherwise.
29
22
  */
30
- export function isNone<A>(option: Option<A>): option is None {
31
- return !option.isSome;
32
- }
33
-
23
+ export declare function isNone<A>(option: Option<A>): option is None;
34
24
  /**
35
25
  * Returns `true` if the option is `Some<A>`, `false` otherwise.
36
26
  */
37
- export function isSome<A>(option: Option<A>): option is Some<A> {
38
- return option.isSome;
39
- }
27
+ export declare function isSome<A>(option: Option<A>): option is Some<A>;
28
+ //# sourceMappingURL=option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/option.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,IAAwB,CAAC;AAE5C;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAEzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAE9D"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.none = void 0;
4
+ exports.some = some;
5
+ exports.isNone = isNone;
6
+ exports.isSome = isSome;
7
+ /**
8
+ * Constructs an `Option` of `None`, representing a missing value.
9
+ */
10
+ exports.none = { isSome: false };
11
+ /**
12
+ * Constructs an `Option` holding a `Some<A>`, representing an optional value that exists.
13
+ */
14
+ function some(value) {
15
+ return { isSome: true, value };
16
+ }
17
+ /**
18
+ * Returns `true` if the option is `None`, `false` otherwise.
19
+ */
20
+ function isNone(option) {
21
+ return !option.isSome;
22
+ }
23
+ /**
24
+ * Returns `true` if the option is `Some<A>`, `false` otherwise.
25
+ */
26
+ function isSome(option) {
27
+ return option.isSome;
28
+ }
29
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/option.ts"],"names":[],"mappings":";;;AAsBA,oBAEC;AAKD,wBAEC;AAKD,wBAEC;AAxBD;;GAEG;AACU,QAAA,IAAI,GAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAE5C;;GAEG;AACH,SAAgB,IAAI,CAAI,KAAQ;IAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAI,MAAiB;IACzC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAI,MAAiB;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function stringify(value: unknown): string;
2
+ //# sourceMappingURL=stringify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/stringify.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIhD"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringify = stringify;
4
+ function stringify(value) {
5
+ return JSON.stringify(value, (_, value) => typeof value === "bigint" ? String(value) : value);
6
+ }
7
+ //# sourceMappingURL=stringify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/stringify.ts"],"names":[],"mappings":";;AAAA,8BAIC;AAJD,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAc,EAAE,EAAE,CACjD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAClD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function isError(error: unknown): error is Error;
2
+ export declare function toError(error: unknown): Error;
3
+ export declare function toErrorMessage(error: unknown): string;
4
+ //# sourceMappingURL=to-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-error.d.ts","sourceRoot":"","sources":["../../../../../packages/util-ts/src/lib/to-error.ts"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAQ7C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD"}