need-result 1.3.7 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utility.types.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/utility.types.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,5 @@
1
+ import boxen from "boxen";
2
+
1
3
  //#region src/utility.ts
2
4
  const isPromise = (value) => {
3
5
  return !!value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
@@ -125,26 +127,40 @@ const logError = (error, opts) => {
125
127
  const l = `${TTY_COLORS.dim}│${TTY_COLORS.reset} `;
126
128
  const cl = `${TTY_COLORS.dim}└${TTY_COLORS.reset} `;
127
129
  const lines = [
128
- `\n${l} ${TTY_COLORS.dim}Code:${TTY_COLORS.reset} ${TTY_COLORS.bright}${TTY_COLORS.fg.red}${code}${TTY_COLORS.reset}`,
130
+ `${l} ${TTY_COLORS.dim}Code:${TTY_COLORS.reset} ${TTY_COLORS.bright}${TTY_COLORS.fg.red}${code}${TTY_COLORS.reset}`,
129
131
  `${l} ${TTY_COLORS.dim}Message:${TTY_COLORS.reset} ${TTY_COLORS.fg.red}${message}${TTY_COLORS.reset}`,
130
- hint ? `${l} ${TTY_COLORS.dim}Hint:${TTY_COLORS.reset} ${hint}${TTY_COLORS.reset}` : "",
131
- data ? `${l} ${TTY_COLORS.dim}Data:${TTY_COLORS.reset}\n${padding(JSON.stringify(data, null, 2), 4).split("\n").map((x) => `${l} ${x}`).join("\n")}${TTY_COLORS.reset}` : "",
132
- `${cl} ${TTY_COLORS.fg.black}${padding(stack, 5).slice(3)}${TTY_COLORS.reset}`
132
+ `${l} ${TTY_COLORS.dim}Timestamp:${TTY_COLORS.reset} ${TTY_COLORS.fg.red}${new Intl.DateTimeFormat(void 0, {
133
+ dateStyle: "medium",
134
+ timeStyle: "medium"
135
+ }).format(/* @__PURE__ */ new Date())}${TTY_COLORS.reset}`,
136
+ hint ? `${l} ${TTY_COLORS.dim}Hint:${TTY_COLORS.reset}${TTY_COLORS.fg.red}${hint}${TTY_COLORS.reset}` : "",
137
+ cause ? `${l} ${TTY_COLORS.dim}Cause:${TTY_COLORS.reset}` : "",
138
+ cause ? `${padding(cause.toString(), 2).split("\n").map((x) => `${l}${TTY_COLORS.fg.red} ${x}`).join("\n")}` : "",
139
+ data ? `${l} ${TTY_COLORS.dim}Data:${TTY_COLORS.reset}\n${padding(JSON.stringify(data, null, 2), 2).split("\n").map((x) => `${l}${TTY_COLORS.fg.red} ${x}`).join("\n")}${TTY_COLORS.reset}` : "",
140
+ `${cl} ${TTY_COLORS.fg.black}${padding(stack, 4).slice(3).split("\n").map((x) => `${TTY_COLORS.fg.black}${x}`).join("\n")}${TTY_COLORS.reset}`
133
141
  ].filter((x) => x !== "").map((x) => {
134
142
  if (typeof x === "string") return padding(x, 2);
135
143
  return x;
136
144
  }).join("\n");
137
- const result = [
138
- `${TTY_COLORS.bright}${TTY_COLORS.fg.red}Error:${TTY_COLORS.reset}`,
139
- lines,
140
- TTY_COLORS.reset
141
- ];
142
- if (!options.silent) console.error(...result);
145
+ const result = boxen([`${TTY_COLORS.bright}${TTY_COLORS.fg.red}Error:${TTY_COLORS.reset}`, lines].join("\n"), {
146
+ borderColor: "red",
147
+ borderStyle: "round",
148
+ padding: {
149
+ left: 1,
150
+ right: 1,
151
+ top: .9,
152
+ bottom: .9
153
+ },
154
+ dimBorder: true,
155
+ title: `${TTY_COLORS.bright}${code}${TTY_COLORS.reset}${TTY_COLORS.dim}${TTY_COLORS.fg.red}`,
156
+ titleAlignment: "center"
157
+ });
158
+ if (!options.silent) console.error(result);
143
159
  if (options.returnValue === "errorT") {
144
160
  if (error instanceof ErrorT) return error;
145
161
  return error.error;
146
162
  }
147
- return result.join("\n");
163
+ return result;
148
164
  };
149
165
  var ErrorT = class ErrorT {
150
166
  code;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["target: { stack?: string }","padding","value: T","error: E","error"],"sources":["../src/utility.ts","../src/index.ts"],"sourcesContent":["export const isPromise = <T = any>(value: unknown): value is Promise<T> => {\n\treturn (\n\t\t!!value &&\n\t\t(typeof value === \"object\" || typeof value === \"function\") &&\n\t\ttypeof (value as any).then === \"function\"\n\t);\n};\n\nexport function capture(stackSkip?: Function) {\n\tconst target: { stack?: string } = {};\n\tif (\"captureStackTrace\" in Error) {\n\t\t(Error as any).captureStackTrace(target, stackSkip ?? capture);\n\t} else {\n\t\ttarget.stack = new (Error as any)().stack;\n\t}\n\treturn target.stack!;\n}\n\nexport function padding(text: string, spaces: number): string {\n\tconst padding = \" \".repeat(spaces);\n\treturn text\n\t\t.split(\"\\n\")\n\t\t.map((line) => padding + line)\n\t\t.join(\"\\n\");\n}\n","import type { Codeify, IResult, Result } from \"./types\";\nimport { capture, isPromise, padding } from \"./utility\";\nimport type { LiteralString } from \"./utility.types\";\n\nexport * from \"./types\";\n\nexport function ok<T, E extends ErrorT | never = never>(value: T): Ok<T, E>;\nexport function ok<T extends void = void, E extends ErrorT | never = never>(\n\tvalue: void,\n): Ok<void, E>;\nexport function ok<T, E extends ErrorT | never = never>(value: T): Ok<T, E> {\n\treturn new Ok(value);\n}\n\nexport function err<E extends ErrorT>(error: E): Err<never, E>;\nexport function err<\n\tT = never,\n\tCode extends LiteralString = LiteralString,\n\tMessage extends LiteralString = LiteralString,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(props: {\n\tcode: Code;\n\tmessage: Message;\n\thint?: Hint;\n\tdata?: Data;\n\tcause?: Cause;\n}): Err<T, ErrorT<Code, Message, Hint, Data, Cause>>;\nexport function err(props: any) {\n\tif (props instanceof ErrorT) {\n\t\treturn new Err(props);\n\t}\n\tconst error = new ErrorT({ ...props, stackSkip: err });\n\treturn new Err(error);\n}\n\nexport class Ok<T, E extends ErrorT | never = never> implements IResult<T, E> {\n\terror = null;\n\n\tconstructor(public readonly value: T) {}\n\n\tunwrap(): this extends Ok<T, never> ? T : never {\n\t\treturn this.value as any;\n\t}\n\n\tunwrapOr<D>(_defaultValue: D): this extends Ok<T, never> ? T : D {\n\t\treturn this.value as any;\n\t}\n\n\tisOk(): this is Ok<T, E> {\n\t\treturn true;\n\t}\n\n\tisErr(): this is Err<T, E> {\n\t\treturn false;\n\t}\n}\n\nexport class Err<T = never, E extends ErrorT = ErrorT>\n\timplements IResult<T, E>\n{\n\tvalue = null;\n\n\tconstructor(public readonly error: E) {}\n\n\tunwrap(): never {\n\t\tconst errorValue = logError(this.error, {\n\t\t\treturnValue: \"errorT\",\n\t\t\tstackSkip: Err,\n\t\t});\n\t\tconst e = new Error(\n\t\t\terrorValue.message,\n\t\t\terrorValue.cause\n\t\t\t\t? {\n\t\t\t\t\t\tcause: errorValue.cause,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\t\tif (\"captureStackTrace\" in Error) {\n\t\t\tError.captureStackTrace(e, Err);\n\t\t}\n\t\tthrow e;\n\t}\n\n\t//@ts-expect-error - this works\n\tunwrapOr<D>(defaultValue: D): D {\n\t\tlogError(this.error, { stackSkip: err });\n\t\treturn defaultValue;\n\t}\n\n\tisOk(): this is Ok<never> {\n\t\treturn false;\n\t}\n\n\tisErr(): this is Err<T, E> {\n\t\treturn true;\n\t}\n}\n\n//----------------------------------------------------\n// Some of the try-catch code was a copy from\n// https://gist.github.com/t3dotgg/a486c4ae66d32bf17c09c73609dacc5b\n//----------------------------------------------------\ntype Operation<T> = Promise<T> | (() => T) | (() => Promise<T>);\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: Promise<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Promise<Result<T, ErrorT<Code, Message, Hint, Data, Cause>>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => never,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<never, ErrorT<Code, Message, Hint, Data, Cause>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => Promise<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Promise<Result<T, ErrorT<Code, Message, Hint, Data, Cause>>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => T,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<T, ErrorT<Code, Message, Hint, Data, Cause>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n\tE extends ErrorT = ErrorT<Code, Message, Hint, Data, Cause>,\n>(\n\toperation: Operation<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<T, E> | Promise<Result<T, E>> {\n\ttry {\n\t\tconst result = typeof operation === \"function\" ? operation() : operation;\n\n\t\tif (isPromise(result)) {\n\t\t\tconst resolved = Promise.resolve(result)\n\t\t\t\t.then((data) => ok(data))\n\t\t\t\t.catch((error) => err(error));\n\t\t\treturn resolved as Promise<Result<T, E>>;\n\t\t}\n\n\t\treturn ok(result);\n\t} catch (error) {\n\t\tconst defaultMapError = (error: unknown) => {\n\t\t\treturn new ErrorT({\n\t\t\t\tcode: \"UNKNOWN_ERROR\",\n\t\t\t\tmessage: `Unknown error: ${error}`,\n\t\t\t\tcause: error,\n\t\t\t});\n\t\t};\n\t\tconst mappedError = (mapError\n\t\t\t? new ErrorT(\n\t\t\t\t\tmapError(\n\t\t\t\t\t\terror,\n\t\t\t\t\t\ttypeof error === \"object\" &&\n\t\t\t\t\t\t\terror !== null &&\n\t\t\t\t\t\t\t\"message\" in error &&\n\t\t\t\t\t\t\ttypeof error.message === \"string\"\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: String(error),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t: defaultMapError(error)) as unknown as E;\n\t\treturn err(mappedError);\n\t}\n}\n\n// ----------------------------------------------------\n\nexport const TTY_COLORS = {\n\treset: \"\\x1b[0m\",\n\tbright: \"\\x1b[1m\",\n\tdim: \"\\x1b[2m\",\n\tundim: \"\\x1b[22m\",\n\tunderscore: \"\\x1b[4m\",\n\tblink: \"\\x1b[5m\",\n\treverse: \"\\x1b[7m\",\n\thidden: \"\\x1b[8m\",\n\tfg: {\n\t\tblack: \"\\x1b[30m\",\n\t\tred: \"\\x1b[31m\",\n\t\tgreen: \"\\x1b[32m\",\n\t\tyellow: \"\\x1b[33m\",\n\t\tblue: \"\\x1b[34m\",\n\t\tmagenta: \"\\x1b[35m\",\n\t\tcyan: \"\\x1b[36m\",\n\t\twhite: \"\\x1b[37m\",\n\t},\n\tbg: {\n\t\tblack: \"\\x1b[40m\",\n\t\tred: \"\\x1b[41m\",\n\t\tgreen: \"\\x1b[42m\",\n\t\tyellow: \"\\x1b[43m\",\n\t\tblue: \"\\x1b[44m\",\n\t\tmagenta: \"\\x1b[45m\",\n\t\tcyan: \"\\x1b[46m\",\n\t\twhite: \"\\x1b[47m\",\n\t},\n} as const;\n\nexport const logError = <\n\tSilent extends boolean = false,\n\tReturnValue extends \"errorT\" | \"string\" = \"string\",\n>(\n\terror: ErrorT | Err<ErrorT>,\n\topts?: {\n\t\tsilent?: Silent;\n\t\treturnValue?: ReturnValue;\n\t\tstackSkip?: Function;\n\t},\n): Silent extends true\n\t? undefined\n\t: ReturnValue extends \"errorT\"\n\t\t? ErrorT\n\t\t: string => {\n\tconst options = {\n\t\treturnValue: \"string\",\n\t\tsilent: false,\n\t\tstackSkip: logError,\n\t\t...opts,\n\t};\n\tconst { code, message, stack, name, cause, hint, data } =\n\t\terror instanceof ErrorT ? error : error.error;\n\n\tconst l = `${TTY_COLORS.dim}│${TTY_COLORS.reset} `;\n\tconst cl = `${TTY_COLORS.dim}└${TTY_COLORS.reset} `;\n\n\tconst lines = [\n\t\t`\\n${l} ${TTY_COLORS.dim}Code:${TTY_COLORS.reset} ${TTY_COLORS.bright}${TTY_COLORS.fg.red}${code}${TTY_COLORS.reset}`,\n\t\t`${l} ${TTY_COLORS.dim}Message:${TTY_COLORS.reset} ${TTY_COLORS.fg.red}${message}${TTY_COLORS.reset}`,\n\t\thint\n\t\t\t? `${l} ${TTY_COLORS.dim}Hint:${TTY_COLORS.reset} ${hint}${TTY_COLORS.reset}`\n\t\t\t: \"\",\n\t\t// Cause is always super ugly. So we don't show it.\n\t\t// cause ? `${l} ${TTY_COLORS.dim}Cause:${TTY_COLORS.reset}` : \"\",\n\t\t// cause ? cause : \"\",\n\t\tdata\n\t\t\t? `${l} ${TTY_COLORS.dim}Data:${TTY_COLORS.reset}\\n${padding(\n\t\t\t\t\tJSON.stringify(data, null, 2),\n\t\t\t\t\t4,\n\t\t\t\t)\n\t\t\t\t\t.split(\"\\n\")\n\t\t\t\t\t.map((x) => `${l} ${x}`)\n\t\t\t\t\t.join(\"\\n\")}${TTY_COLORS.reset}`\n\t\t\t: \"\",\n\t\t`${cl} ${TTY_COLORS.fg.black}${padding(stack, 5).slice(3)}${TTY_COLORS.reset}`,\n\t]\n\t\t.filter((x) => x !== \"\")\n\t\t.map((x) => {\n\t\t\tif (typeof x === \"string\") {\n\t\t\t\treturn padding(x, 2);\n\t\t\t}\n\t\t\treturn x;\n\t\t})\n\t\t.join(\"\\n\");\n\n\tconst result = [\n\t\t`${TTY_COLORS.bright}${TTY_COLORS.fg.red}Error:${TTY_COLORS.reset}`,\n\t\tlines,\n\t\tTTY_COLORS.reset,\n\t];\n\n\tif (!options.silent) {\n\t\tconsole.error(...result);\n\t}\n\n\tif (options.returnValue === \"errorT\") {\n\t\tif (error instanceof ErrorT) {\n\t\t\treturn error as any;\n\t\t}\n\t\treturn error.error as any;\n\t}\n\treturn result.join(\"\\n\") as any;\n};\n\nexport class ErrorT<\n\tCode extends LiteralString = LiteralString,\n\tMessage extends LiteralString = LiteralString,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n> {\n\tcode: Codeify<Code>;\n\tmessage: Message;\n\tname: string;\n\tstack: string;\n\trealStack: string;\n\tdata?: Data;\n\tcause?: Cause;\n\thint?: Hint;\n\tstackSkip?: Function;\n\tconstructor(error: {\n\t\tcode: Code;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tstackSkip?: Function;\n\t}) {\n\t\tthis.name = \"ErrorT\";\n\t\t//@ts-expect-error - last resort\n\t\tthis.code =\n\t\t\t((error.code as string)\n\t\t\t\t?.toUpperCase()\n\t\t\t\t.replaceAll(\" \", \"_\") as Codeify<Code>) || \"UNKNOWN_ERROR\";\n\t\tthis.data = error.data;\n\t\tthis.cause = error.cause;\n\t\t//@ts-expect-error - last resort\n\t\tthis.message = error.message || \"Unknown error\";\n\t\tthis.hint = error.hint;\n\t\tthis.stackSkip = error.stackSkip ?? ErrorT;\n\t\tconst realStack = capture(error.stackSkip ?? ErrorT);\n\t\tconst stack = realStack\n\t\t\t.replace(\"Error\", \"\")\n\t\t\t.split(\"\\n\")\n\t\t\t.map((x) => x.trimStart())\n\t\t\t.join(\"\\n\")\n\t\t\t.trim();\n\t\tthis.stack = stack || \"Unknown stack\";\n\t\tthis.realStack = realStack;\n\t}\n\n\ttoString() {\n\t\treturn logError(this, {\n\t\t\treturnValue: \"string\",\n\t\t\tsilent: true,\n\t\t\tstackSkip: this.stackSkip,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["target: { stack?: string }","padding","value: T","error: E","error"],"sources":["../src/utility.ts","../src/index.ts"],"sourcesContent":["export const isPromise = <T = any>(value: unknown): value is Promise<T> => {\n\treturn (\n\t\t!!value &&\n\t\t(typeof value === \"object\" || typeof value === \"function\") &&\n\t\ttypeof (value as any).then === \"function\"\n\t);\n};\n\nexport function capture(stackSkip?: Function) {\n\tconst target: { stack?: string } = {};\n\tif (\"captureStackTrace\" in Error) {\n\t\t(Error as any).captureStackTrace(target, stackSkip ?? capture);\n\t} else {\n\t\ttarget.stack = new (Error as any)().stack;\n\t}\n\treturn target.stack!;\n}\n\nexport function padding(text: string, spaces: number): string {\n\tconst padding = \" \".repeat(spaces);\n\treturn text\n\t\t.split(\"\\n\")\n\t\t.map((line) => padding + line)\n\t\t.join(\"\\n\");\n}\n","import boxen from \"boxen\";\nimport type { Codeify, IResult, Result } from \"./types\";\nimport { capture, isPromise, padding } from \"./utility\";\nimport type { LiteralString } from \"./utility.types\";\n\nexport * from \"./types\";\n\nexport function ok<T, E extends ErrorT | never = never>(value: T): Ok<T, E>;\nexport function ok<T extends void = void, E extends ErrorT | never = never>(\n\tvalue: void,\n): Ok<void, E>;\nexport function ok<T, E extends ErrorT | never = never>(value: T): Ok<T, E> {\n\treturn new Ok(value);\n}\n\nexport function err<E extends ErrorT>(error: E): Err<never, E>;\nexport function err<\n\tT = never,\n\tCode extends LiteralString = LiteralString,\n\tMessage extends LiteralString = LiteralString,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(props: {\n\tcode: Code;\n\tmessage: Message;\n\thint?: Hint;\n\tdata?: Data;\n\tcause?: Cause;\n}): Err<T, ErrorT<Code, Message, Hint, Data, Cause>>;\nexport function err(props: any) {\n\tif (props instanceof ErrorT) {\n\t\treturn new Err(props);\n\t}\n\tconst error = new ErrorT({ ...props, stackSkip: err });\n\treturn new Err(error);\n}\n\nexport class Ok<T, E extends ErrorT | never = never> implements IResult<T, E> {\n\terror = null;\n\n\tconstructor(public readonly value: T) {}\n\n\tunwrap(): this extends Ok<T, never> ? T : never {\n\t\treturn this.value as any;\n\t}\n\n\tunwrapOr<D>(_defaultValue: D): this extends Ok<T, never> ? T : D {\n\t\treturn this.value as any;\n\t}\n\n\tisOk(): this is Ok<T, E> {\n\t\treturn true;\n\t}\n\n\tisErr(): this is Err<T, E> {\n\t\treturn false;\n\t}\n}\n\nexport class Err<T = never, E extends ErrorT = ErrorT>\n\timplements IResult<T, E>\n{\n\tvalue = null;\n\n\tconstructor(public readonly error: E) {}\n\n\tunwrap(): never {\n\t\tconst errorValue = logError(this.error, {\n\t\t\treturnValue: \"errorT\",\n\t\t\tstackSkip: Err,\n\t\t});\n\t\tconst e = new Error(\n\t\t\terrorValue.message,\n\t\t\terrorValue.cause\n\t\t\t\t? {\n\t\t\t\t\t\tcause: errorValue.cause,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\t\tif (\"captureStackTrace\" in Error) {\n\t\t\tError.captureStackTrace(e, Err);\n\t\t}\n\t\tthrow e;\n\t}\n\n\t//@ts-expect-error - this works\n\tunwrapOr<D>(defaultValue: D): D {\n\t\tlogError(this.error, { stackSkip: err });\n\t\treturn defaultValue;\n\t}\n\n\tisOk(): this is Ok<never> {\n\t\treturn false;\n\t}\n\n\tisErr(): this is Err<T, E> {\n\t\treturn true;\n\t}\n}\n\n//----------------------------------------------------\n// Some of the try-catch code was a copy from\n// https://gist.github.com/t3dotgg/a486c4ae66d32bf17c09c73609dacc5b\n//----------------------------------------------------\ntype Operation<T> = Promise<T> | (() => T) | (() => Promise<T>);\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: Promise<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Promise<Result<T, ErrorT<Code, Message, Hint, Data, Cause>>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => never,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<never, ErrorT<Code, Message, Hint, Data, Cause>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => Promise<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Promise<Result<T, ErrorT<Code, Message, Hint, Data, Cause>>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n>(\n\toperation: () => T,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<T, ErrorT<Code, Message, Hint, Data, Cause>>;\n\nexport function trycatch<\n\tT,\n\tCode extends LiteralString = \"UNKNOWN_ERROR\",\n\tMessage extends LiteralString = `Unknown error: ${string}`,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n\tE extends ErrorT = ErrorT<Code, Message, Hint, Data, Cause>,\n>(\n\toperation: Operation<T>,\n\tmapError?: (\n\t\terror: unknown,\n\t\tinferredMessage: string,\n\t) => {\n\t\tcode: Code;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t},\n): Result<T, E> | Promise<Result<T, E>> {\n\ttry {\n\t\tconst result = typeof operation === \"function\" ? operation() : operation;\n\n\t\tif (isPromise(result)) {\n\t\t\tconst resolved = Promise.resolve(result)\n\t\t\t\t.then((data) => ok(data))\n\t\t\t\t.catch((error) => err(error));\n\t\t\treturn resolved as Promise<Result<T, E>>;\n\t\t}\n\n\t\treturn ok(result);\n\t} catch (error) {\n\t\tconst defaultMapError = (error: unknown) => {\n\t\t\treturn new ErrorT({\n\t\t\t\tcode: \"UNKNOWN_ERROR\",\n\t\t\t\tmessage: `Unknown error: ${error}`,\n\t\t\t\tcause: error,\n\t\t\t});\n\t\t};\n\t\tconst mappedError = (mapError\n\t\t\t? new ErrorT(\n\t\t\t\t\tmapError(\n\t\t\t\t\t\terror,\n\t\t\t\t\t\ttypeof error === \"object\" &&\n\t\t\t\t\t\t\terror !== null &&\n\t\t\t\t\t\t\t\"message\" in error &&\n\t\t\t\t\t\t\ttypeof error.message === \"string\"\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: String(error),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t: defaultMapError(error)) as unknown as E;\n\t\treturn err(mappedError);\n\t}\n}\n\n// ----------------------------------------------------\n\nexport const TTY_COLORS = {\n\treset: \"\\x1b[0m\",\n\tbright: \"\\x1b[1m\",\n\tdim: \"\\x1b[2m\",\n\tundim: \"\\x1b[22m\",\n\tunderscore: \"\\x1b[4m\",\n\tblink: \"\\x1b[5m\",\n\treverse: \"\\x1b[7m\",\n\thidden: \"\\x1b[8m\",\n\tfg: {\n\t\tblack: \"\\x1b[30m\",\n\t\tred: \"\\x1b[31m\",\n\t\tgreen: \"\\x1b[32m\",\n\t\tyellow: \"\\x1b[33m\",\n\t\tblue: \"\\x1b[34m\",\n\t\tmagenta: \"\\x1b[35m\",\n\t\tcyan: \"\\x1b[36m\",\n\t\twhite: \"\\x1b[37m\",\n\t},\n\tbg: {\n\t\tblack: \"\\x1b[40m\",\n\t\tred: \"\\x1b[41m\",\n\t\tgreen: \"\\x1b[42m\",\n\t\tyellow: \"\\x1b[43m\",\n\t\tblue: \"\\x1b[44m\",\n\t\tmagenta: \"\\x1b[45m\",\n\t\tcyan: \"\\x1b[46m\",\n\t\twhite: \"\\x1b[47m\",\n\t},\n} as const;\n\nexport const logError = <\n\tSilent extends boolean = false,\n\tReturnValue extends \"errorT\" | \"string\" = \"string\",\n>(\n\terror: ErrorT | Err<ErrorT>,\n\topts?: {\n\t\tsilent?: Silent;\n\t\treturnValue?: ReturnValue;\n\t\tstackSkip?: Function;\n\t},\n): Silent extends true\n\t? undefined\n\t: ReturnValue extends \"errorT\"\n\t\t? ErrorT\n\t\t: string => {\n\tconst options = {\n\t\treturnValue: \"string\",\n\t\tsilent: false,\n\t\tstackSkip: logError,\n\t\t...opts,\n\t};\n\tconst { code, message, stack, name, cause, hint, data } =\n\t\terror instanceof ErrorT ? error : error.error;\n\n\tconst l = `${TTY_COLORS.dim}│${TTY_COLORS.reset} `;\n\tconst cl = `${TTY_COLORS.dim}└${TTY_COLORS.reset} `;\n\n\tconst lines = [\n\t\t`${l} ${TTY_COLORS.dim}Code:${TTY_COLORS.reset} ${TTY_COLORS.bright}${TTY_COLORS.fg.red}${code}${TTY_COLORS.reset}`,\n\t\t`${l} ${TTY_COLORS.dim}Message:${TTY_COLORS.reset} ${TTY_COLORS.fg.red}${message}${TTY_COLORS.reset}`,\n\t\t`${l} ${TTY_COLORS.dim}Timestamp:${TTY_COLORS.reset} ${TTY_COLORS.fg.red}${new Intl.DateTimeFormat(\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\tdateStyle: \"medium\",\n\t\t\t\ttimeStyle: \"medium\",\n\t\t\t},\n\t\t).format(new Date())}${TTY_COLORS.reset}`,\n\t\thint\n\t\t\t? `${l} ${TTY_COLORS.dim}Hint:${TTY_COLORS.reset}${TTY_COLORS.fg.red}${hint}${TTY_COLORS.reset}`\n\t\t\t: \"\",\n\t\tcause ? `${l} ${TTY_COLORS.dim}Cause:${TTY_COLORS.reset}` : \"\",\n\t\tcause\n\t\t\t? `${padding(cause.toString(), 2)\n\t\t\t\t\t.split(\"\\n\")\n\t\t\t\t\t.map((x) => `${l}${TTY_COLORS.fg.red} ${x}`)\n\t\t\t\t\t.join(\"\\n\")}`\n\t\t\t: \"\",\n\t\tdata\n\t\t\t? `${l} ${TTY_COLORS.dim}Data:${TTY_COLORS.reset}\\n${padding(\n\t\t\t\t\tJSON.stringify(data, null, 2),\n\t\t\t\t\t2,\n\t\t\t\t)\n\t\t\t\t\t.split(\"\\n\")\n\t\t\t\t\t.map((x) => `${l}${TTY_COLORS.fg.red} ${x}`)\n\t\t\t\t\t.join(\"\\n\")}${TTY_COLORS.reset}`\n\t\t\t: \"\",\n\t\t`${cl} ${TTY_COLORS.fg.black}${padding(stack, 4)\n\t\t\t.slice(3)\n\t\t\t.split(\"\\n\")\n\t\t\t.map((x) => `${TTY_COLORS.fg.black}${x}`)\n\t\t\t.join(\"\\n\")}${TTY_COLORS.reset}`,\n\t]\n\t\t.filter((x) => x !== \"\")\n\t\t.map((x) => {\n\t\t\tif (typeof x === \"string\") {\n\t\t\t\treturn padding(x, 2);\n\t\t\t}\n\t\t\treturn x;\n\t\t})\n\t\t.join(\"\\n\");\n\n\tconst result = boxen(\n\t\t[\n\t\t\t`${TTY_COLORS.bright}${TTY_COLORS.fg.red}Error:${TTY_COLORS.reset}`,\n\t\t\tlines,\n\t\t].join(\"\\n\"),\n\t\t{\n\t\t\tborderColor: \"red\",\n\t\t\tborderStyle: \"round\",\n\t\t\tpadding: { left: 1, right: 1, top: 0.9, bottom: 0.9 },\n\t\t\tdimBorder: true,\n\t\t\ttitle: `${TTY_COLORS.bright}${code}${TTY_COLORS.reset}${TTY_COLORS.dim}${TTY_COLORS.fg.red}`,\n\t\t\ttitleAlignment: \"center\",\n\t\t},\n\t);\n\n\tif (!options.silent) {\n\t\tconsole.error(result);\n\t}\n\n\tif (options.returnValue === \"errorT\") {\n\t\tif (error instanceof ErrorT) {\n\t\t\treturn error as any;\n\t\t}\n\t\treturn error.error as any;\n\t}\n\treturn result as any;\n};\n\nexport class ErrorT<\n\tCode extends LiteralString = LiteralString,\n\tMessage extends LiteralString = LiteralString,\n\tHint extends string = string,\n\tData extends Record<string, unknown> = Record<string, unknown>,\n\tCause extends Error | ErrorT | unknown = unknown,\n> {\n\tcode: Codeify<Code>;\n\tmessage: Message;\n\tname: string;\n\tstack: string;\n\trealStack: string;\n\tdata?: Data;\n\tcause?: Cause;\n\thint?: Hint;\n\tstackSkip?: Function;\n\tconstructor(error: {\n\t\tcode: Code;\n\t\tdata?: Data;\n\t\tcause?: Cause;\n\t\tmessage: Message;\n\t\thint?: Hint;\n\t\tstackSkip?: Function;\n\t}) {\n\t\tthis.name = \"ErrorT\";\n\t\t//@ts-expect-error - last resort\n\t\tthis.code =\n\t\t\t((error.code as string)\n\t\t\t\t?.toUpperCase()\n\t\t\t\t.replaceAll(\" \", \"_\") as Codeify<Code>) || \"UNKNOWN_ERROR\";\n\t\tthis.data = error.data;\n\t\tthis.cause = error.cause;\n\t\t//@ts-expect-error - last resort\n\t\tthis.message = error.message || \"Unknown error\";\n\t\tthis.hint = error.hint;\n\t\tthis.stackSkip = error.stackSkip ?? ErrorT;\n\t\tconst realStack = capture(error.stackSkip ?? ErrorT);\n\t\tconst stack = realStack\n\t\t\t.replace(\"Error\", \"\")\n\t\t\t.split(\"\\n\")\n\t\t\t.map((x) => x.trimStart())\n\t\t\t.join(\"\\n\")\n\t\t\t.trim();\n\t\tthis.stack = stack || \"Unknown stack\";\n\t\tthis.realStack = realStack;\n\t}\n\n\ttoString() {\n\t\treturn logError(this, {\n\t\t\treturnValue: \"string\",\n\t\t\tsilent: true,\n\t\t\tstackSkip: this.stackSkip,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "need-result",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "type": "module",
5
5
  "packageManager": "bun@1.3.5",
6
6
  "license": "MIT",
@@ -38,5 +38,8 @@
38
38
  "exports": {
39
39
  ".": "./dist/index.mjs",
40
40
  "./package.json": "./package.json"
41
+ },
42
+ "dependencies": {
43
+ "boxen": "^8.0.1"
41
44
  }
42
45
  }