ugly-app 0.1.328 → 0.1.330
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.330";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/dist/shared/Strings.d.ts
CHANGED
|
@@ -31,6 +31,14 @@ 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
42
|
export interface StringsDefInput<TLang extends string, TCriticalKeys extends readonly string[] = readonly []> {
|
|
35
43
|
/** Default / fallback language code (e.g. 'en') */
|
|
36
44
|
defaultLang: TLang;
|
|
@@ -43,7 +51,7 @@ export interface StringsDefInput<TLang extends string, TCriticalKeys extends rea
|
|
|
43
51
|
* Resolved definition returned by defineStrings().
|
|
44
52
|
* Phantom type fields preserve the full generic types for downstream extraction.
|
|
45
53
|
*/
|
|
46
|
-
export interface StringsDef<TTable extends
|
|
54
|
+
export interface StringsDef<TTable extends StringTableLike, TLang extends string, TCriticalKeys extends readonly string[] = readonly []> {
|
|
47
55
|
defaultLang: TLang;
|
|
48
56
|
langs: readonly TLang[];
|
|
49
57
|
criticalKeys: TCriticalKeys;
|
|
@@ -65,17 +73,17 @@ export interface StringsDef<TTable extends Record<string, string>, TLang extends
|
|
|
65
73
|
* });
|
|
66
74
|
* ```
|
|
67
75
|
*/
|
|
68
|
-
export declare function defineStrings<TTable extends
|
|
76
|
+
export declare function defineStrings<TTable extends StringTableLike, TLang extends string, TCriticalKeys extends readonly string[] = readonly []>(input: StringsDefInput<TLang, TCriticalKeys>): StringsDef<TTable, TLang, TCriticalKeys>;
|
|
69
77
|
/** Project table merged with built-in strings */
|
|
70
78
|
export type MergedStringTable<D extends StringsDef<any, any, any>> = D extends StringsDef<infer T, string, readonly string[]> ? T & BuiltinStringTable : never;
|
|
71
79
|
/** Language union from a StringsDef */
|
|
72
|
-
export type StringLang<D extends StringsDef<any, any, any>> = D extends StringsDef<
|
|
80
|
+
export type StringLang<D extends StringsDef<any, any, any>> = D extends StringsDef<StringTableLike, infer L, readonly string[]> ? L : never;
|
|
73
81
|
/** All valid string keys (project + built-in) */
|
|
74
82
|
export type StringKey<D extends StringsDef<any, any, any>> = keyof MergedStringTable<D> & string;
|
|
75
83
|
/**
|
|
76
84
|
* Extract only the critical-key subset from a full string table.
|
|
77
85
|
*/
|
|
78
|
-
export declare function extractCriticalStrings<T extends
|
|
86
|
+
export declare function extractCriticalStrings<T extends StringTableLike>(table: T, criticalKeys: readonly string[]): Partial<T>;
|
|
79
87
|
/**
|
|
80
88
|
* Resolve language from multiple sources with priority:
|
|
81
89
|
* 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,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,
|
|
1
|
+
{"version":3,"file":"Strings.d.ts","sourceRoot":"","sources":["../../src/shared/Strings.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAyEH;;;;;;;;;;;;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,KAAQ,EACR,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,MAAoB,CAAC;AAC9B,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.330";
|
package/src/shared/Strings.ts
CHANGED
|
@@ -35,6 +35,16 @@ export interface BuiltinStringTable {
|
|
|
35
35
|
ok: string;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
// ─── String table constraint ──────────────────────────────────────────────────
|
|
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 };
|
|
47
|
+
|
|
38
48
|
// ─── defineStrings() ──────────────────────────────────────────────────────────
|
|
39
49
|
|
|
40
50
|
export interface StringsDefInput<
|
|
@@ -54,7 +64,7 @@ export interface StringsDefInput<
|
|
|
54
64
|
* Phantom type fields preserve the full generic types for downstream extraction.
|
|
55
65
|
*/
|
|
56
66
|
export interface StringsDef<
|
|
57
|
-
TTable extends
|
|
67
|
+
TTable extends StringTableLike,
|
|
58
68
|
TLang extends string,
|
|
59
69
|
TCriticalKeys extends readonly string[] = readonly [],
|
|
60
70
|
> {
|
|
@@ -81,7 +91,7 @@ export interface StringsDef<
|
|
|
81
91
|
* ```
|
|
82
92
|
*/
|
|
83
93
|
export function defineStrings<
|
|
84
|
-
TTable extends
|
|
94
|
+
TTable extends StringTableLike,
|
|
85
95
|
TLang extends string,
|
|
86
96
|
TCriticalKeys extends readonly string[] = readonly [],
|
|
87
97
|
>(
|
|
@@ -106,7 +116,7 @@ export type MergedStringTable<D extends StringsDef<any, any, any>> =
|
|
|
106
116
|
/** Language union from a StringsDef */
|
|
107
117
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
118
|
export type StringLang<D extends StringsDef<any, any, any>> =
|
|
109
|
-
D extends StringsDef<
|
|
119
|
+
D extends StringsDef<StringTableLike, infer L, readonly string[]>
|
|
110
120
|
? L
|
|
111
121
|
: never;
|
|
112
122
|
|
|
@@ -120,7 +130,7 @@ export type StringKey<D extends StringsDef<any, any, any>> =
|
|
|
120
130
|
/**
|
|
121
131
|
* Extract only the critical-key subset from a full string table.
|
|
122
132
|
*/
|
|
123
|
-
export function extractCriticalStrings<T extends
|
|
133
|
+
export function extractCriticalStrings<T extends StringTableLike>(
|
|
124
134
|
table: T,
|
|
125
135
|
criticalKeys: readonly string[],
|
|
126
136
|
): Partial<T> {
|