Comparing version 23.8.0 to 23.8.1
@@ -1,1 +0,1 @@ | ||
{"type":"module","version":"23.8.0"} | ||
{"type":"module","version":"23.8.1"} |
{ | ||
"name": "i18next", | ||
"version": "23.8.0", | ||
"version": "23.8.1", | ||
"description": "i18next internationalization framework", | ||
@@ -5,0 +5,0 @@ "main": "./dist/cjs/i18next.js", |
@@ -43,2 +43,7 @@ import type { $MergeBy, $PreservedValue, $Dictionary } from './helpers.js'; | ||
/** | ||
* Allows empty string as valid translation | ||
*/ | ||
returnEmptyString: true; | ||
/** | ||
* Allows objects as valid translation result | ||
@@ -45,0 +50,0 @@ */ |
@@ -15,2 +15,3 @@ import type { $OmitArrayKeys, $PreservedValue, $Dictionary, $SpecialObject } from './helpers.js'; | ||
type _ReturnObjects = TypeOptions['returnObjects']; | ||
type _ReturnEmptyString = TypeOptions['returnEmptyString']; | ||
type _ReturnNull = TypeOptions['returnNull']; | ||
@@ -161,19 +162,28 @@ type _KeySeparator = TypeOptions['keySeparator']; | ||
type ParseTReturn< | ||
type ParseTReturnWithFallback<Key, Val> = Val extends '' | ||
? _ReturnEmptyString extends true | ||
? '' | ||
: Key | ||
: Val extends null | ||
? _ReturnNull extends true | ||
? null | ||
: Key | ||
: Val; | ||
type ParseTReturn<Key, Res, TOpt extends TOptions = {}> = ParseTReturnWithFallback< | ||
Key, | ||
Res, | ||
TOpt extends TOptions = {}, | ||
> = Key extends `${infer K1}${_KeySeparator}${infer RestKey}` | ||
? ParseTReturn<RestKey, Res[K1 & keyof Res], TOpt> | ||
: // Process plurals only if count is provided inside options | ||
TOpt['count'] extends number | ||
? TOpt['ordinal'] extends boolean | ||
? ParseTReturnPluralOrdinal<Res, Key> | ||
: ParseTReturnPlural<Res, Key> | ||
: // otherwise access plain key without adding plural and ordinal suffixes | ||
Res extends readonly unknown[] | ||
? Key extends `${infer NKey extends number}` | ||
? Res[NKey] | ||
: never | ||
: Res[Key & keyof Res]; | ||
Key extends `${infer K1}${_KeySeparator}${infer RestKey}` | ||
? ParseTReturn<RestKey, Res[K1 & keyof Res], TOpt> | ||
: // Process plurals only if count is provided inside options | ||
TOpt['count'] extends number | ||
? TOpt['ordinal'] extends boolean | ||
? ParseTReturnPluralOrdinal<Res, Key> | ||
: ParseTReturnPlural<Res, Key> | ||
: // otherwise access plain key without adding plural and ordinal suffixes | ||
Res extends readonly unknown[] | ||
? Key extends `${infer NKey extends number}` | ||
? Res[NKey] | ||
: never | ||
: Res[Key & keyof Res] | ||
>; | ||
@@ -180,0 +190,0 @@ type TReturnOptionalNull = _ReturnNull extends true ? null : never; |
@@ -12,2 +12,3 @@ import type { $OmitArrayKeys, $PreservedValue, $Dictionary, $SpecialObject } from './helpers.js'; | ||
type _ReturnObjects = TypeOptions['returnObjects']; | ||
type _ReturnEmptyString = TypeOptions['returnEmptyString']; | ||
type _ReturnNull = TypeOptions['returnNull']; | ||
@@ -161,19 +162,28 @@ type _KeySeparator = TypeOptions['keySeparator']; | ||
type ParseTReturn< | ||
type ParseTReturnWithFallback<Key, Val> = Val extends '' | ||
? _ReturnEmptyString extends true | ||
? '' | ||
: Key | ||
: Val extends null | ||
? _ReturnNull extends true | ||
? null | ||
: Key | ||
: Val; | ||
type ParseTReturn<Key, Res, TOpt extends TOptions = {}> = ParseTReturnWithFallback< | ||
Key, | ||
Res, | ||
TOpt extends TOptions = {}, | ||
> = Key extends `${infer K1}${_KeySeparator}${infer RestKey}` | ||
? ParseTReturn<RestKey, Res[K1 & keyof Res], TOpt> | ||
: // // Process plurals only if count is provided inside options | ||
TOpt['count'] extends number | ||
? TOpt['ordinal'] extends boolean | ||
? ParseTReturnPluralOrdinal<Res, Key> | ||
: ParseTReturnPlural<Res, Key> | ||
: // otherwise access plain key without adding plural and ordinal suffixes | ||
Res extends readonly unknown[] | ||
? Key extends `${infer NKey extends number}` | ||
? Res[NKey] | ||
: never | ||
: Res[Key & keyof Res]; | ||
Key extends `${infer K1}${_KeySeparator}${infer RestKey}` | ||
? ParseTReturn<RestKey, Res[K1 & keyof Res], TOpt> | ||
: // Process plurals only if count is provided inside options | ||
TOpt['count'] extends number | ||
? TOpt['ordinal'] extends boolean | ||
? ParseTReturnPluralOrdinal<Res, Key> | ||
: ParseTReturnPlural<Res, Key> | ||
: // otherwise access plain key without adding plural and ordinal suffixes | ||
Res extends readonly unknown[] | ||
? Key extends `${infer NKey extends number}` | ||
? Res[NKey] | ||
: never | ||
: Res[Key & keyof Res] | ||
>; | ||
@@ -180,0 +190,0 @@ type TReturnOptionalNull = _ReturnNull extends true ? null : never; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
625531
14167