ugly-app 0.1.330 → 0.1.331
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/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.331";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/dist/shared/Strings.d.ts
CHANGED
|
@@ -31,14 +31,7 @@ export interface BuiltinStringTable {
|
|
|
31
31
|
search: string;
|
|
32
32
|
ok: string;
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Accepts any object type where all values are strings.
|
|
36
|
-
* Unlike Record<string, string>, this works with TypeScript interfaces
|
|
37
|
-
* that don't have explicit index signatures.
|
|
38
|
-
*/
|
|
39
|
-
export type StringTableLike = {
|
|
40
|
-
[K in any]: string;
|
|
41
|
-
};
|
|
34
|
+
/** Constraint-free marker — we rely on phantom types, not runtime checks. */
|
|
42
35
|
export interface StringsDefInput<TLang extends string, TCriticalKeys extends readonly string[] = readonly []> {
|
|
43
36
|
/** Default / fallback language code (e.g. 'en') */
|
|
44
37
|
defaultLang: TLang;
|
|
@@ -51,7 +44,7 @@ export interface StringsDefInput<TLang extends string, TCriticalKeys extends rea
|
|
|
51
44
|
* Resolved definition returned by defineStrings().
|
|
52
45
|
* Phantom type fields preserve the full generic types for downstream extraction.
|
|
53
46
|
*/
|
|
54
|
-
export interface StringsDef<TTable extends
|
|
47
|
+
export interface StringsDef<TTable extends object, TLang extends string, TCriticalKeys extends readonly string[] = readonly []> {
|
|
55
48
|
defaultLang: TLang;
|
|
56
49
|
langs: readonly TLang[];
|
|
57
50
|
criticalKeys: TCriticalKeys;
|
|
@@ -73,17 +66,17 @@ export interface StringsDef<TTable extends StringTableLike, TLang extends string
|
|
|
73
66
|
* });
|
|
74
67
|
* ```
|
|
75
68
|
*/
|
|
76
|
-
export declare function defineStrings<TTable extends
|
|
69
|
+
export declare function defineStrings<TTable extends object, TLang extends string, TCriticalKeys extends readonly string[] = readonly []>(input: StringsDefInput<TLang, TCriticalKeys>): StringsDef<TTable, TLang, TCriticalKeys>;
|
|
77
70
|
/** Project table merged with built-in strings */
|
|
78
71
|
export type MergedStringTable<D extends StringsDef<any, any, any>> = D extends StringsDef<infer T, string, readonly string[]> ? T & BuiltinStringTable : never;
|
|
79
72
|
/** Language union from a StringsDef */
|
|
80
|
-
export type StringLang<D extends StringsDef<any, any, any>> = D extends StringsDef<
|
|
73
|
+
export type StringLang<D extends StringsDef<any, any, any>> = D extends StringsDef<object, infer L, readonly string[]> ? L : never;
|
|
81
74
|
/** All valid string keys (project + built-in) */
|
|
82
75
|
export type StringKey<D extends StringsDef<any, any, any>> = keyof MergedStringTable<D> & string;
|
|
83
76
|
/**
|
|
84
77
|
* Extract only the critical-key subset from a full string table.
|
|
85
78
|
*/
|
|
86
|
-
export declare function extractCriticalStrings
|
|
79
|
+
export declare function extractCriticalStrings(table: Record<string, string>, criticalKeys: readonly string[]): Record<string, string>;
|
|
87
80
|
/**
|
|
88
81
|
* Resolve language from multiple sources with priority:
|
|
89
82
|
* 1. User setting (from database)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.d.ts","sourceRoot":"","sources":["../../src/shared/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAID
|
|
1
|
+
{"version":3,"file":"Strings.d.ts","sourceRoot":"","sources":["../../src/shared/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAID,6EAA6E;AAI7E,MAAM,WAAW,eAAe,CAC9B,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE;IAErD,mDAAmD;IACnD,WAAW,EAAE,KAAK,CAAC;IACnB,mCAAmC;IACnC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACxB,yDAAyD;IACzD,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,MAAM,SAAS,MAAM,EACrB,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE;IAErD,WAAW,EAAE,KAAK,CAAC;IACnB,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,MAAM,SAAS,MAAM,EACrB,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,EAErD,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,GAC3C,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAM1C;AAID,iDAAiD;AAEjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC/D,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GACpD,CAAC,GAAG,kBAAkB,GACtB,KAAK,CAAC;AAEZ,uCAAuC;AAEvC,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACxD,CAAC,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,GACpD,CAAC,GACD,KAAK,CAAC;AAEZ,iDAAiD;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACvD,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAItC;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAClD,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,cAAc,EAAE,SAAS,KAAK,EAAE,EAChC,WAAW,EAAE,KAAK,GACjB,KAAK,CAmCP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../src/shared/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../src/shared/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAK3B,KAA4C;IAE5C,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAA6B;KACzB,CAAC;AAChD,CAAC;AAuBD,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA6B,EAC7B,YAA+B;IAE/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAmC,EACnC,UAAqC,EACrC,cAAyC,EACzC,cAAgC,EAChC,WAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;IAElD,kBAAkB;IAClB,IAAI,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,QAAiB,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,IAAI,UAAU,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAmB,CAAC;IAC7B,CAAC;IAED,4BAA4B;IAC5B,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,cAAc;aAC1B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,SAAkB,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;IACb,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/package.json
CHANGED
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.331";
|
package/src/shared/Strings.ts
CHANGED
|
@@ -37,13 +37,7 @@ export interface BuiltinStringTable {
|
|
|
37
37
|
|
|
38
38
|
// ─── String table constraint ──────────────────────────────────────────────────
|
|
39
39
|
|
|
40
|
-
/**
|
|
41
|
-
* Accepts any object type where all values are strings.
|
|
42
|
-
* Unlike Record<string, string>, this works with TypeScript interfaces
|
|
43
|
-
* that don't have explicit index signatures.
|
|
44
|
-
*/
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
export type StringTableLike = { [K in any]: string };
|
|
40
|
+
/** Constraint-free marker — we rely on phantom types, not runtime checks. */
|
|
47
41
|
|
|
48
42
|
// ─── defineStrings() ──────────────────────────────────────────────────────────
|
|
49
43
|
|
|
@@ -64,7 +58,7 @@ export interface StringsDefInput<
|
|
|
64
58
|
* Phantom type fields preserve the full generic types for downstream extraction.
|
|
65
59
|
*/
|
|
66
60
|
export interface StringsDef<
|
|
67
|
-
TTable extends
|
|
61
|
+
TTable extends object,
|
|
68
62
|
TLang extends string,
|
|
69
63
|
TCriticalKeys extends readonly string[] = readonly [],
|
|
70
64
|
> {
|
|
@@ -91,7 +85,7 @@ export interface StringsDef<
|
|
|
91
85
|
* ```
|
|
92
86
|
*/
|
|
93
87
|
export function defineStrings<
|
|
94
|
-
TTable extends
|
|
88
|
+
TTable extends object,
|
|
95
89
|
TLang extends string,
|
|
96
90
|
TCriticalKeys extends readonly string[] = readonly [],
|
|
97
91
|
>(
|
|
@@ -116,7 +110,7 @@ export type MergedStringTable<D extends StringsDef<any, any, any>> =
|
|
|
116
110
|
/** Language union from a StringsDef */
|
|
117
111
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
112
|
export type StringLang<D extends StringsDef<any, any, any>> =
|
|
119
|
-
D extends StringsDef<
|
|
113
|
+
D extends StringsDef<object, infer L, readonly string[]>
|
|
120
114
|
? L
|
|
121
115
|
: never;
|
|
122
116
|
|
|
@@ -130,17 +124,17 @@ export type StringKey<D extends StringsDef<any, any, any>> =
|
|
|
130
124
|
/**
|
|
131
125
|
* Extract only the critical-key subset from a full string table.
|
|
132
126
|
*/
|
|
133
|
-
export function extractCriticalStrings
|
|
134
|
-
table:
|
|
127
|
+
export function extractCriticalStrings(
|
|
128
|
+
table: Record<string, string>,
|
|
135
129
|
criticalKeys: readonly string[],
|
|
136
|
-
):
|
|
130
|
+
): Record<string, string> {
|
|
137
131
|
const result: Record<string, string> = {};
|
|
138
132
|
for (const key of criticalKeys) {
|
|
139
133
|
if (key in table) {
|
|
140
134
|
result[key] = table[key];
|
|
141
135
|
}
|
|
142
136
|
}
|
|
143
|
-
return result
|
|
137
|
+
return result;
|
|
144
138
|
}
|
|
145
139
|
|
|
146
140
|
/**
|