diff --git a/src/index.tsx b/src/index.tsx index efcf0311..8eb03adf 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,16 +5,7 @@ export interface TranslationQuery { [name: string]: any } - -export interface NestedStringObject { - [key:string]: string | NestedStringObject | NestedStringArray -} -type ValueOrArray = T | ValueOrArray[]; -type NestedStringArray = ValueOrArray; - -export type TranslateValue = string | NestedStringObject | NestedStringArray - -export type Translate = ( +export type Translate = ( i18nKey: string | TemplateStringsArray, query?: TranslationQuery | null, options?: { diff --git a/src/transCore.tsx b/src/transCore.tsx index 0d7ac290..fc86c3a6 100644 --- a/src/transCore.tsx +++ b/src/transCore.tsx @@ -3,7 +3,6 @@ import { I18nDictionary, LoaderConfig, LoggerProps, - TranslateValue, TranslationQuery, } from '.' import { Translate } from './index' @@ -38,9 +37,12 @@ export default function transCore({ allowEmptyStrings = true, } = config - const interpolateUnknown = (value: TranslateValue, query?: TranslationQuery | null): TranslateValue => { + const interpolateUnknown = ( + value: unknown, + query?: TranslationQuery | null + ): typeof value => { if (Array.isArray(value)) { - return value.map(val => interpolateUnknown(val, query)); + return value.map((val) => interpolateUnknown(val, query)) } if (value instanceof Object) { return objectInterpolation({ @@ -124,7 +126,7 @@ function getDicValue( options: { returnObjects?: boolean; fallback?: string | string[] } = { returnObjects: false, } -): TranslateValue | undefined { +): unknown | undefined { const { keySeparator = '.' } = config || {} const keyParts = keySeparator ? key.split(keySeparator) : [key] @@ -148,7 +150,7 @@ function getDicValue( typeof value === 'string' || ((value as unknown) instanceof Object && options.returnObjects) ) { - return value as TranslateValue + return value } return undefined