@nimpl/i18n 0.0.0-experimental-7639e49 → 0.0.0-experimental-0308d9d

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.
@@ -7,10 +7,10 @@ export declare const initialize: (config: Config) => {
7
7
  Transmitter: (options: Omit<TransmitterCoreProps, "dictionary" | "language"> & {
8
8
  language?: string;
9
9
  }) => Promise<React.JSX.Element>;
10
- ServerTranslation: (options: Omit<TranslationCoreProps, "dictionary" | "language"> & {
10
+ ServerTranslation: (props: Omit<TranslationCoreProps, "dictionary" | "language"> & {
11
11
  language?: string;
12
12
  }) => Promise<React.JSX.Element>;
13
- getTranslation: (options: Omit<GetTranslationCoreOptions, "dictionary" | "language"> & {
13
+ getTranslation: (options?: Omit<GetTranslationCoreOptions, "dictionary" | "language"> & {
14
14
  language?: string;
15
15
  }) => Promise<import("./lib/get-translation-core").GetTranslationCoreReturnType>;
16
16
  revalidate: (language: string, background?: boolean) => Promise<Translates>;
@@ -28,13 +28,13 @@ const initialize = (config) => {
28
28
  else {
29
29
  dictionary = await revalidate(targetLanguage);
30
30
  }
31
- if (!language) {
31
+ if (!targetLanguage) {
32
32
  throw new Error("Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.");
33
33
  }
34
34
  return getTranslationCore.getTranslationCore({ ...rest, language: targetLanguage, dictionary });
35
35
  };
36
- const ServerTranslation = async (options) => {
37
- const { language, ...rest } = options || {};
36
+ const ServerTranslation = async (props) => {
37
+ const { language, ...rest } = props || {};
38
38
  const targetLanguage = language || (await config.getLanguage());
39
39
  let dictionary;
40
40
  if (config.cache) {
@@ -43,7 +43,7 @@ const initialize = (config) => {
43
43
  else {
44
44
  dictionary = await revalidate(targetLanguage);
45
45
  }
46
- if (!language) {
46
+ if (!targetLanguage) {
47
47
  throw new Error("Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.");
48
48
  }
49
49
  return React.createElement(translationCore.TranslationCore, { ...rest, language: targetLanguage, dictionary: dictionary });
@@ -58,7 +58,7 @@ const initialize = (config) => {
58
58
  else {
59
59
  dictionary = await revalidate(targetLanguage);
60
60
  }
61
- if (!language) {
61
+ if (!targetLanguage) {
62
62
  throw new Error("Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.");
63
63
  }
64
64
  return React.createElement(transmitterCore.TransmitterCore, { ...rest, language: targetLanguage, dictionary: dictionary });
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sources":["../../../src/initialize.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Config, type Translates } from \"./types\";\nimport { getTranslationCore, type GetTranslationCoreOptions } from \"./lib/get-translation-core\";\nimport { TranslationCore, type TranslationCoreProps } from \"./lib/translation-core\";\nimport { TransmitterCore, type TransmitterCoreProps } from \"./lib/transmitter-core\";\n\nexport const initialize = (config: Config) => {\n const cache = new Map<string, Translates | Promise<Translates>>();\n\n const loadTranslates = async (language: string, revalidate?: boolean) => {\n const item = cache.get(language);\n\n if (!revalidate && item) return item;\n\n if (item && \"then\" in item) {\n return item;\n }\n\n const newData = await config.load(language);\n cache.set(language, newData);\n return newData;\n };\n\n const getTranslation = async (\n options: Omit<GetTranslationCoreOptions, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return getTranslationCore({ ...rest, language: targetLanguage, dictionary });\n };\n\n const ServerTranslation = async (\n options: Omit<TranslationCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TranslationCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const Transmitter = async (\n options: Omit<TransmitterCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TransmitterCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const revalidate = async (language: string, background: boolean = false) => {\n const item = cache.get(language);\n if (item && \"then\" in item) return item;\n\n if (background) {\n const newData = await loadTranslates(language, true);\n return newData;\n }\n\n const newDataPromise = loadTranslates(language, true);\n cache.set(language, newDataPromise);\n return newDataPromise;\n };\n\n return {\n Transmitter,\n ServerTranslation,\n getTranslation,\n revalidate,\n };\n};\n"],"names":["getTranslationCore","TranslationCore","TransmitterCore"],"mappings":"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"}
1
+ {"version":3,"file":"initialize.js","sources":["../../../src/initialize.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Config, type Translates } from \"./types\";\nimport { getTranslationCore, type GetTranslationCoreOptions } from \"./lib/get-translation-core\";\nimport { TranslationCore, type TranslationCoreProps } from \"./lib/translation-core\";\nimport { TransmitterCore, type TransmitterCoreProps } from \"./lib/transmitter-core\";\n\nexport const initialize = (config: Config) => {\n const cache = new Map<string, Translates | Promise<Translates>>();\n\n const loadTranslates = async (language: string, revalidate?: boolean) => {\n const item = cache.get(language);\n\n if (!revalidate && item) return item;\n\n if (item && \"then\" in item) {\n return item;\n }\n\n const newData = await config.load(language);\n cache.set(language, newData);\n return newData;\n };\n\n const getTranslation = async (\n options?: Omit<GetTranslationCoreOptions, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return getTranslationCore({ ...rest, language: targetLanguage, dictionary });\n };\n\n const ServerTranslation = async (\n props: Omit<TranslationCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = props || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TranslationCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const Transmitter = async (\n options: Omit<TransmitterCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TransmitterCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const revalidate = async (language: string, background: boolean = false) => {\n const item = cache.get(language);\n if (item && \"then\" in item) return item;\n\n if (background) {\n const newData = await loadTranslates(language, true);\n return newData;\n }\n\n const newDataPromise = loadTranslates(language, true);\n cache.set(language, newDataPromise);\n return newDataPromise;\n };\n\n return {\n Transmitter,\n ServerTranslation,\n getTranslation,\n revalidate,\n };\n};\n"],"names":["getTranslationCore","TranslationCore","TransmitterCore"],"mappings":"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"}
@@ -7,10 +7,10 @@ export declare const initialize: (config: Config) => {
7
7
  Transmitter: (options: Omit<TransmitterCoreProps, "dictionary" | "language"> & {
8
8
  language?: string;
9
9
  }) => Promise<React.JSX.Element>;
10
- ServerTranslation: (options: Omit<TranslationCoreProps, "dictionary" | "language"> & {
10
+ ServerTranslation: (props: Omit<TranslationCoreProps, "dictionary" | "language"> & {
11
11
  language?: string;
12
12
  }) => Promise<React.JSX.Element>;
13
- getTranslation: (options: Omit<GetTranslationCoreOptions, "dictionary" | "language"> & {
13
+ getTranslation: (options?: Omit<GetTranslationCoreOptions, "dictionary" | "language"> & {
14
14
  language?: string;
15
15
  }) => Promise<import("./lib/get-translation-core").GetTranslationCoreReturnType>;
16
16
  revalidate: (language: string, background?: boolean) => Promise<Translates>;
@@ -26,13 +26,13 @@ const initialize = (config) => {
26
26
  else {
27
27
  dictionary = await revalidate(targetLanguage);
28
28
  }
29
- if (!language) {
29
+ if (!targetLanguage) {
30
30
  throw new Error("Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.");
31
31
  }
32
32
  return getTranslationCore({ ...rest, language: targetLanguage, dictionary });
33
33
  };
34
- const ServerTranslation = async (options) => {
35
- const { language, ...rest } = options || {};
34
+ const ServerTranslation = async (props) => {
35
+ const { language, ...rest } = props || {};
36
36
  const targetLanguage = language || (await config.getLanguage());
37
37
  let dictionary;
38
38
  if (config.cache) {
@@ -41,7 +41,7 @@ const initialize = (config) => {
41
41
  else {
42
42
  dictionary = await revalidate(targetLanguage);
43
43
  }
44
- if (!language) {
44
+ if (!targetLanguage) {
45
45
  throw new Error("Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.");
46
46
  }
47
47
  return React.createElement(TranslationCore, { ...rest, language: targetLanguage, dictionary: dictionary });
@@ -56,7 +56,7 @@ const initialize = (config) => {
56
56
  else {
57
57
  dictionary = await revalidate(targetLanguage);
58
58
  }
59
- if (!language) {
59
+ if (!targetLanguage) {
60
60
  throw new Error("Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.");
61
61
  }
62
62
  return React.createElement(TransmitterCore, { ...rest, language: targetLanguage, dictionary: dictionary });
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.mjs","sources":["../../../src/initialize.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Config, type Translates } from \"./types\";\nimport { getTranslationCore, type GetTranslationCoreOptions } from \"./lib/get-translation-core\";\nimport { TranslationCore, type TranslationCoreProps } from \"./lib/translation-core\";\nimport { TransmitterCore, type TransmitterCoreProps } from \"./lib/transmitter-core\";\n\nexport const initialize = (config: Config) => {\n const cache = new Map<string, Translates | Promise<Translates>>();\n\n const loadTranslates = async (language: string, revalidate?: boolean) => {\n const item = cache.get(language);\n\n if (!revalidate && item) return item;\n\n if (item && \"then\" in item) {\n return item;\n }\n\n const newData = await config.load(language);\n cache.set(language, newData);\n return newData;\n };\n\n const getTranslation = async (\n options: Omit<GetTranslationCoreOptions, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return getTranslationCore({ ...rest, language: targetLanguage, dictionary });\n };\n\n const ServerTranslation = async (\n options: Omit<TranslationCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TranslationCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const Transmitter = async (\n options: Omit<TransmitterCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!language) {\n throw new Error(\n \"Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TransmitterCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const revalidate = async (language: string, background: boolean = false) => {\n const item = cache.get(language);\n if (item && \"then\" in item) return item;\n\n if (background) {\n const newData = await loadTranslates(language, true);\n return newData;\n }\n\n const newDataPromise = loadTranslates(language, true);\n cache.set(language, newDataPromise);\n return newDataPromise;\n };\n\n return {\n Transmitter,\n ServerTranslation,\n getTranslation,\n revalidate,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.mjs","sources":["../../../src/initialize.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { type Config, type Translates } from \"./types\";\nimport { getTranslationCore, type GetTranslationCoreOptions } from \"./lib/get-translation-core\";\nimport { TranslationCore, type TranslationCoreProps } from \"./lib/translation-core\";\nimport { TransmitterCore, type TransmitterCoreProps } from \"./lib/transmitter-core\";\n\nexport const initialize = (config: Config) => {\n const cache = new Map<string, Translates | Promise<Translates>>();\n\n const loadTranslates = async (language: string, revalidate?: boolean) => {\n const item = cache.get(language);\n\n if (!revalidate && item) return item;\n\n if (item && \"then\" in item) {\n return item;\n }\n\n const newData = await config.load(language);\n cache.set(language, newData);\n return newData;\n };\n\n const getTranslation = async (\n options?: Omit<GetTranslationCoreOptions, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in getTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return getTranslationCore({ ...rest, language: targetLanguage, dictionary });\n };\n\n const ServerTranslation = async (\n props: Omit<TranslationCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = props || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in ServerTranslation. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TranslationCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const Transmitter = async (\n options: Omit<TransmitterCoreProps, \"dictionary\" | \"language\"> & { language?: string },\n ) => {\n const { language, ...rest } = options || {};\n const targetLanguage = language || (await config.getLanguage());\n let dictionary: Translates;\n if (config.cache) {\n dictionary = await loadTranslates(targetLanguage);\n } else {\n dictionary = await revalidate(targetLanguage);\n }\n\n if (!targetLanguage) {\n throw new Error(\n \"Unable to get the language in Transmitter. Please check the getLanguage method in the configuration file or pass the language as an argument.\",\n );\n }\n\n return <TransmitterCore {...rest} language={targetLanguage} dictionary={dictionary} />;\n };\n\n const revalidate = async (language: string, background: boolean = false) => {\n const item = cache.get(language);\n if (item && \"then\" in item) return item;\n\n if (background) {\n const newData = await loadTranslates(language, true);\n return newData;\n }\n\n const newDataPromise = loadTranslates(language, true);\n cache.set(language, newDataPromise);\n return newDataPromise;\n };\n\n return {\n Transmitter,\n ServerTranslation,\n getTranslation,\n revalidate,\n };\n};\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimpl/i18n",
3
- "version": "0.0.0-experimental-7639e49",
3
+ "version": "0.0.0-experimental-0308d9d",
4
4
  "description": "i18n library for working with translations in server and client components",
5
5
  "files": [
6
6
  "dist"
@@ -9,11 +9,11 @@
9
9
  "module": "dist/esm/initialize.mjs",
10
10
  "types": "dist/cjs/initialize.d.ts",
11
11
  "exports": {
12
- "./client-translation": {
13
- "types": "./dist/cjs/client-translation.d.ts",
14
- "import": "./dist/esm/client-translation.mjs",
15
- "require": "./dist/cjs/client-translation.js",
16
- "default": "./dist/esm/client-translation.mjs"
12
+ ".": {
13
+ "types": "./dist/cjs/initialize.d.ts",
14
+ "import": "./dist/esm/initialize.mjs",
15
+ "require": "./dist/cjs/initialize.js",
16
+ "default": "./dist/esm/initialize.mjs"
17
17
  },
18
18
  "./initialize": {
19
19
  "types": "./dist/cjs/initialize.d.ts",
@@ -21,6 +21,12 @@
21
21
  "require": "./dist/cjs/initialize.js",
22
22
  "default": "./dist/esm/initialize.mjs"
23
23
  },
24
+ "./client-translation": {
25
+ "types": "./dist/cjs/client-translation.d.ts",
26
+ "import": "./dist/esm/client-translation.mjs",
27
+ "require": "./dist/cjs/client-translation.js",
28
+ "default": "./dist/esm/client-translation.mjs"
29
+ },
24
30
  "./types": {
25
31
  "types": "./dist/cjs/types.d.ts",
26
32
  "import": "./dist/esm/types.mjs",