i18n-keyless-react 1.14.3 → 1.14.5
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.
- package/dist/__tests__/__mocks__/store.js +1 -1
- package/dist/package.json +2 -2
- package/dist/store.js +10 -10
- package/dist/types.d.ts +2 -2
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +2 -2
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i18n-keyless-react",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.14.
|
|
4
|
+
"version": "1.14.5",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"postpublish": "rm -rf ./dist && rm *.tgz"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"i18n-keyless-core": "1.14.
|
|
20
|
+
"i18n-keyless-core": "1.14.5",
|
|
21
21
|
"zustand": "^5.0.3"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
package/dist/store.js
CHANGED
|
@@ -13,7 +13,7 @@ export const useI18nKeyless = create((set, get) => ({
|
|
|
13
13
|
uniqueId: null,
|
|
14
14
|
lastRefresh: null,
|
|
15
15
|
translations: {},
|
|
16
|
-
|
|
16
|
+
lastUsedTranslations: {},
|
|
17
17
|
currentLanguage: "fr",
|
|
18
18
|
config: {
|
|
19
19
|
API_KEY: "",
|
|
@@ -54,15 +54,15 @@ export const useI18nKeyless = create((set, get) => ({
|
|
|
54
54
|
throw new Error(`i18n-keyless: config is not initialized sending last used translation`);
|
|
55
55
|
}
|
|
56
56
|
const storage = store.config.storage;
|
|
57
|
-
const
|
|
58
|
-
if (Object.keys(
|
|
57
|
+
const lastUsedTranslations = store.lastUsedTranslations;
|
|
58
|
+
if (Object.keys(lastUsedTranslations).length === 0) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
const response = await sendTranslationsUsageToI18nKeyless(
|
|
61
|
+
const response = await sendTranslationsUsageToI18nKeyless(lastUsedTranslations, store);
|
|
62
62
|
if (response?.ok) {
|
|
63
|
-
set({
|
|
63
|
+
set({ lastUsedTranslations: {} });
|
|
64
64
|
if (storage) {
|
|
65
|
-
setItem(storeKeys.
|
|
65
|
+
setItem(storeKeys.lastUsedTranslations, "", storage);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
},
|
|
@@ -113,11 +113,11 @@ async function hydrate() {
|
|
|
113
113
|
if (debug)
|
|
114
114
|
console.log("i18n-keyless: _hydrate: no translations");
|
|
115
115
|
}
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
116
|
+
const lastUsedTranslations = await getItem(storeKeys.lastUsedTranslations, storage, JSON.parse);
|
|
117
|
+
if (lastUsedTranslations) {
|
|
118
118
|
if (debug)
|
|
119
|
-
console.log("i18n-keyless: _hydrate: last used translation",
|
|
120
|
-
useI18nKeyless.setState({
|
|
119
|
+
console.log("i18n-keyless: _hydrate: last used translation", lastUsedTranslations);
|
|
120
|
+
useI18nKeyless.setState({ lastUsedTranslations: lastUsedTranslations });
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
123
|
if (debug)
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { I18nKeylessResponse, Lang, Translations,
|
|
1
|
+
import type { I18nKeylessResponse, Lang, Translations, LastUsedTranslations, HandleTranslateFunction, GetAllTranslationsFunction, SendTranslationsUsageFunction, UniqueId, LastRefresh, LanguagesConfig } from "i18n-keyless-core";
|
|
2
2
|
type GetStorageFunction = (key: string) => string | null | undefined | Promise<string | null | undefined>;
|
|
3
3
|
type SetStorageFunction = (key: string, value: string) => void | Promise<void>;
|
|
4
4
|
type RemoveStorageFunction = (key: string) => void | Promise<void>;
|
|
@@ -134,7 +134,7 @@ export interface TranslationStoreState {
|
|
|
134
134
|
* it's used to clean up the translations database
|
|
135
135
|
* and to avoid paying for translations that are not used anymore
|
|
136
136
|
*/
|
|
137
|
-
|
|
137
|
+
lastUsedTranslations: LastUsedTranslations;
|
|
138
138
|
/**
|
|
139
139
|
* the current language of the user
|
|
140
140
|
*/
|
package/dist/utils.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const storeKeys: {
|
|
|
7
7
|
lastRefresh: "i18n-keyless-last-refresh";
|
|
8
8
|
translations: "i18n-keyless-translations";
|
|
9
9
|
currentLanguage: "i18n-keyless-current-language";
|
|
10
|
-
|
|
10
|
+
lastUsedTranslations: "i18n-keyless-last-used-translations";
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* Retrieves an item from storage using various storage API patterns
|
package/dist/utils.js
CHANGED
|
@@ -6,7 +6,7 @@ export const storeKeys = {
|
|
|
6
6
|
lastRefresh: "i18n-keyless-last-refresh",
|
|
7
7
|
translations: "i18n-keyless-translations",
|
|
8
8
|
currentLanguage: "i18n-keyless-current-language",
|
|
9
|
-
|
|
9
|
+
lastUsedTranslations: "i18n-keyless-last-used-translations",
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* Retrieves an item from storage using various storage API patterns
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i18n-keyless-react",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.14.
|
|
4
|
+
"version": "1.14.5",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"postpublish": "rm -rf ./dist && rm *.tgz"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"i18n-keyless-core": "1.14.
|
|
20
|
+
"i18n-keyless-core": "1.14.5",
|
|
21
21
|
"zustand": "^5.0.3"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|