gt-react 8.2.22 → 8.2.24

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.
Files changed (117) hide show
  1. package/README.md +76 -9
  2. package/dist/branches/Branch.js +4 -4
  3. package/dist/branches/Branch.js.map +1 -1
  4. package/dist/branches/plurals/Plural.js +10 -10
  5. package/dist/branches/plurals/Plural.js.map +1 -1
  6. package/dist/branches/plurals/getPluralBranch.js +3 -3
  7. package/dist/branches/plurals/getPluralBranch.js.map +1 -1
  8. package/dist/client.cjs.min.cjs +19 -0
  9. package/dist/client.cjs.min.cjs.map +1 -0
  10. package/dist/client.d.ts +484 -5
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.esm.min.mjs +19 -0
  13. package/dist/client.esm.min.mjs.map +1 -0
  14. package/dist/client.js +3 -3
  15. package/dist/client.js.map +1 -1
  16. package/dist/hooks/useBrowserLocale.d.ts.map +1 -1
  17. package/dist/hooks/useBrowserLocale.js +8 -10
  18. package/dist/hooks/useBrowserLocale.js.map +1 -1
  19. package/dist/hooks/useDefaultLocale.js +1 -1
  20. package/dist/hooks/useDefaultLocale.js.map +1 -1
  21. package/dist/hooks/useElement.js +11 -14
  22. package/dist/hooks/useElement.js.map +1 -1
  23. package/dist/hooks/useGT.js +9 -12
  24. package/dist/hooks/useGT.js.map +1 -1
  25. package/dist/hooks/useLocale.js +1 -1
  26. package/dist/hooks/useLocale.js.map +1 -1
  27. package/dist/index.cjs.min.cjs +19 -0
  28. package/dist/index.cjs.min.cjs.map +1 -0
  29. package/dist/index.esm.min.mjs +19 -0
  30. package/dist/index.esm.min.mjs.map +1 -0
  31. package/dist/index.js +12 -12
  32. package/dist/index.js.map +1 -1
  33. package/dist/inline/T.d.ts +1 -1
  34. package/dist/inline/T.d.ts.map +1 -1
  35. package/dist/inline/T.js +38 -51
  36. package/dist/inline/T.js.map +1 -1
  37. package/dist/internal/addGTIdentifier.js +18 -32
  38. package/dist/internal/addGTIdentifier.js.map +1 -1
  39. package/dist/internal/flattenDictionary.js +8 -11
  40. package/dist/internal/flattenDictionary.js.map +1 -1
  41. package/dist/internal/writeChildrenAsObjects.js +22 -35
  42. package/dist/internal/writeChildrenAsObjects.js.map +1 -1
  43. package/dist/internal.cjs.min.cjs +2 -0
  44. package/dist/internal.cjs.min.cjs.map +1 -0
  45. package/dist/internal.d.ts +16 -17
  46. package/dist/internal.d.ts.map +1 -1
  47. package/dist/internal.esm.min.mjs +2 -0
  48. package/dist/internal.esm.min.mjs.map +1 -0
  49. package/dist/internal.js +15 -15
  50. package/dist/internal.js.map +1 -1
  51. package/dist/messages/createMessages.js +16 -38
  52. package/dist/messages/createMessages.js.map +1 -1
  53. package/dist/provider/ClientProvider.d.ts +23 -0
  54. package/dist/provider/ClientProvider.d.ts.map +1 -0
  55. package/dist/provider/GTContext.d.ts +1 -1
  56. package/dist/provider/GTContext.d.ts.map +1 -1
  57. package/dist/provider/GTContext.js +3 -4
  58. package/dist/provider/GTContext.js.map +1 -1
  59. package/dist/provider/GTProvider.d.ts +2 -2
  60. package/dist/provider/GTProvider.d.ts.map +1 -1
  61. package/dist/provider/GTProvider.js +95 -146
  62. package/dist/provider/GTProvider.js.map +1 -1
  63. package/dist/provider/helpers/extractEntryMetadata.d.ts +3 -3
  64. package/dist/provider/helpers/extractEntryMetadata.d.ts.map +1 -1
  65. package/dist/provider/helpers/getDictionaryEntry.js +5 -6
  66. package/dist/provider/helpers/getDictionaryEntry.js.map +1 -1
  67. package/dist/provider/helpers/isVariableObject.js +2 -2
  68. package/dist/provider/helpers/isVariableObject.js.map +1 -1
  69. package/dist/provider/rendering/defaultRenderSettings.js +2 -13
  70. package/dist/provider/rendering/defaultRenderSettings.js.map +1 -1
  71. package/dist/provider/rendering/renderDefaultChildren.d.ts +2 -2
  72. package/dist/provider/rendering/renderDefaultChildren.js +32 -44
  73. package/dist/provider/rendering/renderDefaultChildren.js.map +1 -1
  74. package/dist/provider/rendering/renderTranslatedChildren.js +97 -110
  75. package/dist/provider/rendering/renderTranslatedChildren.js.map +1 -1
  76. package/dist/provider/rendering/renderVariable.js +6 -7
  77. package/dist/provider/rendering/renderVariable.js.map +1 -1
  78. package/dist/provider/runtime/useRuntimeTranslation.d.ts +1 -1
  79. package/dist/provider/runtime/useRuntimeTranslation.d.ts.map +1 -1
  80. package/dist/provider/runtime/useRuntimeTranslation.js +171 -239
  81. package/dist/provider/runtime/useRuntimeTranslation.js.map +1 -1
  82. package/dist/types/types.d.ts +22 -8
  83. package/dist/types/types.d.ts.map +1 -1
  84. package/dist/utils/utils.js +5 -5
  85. package/dist/utils/utils.js.map +1 -1
  86. package/dist/variables/Currency.js +11 -23
  87. package/dist/variables/Currency.js.map +1 -1
  88. package/dist/variables/DateTime.js +10 -11
  89. package/dist/variables/DateTime.js.map +1 -1
  90. package/dist/variables/Num.js +9 -10
  91. package/dist/variables/Num.js.map +1 -1
  92. package/dist/variables/Var.js +3 -4
  93. package/dist/variables/Var.js.map +1 -1
  94. package/dist/variables/_getVariableProps.js +7 -18
  95. package/dist/variables/_getVariableProps.js.map +1 -1
  96. package/dist/variables/getVariableName.js +5 -7
  97. package/dist/variables/getVariableName.js.map +1 -1
  98. package/package.json +31 -14
  99. package/rollup.base.config.js +33 -0
  100. package/rollup.config.js +111 -0
  101. package/tsconfig.json +3 -2
  102. package/dist/errors/createErrors.d.ts +0 -13
  103. package/dist/errors/createErrors.d.ts.map +0 -1
  104. package/dist/errors/createErrors.js +0 -28
  105. package/dist/errors/createErrors.js.map +0 -1
  106. package/dist/provider/dynamic/useDynamicTranslation.d.ts +0 -28
  107. package/dist/provider/dynamic/useDynamicTranslation.d.ts.map +0 -1
  108. package/dist/provider/dynamic/useDynamicTranslation.js +0 -194
  109. package/dist/provider/dynamic/useDynamicTranslation.js.map +0 -1
  110. package/dist/provider/dynamic/useRuntimeTranslation.d.ts +0 -28
  111. package/dist/provider/dynamic/useRuntimeTranslation.d.ts.map +0 -1
  112. package/dist/provider/dynamic/useRuntimeTranslation.js +0 -194
  113. package/dist/provider/dynamic/useRuntimeTranslation.js.map +0 -1
  114. package/dist/translate/translateDictionaryStrings.d.ts +0 -3
  115. package/dist/translate/translateDictionaryStrings.d.ts.map +0 -1
  116. package/dist/translate/translateDictionaryStrings.js +0 -97
  117. package/dist/translate/translateDictionaryStrings.js.map +0 -1
@@ -1,15 +1,4 @@
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
- };
13
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -19,33 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
19
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
20
9
  });
21
10
  };
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
11
  var __rest = (this && this.__rest) || function (s, e) {
50
12
  var t = {};
51
13
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -59,55 +21,50 @@ var __rest = (this && this.__rest) || function (s, e) {
59
21
  };
60
22
  Object.defineProperty(exports, "__esModule", { value: true });
61
23
  exports.default = useRuntimeTranslation;
62
- var react_1 = require("react");
63
- var createMessages_1 = require("../../messages/createMessages");
64
- var defaultProps_1 = require("../config/defaultProps");
24
+ const react_1 = require("react");
25
+ const createMessages_1 = require("../../messages/createMessages");
26
+ const defaultProps_1 = require("../config/defaultProps");
65
27
  function useRuntimeTranslation(_a) {
66
- var _this = this;
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"]);
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];
73
- var translationEnabled = !!(runtimeUrl && projectId);
28
+ var { targetLocale, projectId, devApiKey, runtimeUrl, defaultLocale, renderSettings, setTranslations } = _a, metadata = __rest(_a, ["targetLocale", "projectId", "devApiKey", "runtimeUrl", "defaultLocale", "renderSettings", "setTranslations"]);
29
+ metadata = Object.assign(Object.assign({}, metadata), { projectId, sourceLocale: defaultLocale });
30
+ const [inflightCount, setInflightCount] = (0, react_1.useState)(0);
31
+ const [conccurentRequestCount, setConcurrentRequestCount] = (0, react_1.useState)(0);
32
+ const [requestMap, setRequestMap] = (0, react_1.useState)(new Map());
33
+ const [activeRequests, setActiveRequests] = (0, react_1.useState)(0);
34
+ const translationEnabled = !!(runtimeUrl && projectId);
74
35
  if (!translationEnabled)
75
36
  return {
76
- translationEnabled: translationEnabled,
77
- translateContent: function () {
78
- return Promise.reject(new Error("translateContent() failed because translation is disabled"));
79
- },
80
- translateChildren: function () {
81
- return Promise.reject(new Error("translateChildren() failed because translation is disabled"));
82
- },
37
+ translationEnabled,
38
+ translateContent: () => Promise.reject(new Error("translateContent() failed because translation is disabled")),
39
+ translateChildren: () => Promise.reject(new Error("translateChildren() failed because translation is disabled")),
83
40
  };
84
41
  // Requests waiting to be sent (not yet batched)
85
- var requestQueueRef = (0, react_1.useRef)(new Map());
42
+ const requestQueueRef = (0, react_1.useRef)(new Map());
86
43
  // Requests that have yet to be resolved
87
- var pendingRequestQueueRef = (0, react_1.useRef)(new Map());
88
- var translateContent = (0, react_1.useCallback)(function (params) {
44
+ const pendingRequestQueueRef = (0, react_1.useRef)(new Map());
45
+ const translateContent = (0, react_1.useCallback)((params) => {
89
46
  // get the key
90
- var id = params.metadata.id ? "".concat(params.metadata.id, "-") : "";
91
- var key = "".concat(id, "-").concat(params.metadata.hash, "-").concat(params.targetLocale);
47
+ const id = params.metadata.id ? `${params.metadata.id}-` : "";
48
+ const key = `${id}-${params.metadata.hash}-${params.targetLocale}`;
92
49
  // return a promise to current request if it exists
93
- var inflightRequest = pendingRequestQueueRef.current.get(key);
50
+ const inflightRequest = pendingRequestQueueRef.current.get(key);
94
51
  if (inflightRequest) {
95
52
  return inflightRequest;
96
53
  }
97
54
  // promise for hooking into the translation request request to know when complete
98
- var translationPromise = new Promise(function (resolve, reject) {
55
+ const translationPromise = new Promise((resolve, reject) => {
99
56
  requestQueueRef.current.set(key, {
100
57
  type: "content",
101
58
  source: params.source,
102
59
  metadata: params.metadata,
103
- resolve: resolve,
104
- reject: reject,
60
+ resolve,
61
+ reject,
105
62
  });
106
63
  })
107
- .catch(function (error) {
64
+ .catch((error) => {
108
65
  throw error;
109
66
  })
110
- .finally(function () {
67
+ .finally(() => {
111
68
  pendingRequestQueueRef.current.delete(key);
112
69
  });
113
70
  return translationPromise;
@@ -116,207 +73,182 @@ function useRuntimeTranslation(_a) {
116
73
  * Call this from <T> components to request a translation key.
117
74
  * Keys are batched and fetched in the next effect cycle.
118
75
  */
119
- var translateChildren = (0, react_1.useCallback)(function (params) {
76
+ const translateChildren = (0, react_1.useCallback)((params) => {
120
77
  // get the key
121
- var id = params.metadata.id ? "".concat(params.metadata.id, "-") : "";
122
- var key = "".concat(id, "-").concat(params.metadata.hash, "-").concat(params.targetLocale);
78
+ const id = params.metadata.id ? `${params.metadata.id}-` : "";
79
+ const key = `${id}-${params.metadata.hash}-${params.targetLocale}`;
123
80
  // return a promise to current request if it exists
124
- var inflightRequest = pendingRequestQueueRef.current.get(key);
81
+ const inflightRequest = pendingRequestQueueRef.current.get(key);
125
82
  if (inflightRequest) {
126
83
  return inflightRequest;
127
84
  }
128
85
  // promise for hooking into the translation request to know when complete
129
- var translationPromise = new Promise(function (resolve, reject) {
86
+ const translationPromise = new Promise((resolve, reject) => {
130
87
  requestQueueRef.current.set(key, {
131
88
  type: "jsx",
132
89
  source: params.source,
133
90
  metadata: params.metadata,
134
- resolve: resolve,
135
- reject: reject,
91
+ resolve,
92
+ reject,
136
93
  });
137
94
  })
138
- .catch(function (error) {
95
+ .catch((error) => {
139
96
  throw error;
140
97
  })
141
- .finally(function () {
98
+ .finally(() => {
142
99
  pendingRequestQueueRef.current.delete(key);
143
100
  });
144
101
  return translationPromise;
145
102
  }, []);
146
- var _f = (0, react_1.useState)(0), count = _f[0], setCount = _f[1];
103
+ const [count, setCount] = (0, react_1.useState)(0);
147
104
  // 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
- }
200
- });
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));
232
- }
233
- else {
234
- console.warn((0, createMessages_1.createMismatchingIdHashWarning)(request.metadata.id, request.metadata.hash, id, hash));
235
- }
236
- }
237
- // set translation
238
- newTranslations[request.metadata.id || request.metadata.hash] = (_a = {},
239
- // id defaults to hash if none provided
240
- _a[request.metadata.hash] = {
241
- state: "success",
242
- target: translation,
243
- },
244
- _a);
245
- return;
105
+ const sendBatchRequest = (batchRequests) => __awaiter(this, void 0, void 0, function* () {
106
+ if (requestQueueRef.current.size === 0) {
107
+ return;
108
+ }
109
+ // increment active requests
110
+ setActiveRequests((prev) => prev + 1);
111
+ const requests = Array.from(batchRequests.values());
112
+ const newTranslations = {};
113
+ try {
114
+ // ----- TRANSLATION LOADING ----- //
115
+ const loadingTranslations = requests.reduce((acc, request) => {
116
+ // loading state for jsx, render loading behavior
117
+ const id = request.metadata.id || request.metadata.hash;
118
+ acc[id] = { [request.metadata.hash]: { state: "loading" } };
119
+ return acc;
120
+ }, {});
121
+ setTranslations((prev) => {
122
+ return Object.assign(Object.assign({}, (prev || {})), loadingTranslations);
123
+ });
124
+ // ----- RUNTIME TRANSLATION ----- //
125
+ const fetchWithAbort = (url, options, timeout) => __awaiter(this, void 0, void 0, function* () {
126
+ const controller = new AbortController();
127
+ const timeoutId = timeout === undefined
128
+ ? undefined
129
+ : setTimeout(() => controller.abort(), timeout);
130
+ try {
131
+ return yield fetch(url, Object.assign(Object.assign({}, options), { signal: controller.signal }));
132
+ }
133
+ catch (error) {
134
+ console.error("timeout!");
135
+ if (error instanceof Error && error.name === "AbortError")
136
+ throw new Error("Request timed out"); // Handle the timeout case
137
+ throw error; // Re-throw other errors
138
+ }
139
+ finally {
140
+ if (timeoutId !== undefined)
141
+ clearTimeout(timeoutId); // Ensure timeout is cleared
142
+ }
143
+ });
144
+ const response = yield fetchWithAbort(`${runtimeUrl}/v1/runtime/${projectId}/client`, {
145
+ method: "POST",
146
+ headers: Object.assign({ "Content-Type": "application/json" }, (devApiKey && { "x-gt-dev-api-key": devApiKey })),
147
+ body: JSON.stringify({
148
+ requests,
149
+ targetLocale,
150
+ metadata,
151
+ }),
152
+ }, renderSettings.timeout);
153
+ if (!response.ok) {
154
+ throw new Error(yield response.text());
155
+ }
156
+ // ----- PARSE RESPONSE ----- //
157
+ const results = (yield response.json());
158
+ // don't send another req if one is already in flight
159
+ // process each result
160
+ results.forEach((result, index) => {
161
+ const request = requests[index];
162
+ // translation received
163
+ if ("translation" in result && result.translation && result.reference) {
164
+ const { translation, reference: { id, key: hash }, } = result;
165
+ // check for mismatching ids or hashes
166
+ if (id !== request.metadata.id || hash !== request.metadata.hash) {
167
+ if (!request.metadata.id) {
168
+ console.warn((0, createMessages_1.createMismatchingHashWarning)(request.metadata.hash, hash));
246
169
  }
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;
170
+ else {
171
+ console.warn((0, createMessages_1.createMismatchingIdHashWarning)(request.metadata.id, request.metadata.hash, id, hash));
264
172
  }
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;
173
+ }
174
+ // set translation
175
+ newTranslations[request.metadata.id || request.metadata.hash] = {
283
176
  // 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
- }); };
177
+ [request.metadata.hash]: {
178
+ state: "success",
179
+ target: translation,
180
+ },
181
+ };
182
+ return;
183
+ }
184
+ // translation failure
185
+ if (result.error !== undefined &&
186
+ result.error !== null &&
187
+ result.code !== undefined &&
188
+ result.code !== null) {
189
+ // 0 and '' are falsey
190
+ // log error message
191
+ console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result.error);
192
+ // set error in translation object
193
+ newTranslations[request.metadata.id || request.metadata.hash] = {
194
+ [request.metadata.hash]: {
195
+ state: "error",
196
+ error: result.error,
197
+ code: result.code,
198
+ },
199
+ };
200
+ return;
201
+ }
202
+ // unknown error
203
+ console.error((0, createMessages_1.createGenericRuntimeTranslationError)(request.metadata.id, request.metadata.hash), result);
204
+ newTranslations[request.metadata.id || request.metadata.hash] = {
205
+ [request.metadata.hash]: {
206
+ state: "error",
207
+ error: "An error occurred.",
208
+ code: 500,
209
+ },
210
+ };
211
+ });
212
+ }
213
+ catch (error) {
214
+ // log error
215
+ console.error(createMessages_1.dynamicTranslationError, error);
216
+ // add error message to all translations from this request
217
+ requests.forEach((request) => {
218
+ // id defaults to hash if none provided
219
+ newTranslations[request.metadata.id || request.metadata.hash] = {
220
+ [request.metadata.hash]: {
221
+ state: "error",
222
+ error: "An error occurred.",
223
+ code: 500,
224
+ },
225
+ };
226
+ });
227
+ }
228
+ finally {
229
+ // update our translations
230
+ setTranslations((prev) => {
231
+ return Object.assign(Object.assign({}, (prev || {})), newTranslations);
232
+ });
233
+ // decrement active requests
234
+ setActiveRequests((prev) => prev - 1);
235
+ // resolve all promises
236
+ requests.forEach((request) => request.resolve());
237
+ }
238
+ });
307
239
  // Try to send a batch request every `batchInterval` ms
308
- var startBatching = function () {
309
- setInterval(function () {
240
+ const startBatching = () => {
241
+ setInterval(() => {
310
242
  if (requestQueueRef.current.size > 0 &&
311
243
  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));
244
+ const batchSize = Math.min(defaultProps_1.maxBatchSize, requestQueueRef.current.size);
245
+ const batchRequests = new Map(Array.from(requestQueueRef.current.entries()).slice(0, batchSize));
314
246
  sendBatchRequest(batchRequests);
315
- batchRequests.forEach(function (_, key) { return requestQueueRef.current.delete(key); });
247
+ batchRequests.forEach((_, key) => requestQueueRef.current.delete(key));
316
248
  }
317
249
  }, defaultProps_1.batchInterval);
318
250
  };
319
251
  startBatching();
320
- return { translateContent: translateContent, translateChildren: translateChildren, translationEnabled: translationEnabled };
252
+ return { translateContent, translateChildren, translationEnabled };
321
253
  }
322
254
  //# sourceMappingURL=useRuntimeTranslation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRuntimeTranslation.js","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRuntimeTranslation.js","sourceRoot":"","sources":["../../../src/provider/runtime/useRuntimeTranslation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { ReactElement } from "react";
1
+ import React, { ReactElement } from 'react';
2
2
  export type Child = React.ReactNode;
3
3
  export type Children = Child[] | Child;
4
4
  export type GTProp = {
@@ -9,9 +9,17 @@ export type GTProp = {
9
9
  export type TaggedChild = React.ReactNode | TaggedElement;
10
10
  export type TaggedChildren = TaggedChild[] | TaggedChild;
11
11
  export type TaggedElementProps = Record<string, any> & {
12
- "data-_gt": GTProp;
12
+ 'data-_gt': GTProp;
13
13
  };
14
14
  export type TaggedElement = React.ReactElement<TaggedElementProps>;
15
+ export type TaggedEntry = string | TaggedChildren;
16
+ export type TaggedDictionaryEntry = TaggedEntry | [TaggedEntry] | [TaggedEntry, Metadata];
17
+ export type TaggedDictionary = {
18
+ [key: string]: TaggedDictionary | TaggedDictionaryEntry;
19
+ };
20
+ export type FlattenedTaggedDictionary = {
21
+ [key: string]: TaggedDictionaryEntry;
22
+ };
15
23
  export type Entry = string | ReactElement;
16
24
  export type Metadata = {
17
25
  singular?: Entry;
@@ -37,12 +45,12 @@ export type FlattenedDictionary = {
37
45
  export type Variable = {
38
46
  key: string;
39
47
  id?: number;
40
- variable?: "variable" | "number" | "datetime" | "currency";
48
+ variable?: 'variable' | 'number' | 'datetime' | 'currency';
41
49
  };
42
50
  export type TranslatedElement = {
43
51
  type: string;
44
52
  props: {
45
- "data-_gt": {
53
+ 'data-_gt': {
46
54
  id: number;
47
55
  [key: string]: any;
48
56
  };
@@ -53,23 +61,23 @@ export type TranslatedChild = TranslatedElement | string | Variable;
53
61
  export type TranslatedChildren = TranslatedChild | TranslatedChild[];
54
62
  export type TranslatedContent = string | (string | Variable)[];
55
63
  export type TranslationError = {
56
- state: "error";
64
+ state: 'error';
57
65
  error: string;
58
66
  code?: number;
59
67
  };
60
68
  export type TranslationSuccess = {
61
- state: "success";
69
+ state: 'success';
62
70
  target: TranslatedChildren | TranslatedContent;
63
71
  };
64
72
  export type TranslationLoading = {
65
- state: "loading";
73
+ state: 'loading';
66
74
  };
67
75
  export type TranslationsObject = {
68
76
  [id: string]: {
69
77
  [hash: string]: TranslationSuccess | TranslationLoading | TranslationError;
70
78
  };
71
79
  };
72
- export type RenderMethod = "skeleton" | "replace" | "default";
80
+ export type RenderMethod = 'skeleton' | 'replace' | 'default';
73
81
  export type TranslateContentCallback = (params: {
74
82
  source: any;
75
83
  targetLocale: string;
@@ -102,4 +110,10 @@ export type GTContextType = {
102
110
  projectId?: string;
103
111
  translationEnabled?: boolean;
104
112
  };
113
+ export declare class GTTranslationError extends Error {
114
+ error: string;
115
+ code: number;
116
+ constructor(error: string, code: number);
117
+ toTranslationError(): TranslationError;
118
+ }
105
119
  //# sourceMappingURL=types.d.ts.map