gt-react 6.1.6 → 7.0.0
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/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -1
- package/dist/client.js.map +1 -1
- package/dist/errors/createErrors.d.ts +4 -2
- package/dist/errors/createErrors.d.ts.map +1 -1
- package/dist/errors/createErrors.js +6 -4
- package/dist/errors/createErrors.js.map +1 -1
- package/dist/hooks/useBrowserLocale.d.ts.map +1 -1
- package/dist/hooks/useBrowserLocale.js +12 -10
- package/dist/hooks/useBrowserLocale.js.map +1 -1
- package/dist/hooks/useGT.d.ts +2 -2
- package/dist/hooks/useGT.d.ts.map +1 -1
- package/dist/hooks/useGT.js +12 -14
- package/dist/hooks/useGT.js.map +1 -1
- package/dist/inline/ClientResolver.d.ts +2 -0
- package/dist/inline/ClientResolver.d.ts.map +1 -0
- package/dist/inline/ClientResolver.js +80 -0
- package/dist/inline/ClientResolver.js.map +1 -0
- package/dist/inline/T.d.ts.map +1 -1
- package/dist/inline/T.js +68 -17
- package/dist/inline/T.js.map +1 -1
- package/dist/internal/addGTIdentifier.d.ts +1 -1
- package/dist/internal/addGTIdentifier.d.ts.map +1 -1
- package/dist/internal/addGTIdentifier.js +3 -8
- package/dist/internal/addGTIdentifier.js.map +1 -1
- package/dist/internal/writeChildrenAsObjects.d.ts +2 -1
- package/dist/internal/writeChildrenAsObjects.d.ts.map +1 -1
- package/dist/internal/writeChildrenAsObjects.js.map +1 -1
- package/dist/internal.d.ts +2 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -1
- package/dist/internal.js.map +1 -1
- package/dist/provider/GTProvider.d.ts +10 -3
- package/dist/provider/GTProvider.d.ts.map +1 -1
- package/dist/provider/GTProvider.js +60 -39
- package/dist/provider/GTProvider.js.map +1 -1
- package/dist/provider/dynamic/useDynamicTranslation.d.ts +29 -0
- package/dist/provider/dynamic/useDynamicTranslation.d.ts.map +1 -0
- package/dist/provider/dynamic/useDynamicTranslation.js +156 -0
- package/dist/provider/dynamic/useDynamicTranslation.js.map +1 -0
- package/dist/provider/helpers/getDictionaryEntry.d.ts +1 -1
- package/dist/provider/helpers/getDictionaryEntry.d.ts.map +1 -1
- package/dist/provider/helpers/isVariableObject.d.ts +2 -2
- package/dist/provider/helpers/isVariableObject.d.ts.map +1 -1
- package/dist/provider/helpers/isVariableObject.js.map +1 -1
- package/dist/provider/on-demand/useOnDemandTranslation.d.ts +30 -0
- package/dist/provider/on-demand/useOnDemandTranslation.d.ts.map +1 -0
- package/dist/provider/on-demand/useOnDemandTranslation.js +96 -0
- package/dist/provider/on-demand/useOnDemandTranslation.js.map +1 -0
- package/dist/provider/rendering/defaultRenderSettings.d.ts +5 -0
- package/dist/provider/rendering/defaultRenderSettings.d.ts.map +1 -0
- package/dist/provider/rendering/defaultRenderSettings.js +11 -0
- package/dist/provider/rendering/defaultRenderSettings.js.map +1 -0
- package/dist/provider/rendering/renderTranslatedChildren.d.ts.map +1 -1
- package/dist/provider/rendering/renderTranslatedChildren.js +3 -3
- package/dist/provider/rendering/renderTranslatedChildren.js.map +1 -1
- package/dist/types/types.d.ts +14 -24
- package/dist/types/types.d.ts.map +1 -1
- package/dist/variables/_getVariableProps.d.ts +1 -1
- package/package.json +5 -5
package/dist/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,qCAAqC,CAAC;AAC3E,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,eAAe,EAAE,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,wBAAwB,MAAM,+CAA+C,CAAC;AACrF,OAAO,EACH,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EACzD,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EACvD,wBAAwB,EAAE,eAAe,EAAE,oBAAoB,EAC/D,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,qCAAqC,CAAC;AAC3E,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,eAAe,EAAE,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,wBAAwB,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EACH,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EACzD,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EACvD,wBAAwB,EAAE,eAAe,EAAE,oBAAoB,EAC/D,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,wBAAwB,EACzF,qBAAqB,EACxB,CAAA"}
|
package/dist/internal.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.renderTranslatedChildren = exports.renderDefaultChildren = exports.getFallbackVariableName = exports.getVariableName = exports.extractEntryMetadata = exports.getPluralBranch = exports.hashReactChildrenObjects = exports.getVariableProps = exports.getDictionaryEntry = exports.flattenDictionary = exports.isVariableObject = exports.writeChildrenAsObjects = exports.addGTIdentifier = void 0;
|
|
29
|
+
exports.defaultRenderSettings = exports.renderTranslatedChildren = exports.renderDefaultChildren = exports.getFallbackVariableName = exports.getVariableName = exports.extractEntryMetadata = exports.getPluralBranch = exports.hashReactChildrenObjects = exports.getVariableProps = exports.getDictionaryEntry = exports.flattenDictionary = exports.isVariableObject = exports.writeChildrenAsObjects = exports.addGTIdentifier = void 0;
|
|
30
30
|
var hashReactChildrenObjects_1 = __importDefault(require("./internal/hashReactChildrenObjects"));
|
|
31
31
|
exports.hashReactChildrenObjects = hashReactChildrenObjects_1.default;
|
|
32
32
|
var flattenDictionary_1 = __importDefault(require("./internal/flattenDictionary"));
|
|
@@ -52,4 +52,6 @@ var renderDefaultChildren_1 = __importDefault(require("./provider/rendering/rend
|
|
|
52
52
|
exports.renderDefaultChildren = renderDefaultChildren_1.default;
|
|
53
53
|
var renderTranslatedChildren_1 = __importDefault(require("./provider/rendering/renderTranslatedChildren"));
|
|
54
54
|
exports.renderTranslatedChildren = renderTranslatedChildren_1.default;
|
|
55
|
+
var defaultRenderSettings_1 = require("./provider/rendering/defaultRenderSettings");
|
|
56
|
+
Object.defineProperty(exports, "defaultRenderSettings", { enumerable: true, get: function () { return defaultRenderSettings_1.defaultRenderSettings; } });
|
|
55
57
|
//# sourceMappingURL=internal.js.map
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iGAA2E;
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iGAA2E;AAgBvE,mCAhBG,kCAAwB,CAgBH;AAf5B,mFAA6D;AAczD,4BAdG,2BAAiB,CAcH;AAbrB,+EAAyD;AAYrD,0BAZG,yBAAe,CAYH;AAXnB,6FAAuE;AAWlD,iCAXd,gCAAsB,CAWc;AAV3C,uFAAiE;AAYnC,0BAZvB,yBAAe,CAYuB;AAX7C,6FAAuE;AAUhD,6BAVhB,4BAAkB,CAUgB;AATzC,iGAA2E;AAU5B,+BAVxC,8BAAoB,CAUwC;AATnE,oFAA6D;AAQlB,2BARpC,2BAAgB,CAQoC;AAP3D,yFAAmE;AAMtB,2BANtC,0BAAgB,CAMsC;AAL7D,6EAAuF;AAQnF,0BARG,yBAAe,CAQH;AAAE,wGARK,yCAAuB,OAQL;AAP5C,qGAA+E;AAOjC,gCAPvC,+BAAqB,CAOuC;AANnE,2GAAqF;AAMhB,mCAN9D,kCAAwB,CAM8D;AAL7F,oFAAmF;AAM/E,sGANK,6CAAqB,OAML"}
|
|
@@ -8,17 +8,24 @@ import { Dictionary } from "../types/types";
|
|
|
8
8
|
* @param {string[]} [locales] - The list of approved locales for the project.
|
|
9
9
|
* @param {string} [defaultLocale=libraryDefaultLocale] - The default locale to use if no other locale is found.
|
|
10
10
|
* @param {string} [locale] - The current locale, if already set.
|
|
11
|
-
* @param {string} [
|
|
11
|
+
* @param {string} [cacheUrl='https://cache.gtx.dev'] - The URL of the cache service for fetching translations.
|
|
12
12
|
*
|
|
13
13
|
* @returns {JSX.Element} The provider component for General Translation context.
|
|
14
14
|
*/
|
|
15
|
-
export default function GTProvider({ children, projectId, dictionary, locales, defaultLocale, locale,
|
|
15
|
+
export default function GTProvider({ children, projectId, dictionary, locales, defaultLocale, locale, cacheUrl, baseUrl, renderSettings, devApiKey, ...metadata }: {
|
|
16
16
|
children?: any;
|
|
17
17
|
projectId?: string;
|
|
18
18
|
dictionary?: Dictionary;
|
|
19
19
|
locales?: string[];
|
|
20
20
|
defaultLocale?: string;
|
|
21
21
|
locale?: string;
|
|
22
|
-
|
|
22
|
+
cacheUrl?: string;
|
|
23
|
+
baseUrl?: string;
|
|
24
|
+
devApiKey?: string;
|
|
25
|
+
renderSettings?: {
|
|
26
|
+
method: 'skeleton' | 'replace' | 'hang' | 'subtle';
|
|
27
|
+
timeout: number | null;
|
|
28
|
+
};
|
|
29
|
+
[key: string]: any;
|
|
23
30
|
}): JSX.Element;
|
|
24
31
|
//# sourceMappingURL=GTProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTProvider.d.ts","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"GTProvider.d.ts","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAW,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAczE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,UAAe,EACf,OAAgC,EAChC,aAAoC,EACpC,MAAkE,EAClE,QAA0B,EAC1B,OAAwB,EACxB,cAAsC,EACtC,SAAS,EACT,GAAG,QAAQ,EACd,EAAE;IACC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACb,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;QACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,GAAG,GAAG,CAAC,OAAO,CA0Gd"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -35,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
47
|
}
|
|
37
48
|
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
38
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
62
|
};
|
|
@@ -55,6 +77,8 @@ var internal_2 = require("generaltranslation/internal");
|
|
|
55
77
|
var renderVariable_1 = __importDefault(require("./rendering/renderVariable"));
|
|
56
78
|
var createErrors_1 = require("../errors/createErrors");
|
|
57
79
|
var supported_locales_1 = require("@generaltranslation/supported-locales");
|
|
80
|
+
var useDynamicTranslation_1 = __importDefault(require("./dynamic/useDynamicTranslation"));
|
|
81
|
+
var defaultRenderSettings_1 = require("./rendering/defaultRenderSettings");
|
|
58
82
|
/**
|
|
59
83
|
* Provides General Translation context to its children, which can then access `useGT`, `useLocale`, and `useDefaultLocale`.
|
|
60
84
|
*
|
|
@@ -64,27 +88,19 @@ var supported_locales_1 = require("@generaltranslation/supported-locales");
|
|
|
64
88
|
* @param {string[]} [locales] - The list of approved locales for the project.
|
|
65
89
|
* @param {string} [defaultLocale=libraryDefaultLocale] - The default locale to use if no other locale is found.
|
|
66
90
|
* @param {string} [locale] - The current locale, if already set.
|
|
67
|
-
* @param {string} [
|
|
91
|
+
* @param {string} [cacheUrl='https://cache.gtx.dev'] - The URL of the cache service for fetching translations.
|
|
68
92
|
*
|
|
69
93
|
* @returns {JSX.Element} The provider component for General Translation context.
|
|
70
94
|
*/
|
|
71
95
|
function GTProvider(_a) {
|
|
72
96
|
var _this = this;
|
|
73
|
-
var children = _a.children, projectId = _a.projectId, _b = _a.dictionary, dictionary = _b === void 0 ? {} : _b,
|
|
74
|
-
if (!projectId &&
|
|
97
|
+
var children = _a.children, projectId = _a.projectId, _b = _a.dictionary, dictionary = _b === void 0 ? {} : _b, _c = _a.locales, locales = _c === void 0 ? (0, supported_locales_1.listSupportedLocales)() : _c, _d = _a.defaultLocale, defaultLocale = _d === void 0 ? internal_2.libraryDefaultLocale : _d, _e = _a.locale, locale = _e === void 0 ? (0, useBrowserLocale_1.default)(defaultLocale, locales) || defaultLocale : _e, _f = _a.cacheUrl, cacheUrl = _f === void 0 ? internal_2.defaultCacheUrl : _f, _g = _a.baseUrl, baseUrl = _g === void 0 ? internal_2.defaultBaseUrl : _g, _h = _a.renderSettings, renderSettings = _h === void 0 ? defaultRenderSettings_1.defaultRenderSettings : _h, devApiKey = _a.devApiKey, metadata = __rest(_a, ["children", "projectId", "dictionary", "locales", "defaultLocale", "locale", "cacheUrl", "baseUrl", "renderSettings", "devApiKey"]);
|
|
98
|
+
if (!projectId && (cacheUrl === internal_2.defaultCacheUrl || baseUrl === internal_2.defaultBaseUrl)) {
|
|
75
99
|
throw new Error(createErrors_1.projectIdMissingError);
|
|
76
100
|
}
|
|
77
|
-
|
|
78
|
-
return (0, supported_locales_1.listSupportedLocales)();
|
|
79
|
-
}, []);
|
|
80
|
-
if (!locales) {
|
|
81
|
-
locales = supportedLocales;
|
|
82
|
-
}
|
|
83
|
-
var browserLocale = (0, useBrowserLocale_1.default)(defaultLocale, locales);
|
|
84
|
-
locale = locale || browserLocale;
|
|
85
|
-
locale = (0, generaltranslation_1.determineLocale)([locale, browserLocale], locales) || locale;
|
|
101
|
+
;
|
|
86
102
|
var translationRequired = (0, react_1.useMemo)(function () { return (0, generaltranslation_1.requiresTranslation)(defaultLocale, locale, locales); }, [defaultLocale, locale, locales]);
|
|
87
|
-
var
|
|
103
|
+
var _j = (0, react_2.useState)(cacheUrl ? null : {}), translations = _j[0], setTranslations = _j[1];
|
|
88
104
|
(0, react_2.useEffect)(function () {
|
|
89
105
|
if (!translations) {
|
|
90
106
|
if (!translationRequired) {
|
|
@@ -92,48 +108,45 @@ function GTProvider(_a) {
|
|
|
92
108
|
}
|
|
93
109
|
else {
|
|
94
110
|
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
95
|
-
var response, result;
|
|
111
|
+
var response, result, error_1;
|
|
96
112
|
return __generator(this, function (_a) {
|
|
97
113
|
switch (_a.label) {
|
|
98
|
-
case 0:
|
|
114
|
+
case 0:
|
|
115
|
+
_a.trys.push([0, 3, , 4]);
|
|
116
|
+
return [4 /*yield*/, fetch("".concat(cacheUrl, "/").concat(projectId, "/").concat(locale))];
|
|
99
117
|
case 1:
|
|
100
118
|
response = _a.sent();
|
|
101
119
|
return [4 /*yield*/, response.json()];
|
|
102
120
|
case 2:
|
|
103
121
|
result = _a.sent();
|
|
104
122
|
setTranslations(result);
|
|
105
|
-
return [
|
|
123
|
+
return [3 /*break*/, 4];
|
|
124
|
+
case 3:
|
|
125
|
+
error_1 = _a.sent();
|
|
126
|
+
console.error(error_1);
|
|
127
|
+
setTranslations({});
|
|
128
|
+
return [3 /*break*/, 4];
|
|
129
|
+
case 4: return [2 /*return*/];
|
|
106
130
|
}
|
|
107
131
|
});
|
|
108
132
|
}); })();
|
|
109
133
|
}
|
|
110
134
|
}
|
|
111
|
-
}, [
|
|
112
|
-
var translate = (0, react_2.useCallback)(function (id, options
|
|
135
|
+
}, [translationRequired, cacheUrl, projectId, locale]);
|
|
136
|
+
var translate = (0, react_2.useCallback)(function (id, options) {
|
|
113
137
|
if (options === void 0) { options = {}; }
|
|
114
138
|
// get the dictionary entry
|
|
115
|
-
var
|
|
116
|
-
if (
|
|
139
|
+
var dictionaryEntry = (0, getDictionaryEntry_1.default)(dictionary, id);
|
|
140
|
+
if (dictionaryEntry === undefined || dictionaryEntry === null ||
|
|
141
|
+
(typeof dictionaryEntry === 'object' && !Array.isArray(dictionaryEntry))) {
|
|
117
142
|
console.warn((0, createErrors_1.createLibraryNoEntryWarning)(id));
|
|
118
143
|
return undefined;
|
|
119
144
|
}
|
|
120
145
|
;
|
|
146
|
+
var _a = (0, extractEntryMetadata_1.default)(dictionaryEntry), entry = _a.entry, metadata = _a.metadata;
|
|
121
147
|
// Get variables and variable options
|
|
122
|
-
var variables;
|
|
123
|
-
var variablesOptions;
|
|
124
|
-
if (options) {
|
|
125
|
-
variables = options;
|
|
126
|
-
if (metadata === null || metadata === void 0 ? void 0 : metadata.variablesOptions) {
|
|
127
|
-
variablesOptions = metadata.variablesOptions;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Handle if the entry is a function
|
|
131
|
-
if (typeof f === 'function') {
|
|
132
|
-
entry = f(options);
|
|
133
|
-
}
|
|
134
|
-
else if (typeof entry === 'function') {
|
|
135
|
-
entry = entry(options);
|
|
136
|
-
}
|
|
148
|
+
var variables = options;
|
|
149
|
+
var variablesOptions = metadata === null || metadata === void 0 ? void 0 : metadata.variablesOptions;
|
|
137
150
|
var taggedEntry = (0, internal_1.addGTIdentifier)(entry, id);
|
|
138
151
|
// If no translations are required
|
|
139
152
|
if (!translationRequired) {
|
|
@@ -150,13 +163,16 @@ function GTProvider(_a) {
|
|
|
150
163
|
}
|
|
151
164
|
// If a translation is required
|
|
152
165
|
if (translations) {
|
|
153
|
-
var
|
|
166
|
+
var context = metadata === null || metadata === void 0 ? void 0 : metadata.context;
|
|
167
|
+
var childrenAsObjects = (0, internal_1.writeChildrenAsObjects)(taggedEntry);
|
|
168
|
+
var hash = (0, internal_1.hashReactChildrenObjects)(context ? [childrenAsObjects, context] : childrenAsObjects);
|
|
169
|
+
var target = translations[id][hash];
|
|
154
170
|
if (typeof taggedEntry === 'string') {
|
|
155
|
-
return (0, generaltranslation_1.renderContentToString)(
|
|
171
|
+
return (0, generaltranslation_1.renderContentToString)(target, [locale, defaultLocale], variables, variablesOptions);
|
|
156
172
|
}
|
|
157
173
|
return (0, renderTranslatedChildren_1.default)({
|
|
158
174
|
source: taggedEntry,
|
|
159
|
-
target:
|
|
175
|
+
target: target,
|
|
160
176
|
variables: variables,
|
|
161
177
|
variablesOptions: variablesOptions,
|
|
162
178
|
locales: [locale, defaultLocale],
|
|
@@ -164,13 +180,18 @@ function GTProvider(_a) {
|
|
|
164
180
|
});
|
|
165
181
|
}
|
|
166
182
|
}, [dictionary, translations, translationRequired, defaultLocale]);
|
|
183
|
+
var _k = (0, useDynamicTranslation_1.default)(__assign({ projectId: projectId, defaultLocale: defaultLocale, devApiKey: devApiKey, baseUrl: baseUrl, setTranslations: setTranslations }, metadata)), translateChildren = _k.translateChildren, translateContent = _k.translateContent, translationEnabled = _k.translationEnabled;
|
|
167
184
|
return ((0, jsx_runtime_1.jsx)(GTContext_1.GTContext.Provider, { value: {
|
|
168
185
|
translate: translate,
|
|
186
|
+
translateContent: translateContent,
|
|
187
|
+
translateChildren: translateChildren,
|
|
169
188
|
locale: locale,
|
|
170
189
|
defaultLocale: defaultLocale,
|
|
171
190
|
translations: translations,
|
|
172
191
|
translationRequired: translationRequired,
|
|
173
|
-
projectId: projectId
|
|
192
|
+
projectId: projectId,
|
|
193
|
+
translationEnabled: translationEnabled,
|
|
194
|
+
renderSettings: renderSettings
|
|
174
195
|
}, children: children }));
|
|
175
196
|
}
|
|
176
197
|
//# sourceMappingURL=GTProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTProvider.js","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GTProvider.js","sourceRoot":"","sources":["../../src/provider/GTProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default function useDynamicTranslation({ projectId, devApiKey, baseUrl, defaultLocale, setTranslations, ...metadata }: {
|
|
2
|
+
projectId?: string;
|
|
3
|
+
defaultLocale?: string;
|
|
4
|
+
devApiKey?: string;
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
setTranslations: React.Dispatch<React.SetStateAction<any>>;
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}): {
|
|
9
|
+
translationEnabled: boolean;
|
|
10
|
+
translateContent?: undefined;
|
|
11
|
+
translateChildren?: undefined;
|
|
12
|
+
} | {
|
|
13
|
+
translateContent: (params: {
|
|
14
|
+
source: any;
|
|
15
|
+
targetLocale: string;
|
|
16
|
+
metadata: {
|
|
17
|
+
hash: string;
|
|
18
|
+
} & Record<string, any>;
|
|
19
|
+
}) => void;
|
|
20
|
+
translateChildren: (params: {
|
|
21
|
+
source: any;
|
|
22
|
+
targetLocale: string;
|
|
23
|
+
metadata: {
|
|
24
|
+
hash: string;
|
|
25
|
+
} & Record<string, any>;
|
|
26
|
+
}) => void;
|
|
27
|
+
translationEnabled: boolean;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useDynamicTranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDynamicTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider/dynamic/useDynamicTranslation.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,eAAe,EACf,GAAG,QAAQ,EACd,EAAE;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;;;;;+BAmBiD;QAC1C,MAAM,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACtF;gCAW8C;QAC3C,MAAM,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACtF;;EA6CJ"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
24
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
60
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
61
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
62
|
+
};
|
|
63
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
+
exports.default = useDynamicTranslation;
|
|
65
|
+
var generaltranslation_1 = __importDefault(require("generaltranslation"));
|
|
66
|
+
var react_1 = require("react");
|
|
67
|
+
var createErrors_1 = require("../../errors/createErrors");
|
|
68
|
+
var internal_1 = require("generaltranslation/internal");
|
|
69
|
+
function useDynamicTranslation(_a) {
|
|
70
|
+
var _this = this;
|
|
71
|
+
var projectId = _a.projectId, devApiKey = _a.devApiKey, baseUrl = _a.baseUrl, defaultLocale = _a.defaultLocale, setTranslations = _a.setTranslations, metadata = __rest(_a, ["projectId", "devApiKey", "baseUrl", "defaultLocale", "setTranslations"]);
|
|
72
|
+
var gt = (0, react_1.useMemo)(function () { return new generaltranslation_1.default({ devApiKey: devApiKey, projectId: projectId, baseUrl: baseUrl, defaultLocale: defaultLocale }); }, [devApiKey, projectId, baseUrl, metadata.defaultLocale]);
|
|
73
|
+
metadata = __assign(__assign({}, metadata), { projectId: projectId, defaultLocale: defaultLocale });
|
|
74
|
+
var translationEnabled = (baseUrl &&
|
|
75
|
+
projectId &&
|
|
76
|
+
(baseUrl === internal_1.defaultBaseUrl ? gt.apiKey : true)
|
|
77
|
+
? true
|
|
78
|
+
: false);
|
|
79
|
+
if (!translationEnabled)
|
|
80
|
+
return { translationEnabled: translationEnabled };
|
|
81
|
+
// Queue to store requested keys between renders.
|
|
82
|
+
var requestQueueRef = (0, react_1.useRef)(new Map());
|
|
83
|
+
// Trigger a fetch when keys have been added.
|
|
84
|
+
var _b = (0, react_1.useState)(0), fetchTrigger = _b[0], setFetchTrigger = _b[1];
|
|
85
|
+
var translateContent = (0, react_1.useCallback)(function (params) {
|
|
86
|
+
var key = "".concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
87
|
+
var data = __assign(__assign({}, params), { metadata: __assign(__assign({}, metadata), params.metadata) });
|
|
88
|
+
requestQueueRef.current.set(key, { type: 'content', data: data });
|
|
89
|
+
setFetchTrigger(function (n) { return n + 1; });
|
|
90
|
+
}, []);
|
|
91
|
+
/**
|
|
92
|
+
* Call this from <T> components to request a translation key.
|
|
93
|
+
* Keys are batched and fetched in the next effect cycle.
|
|
94
|
+
*/
|
|
95
|
+
var translateChildren = (0, react_1.useCallback)(function (params) {
|
|
96
|
+
var key = "".concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
97
|
+
var data = __assign(__assign({}, params), { metadata: __assign(__assign({}, metadata), params.metadata) });
|
|
98
|
+
requestQueueRef.current.set(key, { type: 'jsx', data: data });
|
|
99
|
+
setFetchTrigger(function (n) { return n + 1; });
|
|
100
|
+
}, []);
|
|
101
|
+
(0, react_1.useEffect)(function () {
|
|
102
|
+
if (requestQueueRef.current.size === 0) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
var isCancelled = false;
|
|
106
|
+
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
107
|
+
var requests, results_1, error_1;
|
|
108
|
+
return __generator(this, function (_a) {
|
|
109
|
+
switch (_a.label) {
|
|
110
|
+
case 0:
|
|
111
|
+
requests = Array.from(requestQueueRef.current.values());
|
|
112
|
+
_a.label = 1;
|
|
113
|
+
case 1:
|
|
114
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
115
|
+
return [4 /*yield*/, gt.translateBatchFromClient(requests)];
|
|
116
|
+
case 2:
|
|
117
|
+
results_1 = _a.sent();
|
|
118
|
+
if (!isCancelled) {
|
|
119
|
+
setTranslations(function (prev) {
|
|
120
|
+
var merged = __assign({}, (prev || {}));
|
|
121
|
+
results_1.forEach(function (result, index) {
|
|
122
|
+
var _a;
|
|
123
|
+
var _b;
|
|
124
|
+
var request = requests[index];
|
|
125
|
+
if ((result === null || result === void 0 ? void 0 : result.translation) && (result === null || result === void 0 ? void 0 : result.reference)) {
|
|
126
|
+
var translation = result.translation, _c = result.reference, id = _c.id, key = _c.key;
|
|
127
|
+
merged[id] = (_a = {}, _a[key] = translation, _a);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
merged[request.data.metadata.id || request.data.metadata.hash] = {
|
|
131
|
+
error: (_b = result === null || result === void 0 ? void 0 : result.error) !== null && _b !== void 0 ? _b : 500
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return merged;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return [3 /*break*/, 5];
|
|
139
|
+
case 3:
|
|
140
|
+
error_1 = _a.sent();
|
|
141
|
+
console.error(createErrors_1.dynamicTranslationError, error_1);
|
|
142
|
+
return [3 /*break*/, 5];
|
|
143
|
+
case 4:
|
|
144
|
+
requestQueueRef.current.clear();
|
|
145
|
+
return [7 /*endfinally*/];
|
|
146
|
+
case 5: return [2 /*return*/];
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}); })();
|
|
150
|
+
return function () {
|
|
151
|
+
isCancelled = true;
|
|
152
|
+
};
|
|
153
|
+
}, [gt, fetchTrigger, setTranslations]);
|
|
154
|
+
return { translateContent: translateContent, translateChildren: translateChildren, translationEnabled: translationEnabled };
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=useDynamicTranslation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDynamicTranslation.js","sourceRoot":"","sources":["../../../src/provider/dynamic/useDynamicTranslation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Dictionary, DictionaryEntry } from "../../types/types";
|
|
2
|
-
export default function getDictionaryEntry(dictionary: Dictionary, id: string): Dictionary | DictionaryEntry;
|
|
2
|
+
export default function getDictionaryEntry(dictionary: Dictionary, id: string): Dictionary | DictionaryEntry | undefined;
|
|
3
3
|
//# sourceMappingURL=getDictionaryEntry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDictionaryEntry.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/getDictionaryEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACX,UAAU,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"getDictionaryEntry.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/getDictionaryEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACX,UAAU,GAAG,eAAe,GAAG,SAAS,CAe1C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default function isVariableObject(obj: unknown): obj is
|
|
1
|
+
import { Variable } from "../../types/types";
|
|
2
|
+
export default function isVariableObject(obj: unknown): obj is Variable;
|
|
3
3
|
//# sourceMappingURL=isVariableObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isVariableObject.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/isVariableObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"isVariableObject.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/isVariableObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,CAiBtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isVariableObject.js","sourceRoot":"","sources":["../../../src/provider/helpers/isVariableObject.ts"],"names":[],"mappings":";;AAEA,mCAiBC;AAjBD,SAAwB,gBAAgB,CAAC,GAAY;IACjD,IAAM,WAAW,GAAI,
|
|
1
|
+
{"version":3,"file":"isVariableObject.js","sourceRoot":"","sources":["../../../src/provider/helpers/isVariableObject.ts"],"names":[],"mappings":";;AAEA,mCAiBC;AAjBD,SAAwB,gBAAgB,CAAC,GAAY;IACjD,IAAM,WAAW,GAAI,GAAgB,CAAC;IACtC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAQ,WAAwB,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACtG,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACpD,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,IACI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ;gBACxC,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ;gBACpC,OAAO,IAAI,CAAC;QAClB,CAAC;IACL,CAAC;IACF,OAAO,KAAK,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type TranslationRequest = {
|
|
2
|
+
source: any;
|
|
3
|
+
targetLocale: string;
|
|
4
|
+
metadata: Record<string, any>;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Hook to fetch translations on-demand with batching and concurrency control.
|
|
8
|
+
* @param {object} params - Hook parameters.
|
|
9
|
+
* @param {string} [params.baseUrl] - Base URL for the API.
|
|
10
|
+
* @param {string} [params.devApiKey] - Development API key.
|
|
11
|
+
* @param {string} [params.projectId] - Project ID for translations.
|
|
12
|
+
* @param {string} [params.defaultLocale] - Default locale.
|
|
13
|
+
* @param {number} params.maxConcurrentRequests - Max number of concurrent fetch requests.
|
|
14
|
+
* @param {number} params.batchInterval - Interval between processing batches.
|
|
15
|
+
* @param {Record<string, any>} [params.metadata] - Additional metadata.
|
|
16
|
+
* @returns {{ translateJsx: (request: TranslationRequest) => Promise<any> }}
|
|
17
|
+
*/
|
|
18
|
+
export default function useOnDemandTranslation({ baseUrl, devApiKey, projectId, defaultLocale, maxConcurrentRequests, batchInterval, ...metadata }: {
|
|
19
|
+
baseUrl?: string;
|
|
20
|
+
devApiKey?: string;
|
|
21
|
+
projectId?: string;
|
|
22
|
+
defaultLocale?: string;
|
|
23
|
+
maxConcurrentRequests?: number;
|
|
24
|
+
batchInterval?: number;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}): {
|
|
27
|
+
translateJsx: (request: TranslationRequest) => Promise<string>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=useOnDemandTranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnDemandTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider/on-demand/useOnDemandTranslation.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG;IACtB,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC,CAAA;AASD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC3C,OAAO,EAAE,SAAS,EAClB,SAAS,EACT,aAAa,EACb,qBAAyB,EACzB,aAAkB,EAClB,GAAG,QAAQ,EACd,EAAE;IACC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;4BA6CkC,kBAAkB,KAAG,OAAO,CAAC,MAAM,CAAC;EAkBtE"}
|