i18next 22.4.0 → 22.4.1

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 +1 @@
1
- {"type":"module","version":"22.4.0"}
1
+ {"type":"module","version":"22.4.1"}
package/index.d.ts CHANGED
@@ -878,7 +878,11 @@ export type TFuncReturn<
878
878
  : NormalizeReturn<T[N], KeysWithSeparator<TKPrefix, TKeys>>
879
879
  : TDefaultResult;
880
880
 
881
- export interface TFunction<N extends Namespace = DefaultNamespace, TKPrefix = undefined> {
881
+ export interface TFunction<
882
+ N extends Namespace | null = DefaultNamespace,
883
+ TKPrefix = undefined,
884
+ ActualNS extends Namespace = N extends null ? DefaultNamespace : N,
885
+ > {
882
886
  // just key without options etc...
883
887
  <
884
888
  TKeys extends TFuncKey<PassedNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
@@ -891,40 +895,40 @@ export interface TFunction<N extends Namespace = DefaultNamespace, TKPrefix = un
891
895
 
892
896
  // with returnDetails: true, returnObjects: true
893
897
  <
894
- TKeys extends TFuncKey<N, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
898
+ TKeys extends TFuncKey<ActualNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
895
899
  TDefaultResult extends DefaultTFuncReturnWithObject = object,
896
900
  TInterpolationMap extends object = StringMap,
897
901
  >(
898
902
  key: TKeys | TKeys[],
899
903
  options: TOptions<TInterpolationMap> & { returnDetails: true; returnObjects: true },
900
- ): TFunctionDetailedResult<TFuncReturn<N, TKeys, TDefaultResult, TKPrefix>>;
904
+ ): TFunctionDetailedResult<TFuncReturn<ActualNS, TKeys, TDefaultResult, TKPrefix>>;
901
905
 
902
906
  // with returnDetails: true
903
907
  <
904
- TKeys extends TFuncKey<N, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
908
+ TKeys extends TFuncKey<ActualNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
905
909
  TDefaultResult extends DefaultTFuncReturn = string,
906
910
  TInterpolationMap extends object = StringMap,
907
911
  >(
908
912
  key: TKeys | TKeys[],
909
913
  options: TOptions<TInterpolationMap> & { returnDetails: true },
910
- ): TFunctionDetailedResult<TFuncReturn<N, TKeys, TDefaultResult, TKPrefix>>;
914
+ ): TFunctionDetailedResult<TFuncReturn<ActualNS, TKeys, TDefaultResult, TKPrefix>>;
911
915
 
912
916
  // with returnObjects: true
913
917
  <
914
- TKeys extends TFuncKey<N, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
918
+ TKeys extends TFuncKey<ActualNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
915
919
  TDefaultResult extends DefaultTFuncReturnWithObject = object,
916
920
  TInterpolationMap extends object = StringMap,
917
921
  >(
918
922
  key: TKeys | TKeys[],
919
923
  options: TOptions<TInterpolationMap> & { returnObjects: true },
920
- ): TFuncReturn<N, TKeys, TDefaultResult, TKPrefix>;
924
+ ): TFuncReturn<ActualNS, TKeys, TDefaultResult, TKPrefix>;
921
925
 
922
926
  // with passed ns prop in options
923
927
  <
924
928
  TKeys extends TFuncKey<PassedNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
925
929
  TDefaultResult extends DefaultTFuncReturn = string,
926
930
  TInterpolationMap extends object = StringMap,
927
- PassedNS extends Namespace = N extends string ? N : N extends unknown ? DefaultNamespace : N,
931
+ PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N,
928
932
  >(
929
933
  key: TKeys | TKeys[],
930
934
  options: TOptions<TInterpolationMap> & { ns: PassedNS },
@@ -932,24 +936,29 @@ export interface TFunction<N extends Namespace = DefaultNamespace, TKPrefix = un
932
936
 
933
937
  // with options
934
938
  <
935
- TKeys extends TFuncKey<N, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
939
+ TKeys extends TFuncKey<UsedNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
936
940
  TDefaultResult extends DefaultTFuncReturn = string,
937
941
  TInterpolationMap extends object = StringMap,
942
+ PassedNS extends Namespace = N extends string ? N : N extends null ? DefaultNamespace : N,
943
+ PassedOpt extends TOptions<TInterpolationMap> = TOptions<TInterpolationMap>,
944
+ UsedNS extends Namespace = Pick<PassedOpt, 'ns'> extends { ns: string }
945
+ ? PassedNS
946
+ : ActualNS | DefaultNamespace,
938
947
  >(
939
948
  key: TKeys | TKeys[],
940
- options: TOptions<TInterpolationMap>,
941
- ): TFuncReturn<N, TKeys, TDefaultResult, TKPrefix>;
949
+ options: PassedOpt,
950
+ ): TFuncReturn<UsedNS, TKeys, TDefaultResult, TKPrefix>;
942
951
 
943
952
  // defaultValue
944
953
  <
945
- TKeys extends TFuncKey<N, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
954
+ TKeys extends TFuncKey<ActualNS, TKPrefix> | TemplateStringsArray extends infer A ? A : never,
946
955
  TDefaultResult extends DefaultTFuncReturn = string,
947
956
  TInterpolationMap extends object = StringMap,
948
957
  >(
949
958
  key: TKeys | TKeys[],
950
959
  defaultValue?: string,
951
960
  options?: TOptions<TInterpolationMap> | string,
952
- ): TFuncReturn<N, TKeys, TDefaultResult, TKPrefix>;
961
+ ): TFuncReturn<ActualNS, TKeys, TDefaultResult, TKPrefix>;
953
962
  <
954
963
  TDefaultResult extends DefaultTFuncReturn = string,
955
964
  TInterpolationMap extends object = StringMap,
@@ -957,7 +966,7 @@ export interface TFunction<N extends Namespace = DefaultNamespace, TKPrefix = un
957
966
  key: string | string[],
958
967
  defaultValue: string,
959
968
  options?: TOptions<TInterpolationMap> | string,
960
- ): TFuncReturn<N, string, TDefaultResult, TKPrefix>;
969
+ ): TFuncReturn<ActualNS, string, TDefaultResult, TKPrefix>;
961
970
 
962
971
  // defaultValue via options
963
972
  <
@@ -966,7 +975,7 @@ export interface TFunction<N extends Namespace = DefaultNamespace, TKPrefix = un
966
975
  >(
967
976
  key: string | string[],
968
977
  options: TOptions<TInterpolationMap> & { defaultValue: string },
969
- ): TFuncReturn<N, string, TDefaultResult, TKPrefix>;
978
+ ): TFuncReturn<ActualNS, string, TDefaultResult, TKPrefix>;
970
979
  }
971
980
 
972
981
  export interface Resource {
@@ -1226,11 +1235,15 @@ export interface i18n {
1226
1235
  *
1227
1236
  * Accepts optional keyPrefix that will be automatically applied to returned t function.
1228
1237
  */
1229
- getFixedT<N extends Namespace = DefaultNamespace, TKPrefix extends KeyPrefix<N> = undefined>(
1238
+ getFixedT<
1239
+ N extends Namespace | null,
1240
+ TKPrefix extends KeyPrefix<ActualNS> = undefined,
1241
+ ActualNS extends Namespace = N extends null ? DefaultNamespace : N,
1242
+ >(
1230
1243
  lng: string | readonly string[],
1231
1244
  ns?: N,
1232
1245
  keyPrefix?: TKPrefix,
1233
- ): TFunction<N, TKPrefix>;
1246
+ ): TFunction<ActualNS, TKPrefix>;
1234
1247
  getFixedT<
1235
1248
  N extends Namespace | null,
1236
1249
  TKPrefix extends KeyPrefix<ActualNS>,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "i18next",
3
- "version": "22.4.0",
3
+ "version": "22.4.1",
4
4
  "description": "i18next internationalization framework",
5
5
  "main": "./dist/cjs/i18next.js",
6
6
  "module": "./dist/esm/i18next.js",