@geekmidas/envkit 1.0.4 → 1.0.6
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/CHANGELOG.md +12 -0
- package/dist/{EnvironmentBuilder-BSuHZm0y.mjs → EnvironmentBuilder-CFen3oIg.mjs} +1 -1
- package/dist/{EnvironmentBuilder-BSuHZm0y.mjs.map → EnvironmentBuilder-CFen3oIg.mjs.map} +1 -1
- package/dist/{EnvironmentBuilder-Xuf2Dd9u.d.cts → EnvironmentBuilder-CNgcdzSR.d.cts} +1 -1
- package/dist/{EnvironmentBuilder-Xuf2Dd9u.d.cts.map → EnvironmentBuilder-CNgcdzSR.d.cts.map} +1 -1
- package/dist/{EnvironmentBuilder-Djr1VsWM.cjs → EnvironmentBuilder-DDgLJAAo.cjs} +1 -1
- package/dist/{EnvironmentBuilder-Djr1VsWM.cjs.map → EnvironmentBuilder-DDgLJAAo.cjs.map} +1 -1
- package/dist/{EnvironmentBuilder-jF-b7WQg.d.mts → EnvironmentBuilder-DHfDXJUm.d.mts} +1 -1
- package/dist/{EnvironmentBuilder-jF-b7WQg.d.mts.map → EnvironmentBuilder-DHfDXJUm.d.mts.map} +1 -1
- package/dist/{EnvironmentParser-DtOL86NU.d.cts → EnvironmentParser-BY1oCUsc.d.mts} +3 -3
- package/dist/EnvironmentParser-BY1oCUsc.d.mts.map +1 -0
- package/dist/{EnvironmentParser-DJdW7vOL.cjs → EnvironmentParser-Bzg5yXG2.cjs} +124 -4
- package/dist/EnvironmentParser-Bzg5yXG2.cjs.map +1 -0
- package/dist/{EnvironmentParser-CkLfmn4Y.d.mts → EnvironmentParser-DoooZm8n.d.cts} +3 -3
- package/dist/EnvironmentParser-DoooZm8n.d.cts.map +1 -0
- package/dist/{EnvironmentParser-zMblItla.mjs → EnvironmentParser-taAKfzT7.mjs} +112 -4
- package/dist/EnvironmentParser-taAKfzT7.mjs.map +1 -0
- package/dist/SnifferEnvironmentParser.cjs +19 -4
- package/dist/SnifferEnvironmentParser.cjs.map +1 -1
- package/dist/SnifferEnvironmentParser.d.cts +20 -3
- package/dist/SnifferEnvironmentParser.d.cts.map +1 -1
- package/dist/SnifferEnvironmentParser.d.mts +20 -3
- package/dist/SnifferEnvironmentParser.d.mts.map +1 -1
- package/dist/SnifferEnvironmentParser.mjs +19 -4
- package/dist/SnifferEnvironmentParser.mjs.map +1 -1
- package/dist/index.cjs +4 -5
- package/dist/index.d.cts +52 -4
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +52 -4
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2 -3
- package/dist/sst.cjs +115 -6
- package/dist/sst.cjs.map +1 -1
- package/dist/sst.d.cts +184 -3
- package/dist/sst.d.cts.map +1 -1
- package/dist/sst.d.mts +184 -3
- package/dist/sst.d.mts.map +1 -1
- package/dist/sst.mjs +111 -2
- package/dist/sst.mjs.map +1 -1
- package/package.json +4 -3
- package/src/SnifferEnvironmentParser.ts +31 -3
- package/src/SstEnvironmentBuilder.ts +1 -0
- package/src/__tests__/SnifferEnvironmentParser.spec.ts +158 -0
- package/src/__tests__/SstEnvironmentBuilder.spec.ts +5 -0
- package/src/__tests__/sst.spec.ts +6 -0
- package/tsdown.config.ts +16 -1
- package/dist/EnvironmentBuilder.cjs +0 -4
- package/dist/EnvironmentBuilder.d.cts +0 -2
- package/dist/EnvironmentBuilder.d.mts +0 -2
- package/dist/EnvironmentBuilder.mjs +0 -3
- package/dist/EnvironmentParser-CkLfmn4Y.d.mts.map +0 -1
- package/dist/EnvironmentParser-DJdW7vOL.cjs.map +0 -1
- package/dist/EnvironmentParser-DtOL86NU.d.cts.map +0 -1
- package/dist/EnvironmentParser-zMblItla.mjs.map +0 -1
- package/dist/EnvironmentParser.cjs +0 -5
- package/dist/EnvironmentParser.d.cts +0 -2
- package/dist/EnvironmentParser.d.mts +0 -2
- package/dist/EnvironmentParser.mjs +0 -4
- package/dist/SstEnvironmentBuilder-BRAcRQp2.d.mts +0 -186
- package/dist/SstEnvironmentBuilder-BRAcRQp2.d.mts.map +0 -1
- package/dist/SstEnvironmentBuilder-D-NGrp7U.cjs +0 -130
- package/dist/SstEnvironmentBuilder-D-NGrp7U.cjs.map +0 -1
- package/dist/SstEnvironmentBuilder-DOu4dVPL.mjs +0 -113
- package/dist/SstEnvironmentBuilder-DOu4dVPL.mjs.map +0 -1
- package/dist/SstEnvironmentBuilder-Dc9nOuuK.d.cts +0 -186
- package/dist/SstEnvironmentBuilder-Dc9nOuuK.d.cts.map +0 -1
- package/dist/SstEnvironmentBuilder.cjs +0 -7
- package/dist/SstEnvironmentBuilder.d.cts +0 -3
- package/dist/SstEnvironmentBuilder.d.mts +0 -3
- package/dist/SstEnvironmentBuilder.mjs +0 -4
- package/dist/formatter-BRRrxQi3.mjs +0 -111
- package/dist/formatter-BRRrxQi3.mjs.map +0 -1
- package/dist/formatter-Cox0NGxT.d.mts +0 -51
- package/dist/formatter-Cox0NGxT.d.mts.map +0 -1
- package/dist/formatter-D85aIkpd.d.cts +0 -51
- package/dist/formatter-D85aIkpd.d.cts.map +0 -1
- package/dist/formatter-HxePpSy2.cjs +0 -123
- package/dist/formatter-HxePpSy2.cjs.map +0 -1
- package/dist/formatter.cjs +0 -4
- package/dist/formatter.d.cts +0 -2
- package/dist/formatter.d.mts +0 -2
- package/dist/formatter.mjs +0 -3
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { z } from "zod/v4";
|
|
2
|
-
|
|
3
|
-
//#region src/formatter.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Options for formatting parse errors.
|
|
7
|
-
*/
|
|
8
|
-
interface FormatOptions {
|
|
9
|
-
/** Whether to use colors in output. Defaults to auto-detect TTY. */
|
|
10
|
-
colors?: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Formats a ZodError into a user-friendly string for development.
|
|
14
|
-
*
|
|
15
|
-
* @param error - The ZodError to format
|
|
16
|
-
* @param options - Formatting options
|
|
17
|
-
* @returns Formatted error message
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* try {
|
|
22
|
-
* config.parse();
|
|
23
|
-
* } catch (error) {
|
|
24
|
-
* if (error instanceof ZodError) {
|
|
25
|
-
* console.error(formatParseError(error));
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* Output:
|
|
31
|
-
* ```
|
|
32
|
-
* Environment Configuration Failed
|
|
33
|
-
*
|
|
34
|
-
* Missing Variables:
|
|
35
|
-
* DATABASE_URL - Required
|
|
36
|
-
* JWT_SECRET - Required
|
|
37
|
-
*
|
|
38
|
-
* Invalid Values:
|
|
39
|
-
* NODE_ENV = "invalid"
|
|
40
|
-
* Expected: "development" | "staging" | "production"
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
declare function formatParseError(error: z.ZodError, options?: FormatOptions): string;
|
|
44
|
-
/**
|
|
45
|
-
* Checks if the current environment is development.
|
|
46
|
-
*/
|
|
47
|
-
declare function isDevelopment(): boolean;
|
|
48
|
-
//# sourceMappingURL=formatter.d.ts.map
|
|
49
|
-
//#endregion
|
|
50
|
-
export { FormatOptions, formatParseError, isDevelopment };
|
|
51
|
-
//# sourceMappingURL=formatter-Cox0NGxT.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatter-Cox0NGxT.d.mts","names":[],"sources":["../src/formatter.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAgDgB,UAhDC,aAAA,CAgDe;EAAA;EAAA,MACtB,CAAA,EAAA,OAAA;;AACkB;AAuF5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAzFgB,gBAAA,QACR,CAAA,CAAE,oBACA;;;;iBAuFM,aAAA,CAAA"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { z } from "zod/v4";
|
|
2
|
-
|
|
3
|
-
//#region src/formatter.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Options for formatting parse errors.
|
|
7
|
-
*/
|
|
8
|
-
interface FormatOptions {
|
|
9
|
-
/** Whether to use colors in output. Defaults to auto-detect TTY. */
|
|
10
|
-
colors?: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Formats a ZodError into a user-friendly string for development.
|
|
14
|
-
*
|
|
15
|
-
* @param error - The ZodError to format
|
|
16
|
-
* @param options - Formatting options
|
|
17
|
-
* @returns Formatted error message
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* try {
|
|
22
|
-
* config.parse();
|
|
23
|
-
* } catch (error) {
|
|
24
|
-
* if (error instanceof ZodError) {
|
|
25
|
-
* console.error(formatParseError(error));
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* Output:
|
|
31
|
-
* ```
|
|
32
|
-
* Environment Configuration Failed
|
|
33
|
-
*
|
|
34
|
-
* Missing Variables:
|
|
35
|
-
* DATABASE_URL - Required
|
|
36
|
-
* JWT_SECRET - Required
|
|
37
|
-
*
|
|
38
|
-
* Invalid Values:
|
|
39
|
-
* NODE_ENV = "invalid"
|
|
40
|
-
* Expected: "development" | "staging" | "production"
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
declare function formatParseError(error: z.ZodError, options?: FormatOptions): string;
|
|
44
|
-
/**
|
|
45
|
-
* Checks if the current environment is development.
|
|
46
|
-
*/
|
|
47
|
-
declare function isDevelopment(): boolean;
|
|
48
|
-
//# sourceMappingURL=formatter.d.ts.map
|
|
49
|
-
//#endregion
|
|
50
|
-
export { FormatOptions, formatParseError, isDevelopment };
|
|
51
|
-
//# sourceMappingURL=formatter-D85aIkpd.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatter-D85aIkpd.d.cts","names":[],"sources":["../src/formatter.ts"],"sourcesContent":[],"mappings":";;;;;;AAKA;AAgDgB,UAhDC,aAAA,CAgDe;EAAA;EAAA,MACtB,CAAA,EAAA,OAAA;;AACkB;AAuF5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAzFgB,gBAAA,QACR,CAAA,CAAE,oBACA;;;;iBAuFM,aAAA,CAAA"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/formatter.ts
|
|
3
|
-
/**
|
|
4
|
-
* ANSI color codes for terminal output.
|
|
5
|
-
*/
|
|
6
|
-
const colors = {
|
|
7
|
-
reset: "\x1B[0m",
|
|
8
|
-
red: "\x1B[31m",
|
|
9
|
-
yellow: "\x1B[33m",
|
|
10
|
-
cyan: "\x1B[36m",
|
|
11
|
-
dim: "\x1B[2m",
|
|
12
|
-
bold: "\x1B[1m"
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Formats a ZodError into a user-friendly string for development.
|
|
16
|
-
*
|
|
17
|
-
* @param error - The ZodError to format
|
|
18
|
-
* @param options - Formatting options
|
|
19
|
-
* @returns Formatted error message
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* try {
|
|
24
|
-
* config.parse();
|
|
25
|
-
* } catch (error) {
|
|
26
|
-
* if (error instanceof ZodError) {
|
|
27
|
-
* console.error(formatParseError(error));
|
|
28
|
-
* }
|
|
29
|
-
* }
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* Output:
|
|
33
|
-
* ```
|
|
34
|
-
* Environment Configuration Failed
|
|
35
|
-
*
|
|
36
|
-
* Missing Variables:
|
|
37
|
-
* DATABASE_URL - Required
|
|
38
|
-
* JWT_SECRET - Required
|
|
39
|
-
*
|
|
40
|
-
* Invalid Values:
|
|
41
|
-
* NODE_ENV = "invalid"
|
|
42
|
-
* Expected: "development" | "staging" | "production"
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
function formatParseError(error, options = {}) {
|
|
46
|
-
const useColors = options.colors ?? (process.stdout?.isTTY && process.env.NO_COLOR == null);
|
|
47
|
-
const c = useColors ? colors : {
|
|
48
|
-
reset: "",
|
|
49
|
-
red: "",
|
|
50
|
-
yellow: "",
|
|
51
|
-
cyan: "",
|
|
52
|
-
dim: "",
|
|
53
|
-
bold: ""
|
|
54
|
-
};
|
|
55
|
-
const missingVars = [];
|
|
56
|
-
const invalidVars = [];
|
|
57
|
-
for (const issue of error.issues) {
|
|
58
|
-
let envName = "";
|
|
59
|
-
if (issue.path.length > 0) envName = issue.path.map(String).join(".");
|
|
60
|
-
else {
|
|
61
|
-
const match = issue.message.match(/Environment variable "([^"]+)"/);
|
|
62
|
-
if (match?.[1]) envName = match[1];
|
|
63
|
-
}
|
|
64
|
-
const received = "received" in issue ? issue.received : void 0;
|
|
65
|
-
const isMissing = issue.code === "invalid_type" && (received === "undefined" || received === "null");
|
|
66
|
-
if (isMissing) missingVars.push({
|
|
67
|
-
name: envName || "Unknown",
|
|
68
|
-
message: cleanMessage(issue.message)
|
|
69
|
-
});
|
|
70
|
-
else invalidVars.push({
|
|
71
|
-
name: envName || "Unknown",
|
|
72
|
-
value: received,
|
|
73
|
-
message: cleanMessage(issue.message)
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
const lines = [];
|
|
77
|
-
lines.push("");
|
|
78
|
-
lines.push(`${c.red}${c.bold}Environment Configuration Failed${c.reset}`);
|
|
79
|
-
lines.push("");
|
|
80
|
-
if (missingVars.length > 0) {
|
|
81
|
-
lines.push(`${c.yellow}Missing Variables:${c.reset}`);
|
|
82
|
-
for (const v of missingVars) lines.push(` ${c.cyan}${v.name}${c.reset} ${c.dim}- Required${c.reset}`);
|
|
83
|
-
lines.push("");
|
|
84
|
-
}
|
|
85
|
-
if (invalidVars.length > 0) {
|
|
86
|
-
lines.push(`${c.yellow}Invalid Values:${c.reset}`);
|
|
87
|
-
for (const v of invalidVars) {
|
|
88
|
-
const valueStr = v.value !== void 0 ? ` = ${JSON.stringify(v.value)}` : "";
|
|
89
|
-
lines.push(` ${c.cyan}${v.name}${c.reset}${valueStr}`);
|
|
90
|
-
lines.push(` ${c.dim}${v.message}${c.reset}`);
|
|
91
|
-
}
|
|
92
|
-
lines.push("");
|
|
93
|
-
}
|
|
94
|
-
return lines.join("\n");
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Cleans up a Zod error message by removing redundant prefixes.
|
|
98
|
-
*/
|
|
99
|
-
function cleanMessage(message) {
|
|
100
|
-
return message.replace(/^Environment variable "[^"]+": /, "");
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Checks if the current environment is development.
|
|
104
|
-
*/
|
|
105
|
-
function isDevelopment() {
|
|
106
|
-
const nodeEnv = process.env.NODE_ENV?.toLowerCase();
|
|
107
|
-
return nodeEnv == null || nodeEnv === "development" || nodeEnv === "dev";
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
//#endregion
|
|
111
|
-
Object.defineProperty(exports, 'formatParseError', {
|
|
112
|
-
enumerable: true,
|
|
113
|
-
get: function () {
|
|
114
|
-
return formatParseError;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
Object.defineProperty(exports, 'isDevelopment', {
|
|
118
|
-
enumerable: true,
|
|
119
|
-
get: function () {
|
|
120
|
-
return isDevelopment;
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
//# sourceMappingURL=formatter-HxePpSy2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatter-HxePpSy2.cjs","names":["error: z.ZodError","options: FormatOptions","missingVars: Array<{ name: string; message: string }>","invalidVars: Array<{ name: string; value: unknown; message: string }>","lines: string[]","message: string"],"sources":["../src/formatter.ts"],"sourcesContent":["import type { z } from 'zod/v4';\n\n/**\n * Options for formatting parse errors.\n */\nexport interface FormatOptions {\n\t/** Whether to use colors in output. Defaults to auto-detect TTY. */\n\tcolors?: boolean;\n}\n\n/**\n * ANSI color codes for terminal output.\n */\nconst colors = {\n\treset: '\\x1b[0m',\n\tred: '\\x1b[31m',\n\tyellow: '\\x1b[33m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tbold: '\\x1b[1m',\n};\n\n/**\n * Formats a ZodError into a user-friendly string for development.\n *\n * @param error - The ZodError to format\n * @param options - Formatting options\n * @returns Formatted error message\n *\n * @example\n * ```typescript\n * try {\n * config.parse();\n * } catch (error) {\n * if (error instanceof ZodError) {\n * console.error(formatParseError(error));\n * }\n * }\n * ```\n *\n * Output:\n * ```\n * Environment Configuration Failed\n *\n * Missing Variables:\n * DATABASE_URL - Required\n * JWT_SECRET - Required\n *\n * Invalid Values:\n * NODE_ENV = \"invalid\"\n * Expected: \"development\" | \"staging\" | \"production\"\n * ```\n */\nexport function formatParseError(\n\terror: z.ZodError,\n\toptions: FormatOptions = {},\n): string {\n\tconst useColors =\n\t\toptions.colors ?? (process.stdout?.isTTY && process.env.NO_COLOR == null);\n\n\tconst c = useColors\n\t\t? colors\n\t\t: { reset: '', red: '', yellow: '', cyan: '', dim: '', bold: '' };\n\n\tconst missingVars: Array<{ name: string; message: string }> = [];\n\tconst invalidVars: Array<{ name: string; value: unknown; message: string }> =\n\t\t[];\n\n\tfor (const issue of error.issues) {\n\t\t// Extract environment variable name from path or message\n\t\tlet envName = '';\n\t\tif (issue.path.length > 0) {\n\t\t\t// Join the full path with '.' to show nested config keys and env var name\n\t\t\tenvName = issue.path.map(String).join('.');\n\t\t} else {\n\t\t\t// Try to extract from message like 'Environment variable \"NAME\": ...'\n\t\t\tconst match = issue.message.match(/Environment variable \"([^\"]+)\"/);\n\t\t\tif (match?.[1]) {\n\t\t\t\tenvName = match[1];\n\t\t\t}\n\t\t}\n\n\t\t// Determine if this is a missing or invalid value\n\t\t// Use type guard for received property\n\t\tconst received = 'received' in issue ? issue.received : undefined;\n\t\tconst isMissing =\n\t\t\tissue.code === 'invalid_type' &&\n\t\t\t(received === 'undefined' || received === 'null');\n\n\t\tif (isMissing) {\n\t\t\tmissingVars.push({\n\t\t\t\tname: envName || 'Unknown',\n\t\t\t\tmessage: cleanMessage(issue.message),\n\t\t\t});\n\t\t} else {\n\t\t\tinvalidVars.push({\n\t\t\t\tname: envName || 'Unknown',\n\t\t\t\tvalue: received,\n\t\t\t\tmessage: cleanMessage(issue.message),\n\t\t\t});\n\t\t}\n\t}\n\n\tconst lines: string[] = [];\n\n\tlines.push('');\n\tlines.push(`${c.red}${c.bold}Environment Configuration Failed${c.reset}`);\n\tlines.push('');\n\n\tif (missingVars.length > 0) {\n\t\tlines.push(`${c.yellow}Missing Variables:${c.reset}`);\n\t\tfor (const v of missingVars) {\n\t\t\tlines.push(` ${c.cyan}${v.name}${c.reset} ${c.dim}- Required${c.reset}`);\n\t\t}\n\t\tlines.push('');\n\t}\n\n\tif (invalidVars.length > 0) {\n\t\tlines.push(`${c.yellow}Invalid Values:${c.reset}`);\n\t\tfor (const v of invalidVars) {\n\t\t\tconst valueStr =\n\t\t\t\tv.value !== undefined ? ` = ${JSON.stringify(v.value)}` : '';\n\t\t\tlines.push(` ${c.cyan}${v.name}${c.reset}${valueStr}`);\n\t\t\tlines.push(` ${c.dim}${v.message}${c.reset}`);\n\t\t}\n\t\tlines.push('');\n\t}\n\n\treturn lines.join('\\n');\n}\n\n/**\n * Cleans up a Zod error message by removing redundant prefixes.\n */\nfunction cleanMessage(message: string): string {\n\t// Remove \"Environment variable \"NAME\": \" prefix if present\n\treturn message.replace(/^Environment variable \"[^\"]+\": /, '');\n}\n\n/**\n * Checks if the current environment is development.\n */\nexport function isDevelopment(): boolean {\n\tconst nodeEnv = process.env.NODE_ENV?.toLowerCase();\n\treturn nodeEnv == null || nodeEnv === 'development' || nodeEnv === 'dev';\n}\n"],"mappings":";;;;;AAaA,MAAM,SAAS;CACd,OAAO;CACP,KAAK;CACL,QAAQ;CACR,MAAM;CACN,KAAK;CACL,MAAM;AACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCD,SAAgB,iBACfA,OACAC,UAAyB,CAAE,GAClB;CACT,MAAM,YACL,QAAQ,WAAW,QAAQ,QAAQ,SAAS,QAAQ,IAAI,YAAY;CAErE,MAAM,IAAI,YACP,SACA;EAAE,OAAO;EAAI,KAAK;EAAI,QAAQ;EAAI,MAAM;EAAI,KAAK;EAAI,MAAM;CAAI;CAElE,MAAMC,cAAwD,CAAE;CAChE,MAAMC,cACL,CAAE;AAEH,MAAK,MAAM,SAAS,MAAM,QAAQ;EAEjC,IAAI,UAAU;AACd,MAAI,MAAM,KAAK,SAAS,EAEvB,WAAU,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI;OACpC;GAEN,MAAM,QAAQ,MAAM,QAAQ,MAAM,iCAAiC;AACnE,OAAI,QAAQ,GACX,WAAU,MAAM;EAEjB;EAID,MAAM,WAAW,cAAc,QAAQ,MAAM;EAC7C,MAAM,YACL,MAAM,SAAS,mBACd,aAAa,eAAe,aAAa;AAE3C,MAAI,UACH,aAAY,KAAK;GAChB,MAAM,WAAW;GACjB,SAAS,aAAa,MAAM,QAAQ;EACpC,EAAC;MAEF,aAAY,KAAK;GAChB,MAAM,WAAW;GACjB,OAAO;GACP,SAAS,aAAa,MAAM,QAAQ;EACpC,EAAC;CAEH;CAED,MAAMC,QAAkB,CAAE;AAE1B,OAAM,KAAK,GAAG;AACd,OAAM,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,kCAAkC,EAAE,MAAM,EAAE;AACzE,OAAM,KAAK,GAAG;AAEd,KAAI,YAAY,SAAS,GAAG;AAC3B,QAAM,MAAM,EAAE,EAAE,OAAO,oBAAoB,EAAE,MAAM,EAAE;AACrD,OAAK,MAAM,KAAK,YACf,OAAM,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,YAAY,EAAE,MAAM,EAAE;AAE1E,QAAM,KAAK,GAAG;CACd;AAED,KAAI,YAAY,SAAS,GAAG;AAC3B,QAAM,MAAM,EAAE,EAAE,OAAO,iBAAiB,EAAE,MAAM,EAAE;AAClD,OAAK,MAAM,KAAK,aAAa;GAC5B,MAAM,WACL,EAAE,oBAAuB,KAAK,KAAK,UAAU,EAAE,MAAM,CAAC,IAAI;AAC3D,SAAM,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;AACvD,SAAM,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE;EAChD;AACD,QAAM,KAAK,GAAG;CACd;AAED,QAAO,MAAM,KAAK,KAAK;AACvB;;;;AAKD,SAAS,aAAaC,SAAyB;AAE9C,QAAO,QAAQ,QAAQ,mCAAmC,GAAG;AAC7D;;;;AAKD,SAAgB,gBAAyB;CACxC,MAAM,UAAU,QAAQ,IAAI,UAAU,aAAa;AACnD,QAAO,WAAW,QAAQ,YAAY,iBAAiB,YAAY;AACnE"}
|
package/dist/formatter.cjs
DELETED
package/dist/formatter.d.cts
DELETED
package/dist/formatter.d.mts
DELETED
package/dist/formatter.mjs
DELETED