@mmstack/translate 19.2.3 → 19.2.4
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.
|
@@ -256,5 +256,5 @@ class BaseTranslatePipe {
|
|
|
256
256
|
* Generated bundle index. Do not edit.
|
|
257
257
|
*/
|
|
258
258
|
|
|
259
|
-
export { BaseTranslateDirective, BaseTranslatePipe, createNamespace, injectIntl, provideIntlConfig, registerNamespace };
|
|
259
|
+
export { BaseTranslateDirective, BaseTranslatePipe, compileTranslation, createNamespace, injectIntl, provideIntlConfig, registerNamespace };
|
|
260
260
|
//# sourceMappingURL=mmstack-translate.mjs.map
|
package/index.d.ts
CHANGED
|
@@ -4,14 +4,15 @@ type Simplify<T> = T extends infer U ? {
|
|
|
4
4
|
} : never;
|
|
5
5
|
type Autocomplete<T extends string> = T | Omit<string, T>;
|
|
6
6
|
type extractSelectOptions<TOpt extends string> = TOpt extends `${infer Option}{${infer _}} ${infer Rest}` ? Option | extractSelectOptions<Rest> : TOpt extends `${infer Option}{${infer _}}` ? Option : never;
|
|
7
|
+
type Trimmed<T extends string> = T extends `${infer Trimmed} ${infer _}` ? Trimmed : T extends `${infer _} ${infer Trimmed}` ? Trimmed : T;
|
|
7
8
|
type extractSelectParam<TName extends string, TOpt extends string> = [
|
|
8
9
|
TName,
|
|
9
|
-
Autocomplete<Exclude<extractSelectOptions<TOpt
|
|
10
|
+
Autocomplete<Exclude<Trimmed<extractSelectOptions<TOpt>>, 'other'>>
|
|
10
11
|
];
|
|
11
12
|
type extractComplexParam<T extends string> = T extends `{${infer VarName}, plural, ${infer _}}}${infer REST}` | `{${infer VarName}, selectordinal, ${infer _}}}${infer REST}` ? [VarName, number] | extractParams<REST> : T extends `{${infer VarName}, select, ${infer SelectOptions}}}${infer REST}` ? extractSelectParam<VarName, `${SelectOptions}}`> | extractParams<REST> : never;
|
|
12
13
|
export type extractParams<T extends string> = T extends `${infer _Start}{${infer Var}}${infer End}` ? Var extends `${infer _}, ${infer __}` ? extractComplexParam<`{${Var}}${End}`> : [Var, string] | extractParams<End> : never;
|
|
13
14
|
type mergeParams<TExtracted extends [string, any]> = {
|
|
14
|
-
[K in TExtracted[0]]:
|
|
15
|
+
[K in TExtracted as K[0]]: K[1];
|
|
15
16
|
};
|
|
16
17
|
type flattenParams<TKey extends string, TVal> = TVal extends UnknownStringKeyObject ? inferParamTupples<TVal, `${TKey}.`> : TVal extends string ? extractParams<TVal> extends never ? [TKey] : [TKey, mergeParams<extractParams<TVal>>] : never;
|
|
17
18
|
type inferParamTupples<T extends UnknownStringKeyObject, TPrefix extends string = ''> = Simplify<{
|