gt-react 8.2.11 → 8.2.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.
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/inline/T.js +1 -1
- package/dist/inline/T.js.map +1 -1
- package/dist/provider/GTProvider.js +2 -2
- package/dist/provider/dynamic/useRuntimeTranslation.d.ts +28 -0
- package/dist/provider/dynamic/useRuntimeTranslation.d.ts.map +1 -0
- package/dist/provider/dynamic/useRuntimeTranslation.js +194 -0
- package/dist/provider/dynamic/useRuntimeTranslation.js.map +1 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GTContext } from "./provider/GTContext";
|
|
2
2
|
import useBrowserLocale from './hooks/useBrowserLocale';
|
|
3
|
-
import
|
|
4
|
-
export { GTContext, useBrowserLocale, useDynamicTranslation };
|
|
3
|
+
import useRuntimeTranslation from "./provider/dynamic/useRuntimeTranslation";
|
|
4
|
+
export { GTContext, useBrowserLocale, useRuntimeTranslation as useDynamicTranslation };
|
|
5
5
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,qBAAqB,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EACH,SAAS,EAAE,gBAAgB,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,qBAAqB,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EACH,SAAS,EAAE,gBAAgB,EAAE,qBAAqB,IAAI,qBAAqB,EAC9E,CAAA"}
|
package/dist/client.js
CHANGED
|
@@ -8,6 +8,6 @@ var GTContext_1 = require("./provider/GTContext");
|
|
|
8
8
|
Object.defineProperty(exports, "GTContext", { enumerable: true, get: function () { return GTContext_1.GTContext; } });
|
|
9
9
|
var useBrowserLocale_1 = __importDefault(require("./hooks/useBrowserLocale"));
|
|
10
10
|
exports.useBrowserLocale = useBrowserLocale_1.default;
|
|
11
|
-
var
|
|
12
|
-
exports.useDynamicTranslation =
|
|
11
|
+
var useRuntimeTranslation_1 = __importDefault(require("./provider/dynamic/useRuntimeTranslation"));
|
|
12
|
+
exports.useDynamicTranslation = useRuntimeTranslation_1.default;
|
|
13
13
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAgD;AAI5C,0FAJK,qBAAS,OAIL;AAHb,8EAAuD;AAGxC,2BAHR,0BAAgB,CAGQ;AAF/B,mGAA4E;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAgD;AAI5C,0FAJK,qBAAS,OAIL;AAHb,8EAAuD;AAGxC,2BAHR,0BAAgB,CAGQ;AAF/B,mGAA4E;AAElB,gCAFnD,+BAAqB,CAEmD"}
|
package/dist/inline/T.js
CHANGED
|
@@ -89,7 +89,7 @@ function T(_a) {
|
|
|
89
89
|
if (!translationRequired)
|
|
90
90
|
return;
|
|
91
91
|
// note have to recover from mis-matching hashing functions on client and server, if API returns wrong hash, then should fail gracefully
|
|
92
|
-
if (!
|
|
92
|
+
if (!translationEntry) {
|
|
93
93
|
translateChildren({
|
|
94
94
|
source: childrenAsObjects,
|
|
95
95
|
targetLocale: locale,
|
package/dist/inline/T.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../src/inline/T.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAAmD;AACnD,+EAAyD;AACzD,iEAA2C;AAC3C,sGAAgF;AAChF,wCAA0F;AAC1F,oEAAiD;AACjD,4GAAsF;AACtF,+BAAgC;AAChC,wFAAkE;AAClE,uDAAyE;AACzE,4CAAwD;AACxD,wFAAkE;AAGlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,CAAC,CAAC,EASV;IARG,IAAA,QAAQ,cAAA,EACR,EAAE,QAAA,EACC,KAAK,cAHD,kBAIV,CADW;IAOV,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,IAAA,8CAA+B,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,IAAA,SAAS,GAAuB,KAAK,UAA5B,EAAE,gBAAgB,GAAK,KAAK,iBAAV,CAAW;IAExC,IAAA,KAMF,IAAA,mBAAY,EACZ,kBAAU,EAAE,wDAAoD,CACnE,EAPC,YAAY,kBAAA,EACZ,mBAAmB,yBAAA,EACnB,2BAA2B,iCAAA,EAC3B,iBAAiB,uBAAA,EACjB,cAAc,oBAGf,CAAC;IAEF,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,IAAM,aAAa,GAAG,IAAA,0BAAgB,GAAE,CAAC;IACzC,IAAM,cAAc,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,IAAA,0BAAe,EAAC,QAAQ,CAAC,EAAzB,CAAyB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE3E,mCAAmC;IAEnC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACxB,IAAA,KAA4B,IAAA,eAAO,EAAC;QACxC,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAM,mBAAiB,GAAG,IAAA,iCAAsB,EAAC,cAAc,CAAC,CAAC;YACjE,IAAM,MAAI,GAAW,IAAA,oBAAe,EAClC,OAAO;gBACL,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAiB,EAAE,OAAO,SAAA,EAAE;gBACxC,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAiB,EAAE,CAClC,CAAC;YACF,OAAO,CAAC,mBAAiB,EAAE,MAAI,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAZ3C,iBAAiB,QAAA,EAAE,IAAI,QAYoB,CAAC;IAGnD,IAAM,WAAW,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,EAAE,CAAC,CAAC;IACvC,IAAM,gBAAgB,GAAG,CAAC,IAAA,6BAAkB,EAAC,WAAW,CAAC,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAA,CAAC;IACjF,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,wIAAwI;QACxI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../src/inline/T.tsx"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ var internal_2 = require("generaltranslation/internal");
|
|
|
77
77
|
var renderVariable_1 = __importDefault(require("./rendering/renderVariable"));
|
|
78
78
|
var createErrors_1 = require("../errors/createErrors");
|
|
79
79
|
var supported_locales_1 = require("@generaltranslation/supported-locales");
|
|
80
|
-
var
|
|
80
|
+
var useRuntimeTranslation_1 = __importDefault(require("./dynamic/useRuntimeTranslation"));
|
|
81
81
|
var defaultRenderSettings_1 = require("./rendering/defaultRenderSettings");
|
|
82
82
|
var id_1 = require("generaltranslation/id");
|
|
83
83
|
var renderSkeleton_1 = __importDefault(require("./rendering/renderSkeleton"));
|
|
@@ -241,7 +241,7 @@ function GTProvider(_a) {
|
|
|
241
241
|
var target = translations[id][hash];
|
|
242
242
|
return renderTranslation(target);
|
|
243
243
|
}, [dictionary, translations, translationRequired, defaultLocale]);
|
|
244
|
-
var _l = (0,
|
|
244
|
+
var _l = (0, useRuntimeTranslation_1.default)(__assign({ targetLocale: locale, projectId: projectId, defaultLocale: defaultLocale, devApiKey: devApiKey, runtimeUrl: runtimeUrl, setTranslations: setTranslations }, metadata)), translateChildren = _l.translateChildren, translateContent = _l.translateContent, translationEnabled = _l.translationEnabled;
|
|
245
245
|
return ((0, jsx_runtime_1.jsx)(GTContext_1.GTContext.Provider, { value: {
|
|
246
246
|
translate: translate,
|
|
247
247
|
translateContent: translateContent,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default function useRuntimeTranslation({ targetLocale, projectId, devApiKey, runtimeUrl, defaultLocale, setTranslations, ...metadata }: {
|
|
2
|
+
targetLocale: string;
|
|
3
|
+
projectId?: string;
|
|
4
|
+
defaultLocale?: string;
|
|
5
|
+
devApiKey?: string;
|
|
6
|
+
runtimeUrl?: string;
|
|
7
|
+
setTranslations: React.Dispatch<React.SetStateAction<any>>;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}): {
|
|
10
|
+
translationEnabled: boolean;
|
|
11
|
+
translateContent: (params: {
|
|
12
|
+
source: any;
|
|
13
|
+
targetLocale: string;
|
|
14
|
+
metadata: {
|
|
15
|
+
hash: string;
|
|
16
|
+
context?: string;
|
|
17
|
+
} & Record<string, any>;
|
|
18
|
+
}) => void;
|
|
19
|
+
translateChildren: (params: {
|
|
20
|
+
source: any;
|
|
21
|
+
targetLocale: string;
|
|
22
|
+
metadata: {
|
|
23
|
+
hash: string;
|
|
24
|
+
context?: string;
|
|
25
|
+
} & Record<string, any>;
|
|
26
|
+
}) => void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useRuntimeTranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeTranslation.d.ts","sourceRoot":"","sources":["../../../src/provider/dynamic/useRuntimeTranslation.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC1C,YAAY,EACZ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,aAAa,EACzB,eAAe,EACf,GAAG,QAAQ,EACd,EAAE;IACC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,GAAG;IACA,kBAAkB,EAAE,OAAO,CAAA;IAC3B,gBAAgB,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9I,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAClJ,CAyHA"}
|
|
@@ -0,0 +1,194 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.default = useRuntimeTranslation;
|
|
62
|
+
var react_1 = require("react");
|
|
63
|
+
var createErrors_1 = require("../../errors/createErrors");
|
|
64
|
+
function useRuntimeTranslation(_a) {
|
|
65
|
+
var _this = this;
|
|
66
|
+
var targetLocale = _a.targetLocale, projectId = _a.projectId, devApiKey = _a.devApiKey, runtimeUrl = _a.runtimeUrl, defaultLocale = _a.defaultLocale, setTranslations = _a.setTranslations, metadata = __rest(_a, ["targetLocale", "projectId", "devApiKey", "runtimeUrl", "defaultLocale", "setTranslations"]);
|
|
67
|
+
metadata = __assign(__assign({}, metadata), { projectId: projectId, sourceLocale: defaultLocale });
|
|
68
|
+
var translationEnabled = !!(runtimeUrl && projectId);
|
|
69
|
+
if (!translationEnabled)
|
|
70
|
+
return { translationEnabled: translationEnabled, translateContent: function () { }, translateChildren: function () { } };
|
|
71
|
+
// Queue to store requested keys between renders.
|
|
72
|
+
var requestQueueRef = (0, react_1.useRef)(new Map());
|
|
73
|
+
// Trigger a fetch when keys have been added.
|
|
74
|
+
var _b = (0, react_1.useState)(0), fetchTrigger = _b[0], setFetchTrigger = _b[1];
|
|
75
|
+
var translateContent = (0, react_1.useCallback)(function (params) {
|
|
76
|
+
var id = params.metadata.id ? "".concat(params.metadata.id, "-") : '';
|
|
77
|
+
var key = "".concat(id).concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
78
|
+
requestQueueRef.current.set(key, { type: 'content', source: params.source, metadata: params.metadata });
|
|
79
|
+
setFetchTrigger(function (n) { return n + 1; });
|
|
80
|
+
}, []);
|
|
81
|
+
/**
|
|
82
|
+
* Call this from <T> components to request a translation key.
|
|
83
|
+
* Keys are batched and fetched in the next effect cycle.
|
|
84
|
+
*/
|
|
85
|
+
var translateChildren = (0, react_1.useCallback)(function (params) {
|
|
86
|
+
var id = params.metadata.id ? "".concat(params.metadata.id, "-") : '';
|
|
87
|
+
var key = "".concat(id).concat(params.metadata.hash, "-").concat(params.targetLocale);
|
|
88
|
+
requestQueueRef.current.set(key, { type: 'jsx', source: params.source, metadata: params.metadata });
|
|
89
|
+
setFetchTrigger(function (n) { return n + 1; });
|
|
90
|
+
}, []);
|
|
91
|
+
(0, react_1.useEffect)(function () {
|
|
92
|
+
if (requestQueueRef.current.size === 0) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
var isCancelled = false;
|
|
96
|
+
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
97
|
+
var requests, response, _a, results, newTranslations_1, error_1;
|
|
98
|
+
return __generator(this, function (_b) {
|
|
99
|
+
switch (_b.label) {
|
|
100
|
+
case 0:
|
|
101
|
+
requests = Array.from(requestQueueRef.current.values());
|
|
102
|
+
_b.label = 1;
|
|
103
|
+
case 1:
|
|
104
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
105
|
+
return [4 /*yield*/, fetch("".concat(runtimeUrl, "/v1/runtime/").concat(projectId, "/client"), {
|
|
106
|
+
method: 'POST',
|
|
107
|
+
headers: __assign({ 'Content-Type': 'application/json' }, (devApiKey && { 'x-gt-dev-api-key': devApiKey })),
|
|
108
|
+
body: JSON.stringify({
|
|
109
|
+
requests: requests,
|
|
110
|
+
targetLocale: targetLocale,
|
|
111
|
+
metadata: metadata
|
|
112
|
+
}),
|
|
113
|
+
})];
|
|
114
|
+
case 2:
|
|
115
|
+
response = _b.sent();
|
|
116
|
+
if (!!response.ok) return [3 /*break*/, 4];
|
|
117
|
+
_a = Error.bind;
|
|
118
|
+
return [4 /*yield*/, response.text()];
|
|
119
|
+
case 3: throw new (_a.apply(Error, [void 0, _b.sent()]))();
|
|
120
|
+
case 4: return [4 /*yield*/, response.json()];
|
|
121
|
+
case 5:
|
|
122
|
+
results = _b.sent();
|
|
123
|
+
if (!isCancelled) {
|
|
124
|
+
newTranslations_1 = {};
|
|
125
|
+
results.forEach(function (result, index) {
|
|
126
|
+
var _a;
|
|
127
|
+
var request = requests[index];
|
|
128
|
+
if ('translation' in result && result.translation && result.reference) { // translation success
|
|
129
|
+
var translation = result.translation, _b = result.reference, id = _b.id, key = _b.key;
|
|
130
|
+
// check for mismatching ids or hashes
|
|
131
|
+
if (id !== request.metadata.id || key !== request.metadata.hash) {
|
|
132
|
+
if (!request.metadata.id) {
|
|
133
|
+
console.warn("Mismatching hashes! Expected hash: ".concat(request.metadata.hash, ", but got hash: ").concat(key, ". We will still render your translation, but make sure to update to the newest version: www.generaltranslation.com/docs"));
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
console.warn("Mismatching ids or hashes! Expected id: ".concat(request.metadata.id, ", hash: ").concat(request.metadata.hash, ", but got id: ").concat(id, ", hash: ").concat(key, ". We will still render your translation, but make sure to update to the newest version: www.generaltranslation.com/docs"));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
newTranslations_1[id || request.metadata.hash] = (_a = {}, _a[request.metadata.hash] = translation, _a);
|
|
140
|
+
}
|
|
141
|
+
else if ('error' in result && result.error && result.code) { // translation error
|
|
142
|
+
newTranslations_1[request.metadata.id || request.metadata.hash] = {
|
|
143
|
+
error: result.error || "An error occurred.",
|
|
144
|
+
code: result.code || 500
|
|
145
|
+
};
|
|
146
|
+
// error message
|
|
147
|
+
if (!request.metadata.id) {
|
|
148
|
+
console.error("Translation failed for hash: ".concat(request.metadata.hash, " "), result);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
console.error("Translation failed for id: ".concat(request.metadata.id, ", hash: ").concat(request.metadata.hash, " "), result);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else { // unknown error
|
|
155
|
+
// id defaults to hash if none provided
|
|
156
|
+
newTranslations_1[request.metadata.id || request.metadata.hash] = {
|
|
157
|
+
error: "An error occurred.",
|
|
158
|
+
code: 500
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
// update our translations
|
|
163
|
+
setTranslations(function (prev) { return __assign(__assign({}, (prev || {})), newTranslations_1); });
|
|
164
|
+
}
|
|
165
|
+
return [3 /*break*/, 8];
|
|
166
|
+
case 6:
|
|
167
|
+
error_1 = _b.sent();
|
|
168
|
+
console.error(createErrors_1.dynamicTranslationError, error_1);
|
|
169
|
+
setTranslations(function (prev) {
|
|
170
|
+
var merged = __assign({}, (prev || {}));
|
|
171
|
+
requests.forEach(function (request) {
|
|
172
|
+
// id defaults to hash if none provided
|
|
173
|
+
merged[request.metadata.id || request.metadata.hash] = {
|
|
174
|
+
error: "An error occurred.",
|
|
175
|
+
code: 500
|
|
176
|
+
};
|
|
177
|
+
});
|
|
178
|
+
return merged;
|
|
179
|
+
});
|
|
180
|
+
return [3 /*break*/, 8];
|
|
181
|
+
case 7:
|
|
182
|
+
requestQueueRef.current.clear();
|
|
183
|
+
return [7 /*endfinally*/];
|
|
184
|
+
case 8: return [2 /*return*/];
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}); })();
|
|
188
|
+
return function () {
|
|
189
|
+
isCancelled = true;
|
|
190
|
+
};
|
|
191
|
+
}, [fetchTrigger, setTranslations]);
|
|
192
|
+
return { translateContent: translateContent, translateChildren: translateChildren, translationEnabled: translationEnabled };
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=useRuntimeTranslation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeTranslation.js","sourceRoot":"","sources":["../../../src/provider/dynamic/useRuntimeTranslation.ts"],"names":[],"mappings":"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"}
|