typed-locales 1.0.11 → 1.0.12

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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "typescript.tsdk": "node_modules\\typescript\\lib"
3
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAElE,QAAA,MAAM,UAAU;gCACI,MAAM;gCACN,MAAM;iCACL,MAAM;;8BAET,MAAM;6BACP,MAAM;2BACR,MAAM;CACyB,CAAC;AAE/C,eAAe,UAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import baseFormatters from './src/formatters';
2
- import type { Formatter } from './src/formatters';
1
+ import baseFormatters from './formatters.js';
2
+ import type { Formatter } from './formatters.js';
3
3
  type ValueType = null | number | string | undefined | object;
4
4
  export interface DefaultOverrides {
5
- shape: any;
5
+ shape: Record<string, any>;
6
6
  extraFormatters?: Record<string, Formatter>;
7
7
  locales: string;
8
8
  }
@@ -58,7 +58,7 @@ type DeepOmitNever<T> = {
58
58
  } extends infer U ? keyof U extends never ? never : U : never;
59
59
  export type Simplify<T> = InternalSimplify<DeepOmitNever<T>>;
60
60
  export declare const getTranslate: (translations: Translations, locale: Locales, extraFormatters: ExtraFormatters) => <Key extends PossibleTranslationKeys>(key: Key, ...arguments_: InterpolationProperties<GetValue<Key>, IsPlural<Key>> extends Record<string, never> ? [] : [params: Simplify<InterpolationProperties<GetValue<Key> & string, IsPlural<Key>>>]) => GetValue<Key>;
61
- export { initReact } from './src/react';
62
- export { type Formatter, default as defaultFormatters } from './src/formatters';
63
- export { type ValidateTranslation, type EnsureValidTranslation } from './src/validation';
61
+ export { initReact } from './react.js';
62
+ export { type Formatter, default as defaultFormatters } from './formatters.js';
63
+ export { type ValidateTranslation, type EnsureValidTranslation } from './validation.js';
64
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,SAAW,SAAQ,gBAAgB;CAAG;AACvD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;AACtE,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC;AAC9C,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAGtE,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACxG,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC3C,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvF,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;AAI5E,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;CACxC,CAAC;AAGF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,GAAG,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;AAGhG,KAAK,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC;AAEhE,KAAK,iBAAiB,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAC9B,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACjC,kBAAkB,CAAC,CAAC,CAAC,GACrB,KAAK;CACP,CAAC,MAAM,CAAC,CAAC,CAAC;AAGX,KAAK,4BAA4B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC7B,MAAM,GACN,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAIlG,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IACxC,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAC3C,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvC,4BAA4B,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CACpI,CAAC;AAGF,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,WAAW,IAAI,MAAM,IAAI,EAAE,GAC5D,CAAC,WAAW,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,WAAW,EAAE,GACxD,IAAI,GACJ,WAAW,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,GACzC,KAAK,CAAC;AAGT,KAAK,aAAa,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACjF,CAAC,SAAS,MAAM,CAAC,GACjB,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GACzB,KAAK,GACL,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,GACxC,KAAK,GACL,IAAI,CAAC;AACR,KAAK,QAAQ,CAAC,IAAI,SAAS,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAGvE,KAAK,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACpF,CAAC,SAAS,MAAM,CAAC,GACjB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAC5B,KAAK,GACL,IAAI,SAAS,MAAM,CAAC,GACpB,CAAC,CAAC,IAAI,CAAC,GACP,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AAEjC,KAAK,QAAQ,CAAC,IAAI,SAAS,MAAM,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAG1E,KAAK,uBAAuB,CAC3B,CAAC,SAAS,MAAM,EAChB,QAAQ,SAAS,OAAO,IACrB,QAAQ,SAAS,IAAI,GACtB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;KACpB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS;CAC1D,GACC,mBAAmB,CAAC,CAAC,CAAC,SAAS,KAAK,GACpC,EAAE,GACF;KACA,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS;CACxC,CAAC;AAGH,KAAK,gBAAgB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAEtC,GAAG,EAAE,CAAC;AAEP,KAAK,aAAa,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAChC,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAChC,KAAK,GACL,CAAC,GACF,CAAC,GACF,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnB,CAAC,CAAC,CAAC,CAAC;CACP,SAAS,MAAM,CAAC,GACd,MAAM,CAAC,SAAS,KAAK,GACpB,KAAK,GACL,CAAC,GACF,KAAK,CAAC;AAGT,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAG7D,eAAO,MAAM,YAAY,GAAI,cAAc,YAAY,EAAE,QAAQ,OAAO,EAAE,iBAAiB,eAAe,MAQxG,GAAG,SAAS,uBAAuB,OAE7B,GAAG,iBACO,uBAAuB,CACrC,QAAQ,CAAC,GAAG,CAAC,EACb,QAAQ,CAAC,GAAG,CAAC,CACb,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC5B,EAAE,GACF,CACD,MAAM,EAAE,QAAQ,CACf,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC9D,CACD,KACD,QAAQ,CAAC,GAAG,CAgFf,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import baseFormatters from './src/formatters';
1
+ import baseFormatters from './formatters.js';
2
2
  ;
3
3
  ;
4
4
  // Given a translations object returns a function that can be used to translate keys
@@ -12,9 +12,7 @@ export const getTranslate = (translations, locale, extraFormatters) => {
12
12
  const parts = key.split('.');
13
13
  let current = translations;
14
14
  for (const part of parts) {
15
- // @ts-expect-error
16
15
  if (current && current[part]) {
17
- // @ts-expect-error
18
16
  current = current[part];
19
17
  }
20
18
  else {
@@ -28,12 +26,8 @@ export const getTranslate = (translations, locale, extraFormatters) => {
28
26
  }
29
27
  if (typeof current === 'object') {
30
28
  // If its an object being returned check if its a plural key
31
- const isPlural =
32
- // @ts-expect-error
33
- current[`${parts.at(-1)}_none`] !== undefined ||
34
- // @ts-expect-error
29
+ const isPlural = current[`${parts.at(-1)}_none`] !== undefined ||
35
30
  current[`${parts.at(-1)}_one`] !== undefined ||
36
- // @ts-expect-error
37
31
  current[`${parts.at(-1)}_other`] !== undefined;
38
32
  if (isPlural) {
39
33
  if (!arguments_[0] || !Object.hasOwn(arguments_[0], 'count')) {
@@ -43,15 +37,12 @@ export const getTranslate = (translations, locale, extraFormatters) => {
43
37
  // @ts-expect-error
44
38
  const count = Number(arguments_[0].count);
45
39
  if (!count) {
46
- // @ts-expect-error
47
40
  current = current[`${parts.at(-1)}_none`];
48
41
  }
49
42
  else if (count === 1) {
50
- // @ts-expect-error
51
43
  current = current[`${parts.at(-1)}_one`];
52
44
  }
53
45
  else {
54
- // @ts-expect-error
55
46
  current = current[`${parts.at(-1)}_other`];
56
47
  }
57
48
  }
@@ -82,5 +73,5 @@ export const getTranslate = (translations, locale, extraFormatters) => {
82
73
  }
83
74
  return translate;
84
75
  };
85
- export { initReact } from './src/react';
86
- export { default as defaultFormatters } from './src/formatters';
76
+ export { initReact } from './react.js';
77
+ export { default as defaultFormatters } from './formatters.js';
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { getTranslate, type Locales, type ExtraFormatters, type OtherTranslations } from '../index';
1
+ import React from './react.js';
2
+ import { getTranslate, type Locales, type ExtraFormatters, type OtherTranslations } from './index.js';
3
3
  export interface TranslationContextType {
4
4
  isLoading: boolean;
5
5
  locale: Locales;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAqB,MAAM,SAAS,CAAC;AAEtH,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACnC;AAGD,eAAO,MAAM,SAAS,GACrB,iBAAiB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACxF,eAAe,OAAO,EACtB,iBAAiB,eAAe;wCAGW;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;;CA0DxE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext, useState } from 'react';
3
- import { getTranslate } from '../index';
2
+ import { createContext, useContext, useState } from './react.js';
3
+ import { getTranslate } from './index.js';
4
4
  // Initial translation always should be loaded
5
5
  export const initReact = (allTranslations, initialLocale, extraFormatters) => {
6
6
  const TranslationContext = createContext(undefined);
@@ -1,4 +1,4 @@
1
- import type { FormattersKeys, RemoveReadonlyDeep } from "../index";
1
+ import type { FormattersKeys, RemoveReadonlyDeep } from "./index.js";
2
2
  type ErrorMessage<Value extends string, T extends string> = `You are using an invalid formatter: ${T} in: "${Value}"`;
3
3
  type ExtractFormatter<T extends string> = T extends `${string}{${string}|${infer F}}${string}` ? F : never;
4
4
  type CountOpenBraces<T extends string, Count extends readonly unknown[] = []> = T extends `${infer First}${infer Rest}` ? First extends '{' ? CountOpenBraces<Rest, [...Count, unknown]> : CountOpenBraces<Rest, Count> : Count['length'];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,uCAAuC,CAAC,SAAS,KAAK,GAAG,CAAC;AAGtH,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IACrC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAElE,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IAC3E,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACjB,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,GAC1C,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,GAC5B,KAAK,CAAC,QAAQ,CAAC,CAAA;AAElB,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IAC5E,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACjB,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,GAC3C,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;AAGlB,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IACnC,eAAe,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAC5C,KAAK,GACL,kCAAkC,CAAC,GAAG,CAAA;AAGzC,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IACtC,gBAAgB,CAAC,CAAC,CAAC,SAAS,KAAK,GAC/B,cAAc,CAAC,CAAC,CAAC,GACjB,gBAAgB,CAAC,CAAC,CAAC,SAAS,cAAc,GAC1C,cAAc,CAAC,CAAC,CAAC,GACjB,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxC,KAAK,2BAA2B,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7F;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;CAAE,GACnH,CAAC,SAAS,MAAM,GAChB,iBAAiB,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "typed-locales",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Type safe utilities for translating strings",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "type": "module",
8
8
  "scripts": {
9
- "build": "rimraf dist && tsc",
9
+ "build": "npm-run-all -s -c build:*",
10
+ "build:tsc": "rimraf dist && tsc",
11
+ "build:tsc-alias": "tsc-alias -p tsconfig.json --debug",
10
12
  "dev": "tsx watch src/test.tsx",
11
13
  "deploy": "npm run build && npm publish --access public"
12
14
  },
@@ -16,12 +18,14 @@
16
18
  "packageManager": "pnpm@10.6.2",
17
19
  "dependencies": {
18
20
  "react": "^19.1.0",
19
- "react-dom": "^19.1.0",
21
+ "react-dom": "^19.1.0"
22
+ },
23
+ "devDependencies": {
24
+ "npm-run-all": "^4.1.5",
25
+ "@types/react": "^19.1.5",
20
26
  "rimraf": "^6.0.1",
27
+ "tsc-alias": "^1.8.16",
21
28
  "tsx": "^4.19.4",
22
29
  "typescript": "^5.8.3"
23
- },
24
- "devDependencies": {
25
- "@types/react": "^19.1.5"
26
30
  }
27
31
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/formatters.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAElE,QAAA,MAAM,UAAU;gCACI,MAAM;gCACN,MAAM;iCACL,MAAM;;8BAET,MAAM;6BACP,MAAM;2BACR,MAAM;CACyB,CAAC;AAE/C,eAAe,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AAEvH,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACnC;AAGD,eAAO,MAAM,SAAS,GACrB,iBAAiB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACxF,eAAe,OAAO,EACtB,iBAAiB,eAAe;wCAGW;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;;CA0DxE,CAAC"}
@@ -1,16 +0,0 @@
1
- import en from './translations/en';
2
- declare const customFormatters: {
3
- readonly myCustomFormatter: () => string;
4
- };
5
- export declare const useTranslation: () => import("../react").TranslationContextType, TranslationProvider: ({ children }: {
6
- children: React.ReactNode;
7
- }) => import("react/jsx-runtime").JSX.Element;
8
- declare module '../../index' {
9
- interface Overrides {
10
- shape: typeof en;
11
- extraFormatters: typeof customFormatters;
12
- locales: 'en' | 'es';
13
- }
14
- }
15
- export {};
16
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tests/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAInC,QAAA,MAAM,gBAAgB;;CAEwB,CAAC;AAE/C,eAAO,MAAQ,cAAc,mDAAE,mBAAmB;;6CAAgD,CAAC;AAEnG,OAAO,QAAQ,aAAa,CAAC;IAC5B,UAAU,SAAS;QAClB,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,eAAe,EAAE,OAAO,gBAAgB,CAAC;QACzC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;KACrB;CACD"}
@@ -1,7 +0,0 @@
1
- import { initReact } from '../react';
2
- import en from './translations/en';
3
- import es from './translations/es';
4
- const customFormatters = {
5
- myCustomFormatter: () => 'Hello im custom',
6
- };
7
- export const { useTranslation, TranslationProvider } = initReact({ en, es }, 'en', customFormatters);
@@ -1,29 +0,0 @@
1
- declare const en: {
2
- readonly test: "Regular translation";
3
- readonly nested: {
4
- readonly test: "Nested {translation|myCustomFormatter}";
5
- readonly deep: {
6
- readonly again: "Nested again with {value} and {otherValue}";
7
- };
8
- };
9
- readonly withValue: "With value {value}";
10
- readonly multipleValues: "Multiple values: {one}, {two}, and {three}";
11
- readonly examplePlural_none: "No items available";
12
- readonly examplePlural_one: "One item available";
13
- readonly examplePlural_other: "{count} items available";
14
- readonly examplePluralWithOtherValues_none: "No items for {user}";
15
- readonly examplePluralWithOtherValues_one: "One item for {user}";
16
- readonly examplePluralWithOtherValues_other: "{count} items for {user} and {otherUser}";
17
- readonly exampleWithFormatting: "Formatted {value|uppercase} text and {other|lowercase}";
18
- readonly exampleWithJSONFormatter: "JSON formatter: {data|json}";
19
- readonly pluralWithNestedSubstitution_none: "No results found for {query}";
20
- readonly pluralWithNestedSubstitution_one: "One result for {query} with {user|capitalize}";
21
- readonly pluralWithNestedSubstitution_other: "{count} results for {query} by {user|capitalize}";
22
- readonly mixedPluralNested_none: "No {itemType} in {location}";
23
- readonly mixedPluralNested_one: "One {itemType} in {location|uppercase}";
24
- readonly mixedPluralNested_other: "{count} {itemType}s in {location|uppercase}";
25
- readonly onlyFormat: "Just formatting: {value|capitalize}";
26
- readonly escapeBraces: "Braces like this: \\{notAKey\\}";
27
- };
28
- export default en;
29
- //# sourceMappingURL=en.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/tests/translations/en.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BE,CAAC;AAEX,eAAe,EAAE,CAAC"}
@@ -1,28 +0,0 @@
1
- const en = {
2
- test: 'Regular translation',
3
- nested: {
4
- test: 'Nested {translation|myCustomFormatter}',
5
- deep: {
6
- again: 'Nested again with {value} and {otherValue}',
7
- },
8
- },
9
- withValue: 'With value {value}',
10
- multipleValues: 'Multiple values: {one}, {two}, and {three}',
11
- examplePlural_none: 'No items available',
12
- examplePlural_one: 'One item available',
13
- examplePlural_other: '{count} items available',
14
- examplePluralWithOtherValues_none: 'No items for {user}',
15
- examplePluralWithOtherValues_one: 'One item for {user}',
16
- examplePluralWithOtherValues_other: '{count} items for {user} and {otherUser}',
17
- exampleWithFormatting: 'Formatted {value|uppercase} text and {other|lowercase}',
18
- exampleWithJSONFormatter: 'JSON formatter: {data|json}',
19
- pluralWithNestedSubstitution_none: 'No results found for {query}',
20
- pluralWithNestedSubstitution_one: 'One result for {query} with {user|capitalize}',
21
- pluralWithNestedSubstitution_other: '{count} results for {query} by {user|capitalize}',
22
- mixedPluralNested_none: 'No {itemType} in {location}',
23
- mixedPluralNested_one: 'One {itemType} in {location|uppercase}',
24
- mixedPluralNested_other: '{count} {itemType}s in {location|uppercase}',
25
- onlyFormat: 'Just formatting: {value|capitalize}',
26
- escapeBraces: 'Braces like this: \\{notAKey\\}',
27
- };
28
- export default en;
@@ -1,29 +0,0 @@
1
- declare const es: {
2
- readonly test: "Traducción regular";
3
- readonly nested: {
4
- readonly test: "Anidado {translation|myCustomFormatter}";
5
- readonly deep: {
6
- readonly again: "Anidado nuevamente con {value} y {otherValue}";
7
- };
8
- };
9
- readonly withValue: "Con valor {value}";
10
- readonly multipleValues: "Múltiples valores: {one}, {two} y {three}";
11
- readonly examplePlural_none: "No hay elementos disponibles";
12
- readonly examplePlural_one: "Un elemento disponible";
13
- readonly examplePlural_other: "{count} elementos disponibles";
14
- readonly examplePluralWithOtherValues_none: "No hay elementos para {user}";
15
- readonly examplePluralWithOtherValues_one: "Un elemento para {user}";
16
- readonly examplePluralWithOtherValues_other: "{count} elementos para {user} y {otherUser}";
17
- readonly exampleWithFormatting: "Texto formateado {value|uppercase} y {other|lowercase}";
18
- readonly exampleWithJSONFormatter: "Formateador JSON: {data|json}";
19
- readonly pluralWithNestedSubstitution_none: "No se encontraron resultados para {query}";
20
- readonly pluralWithNestedSubstitution_one: "Un resultado para {query} con {user|capitalize}";
21
- readonly pluralWithNestedSubstitution_other: "{count} resultados para {query} por {user|capitalize}";
22
- readonly mixedPluralNested_none: "No hay {itemType} en {location}";
23
- readonly mixedPluralNested_one: "Un {itemType} en {location|uppercase}";
24
- readonly mixedPluralNested_other: "{count} {itemType}s en {location|uppercase}";
25
- readonly onlyFormat: "Solo formateo: {value|capitalize}";
26
- readonly escapeBraces: "Llaves como estas: \\{notAKey\\}";
27
- };
28
- export default es;
29
- //# sourceMappingURL=es.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../../src/tests/translations/es.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B8B,CAAC;AAEvC,eAAe,EAAE,CAAC"}
@@ -1,30 +0,0 @@
1
- const es = {
2
- test: 'Traducción regular',
3
- nested: {
4
- test: 'Anidado {translation|myCustomFormatter}',
5
- deep: {
6
- again: 'Anidado nuevamente con {value} y {otherValue}',
7
- },
8
- },
9
- withValue: 'Con valor {value}',
10
- multipleValues: 'Múltiples valores: {one}, {two} y {three}',
11
- // @ts-expect-error
12
- examplePlural_none: 'No hay elementos disponibles',
13
- // @ts-expect-error
14
- examplePlural_one: 'Un elemento disponible',
15
- examplePlural_other: '{count} elementos disponibles',
16
- examplePluralWithOtherValues_none: 'No hay elementos para {user}',
17
- examplePluralWithOtherValues_one: 'Un elemento para {user}',
18
- examplePluralWithOtherValues_other: '{count} elementos para {user} y {otherUser}',
19
- exampleWithFormatting: 'Texto formateado {value|uppercase} y {other|lowercase}',
20
- exampleWithJSONFormatter: 'Formateador JSON: {data|json}',
21
- pluralWithNestedSubstitution_none: 'No se encontraron resultados para {query}',
22
- pluralWithNestedSubstitution_one: 'Un resultado para {query} con {user|capitalize}',
23
- pluralWithNestedSubstitution_other: '{count} resultados para {query} por {user|capitalize}',
24
- mixedPluralNested_none: 'No hay {itemType} en {location}',
25
- mixedPluralNested_one: 'Un {itemType} en {location|uppercase}',
26
- mixedPluralNested_other: '{count} {itemType}s en {location|uppercase}',
27
- onlyFormat: 'Solo formateo: {value|capitalize}',
28
- escapeBraces: 'Llaves como estas: \\{notAKey\\}',
29
- };
30
- export default es;
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnE,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,uCAAuC,CAAC,SAAS,KAAK,GAAG,CAAC;AAGtH,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IACrC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAElE,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IAC3E,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACjB,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,GAC1C,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,GAC5B,KAAK,CAAC,QAAQ,CAAC,CAAA;AAElB,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IAC5E,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACrC,KAAK,SAAS,GAAG,GACjB,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,GAC3C,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;AAGlB,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IACnC,eAAe,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAC5C,KAAK,GACL,kCAAkC,CAAC,GAAG,CAAA;AAGzC,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IACtC,gBAAgB,CAAC,CAAC,CAAC,SAAS,KAAK,GAC/B,cAAc,CAAC,CAAC,CAAC,GACjB,gBAAgB,CAAC,CAAC,CAAC,SAAS,cAAc,GAC1C,cAAc,CAAC,CAAC,CAAC,GACjB,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxC,KAAK,2BAA2B,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7F;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;CAAE,GACnH,CAAC,SAAS,MAAM,GAChB,iBAAiB,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC"}
File without changes
File without changes
File without changes