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.
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +27 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -1
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utility.types.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[],"mappings":";KAAY,aAAA,kBAA+B;;;UCG1B,qBAAqB,iBAAiB;SAC/C;SACA;EAFS;;;EACT,IAAA,EAAA,EAAA,IAAA,IAKS,EALT,CAKY,CALZ,EAKe,CALf,CAAA;EACA;;;EAIS,KAAA,EAAA,EAAA,IAAA,IAIC,GAJD,CAIK,CAJL,EAIQ,CAJR,CAAA;EAIK;;;;EAKE,MAAA,EAAA,EAAA,IAAA,SAAA,EAAA,CAAG,CAAH,EAAA,KAAA,CAAA,GAAe,CAAf,GAAA,KAAA;EAAe;;;;;EAMwB,QAAA,CAAA,CAAA,CAAA,CAAA,YAAA,EAApC,CAAoC,CAAA,EAAA,IAAA,SAAnB,EAAmB,CAAhB,CAAgB,EAAA,KAAA,CAAA,GAAJ,CAAI,GAAA,CAAA;;AAGnD,KAAA,MAAM,CAAA,CAAA,EAAA,UAAc,MAAd,GAAA,KAAA,GAA+B,MAA/B,CAAA,GAAyC,EAAzC,CAA4C,CAA5C,EAA+C,CAA/C,CAAA,GAAoD,GAApD,CAAwD,CAAxD,EAA2D,CAA3D,CAAA;AAAc,KAEpB,OAFoB,CAAA,UAEF,aAFE,CAAA,GAEe,SAFf,CAG/B,4BAH+B,CAGF,CAHE,CAAA,CAAA;KAM3B,4BAN4C,CAAA,UAAA,MAAA,CAAA,GAOhD,CAPgD,SAAA,GAAA,KAAA,MAAA,IAAA,KAAA,KAAA,EAAA,GAAA,GAQ1C,KAR0C,IAQjC,4BARiC,CAQJ,IARI,CAAA,EAAA,GAS7C,CAT6C;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utility.types.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[],"mappings":";KAAY,aAAA,kBAA+B;;;UCG1B,qBAAqB,iBAAiB;SAC/C;SACA;EAFS;;;EACT,IAAA,EAAA,EAAA,IAAA,IAKS,EALT,CAKY,CALZ,EAKe,CALf,CAAA;EACA;;;EAIS,KAAA,EAAA,EAAA,IAAA,IAIC,GAJD,CAIK,CAJL,EAIQ,CAJR,CAAA;EAIK;;;;EAKE,MAAA,EAAA,EAAA,IAAA,SAAA,EAAA,CAAG,CAAH,EAAA,KAAA,CAAA,GAAe,CAAf,GAAA,KAAA;EAAe;;;;;EAMwB,QAAA,CAAA,CAAA,CAAA,CAAA,YAAA,EAApC,CAAoC,CAAA,EAAA,IAAA,SAAnB,EAAmB,CAAhB,CAAgB,EAAA,KAAA,CAAA,GAAJ,CAAI,GAAA,CAAA;;AAGnD,KAAA,MAAM,CAAA,CAAA,EAAA,UAAc,MAAd,GAAA,KAAA,GAA+B,MAA/B,CAAA,GAAyC,EAAzC,CAA4C,CAA5C,EAA+C,CAA/C,CAAA,GAAoD,GAApD,CAAwD,CAAxD,EAA2D,CAA3D,CAAA;AAAc,KAEpB,OAFoB,CAAA,UAEF,aAFE,CAAA,GAEe,SAFf,CAG/B,4BAH+B,CAGF,CAHE,CAAA,CAAA;KAM3B,4BAN4C,CAAA,UAAA,MAAA,CAAA,GAOhD,CAPgD,SAAA,GAAA,KAAA,MAAA,IAAA,KAAA,KAAA,EAAA,GAAA,GAQ1C,KAR0C,IAQjC,4BARiC,CAQJ,IARI,CAAA,EAAA,GAS7C,CAT6C;;;iBCpBjC,gBAAgB,+BAA+B,IAAI,GAAG,GAAG;iBACzD,oCAAoC,sCAEjD,SAAS;ADPK,iBCYD,GDZQ,CAAA,UCYM,MDZN,CAAA,CAAA,KAAA,ECYqB,CDZrB,CAAA,ECYyB,GDZzB,CAAA,KAAA,ECYoC,CDZpC,CAAA;AAAc,iBCatB,GDbsB,CAAA,IAAA,KAAA,EAAA,aCexB,aDfwB,GCeR,aDfQ,EAAA,gBCgBrB,aDhBqB,GCgBL,aDhBK,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aCkBxB,MDlBwB,CAAA,MAAA,EAAA,OAAA,CAAA,GCkBE,MDlBF,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cCmBvB,KDnBuB,GCmBf,MDnBe,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA,KAAA,EAAA;EAAiB,IAAA,ECqBhD,IDrBgD;EAC/C,OAAA,ECqBE,ODrBF;EACA,IAAA,CAAA,ECqBA,IDrBA;EAIY,IAAA,CAAA,ECkBZ,IDlBY;EAAG,KAAA,CAAA,ECmBd,KDnBc;CAAN,CAAA,ECoBb,GDpBa,CCoBT,CDpBS,ECoBN,MDpBM,CCoBC,IDpBD,ECoBO,ODpBP,ECoBgB,IDpBhB,ECoBsB,IDpBtB,ECoB4B,KDpB5B,CAAA,CAAA;AAIK,cCyBT,EDzBS,CAAA,CAAA,EAAA,UCyBO,MDzBP,GAAA,KAAA,GAAA,KAAA,CAAA,YCyB0C,ODzB1C,CCyBkD,CDzBlD,ECyBqD,CDzBrD,CAAA,CAAA;EAAG,SAAA,KAAA,EC4BW,CD5BX;EAAP,KAAA,EAAA,IAAA;EAKS,WAAA,CAAA,KAAA,ECuBS,CDvBT;EAAH,MAAA,CAAA,CAAA,EAAA,IAAA,SCyBA,EDzBA,CCyBG,CDzBH,EAAA,KAAA,CAAA,GCyBe,CDzBf,GAAA,KAAA;EAAe,QAAA,CAAA,CAAA,CAAA,CAAA,aAAA,EC6BX,CD7BW,CAAA,EAAA,IAAA,SC6BM,ED7BN,CC6BS,CD7BT,EAAA,KAAA,CAAA,GC6BqB,CD7BrB,GC6ByB,CD7BzB;EAMZ,IAAA,CAAA,CAAA,EAAA,IAAA,IC2BV,ED3BU,CC2BP,CD3BO,EC2BJ,CD3BI,CAAA;EAAoB,KAAA,CAAA,CAAA,EAAA,IAAA,IC+B7B,GD/B6B,CC+BzB,CD/ByB,EC+BtB,CD/BsB,CAAA;;AAAY,cCoC9C,GDpC8C,CAAA,IAAA,KAAA,EAAA,UCoCrB,MDpCqB,GCoCZ,MDpCY,CAAA,YCqC/C,ODrC+C,CCqCvC,CDrCuC,ECqCpC,CDrCoC,CAAA,CAAA;EAAI,SAAA,KAAA,ECyC3B,CDzC2B;EAAC,KAAA,EAAA,IAAA;EAGpD,WAAM,CAAA,KAAA,ECsCkB,CDtClB;EAAc,MAAA,CAAA,CAAA,EAAA,KAAA;EAAiB,QAAA,CAAA,CAAA,CAAA,CAAA,YAAA,EC4DtB,CD5DsB,CAAA,EC4DlB,CD5DkB;EAAa,IAAA,CAAA,CAAA,EAAA,IAAA,ICiE7C,EDjE6C,CAAA,KAAA,CAAA;EAAG,KAAA,CAAA,CAAA,EAAA,IAAA,ICqE/C,GDrE+C,CCqE3C,CDrE2C,ECqExC,CDrEwC,CAAA;;AAAS,iBCgF1D,QDhF0D,CAAA,CAAA,EAAA,aCkF5D,aDlF4D,GAAA,eAAA,EAAA,gBCmFzD,aDnFyD,GAAA,kBAAA,MAAA,EAAA,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aCqF5D,MDrF4D,CAAA,MAAA,EAAA,OAAA,CAAA,GCqFlC,MDrFkC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cCsF3D,KDtF2D,GCsFnD,MDtFmD,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA,SAAA,ECwF9D,ODxF8D,CCwFtD,CDxFsD,CAAA,EAAA,QAG5C,CAH4C,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,GAAA;EAAG,IAAA,EC6FrE,ID7FqE;EAAP,OAAA,EC8F3D,OD9F2D;EAAG,IAAA,CAAA,EC+FhE,ID/FgE;EAE7D,IAAA,CAAA,EC8FH,ID9FU;EAAW,KAAA,CAAA,EC+FpB,KD/FoB;CACA,CAAA,ECgG3B,ODhG2B,CCgGnB,MDhGmB,CCgGZ,CDhGY,ECgGT,MDhGS,CCgGF,IDhGE,ECgGI,ODhGJ,ECgGa,IDhGb,ECgGmB,IDhGnB,ECgGyB,KDhGzB,CAAA,CAAA,CAAA;AAA7B,iBCkGe,QDlGf,CAAA,CAAA,EAAA,aCoGa,aDpGb,GAAA,eAAA,EAAA,gBCqGgB,aDrGhB,GAAA,kBAAA,MAAA,EAAA,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aCuGa,MDvGb,CAAA,MAAA,EAAA,OAAA,CAAA,GCuGuC,MDvGvC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cCwGc,KDxGd,GCwGsB,MDxGtB,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA,SAAA,EAAA,GAAA,GAAA,KAAA,EAAA,QAK4C,CAL5C,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,GAAA;EAD8C,IAAA,ECgHvC,IDhHuC;EAAS,OAAA,ECiH7C,ODjH6C;EAInD,IAAA,CAAA,EC8GI,ID9GJ;EACJ,IAAA,CAAA,EC8GQ,ID9GR;EACM,KAAA,CAAA,EC8GG,KD9GH;CAAsC,CAAA,ECgH1C,MDhH0C,CAAA,KAAA,ECgH5B,MDhH4B,CCgHrB,IDhHqB,ECgHf,ODhHe,ECgHN,IDhHM,ECgHA,IDhHA,ECgHM,KDhHN,CAAA,CAAA;AAA7B,iBCkHA,QDlHA,CAAA,CAAA,EAAA,aCoHF,aDpHE,GAAA,eAAA,EAAA,gBCqHC,aDrHD,GAAA,kBAAA,MAAA,EAAA,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aCuHF,MDvHE,CAAA,MAAA,EAAA,OAAA,CAAA,GCuHwB,MDvHxB,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cCwHD,KDxHC,GCwHO,MDxHP,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA,SAAA,EAAA,GAAA,GC0HE,OD1HF,CC0HU,CD1HV,CAAA,EAAA,QC5BhB,CD4BgB,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,GAAA;EACZ,IAAA,EC8HI,ID9HJ;EAAC,OAAA,EC+HM,OD/HN;SCgII;SACA;UACC;AA/JV,CAAA,CAAA,EAiKG,OAjKe,CAiKP,MAjKO,CAiKA,CAjKA,EAiKG,MAjKH,CAiKU,IAjKV,EAiKgB,OAjKhB,EAiKyB,IAjKzB,EAiK+B,IAjK/B,EAiKqC,KAjKrC,CAAA,CAAA,CAAA;AAAc,iBAmKhB,QAnKgB,CAAA,CAAA,EAAA,aAqKlB,aArKkB,GAAA,eAAA,EAAA,gBAsKf,aAtKe,GAAA,kBAAA,MAAA,EAAA,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aAwKlB,MAxKkB,CAAA,MAAA,EAAA,OAAA,CAAA,GAwKQ,MAxKR,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cAyKjB,KAzKiB,GAyKT,MAzKS,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA,SAAA,EAAA,GAAA,GA2Kd,CA3Kc,EAAA,QAChC,CADgC,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,GAAA;EAA+B,IAAA,EAgLvD,IAhLuD;EAAO,OAAA,EAiL3D,OAjL2D;EAAG,IAAA,CAAA,EAkLhE,IAlLgE;EAAN,IAAA,CAAA,EAmL1D,IAnL0D;EAAE,KAAA,CAAA,EAoL3D,KApL2D;AACrE,CAAA,CAAA,EAqLG,MArLe,CAqLR,CArLQ,EAqLL,MArLK,CAqLE,IArLF,EAqLQ,OArLR,EAqLiB,IArLjB,EAqLuB,IArLvB,EAqL6B,KArL7B,CAAA,CAAA;AAAkC,cAkPvC,UAlPuC,EAAA;EAExC,SAAA,KAAA,EAAA,WAAA;EAAT,SAAA,MAAA,EAAA,WAAA;EAAE,SAAA,GAAA,EAAA,WAAA;EAKW,SAAG,KAAA,EAAA,YAAA;EAAW,SAAA,UAAA,EAAA,WAAA;EAAe,SAAA,KAAA,EAAA,WAAA;EAAe,SAAA,OAAA,EAAA,WAAA;EAAX,SAAA,MAAA,EAAA,WAAA;EAAG,SAAA,EAAA,EAAA;IACpC,SAAG,KAAA,EAAA,YAAA;IAEL,SAAA,GAAA,EAAA,YAAA;IAAgB,SAAA,KAAA,EAAA,YAAA;IACb,SAAA,MAAA,EAAA,YAAA;IAAgB,SAAA,IAAA,EAAA,YAAA;IAEnB,SAAA,OAAA,EAAA,YAAA;IAA0B,SAAA,IAAA,EAAA,YAAA;IACzB,SAAA,KAAA,EAAA,YAAA;EAAQ,CAAA;EAEhB,SAAA,EAAA,EAAA;IACG,SAAA,KAAA,EAAA,YAAA;IACF,SAAA,GAAA,EAAA,YAAA;IACA,SAAA,KAAA,EAAA,YAAA;IACC,SAAA,MAAA,EAAA,YAAA;IACD,SAAA,IAAA,EAAA,YAAA;IAAU,SAAA,OAAA,EAAA,YAAA;IAAM,SAAA,IAAA,EAAA,YAAA;IAAS,SAAA,KAAA,EAAA,YAAA;EAAM,CAAA;CAAM;AAAlC,cA4PE,QA5PF,EAAA,CAAA,eAAA,OAAA,GAAA,KAAA,EAAA,oBAAA,QAAA,GAAA,QAAA,GAAA,QAAA,CAAA,CAAA,KAAA,EAgQH,MAhQG,GAgQM,GAhQN,CAgQU,MAhQV,CAAA,EAAA,IASkB,CATlB,EAAA;EAAP,MAAA,CAAA,EAkQO,MAlQP;EAAG,WAAA,CAAA,EAmQS,WAnQT;EASM,SAAE,CAAA,EA2PD,QA3PC;CAAc,EAAA,GA6P1B,MA7P0B,SAAA,IAAA,GAAA,SAAA,GA+P1B,WA/P0B,SAAA,QAAA,GAgQzB,MAhQyB,GAAA,MAAA;AAA2C,cAsV3D,MAtV2D,CAAA,aAuV1D,aAvV0D,GAuV1C,aAvV0C,EAAA,gBAwVvD,aAxVuD,GAwVvC,aAxVuC,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,aA0V1D,MA1V0D,CAAA,MAAA,EAAA,OAAA,CAAA,GA0VhC,MA1VgC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,cA2VzD,KA3VyD,GA2VjD,MA3ViD,GAAA,OAAA,GAAA,OAAA,CAAA,CAAA;EAAG,IAAA,EA6VpE,OA7VoE,CA6V5D,IA7V4D,CAAA;EAGvC,OAAA,EA2V1B,OA3V0B;EAAA,IAAA,EAAA,MAAA;EAET,KAAA,EAAA,MAAA;EAAH,SAAA,EAAA,MAAA;EAAe,IAAA,CAAA,EA6V/B,IA7V+B;EAIX,KAAA,CAAA,EA0VnB,KA1VmB;EAAoB,IAAA,CAAA,EA2VxC,IA3VwC;EAAH,SAAA,CAAA,EA4VhC,QA5VgC;EAAe,WAAA,CAAA,KAAA,EAAA;IAAI,IAAA,EA8VxD,IA9VwD;IAI5C,IAAA,CAAA,EA2VX,IA3VW;IAAG,KAAA,CAAA,EA4Vb,KA5Va;IAAN,OAAA,EA6VN,OA7VM;IAIK,IAAA,CAAA,EA0Vb,IA1Va;IAAG,SAAA,CAAA,EA2VX,QA3VW;EAAP,CAAA;EAjB8C,QAAA,CAAA,CAAA,EAAA,SAAA"}
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
|
163
|
+
return result;
|
|
148
164
|
};
|
|
149
165
|
var ErrorT = class ErrorT {
|
|
150
166
|
code;
|
package/dist/index.mjs.map
CHANGED
|
@@ -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":";;;AAAA,MAAa,aAAsB,UAAwC;AAC1E,QACC,CAAC,CAAC,UACD,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,OAAQ,MAAc,SAAS;;AAIjC,SAAgB,QAAQ,WAAsB;CAC7C,MAAMA,SAA6B,EAAE;AACrC,KAAI,uBAAuB,MAC1B,CAAC,MAAc,kBAAkB,QAAQ,aAAa,QAAQ;KAE9D,QAAO,yBAAQ,IAAK,OAAe,EAAC;AAErC,QAAO,OAAO;;AAGf,SAAgB,QAAQ,MAAc,QAAwB;CAC7D,MAAMC,YAAU,IAAI,OAAO,OAAO;AAClC,QAAO,KACL,MAAM,KAAK,CACX,KAAK,SAASA,YAAU,KAAK,CAC7B,KAAK,KAAK;;;;;ACZb,SAAgB,GAAwC,OAAoB;AAC3E,QAAO,IAAI,GAAG,MAAM;;AAkBrB,SAAgB,IAAI,OAAY;AAC/B,KAAI,iBAAiB,OACpB,QAAO,IAAI,IAAI,MAAM;AAGtB,QAAO,IAAI,IADG,IAAI,OAAO;EAAE,GAAG;EAAO,WAAW;EAAK,CAAC,CACjC;;AAGtB,IAAa,KAAb,MAA8E;CAC7E,QAAQ;CAER,YAAY,AAAgBC,OAAU;EAAV;;CAE5B,SAAgD;AAC/C,SAAO,KAAK;;CAGb,SAAY,eAAqD;AAChE,SAAO,KAAK;;CAGb,OAAyB;AACxB,SAAO;;CAGR,QAA2B;AAC1B,SAAO;;;AAIT,IAAa,MAAb,MAAa,IAEb;CACC,QAAQ;CAER,YAAY,AAAgBC,OAAU;EAAV;;CAE5B,SAAgB;EACf,MAAM,aAAa,SAAS,KAAK,OAAO;GACvC,aAAa;GACb,WAAW;GACX,CAAC;EACF,MAAM,IAAI,IAAI,MACb,WAAW,SACX,WAAW,QACR,EACA,OAAO,WAAW,OAClB,GACA,OACH;AACD,MAAI,uBAAuB,MAC1B,OAAM,kBAAkB,GAAG,IAAI;AAEhC,QAAM;;CAIP,SAAY,cAAoB;AAC/B,WAAS,KAAK,OAAO,EAAE,WAAW,KAAK,CAAC;AACxC,SAAO;;CAGR,OAA0B;AACzB,SAAO;;CAGR,QAA2B;AAC1B,SAAO;;;AA8FT,SAAgB,SASf,WACA,UAUuC;AACvC,KAAI;EACH,MAAM,SAAS,OAAO,cAAc,aAAa,WAAW,GAAG;AAE/D,MAAI,UAAU,OAAO,CAIpB,QAHiB,QAAQ,QAAQ,OAAO,CACtC,MAAM,SAAS,GAAG,KAAK,CAAC,CACxB,OAAO,UAAU,IAAI,MAAM,CAAC;AAI/B,SAAO,GAAG,OAAO;UACT,OAAO;EACf,MAAM,mBAAmB,YAAmB;AAC3C,UAAO,IAAI,OAAO;IACjB,MAAM;IACN,SAAS,kBAAkBC;IAC3B,OAAOA;IACP,CAAC;;AAeH,SAAO,IAbc,WAClB,IAAI,OACJ,SACC,OACA,OAAO,UAAU,YAChB,UAAU,QACV,aAAa,SACb,OAAO,MAAM,YAAY,WACvB,MAAM,UACN,OAAO,MAAM,CAChB,CACD,GACA,gBAAgB,MAAM,CACF;;;AAMzB,MAAa,aAAa;CACzB,OAAO;CACP,QAAQ;CACR,KAAK;CACL,OAAO;CACP,YAAY;CACZ,OAAO;CACP,SAAS;CACT,QAAQ;CACR,IAAI;EACH,OAAO;EACP,KAAK;EACL,OAAO;EACP,QAAQ;EACR,MAAM;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP;CACD,IAAI;EACH,OAAO;EACP,KAAK;EACL,OAAO;EACP,QAAQ;EACR,MAAM;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP;CACD;AAED,MAAa,YAIZ,OACA,SASa;CACb,MAAM,UAAU;EACf,aAAa;EACb,QAAQ;EACR,WAAW;EACX,GAAG;EACH;CACD,MAAM,EAAE,MAAM,SAAS,OAAO,MAAM,OAAO,MAAM,SAChD,iBAAiB,SAAS,QAAQ,MAAM;CAEzC,MAAM,IAAI,GAAG,WAAW,IAAI,GAAG,WAAW,MAAM;CAChD,MAAM,KAAK,GAAG,WAAW,IAAI,GAAG,WAAW,MAAM;CAEjD,MAAM,QAAQ;EACb,GAAG,EAAE,GAAG,WAAW,IAAI,OAAO,WAAW,MAAM,GAAG,WAAW,SAAS,WAAW,GAAG,MAAM,OAAO,WAAW;EAC5G,GAAG,EAAE,GAAG,WAAW,IAAI,UAAU,WAAW,MAAM,GAAG,WAAW,GAAG,MAAM,UAAU,WAAW;EAC9F,GAAG,EAAE,GAAG,WAAW,IAAI,YAAY,WAAW,MAAM,GAAG,WAAW,GAAG,MAAM,IAAI,KAAK,eACnF,QACA;GACC,WAAW;GACX,WAAW;GACX,CACD,CAAC,uBAAO,IAAI,MAAM,CAAC,GAAG,WAAW;EAClC,OACG,GAAG,EAAE,GAAG,WAAW,IAAI,OAAO,WAAW,QAAQ,WAAW,GAAG,MAAM,OAAO,WAAW,UACvF;EACH,QAAQ,GAAG,EAAE,GAAG,WAAW,IAAI,QAAQ,WAAW,UAAU;EAC5D,QACG,GAAG,QAAQ,MAAM,UAAU,EAAE,EAAE,CAC9B,MAAM,KAAK,CACX,KAAK,MAAM,GAAG,IAAI,WAAW,GAAG,IAAI,GAAG,IAAI,CAC3C,KAAK,KAAK,KACX;EACH,OACG,GAAG,EAAE,GAAG,WAAW,IAAI,OAAO,WAAW,MAAM,IAAI,QACnD,KAAK,UAAU,MAAM,MAAM,EAAE,EAC7B,EACA,CACC,MAAM,KAAK,CACX,KAAK,MAAM,GAAG,IAAI,WAAW,GAAG,IAAI,GAAG,IAAI,CAC3C,KAAK,KAAK,GAAG,WAAW,UACzB;EACH,GAAG,GAAG,GAAG,WAAW,GAAG,QAAQ,QAAQ,OAAO,EAAE,CAC9C,MAAM,EAAE,CACR,MAAM,KAAK,CACX,KAAK,MAAM,GAAG,WAAW,GAAG,QAAQ,IAAI,CACxC,KAAK,KAAK,GAAG,WAAW;EAC1B,CACC,QAAQ,MAAM,MAAM,GAAG,CACvB,KAAK,MAAM;AACX,MAAI,OAAO,MAAM,SAChB,QAAO,QAAQ,GAAG,EAAE;AAErB,SAAO;GACN,CACD,KAAK,KAAK;CAEZ,MAAM,SAAS,MACd,CACC,GAAG,WAAW,SAAS,WAAW,GAAG,IAAI,QAAQ,WAAW,SAC5D,MACA,CAAC,KAAK,KAAK,EACZ;EACC,aAAa;EACb,aAAa;EACb,SAAS;GAAE,MAAM;GAAG,OAAO;GAAG,KAAK;GAAK,QAAQ;GAAK;EACrD,WAAW;EACX,OAAO,GAAG,WAAW,SAAS,OAAO,WAAW,QAAQ,WAAW,MAAM,WAAW,GAAG;EACvF,gBAAgB;EAChB,CACD;AAED,KAAI,CAAC,QAAQ,OACZ,SAAQ,MAAM,OAAO;AAGtB,KAAI,QAAQ,gBAAgB,UAAU;AACrC,MAAI,iBAAiB,OACpB,QAAO;AAER,SAAO,MAAM;;AAEd,QAAO;;AAGR,IAAa,SAAb,MAAa,OAMX;CACD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,YAAY,OAOT;AACF,OAAK,OAAO;AAEZ,OAAK,OACF,MAAM,MACL,aAAa,CACd,WAAW,KAAK,IAAI,IAAsB;AAC7C,OAAK,OAAO,MAAM;AAClB,OAAK,QAAQ,MAAM;AAEnB,OAAK,UAAU,MAAM,WAAW;AAChC,OAAK,OAAO,MAAM;AAClB,OAAK,YAAY,MAAM,aAAa;EACpC,MAAM,YAAY,QAAQ,MAAM,aAAa,OAAO;AAOpD,OAAK,QANS,UACZ,QAAQ,SAAS,GAAG,CACpB,MAAM,KAAK,CACX,KAAK,MAAM,EAAE,WAAW,CAAC,CACzB,KAAK,KAAK,CACV,MAAM,IACc;AACtB,OAAK,YAAY;;CAGlB,WAAW;AACV,SAAO,SAAS,MAAM;GACrB,aAAa;GACb,QAAQ;GACR,WAAW,KAAK;GAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "need-result",
|
|
3
|
-
"version": "1.3.
|
|
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
|
}
|