gt-react 8.2.20 → 8.2.22
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/provider/config/defaultProps.d.ts +4 -0
- package/dist/provider/config/defaultProps.d.ts.map +1 -0
- package/dist/provider/config/defaultProps.js +7 -0
- package/dist/provider/config/defaultProps.js.map +1 -0
- package/dist/provider/runtime/useRuntimeTranslation.d.ts.map +1 -1
- package/dist/provider/runtime/useRuntimeTranslation.js +203 -167
- package/dist/provider/runtime/useRuntimeTranslation.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultProps.d.ts","sourceRoot":"","sources":["../../../src/provider/config/defaultProps.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,aAAa,KAAK,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.batchInterval = exports.maxBatchSize = exports.maxConcurrentRequests = void 0;
|
|
4
|
+
exports.maxConcurrentRequests = 100;
|
|
5
|
+
exports.maxBatchSize = 25;
|
|
6
|
+
exports.batchInterval = 50;
|
|
7
|
+
//# sourceMappingURL=defaultProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultProps.js","sourceRoot":"","sources":["../../../src/provider/config/defaultProps.ts"],"names":[],"mappings":";;;AACa,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAC5B,QAAA,YAAY,GAAG,EAAE,CAAC;AAClB,QAAA,aAAa,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRuntimeTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useRuntimeTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,GAAG,QAAQ,EACZ,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;IACF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,iBAAiB,EAAE,yBAAyB,CAAC;CAC9C,CAmUA"}
|
|
@@ -61,10 +61,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
61
61
|
exports.default = useRuntimeTranslation;
|
|
62
62
|
var react_1 = require("react");
|
|
63
63
|
var createMessages_1 = require("../../messages/createMessages");
|
|
64
|
+
var defaultProps_1 = require("../config/defaultProps");
|
|
64
65
|
function useRuntimeTranslation(_a) {
|
|
65
66
|
var _this = this;
|
|
66
67
|
var targetLocale = _a.targetLocale, projectId = _a.projectId, devApiKey = _a.devApiKey, runtimeUrl = _a.runtimeUrl, defaultLocale = _a.defaultLocale, renderSettings = _a.renderSettings, setTranslations = _a.setTranslations, metadata = __rest(_a, ["targetLocale", "projectId", "devApiKey", "runtimeUrl", "defaultLocale", "renderSettings", "setTranslations"]);
|
|
67
68
|
metadata = __assign(__assign({}, metadata), { projectId: projectId, sourceLocale: defaultLocale });
|
|
69
|
+
var _b = (0, react_1.useState)(0), inflightCount = _b[0], setInflightCount = _b[1];
|
|
70
|
+
var _c = (0, react_1.useState)(0), conccurentRequestCount = _c[0], setConcurrentRequestCount = _c[1];
|
|
71
|
+
var _d = (0, react_1.useState)(new Map()), requestMap = _d[0], setRequestMap = _d[1];
|
|
72
|
+
var _e = (0, react_1.useState)(0), activeRequests = _e[0], setActiveRequests = _e[1];
|
|
68
73
|
var translationEnabled = !!(runtimeUrl && projectId);
|
|
69
74
|
if (!translationEnabled)
|
|
70
75
|
return {
|
|
@@ -76,15 +81,21 @@ function useRuntimeTranslation(_a) {
|
|
|
76
81
|
return Promise.reject(new Error("translateChildren() failed because translation is disabled"));
|
|
77
82
|
},
|
|
78
83
|
};
|
|
84
|
+
// Requests waiting to be sent (not yet batched)
|
|
79
85
|
var requestQueueRef = (0, react_1.useRef)(new Map());
|
|
80
|
-
//
|
|
81
|
-
var
|
|
86
|
+
// Requests that have yet to be resolved
|
|
87
|
+
var pendingRequestQueueRef = (0, react_1.useRef)(new Map());
|
|
82
88
|
var translateContent = (0, react_1.useCallback)(function (params) {
|
|
89
|
+
// get the key
|
|
83
90
|
var id = params.metadata.id ? "".concat(params.metadata.id, "-") : "";
|
|
84
91
|
var key = "".concat(id, "-").concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
85
|
-
|
|
92
|
+
// return a promise to current request if it exists
|
|
93
|
+
var inflightRequest = pendingRequestQueueRef.current.get(key);
|
|
94
|
+
if (inflightRequest) {
|
|
95
|
+
return inflightRequest;
|
|
96
|
+
}
|
|
86
97
|
// promise for hooking into the translation request request to know when complete
|
|
87
|
-
|
|
98
|
+
var translationPromise = new Promise(function (resolve, reject) {
|
|
88
99
|
requestQueueRef.current.set(key, {
|
|
89
100
|
type: "content",
|
|
90
101
|
source: params.source,
|
|
@@ -92,18 +103,30 @@ function useRuntimeTranslation(_a) {
|
|
|
92
103
|
resolve: resolve,
|
|
93
104
|
reject: reject,
|
|
94
105
|
});
|
|
106
|
+
})
|
|
107
|
+
.catch(function (error) {
|
|
108
|
+
throw error;
|
|
109
|
+
})
|
|
110
|
+
.finally(function () {
|
|
111
|
+
pendingRequestQueueRef.current.delete(key);
|
|
95
112
|
});
|
|
113
|
+
return translationPromise;
|
|
96
114
|
}, []);
|
|
97
115
|
/**
|
|
98
116
|
* Call this from <T> components to request a translation key.
|
|
99
117
|
* Keys are batched and fetched in the next effect cycle.
|
|
100
118
|
*/
|
|
101
119
|
var translateChildren = (0, react_1.useCallback)(function (params) {
|
|
120
|
+
// get the key
|
|
102
121
|
var id = params.metadata.id ? "".concat(params.metadata.id, "-") : "";
|
|
103
122
|
var key = "".concat(id, "-").concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
104
|
-
|
|
123
|
+
// return a promise to current request if it exists
|
|
124
|
+
var inflightRequest = pendingRequestQueueRef.current.get(key);
|
|
125
|
+
if (inflightRequest) {
|
|
126
|
+
return inflightRequest;
|
|
127
|
+
}
|
|
105
128
|
// promise for hooking into the translation request to know when complete
|
|
106
|
-
|
|
129
|
+
var translationPromise = new Promise(function (resolve, reject) {
|
|
107
130
|
requestQueueRef.current.set(key, {
|
|
108
131
|
type: "jsx",
|
|
109
132
|
source: params.source,
|
|
@@ -111,176 +134,189 @@ function useRuntimeTranslation(_a) {
|
|
|
111
134
|
resolve: resolve,
|
|
112
135
|
reject: reject,
|
|
113
136
|
});
|
|
137
|
+
})
|
|
138
|
+
.catch(function (error) {
|
|
139
|
+
throw error;
|
|
140
|
+
})
|
|
141
|
+
.finally(function () {
|
|
142
|
+
pendingRequestQueueRef.current.delete(key);
|
|
114
143
|
});
|
|
144
|
+
return translationPromise;
|
|
115
145
|
}, []);
|
|
116
|
-
(0, react_1.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}, {});
|
|
139
|
-
|
|
140
|
-
|
|
146
|
+
var _f = (0, react_1.useState)(0), count = _f[0], setCount = _f[1];
|
|
147
|
+
// Send a request to the runtime server
|
|
148
|
+
var sendBatchRequest = function (batchRequests) { return __awaiter(_this, void 0, void 0, function () {
|
|
149
|
+
var requests, newTranslations, loadingTranslations_1, fetchWithAbort, response, _a, results, error_1;
|
|
150
|
+
var _this = this;
|
|
151
|
+
return __generator(this, function (_b) {
|
|
152
|
+
switch (_b.label) {
|
|
153
|
+
case 0:
|
|
154
|
+
if (requestQueueRef.current.size === 0) {
|
|
155
|
+
return [2 /*return*/];
|
|
156
|
+
}
|
|
157
|
+
// increment active requests
|
|
158
|
+
setActiveRequests(function (prev) { return prev + 1; });
|
|
159
|
+
requests = Array.from(batchRequests.values());
|
|
160
|
+
newTranslations = {};
|
|
161
|
+
_b.label = 1;
|
|
162
|
+
case 1:
|
|
163
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
164
|
+
loadingTranslations_1 = requests.reduce(function (acc, request) {
|
|
165
|
+
var _a;
|
|
166
|
+
// loading state for jsx, render loading behavior
|
|
167
|
+
var id = request.metadata.id || request.metadata.hash;
|
|
168
|
+
acc[id] = (_a = {}, _a[request.metadata.hash] = { state: "loading" }, _a);
|
|
169
|
+
return acc;
|
|
170
|
+
}, {});
|
|
171
|
+
setTranslations(function (prev) {
|
|
172
|
+
return __assign(__assign({}, (prev || {})), loadingTranslations_1);
|
|
173
|
+
});
|
|
174
|
+
fetchWithAbort = function (url, options, timeout) { return __awaiter(_this, void 0, void 0, function () {
|
|
175
|
+
var controller, timeoutId, error_2;
|
|
176
|
+
return __generator(this, function (_a) {
|
|
177
|
+
switch (_a.label) {
|
|
178
|
+
case 0:
|
|
179
|
+
controller = new AbortController();
|
|
180
|
+
timeoutId = timeout === undefined
|
|
181
|
+
? undefined
|
|
182
|
+
: setTimeout(function () { return controller.abort(); }, timeout);
|
|
183
|
+
_a.label = 1;
|
|
184
|
+
case 1:
|
|
185
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
186
|
+
return [4 /*yield*/, fetch(url, __assign(__assign({}, options), { signal: controller.signal }))];
|
|
187
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
188
|
+
case 3:
|
|
189
|
+
error_2 = _a.sent();
|
|
190
|
+
console.error("timeout!");
|
|
191
|
+
if (error_2 instanceof Error && error_2.name === "AbortError")
|
|
192
|
+
throw new Error("Request timed out"); // Handle the timeout case
|
|
193
|
+
throw error_2; // Re-throw other errors
|
|
194
|
+
case 4:
|
|
195
|
+
if (timeoutId !== undefined)
|
|
196
|
+
clearTimeout(timeoutId); // Ensure timeout is cleared
|
|
197
|
+
return [7 /*endfinally*/];
|
|
198
|
+
case 5: return [2 /*return*/];
|
|
199
|
+
}
|
|
141
200
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
201
|
+
}); };
|
|
202
|
+
return [4 /*yield*/, fetchWithAbort("".concat(runtimeUrl, "/v1/runtime/").concat(projectId, "/client"), {
|
|
203
|
+
method: "POST",
|
|
204
|
+
headers: __assign({ "Content-Type": "application/json" }, (devApiKey && { "x-gt-dev-api-key": devApiKey })),
|
|
205
|
+
body: JSON.stringify({
|
|
206
|
+
requests: requests,
|
|
207
|
+
targetLocale: targetLocale,
|
|
208
|
+
metadata: metadata,
|
|
209
|
+
}),
|
|
210
|
+
}, renderSettings.timeout)];
|
|
211
|
+
case 2:
|
|
212
|
+
response = _b.sent();
|
|
213
|
+
if (!!response.ok) return [3 /*break*/, 4];
|
|
214
|
+
_a = Error.bind;
|
|
215
|
+
return [4 /*yield*/, response.text()];
|
|
216
|
+
case 3: throw new (_a.apply(Error, [void 0, _b.sent()]))();
|
|
217
|
+
case 4: return [4 /*yield*/, response.json()];
|
|
218
|
+
case 5:
|
|
219
|
+
results = (_b.sent());
|
|
220
|
+
// don't send another req if one is already in flight
|
|
221
|
+
// process each result
|
|
222
|
+
results.forEach(function (result, index) {
|
|
223
|
+
var _a, _b, _c;
|
|
224
|
+
var request = requests[index];
|
|
225
|
+
// translation received
|
|
226
|
+
if ("translation" in result && result.translation && result.reference) {
|
|
227
|
+
var translation = result.translation, _d = result.reference, id = _d.id, hash = _d.key;
|
|
228
|
+
// check for mismatching ids or hashes
|
|
229
|
+
if (id !== request.metadata.id || hash !== request.metadata.hash) {
|
|
230
|
+
if (!request.metadata.id) {
|
|
231
|
+
console.warn((0, createMessages_1.createMismatchingHashWarning)(request.metadata.hash, hash));
|
|
167
232
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return [4 /*yield*/, fetchWithAbort("".concat(runtimeUrl, "/v1/runtime/").concat(projectId, "/client"), {
|
|
171
|
-
method: "POST",
|
|
172
|
-
headers: __assign({ "Content-Type": "application/json" }, (devApiKey && { "x-gt-dev-api-key": devApiKey })),
|
|
173
|
-
body: JSON.stringify({
|
|
174
|
-
requests: requests,
|
|
175
|
-
targetLocale: targetLocale,
|
|
176
|
-
metadata: metadata,
|
|
177
|
-
}),
|
|
178
|
-
}, renderSettings.timeout)];
|
|
179
|
-
case 2:
|
|
180
|
-
response = _b.sent();
|
|
181
|
-
if (!!response.ok) return [3 /*break*/, 4];
|
|
182
|
-
_a = Error.bind;
|
|
183
|
-
return [4 /*yield*/, response.text()];
|
|
184
|
-
case 3: throw new (_a.apply(Error, [void 0, _b.sent()]))();
|
|
185
|
-
case 4: return [4 /*yield*/, response.json()];
|
|
186
|
-
case 5:
|
|
187
|
-
results = (_b.sent());
|
|
188
|
-
if (!isCancelled) {
|
|
189
|
-
// don't send another req if one is already in flight
|
|
190
|
-
// process each result
|
|
191
|
-
results.forEach(function (result, index) {
|
|
192
|
-
var _a, _b, _c;
|
|
193
|
-
var request = requests[index];
|
|
194
|
-
// translation received
|
|
195
|
-
if ("translation" in result &&
|
|
196
|
-
result.translation &&
|
|
197
|
-
result.reference) {
|
|
198
|
-
var translation = result.translation, _d = result.reference, id = _d.id, hash = _d.key;
|
|
199
|
-
// check for mismatching ids or hashes
|
|
200
|
-
if (id !== request.metadata.id ||
|
|
201
|
-
hash !== request.metadata.hash) {
|
|
202
|
-
if (!request.metadata.id) {
|
|
203
|
-
console.warn((0, createMessages_1.createMismatchingHashWarning)(request.metadata.hash, hash));
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
console.warn((0, createMessages_1.createMismatchingIdHashWarning)(request.metadata.id, request.metadata.hash, id, hash));
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
// set translation
|
|
210
|
-
newTranslations[request.metadata.id || request.metadata.hash] = (_a = {},
|
|
211
|
-
// id defaults to hash if none provided
|
|
212
|
-
_a[request.metadata.hash] = {
|
|
213
|
-
state: "success",
|
|
214
|
-
target: translation,
|
|
215
|
-
},
|
|
216
|
-
_a);
|
|
217
|
-
return;
|
|
233
|
+
else {
|
|
234
|
+
console.warn((0, createMessages_1.createMismatchingIdHashWarning)(request.metadata.id, request.metadata.hash, id, hash));
|
|
218
235
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
result.error !== null &&
|
|
222
|
-
result.code !== undefined &&
|
|
223
|
-
result.code !== null) {
|
|
224
|
-
// 0 and '' are falsey
|
|
225
|
-
// log error message
|
|
226
|
-
console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result.error);
|
|
227
|
-
// set error in translation object
|
|
228
|
-
newTranslations[request.metadata.id || request.metadata.hash] = (_b = {},
|
|
229
|
-
_b[request.metadata.hash] = {
|
|
230
|
-
state: "error",
|
|
231
|
-
error: result.error,
|
|
232
|
-
code: result.code,
|
|
233
|
-
},
|
|
234
|
-
_b);
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
// unknown error
|
|
238
|
-
console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result);
|
|
239
|
-
newTranslations[request.metadata.id || request.metadata.hash] = (_c = {},
|
|
240
|
-
_c[request.metadata.hash] = {
|
|
241
|
-
state: "error",
|
|
242
|
-
error: "An error occurred.",
|
|
243
|
-
code: 500,
|
|
244
|
-
},
|
|
245
|
-
_c);
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
return [3 /*break*/, 8];
|
|
249
|
-
case 6:
|
|
250
|
-
error_1 = _b.sent();
|
|
251
|
-
// log error
|
|
252
|
-
console.error(createMessages_1.dynamicTranslationError, error_1);
|
|
253
|
-
// add error message to all translations from this request
|
|
254
|
-
requests.forEach(function (request) {
|
|
255
|
-
var _a;
|
|
256
|
-
// id defaults to hash if none provided
|
|
236
|
+
}
|
|
237
|
+
// set translation
|
|
257
238
|
newTranslations[request.metadata.id || request.metadata.hash] = (_a = {},
|
|
239
|
+
// id defaults to hash if none provided
|
|
258
240
|
_a[request.metadata.hash] = {
|
|
259
|
-
state: "
|
|
260
|
-
|
|
261
|
-
code: 500,
|
|
241
|
+
state: "success",
|
|
242
|
+
target: translation,
|
|
262
243
|
},
|
|
263
244
|
_a);
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
// translation failure
|
|
248
|
+
if (result.error !== undefined &&
|
|
249
|
+
result.error !== null &&
|
|
250
|
+
result.code !== undefined &&
|
|
251
|
+
result.code !== null) {
|
|
252
|
+
// 0 and '' are falsey
|
|
253
|
+
// log error message
|
|
254
|
+
console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result.error);
|
|
255
|
+
// set error in translation object
|
|
256
|
+
newTranslations[request.metadata.id || request.metadata.hash] = (_b = {},
|
|
257
|
+
_b[request.metadata.hash] = {
|
|
258
|
+
state: "error",
|
|
259
|
+
error: result.error,
|
|
260
|
+
code: result.code,
|
|
261
|
+
},
|
|
262
|
+
_b);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
// unknown error
|
|
266
|
+
console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result);
|
|
267
|
+
newTranslations[request.metadata.id || request.metadata.hash] = (_c = {},
|
|
268
|
+
_c[request.metadata.hash] = {
|
|
269
|
+
state: "error",
|
|
270
|
+
error: "An error occurred.",
|
|
271
|
+
code: 500,
|
|
272
|
+
},
|
|
273
|
+
_c);
|
|
274
|
+
});
|
|
275
|
+
return [3 /*break*/, 8];
|
|
276
|
+
case 6:
|
|
277
|
+
error_1 = _b.sent();
|
|
278
|
+
// log error
|
|
279
|
+
console.error(createMessages_1.dynamicTranslationError, error_1);
|
|
280
|
+
// add error message to all translations from this request
|
|
281
|
+
requests.forEach(function (request) {
|
|
282
|
+
var _a;
|
|
283
|
+
// id defaults to hash if none provided
|
|
284
|
+
newTranslations[request.metadata.id || request.metadata.hash] = (_a = {},
|
|
285
|
+
_a[request.metadata.hash] = {
|
|
286
|
+
state: "error",
|
|
287
|
+
error: "An error occurred.",
|
|
288
|
+
code: 500,
|
|
289
|
+
},
|
|
290
|
+
_a);
|
|
291
|
+
});
|
|
292
|
+
return [3 /*break*/, 8];
|
|
293
|
+
case 7:
|
|
294
|
+
// update our translations
|
|
295
|
+
setTranslations(function (prev) {
|
|
296
|
+
return __assign(__assign({}, (prev || {})), newTranslations);
|
|
297
|
+
});
|
|
298
|
+
// decrement active requests
|
|
299
|
+
setActiveRequests(function (prev) { return prev - 1; });
|
|
300
|
+
// resolve all promises
|
|
301
|
+
requests.forEach(function (request) { return request.resolve(); });
|
|
302
|
+
return [7 /*endfinally*/];
|
|
303
|
+
case 8: return [2 /*return*/];
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
}); };
|
|
307
|
+
// Try to send a batch request every `batchInterval` ms
|
|
308
|
+
var startBatching = function () {
|
|
309
|
+
setInterval(function () {
|
|
310
|
+
if (requestQueueRef.current.size > 0 &&
|
|
311
|
+
activeRequests < defaultProps_1.maxConcurrentRequests) {
|
|
312
|
+
var batchSize = Math.min(defaultProps_1.maxBatchSize, requestQueueRef.current.size);
|
|
313
|
+
var batchRequests = new Map(Array.from(requestQueueRef.current.entries()).slice(0, batchSize));
|
|
314
|
+
sendBatchRequest(batchRequests);
|
|
315
|
+
batchRequests.forEach(function (_, key) { return requestQueueRef.current.delete(key); });
|
|
316
|
+
}
|
|
317
|
+
}, defaultProps_1.batchInterval);
|
|
318
|
+
};
|
|
319
|
+
startBatching();
|
|
284
320
|
return { translateContent: translateContent, translateChildren: translateChildren, translationEnabled: translationEnabled };
|
|
285
321
|
}
|
|
286
322
|
//# sourceMappingURL=useRuntimeTranslation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRuntimeTranslation.js","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useRuntimeTranslation.js","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gt-react",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.22",
|
|
4
4
|
"description": "A React library for automatic internationalization.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "git+https://github.com/general-translation/gt-react.git"
|
|
20
20
|
},
|
|
21
21
|
"author": "General Translation, Inc.",
|
|
22
|
-
"license": "
|
|
22
|
+
"license": "FSL-1.1-ALv2",
|
|
23
23
|
"bugs": {
|
|
24
24
|
"url": "https://github.com/general-translation/gt-react/issues"
|
|
25
25
|
},
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"i18n"
|
|
74
74
|
],
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@generaltranslation/supported-locales": "^1.1.
|
|
76
|
+
"@generaltranslation/supported-locales": "^1.1.3",
|
|
77
77
|
"generaltranslation": "^6.1.4"
|
|
78
78
|
}
|
|
79
79
|
}
|