@remnawave/subscription-page-types 0.1.6 → 0.1.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,11 +1,416 @@
1
1
  import { z } from 'zod';
2
2
  import { TLanguageCode } from '../../constants';
3
3
  export declare const LocalizedTextSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
4
+ declare const SvgLibrarySchema: z.ZodRecord<z.ZodString, z.ZodString>;
5
+ declare const ButtonSchema: z.ZodObject<{
6
+ link: z.ZodString;
7
+ type: z.ZodNativeEnum<{
8
+ readonly EXTERNAL: "external";
9
+ readonly SUBSCRIPTION_LINK: "subscriptionLink";
10
+ }>;
11
+ text: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
12
+ svgIconKey: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ type: "external" | "subscriptionLink";
15
+ svgIconKey: string;
16
+ link: string;
17
+ text: Record<string, string>;
18
+ }, {
19
+ type: "external" | "subscriptionLink";
20
+ svgIconKey: string;
21
+ link: string;
22
+ text: Record<string, string>;
23
+ }>;
24
+ declare const BlockSchema: z.ZodObject<{
25
+ svgIconKey: z.ZodString;
26
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
27
+ title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
28
+ description: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
29
+ buttons: z.ZodArray<z.ZodObject<{
30
+ link: z.ZodString;
31
+ type: z.ZodNativeEnum<{
32
+ readonly EXTERNAL: "external";
33
+ readonly SUBSCRIPTION_LINK: "subscriptionLink";
34
+ }>;
35
+ text: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
36
+ svgIconKey: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ type: "external" | "subscriptionLink";
39
+ svgIconKey: string;
40
+ link: string;
41
+ text: Record<string, string>;
42
+ }, {
43
+ type: "external" | "subscriptionLink";
44
+ svgIconKey: string;
45
+ link: string;
46
+ text: Record<string, string>;
47
+ }>, "many">;
48
+ }, "strip", z.ZodTypeAny, {
49
+ svgIconKey: string;
50
+ svgIconColor: string;
51
+ title: Record<string, string>;
52
+ description: Record<string, string>;
53
+ buttons: {
54
+ type: "external" | "subscriptionLink";
55
+ svgIconKey: string;
56
+ link: string;
57
+ text: Record<string, string>;
58
+ }[];
59
+ }, {
60
+ svgIconKey: string;
61
+ svgIconColor: string;
62
+ title: Record<string, string>;
63
+ description: Record<string, string>;
64
+ buttons: {
65
+ type: "external" | "subscriptionLink";
66
+ svgIconKey: string;
67
+ link: string;
68
+ text: Record<string, string>;
69
+ }[];
70
+ }>;
71
+ declare const PlatformAppSchema: z.ZodObject<{
72
+ name: z.ZodString;
73
+ svgIconKey: z.ZodOptional<z.ZodString>;
74
+ featured: z.ZodBoolean;
75
+ blocks: z.ZodArray<z.ZodObject<{
76
+ svgIconKey: z.ZodString;
77
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
78
+ title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
79
+ description: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
80
+ buttons: z.ZodArray<z.ZodObject<{
81
+ link: z.ZodString;
82
+ type: z.ZodNativeEnum<{
83
+ readonly EXTERNAL: "external";
84
+ readonly SUBSCRIPTION_LINK: "subscriptionLink";
85
+ }>;
86
+ text: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
87
+ svgIconKey: z.ZodString;
88
+ }, "strip", z.ZodTypeAny, {
89
+ type: "external" | "subscriptionLink";
90
+ svgIconKey: string;
91
+ link: string;
92
+ text: Record<string, string>;
93
+ }, {
94
+ type: "external" | "subscriptionLink";
95
+ svgIconKey: string;
96
+ link: string;
97
+ text: Record<string, string>;
98
+ }>, "many">;
99
+ }, "strip", z.ZodTypeAny, {
100
+ svgIconKey: string;
101
+ svgIconColor: string;
102
+ title: Record<string, string>;
103
+ description: Record<string, string>;
104
+ buttons: {
105
+ type: "external" | "subscriptionLink";
106
+ svgIconKey: string;
107
+ link: string;
108
+ text: Record<string, string>;
109
+ }[];
110
+ }, {
111
+ svgIconKey: string;
112
+ svgIconColor: string;
113
+ title: Record<string, string>;
114
+ description: Record<string, string>;
115
+ buttons: {
116
+ type: "external" | "subscriptionLink";
117
+ svgIconKey: string;
118
+ link: string;
119
+ text: Record<string, string>;
120
+ }[];
121
+ }>, "many">;
122
+ }, "strip", z.ZodTypeAny, {
123
+ name: string;
124
+ featured: boolean;
125
+ blocks: {
126
+ svgIconKey: string;
127
+ svgIconColor: string;
128
+ title: Record<string, string>;
129
+ description: Record<string, string>;
130
+ buttons: {
131
+ type: "external" | "subscriptionLink";
132
+ svgIconKey: string;
133
+ link: string;
134
+ text: Record<string, string>;
135
+ }[];
136
+ }[];
137
+ svgIconKey?: string | undefined;
138
+ }, {
139
+ name: string;
140
+ featured: boolean;
141
+ blocks: {
142
+ svgIconKey: string;
143
+ svgIconColor: string;
144
+ title: Record<string, string>;
145
+ description: Record<string, string>;
146
+ buttons: {
147
+ type: "external" | "subscriptionLink";
148
+ svgIconKey: string;
149
+ link: string;
150
+ text: Record<string, string>;
151
+ }[];
152
+ }[];
153
+ svgIconKey?: string | undefined;
154
+ }>;
155
+ declare const PlatformSchema: z.ZodObject<{
156
+ displayName: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
157
+ svgIconKey: z.ZodString;
158
+ apps: z.ZodArray<z.ZodObject<{
159
+ name: z.ZodString;
160
+ svgIconKey: z.ZodOptional<z.ZodString>;
161
+ featured: z.ZodBoolean;
162
+ blocks: z.ZodArray<z.ZodObject<{
163
+ svgIconKey: z.ZodString;
164
+ svgIconColor: z.ZodEffects<z.ZodString, string, string>;
165
+ title: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
166
+ description: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
167
+ buttons: z.ZodArray<z.ZodObject<{
168
+ link: z.ZodString;
169
+ type: z.ZodNativeEnum<{
170
+ readonly EXTERNAL: "external";
171
+ readonly SUBSCRIPTION_LINK: "subscriptionLink";
172
+ }>;
173
+ text: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
174
+ svgIconKey: z.ZodString;
175
+ }, "strip", z.ZodTypeAny, {
176
+ type: "external" | "subscriptionLink";
177
+ svgIconKey: string;
178
+ link: string;
179
+ text: Record<string, string>;
180
+ }, {
181
+ type: "external" | "subscriptionLink";
182
+ svgIconKey: string;
183
+ link: string;
184
+ text: Record<string, string>;
185
+ }>, "many">;
186
+ }, "strip", z.ZodTypeAny, {
187
+ svgIconKey: string;
188
+ svgIconColor: string;
189
+ title: Record<string, string>;
190
+ description: Record<string, string>;
191
+ buttons: {
192
+ type: "external" | "subscriptionLink";
193
+ svgIconKey: string;
194
+ link: string;
195
+ text: Record<string, string>;
196
+ }[];
197
+ }, {
198
+ svgIconKey: string;
199
+ svgIconColor: string;
200
+ title: Record<string, string>;
201
+ description: Record<string, string>;
202
+ buttons: {
203
+ type: "external" | "subscriptionLink";
204
+ svgIconKey: string;
205
+ link: string;
206
+ text: Record<string, string>;
207
+ }[];
208
+ }>, "many">;
209
+ }, "strip", z.ZodTypeAny, {
210
+ name: string;
211
+ featured: boolean;
212
+ blocks: {
213
+ svgIconKey: string;
214
+ svgIconColor: string;
215
+ title: Record<string, string>;
216
+ description: Record<string, string>;
217
+ buttons: {
218
+ type: "external" | "subscriptionLink";
219
+ svgIconKey: string;
220
+ link: string;
221
+ text: Record<string, string>;
222
+ }[];
223
+ }[];
224
+ svgIconKey?: string | undefined;
225
+ }, {
226
+ name: string;
227
+ featured: boolean;
228
+ blocks: {
229
+ svgIconKey: string;
230
+ svgIconColor: string;
231
+ title: Record<string, string>;
232
+ description: Record<string, string>;
233
+ buttons: {
234
+ type: "external" | "subscriptionLink";
235
+ svgIconKey: string;
236
+ link: string;
237
+ text: Record<string, string>;
238
+ }[];
239
+ }[];
240
+ svgIconKey?: string | undefined;
241
+ }>, "many">;
242
+ }, "strip", z.ZodTypeAny, {
243
+ svgIconKey: string;
244
+ displayName: Record<string, string>;
245
+ apps: {
246
+ name: string;
247
+ featured: boolean;
248
+ blocks: {
249
+ svgIconKey: string;
250
+ svgIconColor: string;
251
+ title: Record<string, string>;
252
+ description: Record<string, string>;
253
+ buttons: {
254
+ type: "external" | "subscriptionLink";
255
+ svgIconKey: string;
256
+ link: string;
257
+ text: Record<string, string>;
258
+ }[];
259
+ }[];
260
+ svgIconKey?: string | undefined;
261
+ }[];
262
+ }, {
263
+ svgIconKey: string;
264
+ displayName: Record<string, string>;
265
+ apps: {
266
+ name: string;
267
+ featured: boolean;
268
+ blocks: {
269
+ svgIconKey: string;
270
+ svgIconColor: string;
271
+ title: Record<string, string>;
272
+ description: Record<string, string>;
273
+ buttons: {
274
+ type: "external" | "subscriptionLink";
275
+ svgIconKey: string;
276
+ link: string;
277
+ text: Record<string, string>;
278
+ }[];
279
+ }[];
280
+ svgIconKey?: string | undefined;
281
+ }[];
282
+ }>;
283
+ declare const BrandingSettingsSchema: z.ZodObject<{
284
+ title: z.ZodString;
285
+ logoUrl: z.ZodString;
286
+ supportUrl: z.ZodString;
287
+ }, "strip", z.ZodTypeAny, {
288
+ title: string;
289
+ logoUrl: string;
290
+ supportUrl: string;
291
+ }, {
292
+ title: string;
293
+ logoUrl: string;
294
+ supportUrl: string;
295
+ }>;
296
+ declare const UiConfigSchema: z.ZodObject<{
297
+ subscriptionInfo: z.ZodObject<{
298
+ block: z.ZodNativeEnum<{
299
+ readonly COLLAPSED: "collapsed";
300
+ readonly EXPANDED: "expanded";
301
+ readonly CARDS: "cards";
302
+ readonly HIDDEN: "hidden";
303
+ }>;
304
+ }, "strip", z.ZodTypeAny, {
305
+ block: "cards" | "collapsed" | "expanded" | "hidden";
306
+ }, {
307
+ block: "cards" | "collapsed" | "expanded" | "hidden";
308
+ }>;
309
+ installationGuides: z.ZodObject<{
310
+ block: z.ZodDefault<z.ZodNativeEnum<{
311
+ readonly CARDS: "cards";
312
+ readonly ACCORDION: "accordion";
313
+ readonly MINIMAL: "minimal";
314
+ readonly TIMELINE: "timeline";
315
+ }>>;
316
+ headerText: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
317
+ }, "strip", z.ZodTypeAny, {
318
+ block: "cards" | "accordion" | "minimal" | "timeline";
319
+ headerText: Record<string, string>;
320
+ }, {
321
+ headerText: Record<string, string>;
322
+ block?: "cards" | "accordion" | "minimal" | "timeline" | undefined;
323
+ }>;
324
+ connectionKeys: z.ZodObject<{
325
+ headerText: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ headerText: Record<string, string>;
328
+ }, {
329
+ headerText: Record<string, string>;
330
+ }>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ subscriptionInfo: {
333
+ block: "cards" | "collapsed" | "expanded" | "hidden";
334
+ };
335
+ installationGuides: {
336
+ block: "cards" | "accordion" | "minimal" | "timeline";
337
+ headerText: Record<string, string>;
338
+ };
339
+ connectionKeys: {
340
+ headerText: Record<string, string>;
341
+ };
342
+ }, {
343
+ subscriptionInfo: {
344
+ block: "cards" | "collapsed" | "expanded" | "hidden";
345
+ };
346
+ installationGuides: {
347
+ headerText: Record<string, string>;
348
+ block?: "cards" | "accordion" | "minimal" | "timeline" | undefined;
349
+ };
350
+ connectionKeys: {
351
+ headerText: Record<string, string>;
352
+ };
353
+ }>;
354
+ declare const SubscriptionPageTranslateKeysSchema: z.ZodObject<{
355
+ linkCopied: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
356
+ linkCopiedToClipboard: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
357
+ getLink: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
358
+ scanQrCode: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
359
+ scanQrCodeDescription: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
360
+ copyLink: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
361
+ name: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
362
+ status: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
363
+ active: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
364
+ inactive: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
365
+ expires: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
366
+ bandwidth: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
367
+ scanToImport: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
368
+ expiresIn: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
369
+ expired: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
370
+ unknown: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
371
+ indefinitely: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
372
+ }, "strip", z.ZodTypeAny, {
373
+ unknown: Record<string, string>;
374
+ status: Record<string, string>;
375
+ name: Record<string, string>;
376
+ linkCopied: Record<string, string>;
377
+ linkCopiedToClipboard: Record<string, string>;
378
+ getLink: Record<string, string>;
379
+ scanQrCode: Record<string, string>;
380
+ scanQrCodeDescription: Record<string, string>;
381
+ copyLink: Record<string, string>;
382
+ active: Record<string, string>;
383
+ inactive: Record<string, string>;
384
+ expires: Record<string, string>;
385
+ bandwidth: Record<string, string>;
386
+ scanToImport: Record<string, string>;
387
+ expiresIn: Record<string, string>;
388
+ expired: Record<string, string>;
389
+ indefinitely: Record<string, string>;
390
+ }, {
391
+ unknown: Record<string, string>;
392
+ status: Record<string, string>;
393
+ name: Record<string, string>;
394
+ linkCopied: Record<string, string>;
395
+ linkCopiedToClipboard: Record<string, string>;
396
+ getLink: Record<string, string>;
397
+ scanQrCode: Record<string, string>;
398
+ scanQrCodeDescription: Record<string, string>;
399
+ copyLink: Record<string, string>;
400
+ active: Record<string, string>;
401
+ inactive: Record<string, string>;
402
+ expires: Record<string, string>;
403
+ bandwidth: Record<string, string>;
404
+ scanToImport: Record<string, string>;
405
+ expiresIn: Record<string, string>;
406
+ expired: Record<string, string>;
407
+ indefinitely: Record<string, string>;
408
+ }>;
4
409
  export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
5
410
  version: z.ZodNativeEnum<{
6
411
  readonly 1: "1";
7
412
  }>;
8
- locales: z.ZodArray<z.ZodString, "many">;
413
+ locales: z.ZodArray<z.ZodEnum<["aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu", ...("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[]]>, "many">;
9
414
  brandingSettings: z.ZodObject<{
10
415
  title: z.ZodString;
11
416
  logoUrl: z.ZodString;
@@ -270,7 +675,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
270
675
  }[];
271
676
  }>>;
272
677
  }, "strip", z.ZodTypeAny, {
273
- locales: string[];
274
678
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
275
679
  svgIconKey: string;
276
680
  displayName: Record<string, string>;
@@ -305,6 +709,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
305
709
  };
306
710
  };
307
711
  version: "1";
712
+ locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
308
713
  brandingSettings: {
309
714
  title: string;
310
715
  logoUrl: string;
@@ -331,7 +736,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
331
736
  };
332
737
  svgLibrary: Record<string, string>;
333
738
  }, {
334
- locales: string[];
335
739
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
336
740
  svgIconKey: string;
337
741
  displayName: Record<string, string>;
@@ -366,6 +770,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
366
770
  };
367
771
  };
368
772
  version: "1";
773
+ locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
369
774
  brandingSettings: {
370
775
  title: string;
371
776
  logoUrl: string;
@@ -392,7 +797,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
392
797
  };
393
798
  svgLibrary: Record<string, string>;
394
799
  }>, {
395
- locales: string[];
396
800
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
397
801
  svgIconKey: string;
398
802
  displayName: Record<string, string>;
@@ -427,6 +831,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
427
831
  };
428
832
  };
429
833
  version: "1";
834
+ locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
430
835
  brandingSettings: {
431
836
  title: string;
432
837
  logoUrl: string;
@@ -453,7 +858,6 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
453
858
  };
454
859
  svgLibrary: Record<string, string>;
455
860
  }, {
456
- locales: string[];
457
861
  platforms: Partial<Record<"ios" | "android" | "linux" | "macos" | "windows" | "androidTV" | "appleTV", {
458
862
  svgIconKey: string;
459
863
  displayName: Record<string, string>;
@@ -488,6 +892,7 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
488
892
  };
489
893
  };
490
894
  version: "1";
895
+ locales: ("aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu")[];
491
896
  brandingSettings: {
492
897
  title: string;
493
898
  logoUrl: string;
@@ -514,80 +919,18 @@ export declare const SubscriptionPageRawConfigSchema: z.ZodEffects<z.ZodObject<{
514
919
  };
515
920
  svgLibrary: Record<string, string>;
516
921
  }>;
517
- import { TButtonType, TSubscriptionInfoBlockVariant, TInstallationGuideBlockVariant } from '../../constants';
518
- /** Локализованный текст: ключ = код языка, значение = перевод */
519
- export type TSubscriptionPageLocalizedText = Partial<Record<TLanguageCode, string>>;
520
- export type TSubscriptionPageSvgLibrary = Record<string, string>;
521
- export interface TSubscriptionPageButtonConfig {
522
- link: string;
523
- type: TButtonType;
524
- text: TSubscriptionPageLocalizedText;
525
- svgIconKey: string;
526
- }
527
- export interface TSubscriptionPageBlockConfig {
528
- svgIconKey: string;
529
- svgIconColor: string;
530
- title: TSubscriptionPageLocalizedText;
531
- description: TSubscriptionPageLocalizedText;
532
- buttons: TSubscriptionPageButtonConfig[];
533
- }
534
- export interface TSubscriptionPageAppConfig {
535
- name: string;
536
- svgIconKey?: string;
537
- featured: boolean;
538
- blocks: TSubscriptionPageBlockConfig[];
539
- }
540
- export interface TSubscriptionPagePlatformSchema {
541
- displayName: TSubscriptionPageLocalizedText;
542
- svgIconKey: string;
543
- apps: TSubscriptionPageAppConfig[];
544
- }
545
- export interface TSubscriptionPageBrandingSettings {
546
- title: string;
547
- logoUrl: string;
548
- supportUrl: string;
549
- }
550
- export interface TSubscriptionPageUiConfig {
551
- subscriptionInfo: {
552
- block: TSubscriptionInfoBlockVariant;
553
- };
554
- installationGuides: {
555
- block: TInstallationGuideBlockVariant;
556
- headerText: TSubscriptionPageLocalizedText;
557
- };
558
- connectionKeys: {
559
- headerText: TSubscriptionPageLocalizedText;
560
- };
561
- }
562
- export interface TSubscriptionPageTranslateKeys {
563
- linkCopied: TSubscriptionPageLocalizedText;
564
- linkCopiedToClipboard: TSubscriptionPageLocalizedText;
565
- getLink: TSubscriptionPageLocalizedText;
566
- scanQrCode: TSubscriptionPageLocalizedText;
567
- scanQrCodeDescription: TSubscriptionPageLocalizedText;
568
- copyLink: TSubscriptionPageLocalizedText;
569
- name: TSubscriptionPageLocalizedText;
570
- status: TSubscriptionPageLocalizedText;
571
- active: TSubscriptionPageLocalizedText;
572
- inactive: TSubscriptionPageLocalizedText;
573
- expires: TSubscriptionPageLocalizedText;
574
- bandwidth: TSubscriptionPageLocalizedText;
575
- scanToImport: TSubscriptionPageLocalizedText;
576
- expiresIn: TSubscriptionPageLocalizedText;
577
- expired: TSubscriptionPageLocalizedText;
578
- unknown: TSubscriptionPageLocalizedText;
579
- indefinitely: TSubscriptionPageLocalizedText;
580
- }
581
- export type TSubscriptionPagePlatformType = 'ios' | 'android' | 'linux' | 'macos' | 'windows' | 'androidTV' | 'appleTV';
582
- export interface TSubscriptionPageRawConfig {
583
- version: '1';
584
- locales: TLanguageCode[];
585
- brandingSettings: TSubscriptionPageBrandingSettings;
586
- uiConfig: TSubscriptionPageUiConfig;
587
- baseTranslations: TSubscriptionPageTranslateKeys;
588
- svgLibrary: TSubscriptionPageSvgLibrary;
589
- platforms: Partial<Record<TSubscriptionPagePlatformType, TSubscriptionPagePlatformSchema>>;
590
- }
591
- export type TSubscriptionPagePlatformKey = TSubscriptionPagePlatformType;
922
+ export type TSubscriptionPageSvgLibrary = z.infer<typeof SvgLibrarySchema>;
923
+ export type TSubscriptionPageRawConfig = z.infer<typeof SubscriptionPageRawConfigSchema>;
924
+ export type TSubscriptionPageBrandingSettings = z.infer<typeof BrandingSettingsSchema>;
925
+ export type TSubscriptionPagePlatformSchema = z.infer<typeof PlatformSchema>;
926
+ export type TSubscriptionPagePlatformKey = keyof TSubscriptionPageRawConfig['platforms'];
927
+ export type TSubscriptionPageAppConfig = z.infer<typeof PlatformAppSchema>;
928
+ export type TSubscriptionPageBlockConfig = z.infer<typeof BlockSchema>;
929
+ export type TSubscriptionPageButtonConfig = z.infer<typeof ButtonSchema>;
930
+ export type TSubscriptionPageLocalizedText = z.infer<typeof LocalizedTextSchema>;
931
+ export type TSubscriptionPageUiConfig = z.infer<typeof UiConfigSchema>;
932
+ export type TSubscriptionPageTranslateKeys = z.infer<typeof SubscriptionPageTranslateKeysSchema>;
592
933
  export type TSubscriptionPageLocale = TLanguageCode;
934
+ export type TSubscriptionPageBaseTranslationKeys = keyof TSubscriptionPageTranslateKeys;
935
+ export {};
593
936
  //# sourceMappingURL=subscription-page-config.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-page-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.schema.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,8 @@ exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
6
  const subscription_page_config_validator_1 = require("./subscription-page-config.validator");
7
- // Используем z.string() вместо z.enum() для уменьшения размера .d.ts
8
- // Валидация языковых кодов происходит в superRefine
9
7
  exports.LocalizedTextSchema = zod_1.z
10
- .record(zod_1.z.string(), zod_1.z.string())
8
+ .record(zod_1.z.string().regex(/^[a-z]{2}$/, 'Language code must be 2 lowercase letters'), zod_1.z.string())
11
9
  .refine((obj) => Object.keys(obj).length > 0, {
12
10
  message: 'At least one language must be specified',
13
11
  });
@@ -96,7 +94,7 @@ const SubscriptionPageTranslateKeysSchema = zod_1.z.object({
96
94
  exports.SubscriptionPageRawConfigSchema = zod_1.z
97
95
  .object({
98
96
  version: zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_VERSION),
99
- locales: zod_1.z.array(zod_1.z.string()).min(1, 'At least one locale must be specified'),
97
+ locales: zod_1.z.array(zod_1.z.enum(constants_1.LANGUAGE_CODES)).min(1, 'At least one locale must be specified'),
100
98
  brandingSettings: BrandingSettingsSchema,
101
99
  uiConfig: UiConfigSchema,
102
100
  baseTranslations: SubscriptionPageTranslateKeysSchema,
@@ -104,7 +102,6 @@ exports.SubscriptionPageRawConfigSchema = zod_1.z
104
102
  platforms: zod_1.z.record(zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES), PlatformSchema),
105
103
  })
106
104
  .superRefine((data, ctx) => {
107
- (0, subscription_page_config_validator_1.validateLocales)(data.locales, ctx);
108
105
  (0, subscription_page_config_validator_1.validateLocalizedTexts)(data, data.locales, ctx);
109
106
  (0, subscription_page_config_validator_1.validateSvgReferences)(data, ctx);
110
107
  });
@@ -1,16 +1,13 @@
1
1
  import { z } from 'zod';
2
- /**
3
- * Валидирует что все локали являются валидными языковыми кодами
4
- */
5
- export declare const validateLocales: (locales: string[], ctx: z.RefinementCtx) => void;
2
+ import { TLanguageCode } from '../../constants';
6
3
  /**
7
4
  * Валидирует что все обязательные локали присутствуют в LocalizedText полях
8
5
  */
9
6
  export declare const validateLocalizedTexts: (data: {
10
- locales: string[];
7
+ locales: TLanguageCode[];
11
8
  platforms: Record<string, unknown>;
12
9
  uiConfig: unknown;
13
- }, requiredLocales: string[], ctx: z.RefinementCtx) => void;
10
+ }, requiredLocales: TLanguageCode[], ctx: z.RefinementCtx) => void;
14
11
  /**
15
12
  * Валидирует что все svgIconKey ссылаются на существующие ключи в svgLibrary
16
13
  */
@@ -24,5 +21,5 @@ export declare const validateSvgReferences: (data: {
24
21
  * - Делает trim() всем строкам
25
22
  * - Удаляет пустые значения
26
23
  */
27
- export declare const cleanLocalizedTexts: <T>(obj: T, activeLocales: string[]) => T;
24
+ export declare const cleanLocalizedTexts: <T>(obj: T, activeLocales: TLanguageCode[]) => T;
28
25
  //# sourceMappingURL=subscription-page-config.validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-page-config.validator.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,aAAa,KAAG,IAUzE,CAAC;AAoBF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAC/B,MAAM;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EAClF,iBAAiB,MAAM,EAAE,EACzB,KAAK,CAAC,CAAC,aAAa,KACrB,IAoCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAC9B,MAAM;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAChF,KAAK,CAAC,CAAC,aAAa,KACrB,IA2BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,MAAM,EAAE,KAAG,CA2BxE,CAAC"}
1
+ {"version":3,"file":"subscription-page-config.validator.d.ts","sourceRoot":"","sources":["../../../../models/subscription-page-config/subscription-page-config.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAoBhE;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAC/B,MAAM;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EACzF,iBAAiB,aAAa,EAAE,EAChC,KAAK,CAAC,CAAC,aAAa,KACrB,IAoCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAC9B,MAAM;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAChF,KAAK,CAAC,CAAC,aAAa,KACrB,IA2BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,aAAa,EAAE,KAAG,CA2B/E,CAAC"}
@@ -1,23 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = exports.validateLocales = void 0;
3
+ exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
- /**
7
- * Валидирует что все локали являются валидными языковыми кодами
8
- */
9
- const validateLocales = (locales, ctx) => {
10
- for (let i = 0; i < locales.length; i++) {
11
- if (!(0, constants_1.isLanguageCode)(locales[i])) {
12
- ctx.addIssue({
13
- code: zod_1.z.ZodIssueCode.custom,
14
- message: `Invalid language code '${locales[i]}' at locales[${i}]`,
15
- path: ['locales', i],
16
- });
17
- }
18
- }
19
- };
20
- exports.validateLocales = validateLocales;
21
6
  /**
22
7
  * Проверяет что LocalizedText объект является таковым
23
8
  * LocalizedText - это объект где ключи это языковые коды, а значения - строки
@@ -4,10 +4,8 @@ exports.SubscriptionPageRawConfigSchema = exports.LocalizedTextSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
6
  const subscription_page_config_validator_1 = require("./subscription-page-config.validator");
7
- // Используем z.string() вместо z.enum() для уменьшения размера .d.ts
8
- // Валидация языковых кодов происходит в superRefine
9
7
  exports.LocalizedTextSchema = zod_1.z
10
- .record(zod_1.z.string(), zod_1.z.string())
8
+ .record(zod_1.z.string().regex(/^[a-z]{2}$/, 'Language code must be 2 lowercase letters'), zod_1.z.string())
11
9
  .refine((obj) => Object.keys(obj).length > 0, {
12
10
  message: 'At least one language must be specified',
13
11
  });
@@ -96,7 +94,7 @@ const SubscriptionPageTranslateKeysSchema = zod_1.z.object({
96
94
  exports.SubscriptionPageRawConfigSchema = zod_1.z
97
95
  .object({
98
96
  version: zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_VERSION),
99
- locales: zod_1.z.array(zod_1.z.string()).min(1, 'At least one locale must be specified'),
97
+ locales: zod_1.z.array(zod_1.z.enum(constants_1.LANGUAGE_CODES)).min(1, 'At least one locale must be specified'),
100
98
  brandingSettings: BrandingSettingsSchema,
101
99
  uiConfig: UiConfigSchema,
102
100
  baseTranslations: SubscriptionPageTranslateKeysSchema,
@@ -104,7 +102,6 @@ exports.SubscriptionPageRawConfigSchema = zod_1.z
104
102
  platforms: zod_1.z.record(zod_1.z.nativeEnum(constants_1.SUBSCRIPTION_PAGE_CONFIG_PLATFORM_TYPES), PlatformSchema),
105
103
  })
106
104
  .superRefine((data, ctx) => {
107
- (0, subscription_page_config_validator_1.validateLocales)(data.locales, ctx);
108
105
  (0, subscription_page_config_validator_1.validateLocalizedTexts)(data, data.locales, ctx);
109
106
  (0, subscription_page_config_validator_1.validateSvgReferences)(data, ctx);
110
107
  });
@@ -1,23 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = exports.validateLocales = void 0;
3
+ exports.cleanLocalizedTexts = exports.validateSvgReferences = exports.validateLocalizedTexts = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../../constants");
6
- /**
7
- * Валидирует что все локали являются валидными языковыми кодами
8
- */
9
- const validateLocales = (locales, ctx) => {
10
- for (let i = 0; i < locales.length; i++) {
11
- if (!(0, constants_1.isLanguageCode)(locales[i])) {
12
- ctx.addIssue({
13
- code: zod_1.z.ZodIssueCode.custom,
14
- message: `Invalid language code '${locales[i]}' at locales[${i}]`,
15
- path: ['locales', i],
16
- });
17
- }
18
- }
19
- };
20
- exports.validateLocales = validateLocales;
21
6
  /**
22
7
  * Проверяет что LocalizedText объект является таковым
23
8
  * LocalizedText - это объект где ключи это языковые коды, а значения - строки
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/subscription-page-types",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "public": true,
5
5
  "license": "AGPL-3.0-only",
6
6
  "description": "A types library for Remnawave Subscription Page.",