gt-next 4.3.0 → 4.3.2-beta
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/config/I18NConfiguration.d.ts +27 -20
- package/dist/config/I18NConfiguration.d.ts.map +1 -1
- package/dist/config/I18NConfiguration.js +54 -38
- package/dist/config/I18NConfiguration.js.map +1 -1
- package/dist/config/RemoteTranslationsManager.d.ts +6 -5
- package/dist/config/RemoteTranslationsManager.d.ts.map +1 -1
- package/dist/config/RemoteTranslationsManager.js +22 -11
- package/dist/config/RemoteTranslationsManager.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -7
- package/dist/config.js.map +1 -1
- package/dist/dictionary/getDictionary.d.ts +3 -2
- package/dist/dictionary/getDictionary.d.ts.map +1 -1
- package/dist/dictionary/getDictionary.js +3 -1
- package/dist/dictionary/getDictionary.js.map +1 -1
- package/dist/errors/createErrors.d.ts +2 -0
- package/dist/errors/createErrors.d.ts.map +1 -1
- package/dist/errors/createErrors.js +5 -1
- package/dist/errors/createErrors.js.map +1 -1
- package/dist/middleware/createNextMiddleware.d.ts.map +1 -1
- package/dist/middleware/createNextMiddleware.js +0 -1
- package/dist/middleware/createNextMiddleware.js.map +1 -1
- package/dist/provider/ClientProvider.d.ts +11 -7
- package/dist/provider/ClientProvider.d.ts.map +1 -1
- package/dist/provider/ClientProvider.js +105 -83
- package/dist/provider/ClientProvider.js.map +1 -1
- package/dist/provider/GTProvider.d.ts.map +1 -1
- package/dist/provider/GTProvider.js +89 -63
- package/dist/provider/GTProvider.js.map +1 -1
- package/dist/server/getGT.d.ts.map +1 -1
- package/dist/server/getGT.js +39 -40
- package/dist/server/getGT.js.map +1 -1
- package/dist/server/inline/T.d.ts +1 -2
- package/dist/server/inline/T.d.ts.map +1 -1
- package/dist/server/inline/T.js +66 -70
- package/dist/server/inline/T.js.map +1 -1
- package/dist/server/strings/tx.d.ts.map +1 -1
- package/dist/server/strings/tx.js +27 -28
- package/dist/server/strings/tx.js.map +1 -1
- package/dist/types/types.d.ts +7 -9
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +1 -0
- package/dist/types/types.js.map +1 -1
- package/dist/utils/extractTaggedEntryMetadata.d.ts +7 -0
- package/dist/utils/extractTaggedEntryMetadata.d.ts.map +1 -0
- package/dist/utils/extractTaggedEntryMetadata.js +15 -0
- package/dist/utils/extractTaggedEntryMetadata.js.map +1 -0
- package/dist/utils/serializeJsx.d.ts +9 -0
- package/dist/utils/serializeJsx.d.ts.map +1 -0
- package/dist/utils/serializeJsx.js +156 -0
- package/dist/utils/serializeJsx.js.map +1 -0
- package/package.json +2 -3
package/dist/server/inline/T.js
CHANGED
|
@@ -57,6 +57,7 @@ var getMetadata_1 = __importDefault(require("../../request/getMetadata"));
|
|
|
57
57
|
var react_1 = require("react");
|
|
58
58
|
var internal_1 = require("gt-react/internal");
|
|
59
59
|
var renderVariable_1 = __importDefault(require("../rendering/renderVariable"));
|
|
60
|
+
var generaltranslation_1 = require("generaltranslation");
|
|
60
61
|
function Resolver(_a) {
|
|
61
62
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
62
63
|
var children = _b.children;
|
|
@@ -99,10 +100,9 @@ function Resolver(_a) {
|
|
|
99
100
|
* @param {React.ReactNode} children - The content to be translated or displayed.
|
|
100
101
|
* @param {string} [id] - Optional identifier for the translation string. If not provided, a hash will be generated from the content.
|
|
101
102
|
* @param {Object} [renderSettings] - Optional settings controlling how fallback content is rendered during translation.
|
|
102
|
-
* @param {"skeleton" | "replace" | "
|
|
103
|
+
* @param {"skeleton" | "replace" | "default"} [renderSettings.method] - Specifies the rendering method:
|
|
103
104
|
* - "skeleton": show a placeholder while translation is loading.
|
|
104
105
|
* - "replace": show the default content as a fallback while the translation is loading.
|
|
105
|
-
* - "subtle": display children without a translation initially, with translations being applied later if available.
|
|
106
106
|
* - "default": behave like skeleton unless language is same (ie en-GB vs en-US), then behave like replace
|
|
107
107
|
* @param {number | null} [renderSettings.timeout] - Optional timeout for translation loading.
|
|
108
108
|
* @param {any} [context] - Additional context for translation key generation.
|
|
@@ -113,12 +113,12 @@ function Resolver(_a) {
|
|
|
113
113
|
*/
|
|
114
114
|
function T(_a) {
|
|
115
115
|
return __awaiter(this, arguments, void 0, function (_b) {
|
|
116
|
-
var I18NConfig, locale, defaultLocale,
|
|
117
|
-
var
|
|
118
|
-
var
|
|
116
|
+
var I18NConfig, locale, defaultLocale, renderSettings, translationRequired, dialectTranslationRequired, taggedChildren, renderDefaultLocale, renderLoadingSkeleton, renderLoadingDefault, translationsPromise, _c, childrenAsObjects, key, translations, _d, translationEntry, translationPromise, _e, _f, _g, loadingFallback;
|
|
117
|
+
var _h;
|
|
118
|
+
var _j;
|
|
119
119
|
var children = _b.children, id = _b.id, context = _b.context, variables = _b.variables, variablesOptions = _b.variablesOptions;
|
|
120
|
-
return __generator(this, function (
|
|
121
|
-
switch (
|
|
120
|
+
return __generator(this, function (_k) {
|
|
121
|
+
switch (_k.label) {
|
|
122
122
|
case 0:
|
|
123
123
|
if (!children) {
|
|
124
124
|
return [2 /*return*/];
|
|
@@ -126,55 +126,12 @@ function T(_a) {
|
|
|
126
126
|
I18NConfig = (0, getI18NConfig_1.default)();
|
|
127
127
|
return [4 /*yield*/, (0, getLocale_1.default)()];
|
|
128
128
|
case 1:
|
|
129
|
-
locale =
|
|
129
|
+
locale = _k.sent();
|
|
130
130
|
defaultLocale = I18NConfig.getDefaultLocale();
|
|
131
|
-
regionalTranslationRequired = I18NConfig.requiresRegionalTranslation(locale);
|
|
132
|
-
translationRequired = I18NConfig.requiresTranslation(locale) || regionalTranslationRequired;
|
|
133
|
-
if (translationRequired) {
|
|
134
|
-
translationsPromise = I18NConfig.getTranslations(locale);
|
|
135
|
-
}
|
|
136
|
-
taggedChildren = I18NConfig.addGTIdentifier(children, id);
|
|
137
|
-
// If no translation is required, render the default children
|
|
138
|
-
// The dictionary wraps text in this <T> component
|
|
139
|
-
// Thus, we need to also handle variables
|
|
140
|
-
if (!translationRequired) {
|
|
141
|
-
return [2 /*return*/, (0, internal_1.renderDefaultChildren)({
|
|
142
|
-
children: taggedChildren,
|
|
143
|
-
variables: variables,
|
|
144
|
-
variablesOptions: variablesOptions,
|
|
145
|
-
defaultLocale: defaultLocale,
|
|
146
|
-
renderVariable: renderVariable_1.default,
|
|
147
|
-
})];
|
|
148
|
-
}
|
|
149
|
-
_c = I18NConfig.serializeAndHash(taggedChildren, context, undefined // id is not provided here, to catch erroneous situations where the same id is being used for different <T> components
|
|
150
|
-
), childrenAsObjects = _c[0], key = _c[1];
|
|
151
|
-
return [4 /*yield*/, translationsPromise];
|
|
152
|
-
case 2:
|
|
153
|
-
translations = _h.sent();
|
|
154
|
-
translation = id ? translations === null || translations === void 0 ? void 0 : translations[id] : undefined;
|
|
155
|
-
// checks if an appropriate translation exists
|
|
156
|
-
if (translation && (translation === null || translation === void 0 ? void 0 : translation[key])) {
|
|
157
|
-
target = translation[key];
|
|
158
|
-
return [2 /*return*/, (0, internal_1.renderTranslatedChildren)({
|
|
159
|
-
source: taggedChildren,
|
|
160
|
-
target: target,
|
|
161
|
-
variables: variables,
|
|
162
|
-
variablesOptions: variablesOptions,
|
|
163
|
-
locales: [locale, defaultLocale],
|
|
164
|
-
renderVariable: renderVariable_1.default,
|
|
165
|
-
})];
|
|
166
|
-
}
|
|
167
131
|
renderSettings = I18NConfig.getRenderSettings();
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
targetLocale: locale
|
|
172
|
-
};
|
|
173
|
-
_f = [__assign(__assign(__assign({}, (id && { id: id })), { hash: key }), (context && { context: context }))];
|
|
174
|
-
return [4 /*yield*/, (0, getMetadata_1.default)()];
|
|
175
|
-
case 3:
|
|
176
|
-
translationPromise = _e.apply(_d, [(_g.metadata = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), (renderSettings.timeout && { timeout: renderSettings.timeout })]),
|
|
177
|
-
_g)]);
|
|
132
|
+
translationRequired = I18NConfig.requiresTranslation(locale);
|
|
133
|
+
dialectTranslationRequired = translationRequired && (0, generaltranslation_1.isSameLanguage)(locale, defaultLocale);
|
|
134
|
+
taggedChildren = I18NConfig.addGTIdentifier(children);
|
|
178
135
|
renderDefaultLocale = function () {
|
|
179
136
|
return (0, internal_1.renderDefaultChildren)({
|
|
180
137
|
children: taggedChildren,
|
|
@@ -193,22 +150,64 @@ function T(_a) {
|
|
|
193
150
|
});
|
|
194
151
|
};
|
|
195
152
|
renderLoadingDefault = function () {
|
|
196
|
-
if (
|
|
153
|
+
if (dialectTranslationRequired)
|
|
197
154
|
return renderDefaultLocale();
|
|
198
155
|
return renderLoadingSkeleton();
|
|
199
156
|
};
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
157
|
+
// ----- CHECK TRANSLATIONS REQUIRED ----- //
|
|
158
|
+
// If no translation is required, render the default children
|
|
159
|
+
// The dictionary wraps text in this <T> component
|
|
160
|
+
// Thus, we need to also handle variables
|
|
161
|
+
if (!translationRequired) {
|
|
162
|
+
return [2 /*return*/, renderDefaultLocale()];
|
|
163
|
+
}
|
|
164
|
+
translationsPromise = translationRequired && I18NConfig.getCachedTranslations(locale);
|
|
165
|
+
_c = I18NConfig.serializeAndHashChildren(taggedChildren, context), childrenAsObjects = _c[0], key = _c[1];
|
|
166
|
+
if (!(translationsPromise)) return [3 /*break*/, 3];
|
|
167
|
+
return [4 /*yield*/, translationsPromise];
|
|
168
|
+
case 2:
|
|
169
|
+
_d = _k.sent();
|
|
170
|
+
return [3 /*break*/, 4];
|
|
171
|
+
case 3:
|
|
172
|
+
_d = {};
|
|
173
|
+
_k.label = 4;
|
|
174
|
+
case 4:
|
|
175
|
+
translations = _d;
|
|
176
|
+
translationEntry = (_j = translations === null || translations === void 0 ? void 0 : translations[id]) === null || _j === void 0 ? void 0 : _j[key];
|
|
177
|
+
// ----- CHECK CACHED TRANSLATIONS ----- //
|
|
178
|
+
// if we have a cached translation, render it
|
|
179
|
+
if ((translationEntry === null || translationEntry === void 0 ? void 0 : translationEntry.state) === 'success') {
|
|
180
|
+
return [2 /*return*/, (0, internal_1.renderTranslatedChildren)({
|
|
181
|
+
source: taggedChildren,
|
|
182
|
+
target: translationEntry.target,
|
|
183
|
+
variables: variables,
|
|
184
|
+
variablesOptions: variablesOptions,
|
|
185
|
+
locales: [locale, defaultLocale],
|
|
186
|
+
renderVariable: renderVariable_1.default,
|
|
187
|
+
})];
|
|
188
|
+
}
|
|
189
|
+
else if ((translationEntry === null || translationEntry === void 0 ? void 0 : translationEntry.state) === 'error') {
|
|
190
|
+
return [2 /*return*/, renderDefaultLocale()];
|
|
191
|
+
}
|
|
192
|
+
_f = (_e = I18NConfig).translateChildren;
|
|
193
|
+
_h = {
|
|
194
|
+
source: childrenAsObjects,
|
|
195
|
+
targetLocale: locale
|
|
196
|
+
};
|
|
197
|
+
_g = [__assign(__assign(__assign({}, (id && { id: id })), { hash: key }), (context && { context: context }))];
|
|
198
|
+
return [4 /*yield*/, (0, getMetadata_1.default)()];
|
|
199
|
+
case 5:
|
|
200
|
+
translationPromise = _f.apply(_e, [(_h.metadata = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), (renderSettings.timeout && { timeout: renderSettings.timeout })]),
|
|
201
|
+
_h)]).then(function (translation) {
|
|
202
|
+
return (0, internal_1.renderTranslatedChildren)({
|
|
203
|
+
source: taggedChildren,
|
|
204
|
+
target: translation,
|
|
205
|
+
variables: variables,
|
|
206
|
+
variablesOptions: variablesOptions,
|
|
207
|
+
locales: [locale, defaultLocale],
|
|
208
|
+
renderVariable: renderVariable_1.default,
|
|
210
209
|
});
|
|
211
|
-
})
|
|
210
|
+
}).catch(function () {
|
|
212
211
|
return renderDefaultLocale();
|
|
213
212
|
});
|
|
214
213
|
if (renderSettings.method === 'replace') {
|
|
@@ -217,13 +216,10 @@ function T(_a) {
|
|
|
217
216
|
else if (renderSettings.method === 'skeleton') {
|
|
218
217
|
loadingFallback = renderLoadingSkeleton();
|
|
219
218
|
}
|
|
220
|
-
else if (renderSettings.method === 'subtle' && id !== undefined) { // exclude entries with missing ids bc these don't get cached
|
|
221
|
-
return [2 /*return*/, renderDefaultLocale()];
|
|
222
|
-
}
|
|
223
219
|
else {
|
|
224
220
|
loadingFallback = renderLoadingDefault();
|
|
225
221
|
}
|
|
226
|
-
return [2 /*return*/, ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: loadingFallback, children: (0, jsx_runtime_1.jsx)(Resolver, { children:
|
|
222
|
+
return [2 /*return*/, ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: loadingFallback, children: (0, jsx_runtime_1.jsx)(Resolver, { children: translationPromise }) }))];
|
|
227
223
|
}
|
|
228
224
|
});
|
|
229
225
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../../src/server/inline/T.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6EAAuD;AACvD,sEAAgD;AAChD,0EAAoD;AACpD,+BAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"T.js","sourceRoot":"","sources":["../../../src/server/inline/T.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/server/strings/tx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/server/strings/tx.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAA8B,EAAE,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACtD,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACf,GACL,OAAO,CAAC,MAAM,CAAC,CAqDjB"}
|
|
@@ -92,65 +92,64 @@ var createErrors_1 = require("../../errors/createErrors");
|
|
|
92
92
|
*/
|
|
93
93
|
function tx(content_1) {
|
|
94
94
|
return __awaiter(this, arguments, void 0, function (content, options) {
|
|
95
|
-
var I18NConfig,
|
|
95
|
+
var I18NConfig, locale, _a, defaultLocale, translationRequired, contentArray, renderContent, hash, translations, target, translationPromise, _b, _c, _d, target, error_1;
|
|
96
|
+
var _e;
|
|
96
97
|
var _f;
|
|
97
|
-
var _g;
|
|
98
98
|
if (options === void 0) { options = {}; }
|
|
99
|
-
return __generator(this, function (
|
|
100
|
-
switch (
|
|
99
|
+
return __generator(this, function (_g) {
|
|
100
|
+
switch (_g.label) {
|
|
101
101
|
case 0:
|
|
102
|
+
// ----- SET UP ----- //
|
|
102
103
|
if (!content)
|
|
103
|
-
return [2 /*return*/, ''];
|
|
104
|
+
return [2 /*return*/, '']; // No content to translate
|
|
104
105
|
I18NConfig = (0, getI18NConfig_1.default)();
|
|
105
|
-
defaultLocale = I18NConfig.getDefaultLocale();
|
|
106
106
|
_a = options.locale;
|
|
107
107
|
if (_a) return [3 /*break*/, 2];
|
|
108
108
|
return [4 /*yield*/, (0, getLocale_1.default)()];
|
|
109
109
|
case 1:
|
|
110
|
-
_a = (
|
|
111
|
-
|
|
110
|
+
_a = (_g.sent());
|
|
111
|
+
_g.label = 2;
|
|
112
112
|
case 2:
|
|
113
113
|
locale = _a;
|
|
114
|
+
defaultLocale = I18NConfig.getDefaultLocale();
|
|
115
|
+
translationRequired = I18NConfig.requiresTranslation(locale);
|
|
114
116
|
contentArray = (0, generaltranslation_1.splitStringToContent)(content);
|
|
115
117
|
renderContent = function (content, locales) {
|
|
116
118
|
return (0, generaltranslation_1.renderContentToString)(content, locales, options.variables, options.variablesOptions);
|
|
117
119
|
};
|
|
118
|
-
|
|
120
|
+
// ----- RENDER LOGIC ----- //
|
|
121
|
+
// translation required
|
|
122
|
+
if (translationRequired)
|
|
119
123
|
return [2 /*return*/, renderContent(contentArray, [defaultLocale])];
|
|
120
|
-
|
|
121
|
-
), _ = _b[0], hash = _b[1];
|
|
124
|
+
hash = I18NConfig.hashContent(contentArray, options.context);
|
|
122
125
|
if (!options.id) return [3 /*break*/, 4];
|
|
123
|
-
return [4 /*yield*/, I18NConfig.
|
|
126
|
+
return [4 /*yield*/, I18NConfig.getCachedTranslations(locale)];
|
|
124
127
|
case 3:
|
|
125
|
-
translations =
|
|
126
|
-
target = (
|
|
128
|
+
translations = _g.sent();
|
|
129
|
+
target = (_f = translations[options.id]) === null || _f === void 0 ? void 0 : _f[hash];
|
|
127
130
|
if (target)
|
|
128
131
|
return [2 /*return*/, renderContent(target, [locale, defaultLocale])];
|
|
129
|
-
|
|
132
|
+
_g.label = 4;
|
|
130
133
|
case 4:
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
_c = (_b = I18NConfig).translateContent;
|
|
135
|
+
_e = {
|
|
133
136
|
source: contentArray,
|
|
134
137
|
targetLocale: locale
|
|
135
138
|
};
|
|
136
|
-
|
|
139
|
+
_d = [__assign({}, options)];
|
|
137
140
|
return [4 /*yield*/, (0, getMetadata_1.default)()];
|
|
138
141
|
case 5:
|
|
139
|
-
translationPromise =
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
// subtle: wait for CDN to populate or for API to respond, do fallback for now
|
|
143
|
-
if (renderSettings.method === 'subtle' || !options.id)
|
|
144
|
-
return [2 /*return*/, renderContent(contentArray, [defaultLocale])];
|
|
145
|
-
_h.label = 6;
|
|
142
|
+
translationPromise = _c.apply(_b, [(_e.options = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_g.sent())])), { hash: hash }]),
|
|
143
|
+
_e)]);
|
|
144
|
+
_g.label = 6;
|
|
146
145
|
case 6:
|
|
147
|
-
|
|
146
|
+
_g.trys.push([6, 8, , 9]);
|
|
148
147
|
return [4 /*yield*/, translationPromise];
|
|
149
148
|
case 7:
|
|
150
|
-
target =
|
|
149
|
+
target = _g.sent();
|
|
151
150
|
return [2 /*return*/, renderContent(target, [locale, defaultLocale])];
|
|
152
151
|
case 8:
|
|
153
|
-
error_1 =
|
|
152
|
+
error_1 = _g.sent();
|
|
154
153
|
console.error((0, createErrors_1.createStringTranslationError)(content, options.id), error_1);
|
|
155
154
|
return [2 /*return*/, renderContent(contentArray, [defaultLocale])];
|
|
156
155
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/server/strings/tx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/server/strings/tx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,qBAkEC;AA9GD,yDAI4B;AAC5B,6EAAuD;AACvD,sEAAgD;AAChD,0EAAoD;AACpD,0DAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAA8B,EAAE;wDAC9B,OAAe,EACf,OAUM;;;;QAVN,wBAAA,EAAA,YAUM;;;;oBAGN,wBAAwB;oBAExB,IAAI,CAAC,OAAO;wBAAE,sBAAO,EAAE,EAAC,CAAE,0BAA0B;oBAE9C,UAAU,GAAG,IAAA,uBAAa,GAAE,CAAC;oBACpB,KAAA,OAAO,CAAC,MAAM,CAAA;4BAAd,wBAAc;oBAAK,qBAAM,IAAA,mBAAS,GAAE,EAAA;;oBAAlB,KAAA,CAAC,SAAiB,CAAC,CAAA;;;oBAA9C,MAAM,KAAwC;oBAC9C,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;oBAC9C,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC7D,YAAY,GAAG,IAAA,yCAAoB,EAAC,OAAO,CAAC,CAAC;oBAI7C,aAAa,GAAG,UAAC,OAAY,EAAE,OAAiB;wBACpD,OAAO,IAAA,0CAAqB,EAC1B,OAAO,EACP,OAAO,EACP,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,CACzB,CAAC;oBACJ,CAAC,CAAC;oBAGF,8BAA8B;oBAE9B,uBAAuB;oBACvB,IAAI,mBAAmB;wBAAE,sBAAO,aAAa,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC,EAAC;oBAGvE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;yBAG/D,OAAO,CAAC,EAAE,EAAV,wBAAU;oBACS,qBAAM,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;oBAA7D,YAAY,GAAG,SAA8C;oBAC7D,MAAM,GAAG,MAAA,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,0CAAG,IAAI,CAAC,CAAC;oBAChD,IAAI,MAAM;wBAAE,sBAAO,aAAa,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAC;;;oBAIzC,KAAA,CAAA,KAAA,UAAU,CAAA,CAAC,gBAAgB,CAAA;;wBACpD,MAAM,EAAE,YAAY;wBACpB,YAAY,EAAE,MAAM;;uCACN,OAAO;oBAAM,qBAAM,IAAA,qBAAW,GAAE,EAAA;;oBAH1C,kBAAkB,GAAG,eAGzB,UAAO,6DAAmB,CAAC,SAAmB,CAAC,OAAE,IAAI,MAAA,IAAE;iCACvD;;;;oBAGe,qBAAM,kBAAkB,EAAA;;oBAAjC,MAAM,GAAG,SAAwB;oBACvC,sBAAO,aAAa,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAC;;;oBAEtD,OAAO,CAAC,KAAK,CAAC,IAAA,2CAA4B,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAK,CAAC,CAAC;oBACxE,sBAAO,aAAa,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC,EAAC;;;;;CAEvD"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { TaggedChildren, TranslationError, Metadata } from "gt-react/internal";
|
|
2
|
+
export type TaggedEntry = string | TaggedChildren;
|
|
3
|
+
export type TaggedDictionaryEntry = TaggedEntry | [TaggedEntry] | [TaggedEntry, Metadata];
|
|
4
|
+
export type TaggedDictionary = {
|
|
5
|
+
[key: string]: TaggedDictionary | TaggedDictionaryEntry;
|
|
6
6
|
};
|
|
7
|
-
export type
|
|
8
|
-
[
|
|
9
|
-
[hash: string]: TranslatedChildren | TranslatedContent;
|
|
10
|
-
} | TranslationError | TranslationPromise;
|
|
7
|
+
export type FlattenedTaggedDictionary = {
|
|
8
|
+
[key: string]: TaggedDictionaryEntry;
|
|
11
9
|
};
|
|
12
10
|
export declare class GTTranslationError extends Error {
|
|
13
11
|
error: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,CAAE,WAAW,CAAE,GAAG,CAAE,WAAW,EAAE,QAAQ,CAAE,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;CAC3D,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CACvC,CAAA;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,KAAK,EAAE,MAAM;IAAS,IAAI,EAAE,MAAM;gBAAlC,KAAK,EAAE,MAAM,EAAS,IAAI,EAAE,MAAM;IAKrD,kBAAkB,IAAI,gBAAgB;CAOvC"}
|
package/dist/types/types.js
CHANGED
package/dist/types/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAWA;IAAwC,sCAAK;IAC3C,4BAAmB,KAAa,EAAS,IAAY;QACnD,YAAA,MAAK,YAAC,KAAK,CAAC,SAAC;QADI,WAAK,GAAL,KAAK,CAAQ;QAAS,UAAI,GAAJ,IAAI,CAAQ;QAEnD,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACnB,CAAC;IAED,+CAAkB,GAAlB;QACE,OAAO;YACL,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;IACH,yBAAC;AAAD,CAAC,AAbD,CAAwC,KAAK,GAa5C;AAbY,gDAAkB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Metadata } from "gt-react/internal";
|
|
2
|
+
import { TaggedDictionaryEntry, TaggedEntry } from "../types/types";
|
|
3
|
+
export default function extractEntryMetadata(value: TaggedDictionaryEntry): {
|
|
4
|
+
entry: TaggedEntry;
|
|
5
|
+
metadata?: Metadata;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=extractTaggedEntryMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractTaggedEntryMetadata.d.ts","sourceRoot":"","sources":["../../src/utils/extractTaggedEntryMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG;IACxE,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,CAUA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = extractEntryMetadata;
|
|
4
|
+
function extractEntryMetadata(value) {
|
|
5
|
+
if (Array.isArray(value)) {
|
|
6
|
+
if (value.length === 1) {
|
|
7
|
+
return { entry: value[0] };
|
|
8
|
+
}
|
|
9
|
+
if (value.length === 2) {
|
|
10
|
+
return { entry: value[0], metadata: value[1] };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return { entry: value };
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=extractTaggedEntryMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractTaggedEntryMetadata.js","sourceRoot":"","sources":["../../src/utils/extractTaggedEntryMetadata.ts"],"names":[],"mappings":";;AAGA,uCAaC;AAbD,SAAwB,oBAAoB,CAAC,KAA4B;IAIrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9B,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAa,EAAE,CAAA;QAC9D,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAoB,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Children } from 'gt-react/internal';
|
|
2
|
+
/**
|
|
3
|
+
* Replaces fragment tags with spans. This is because they get serialized as strings when passed to client as a dictionary entry.
|
|
4
|
+
* @param children
|
|
5
|
+
* @param startingIndex
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export default function serializeJsx(children: Children, startingIndex?: number): Children;
|
|
9
|
+
//# sourceMappingURL=serializeJsx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeJsx.d.ts","sourceRoot":"","sources":["../../src/utils/serializeJsx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAE,MAAU,GAAG,QAAQ,CAwF5F"}
|
|
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
47
|
+
var t = {};
|
|
48
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
49
|
+
t[p] = s[p];
|
|
50
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
51
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
52
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
53
|
+
t[p[i]] = s[p[i]];
|
|
54
|
+
}
|
|
55
|
+
return t;
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.default = serializeJsx;
|
|
59
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
60
|
+
var react_1 = __importStar(require("react"));
|
|
61
|
+
var internal_1 = require("generaltranslation/internal");
|
|
62
|
+
/**
|
|
63
|
+
* Replaces fragment tags with spans. This is because they get serialized as strings when passed to client as a dictionary entry.
|
|
64
|
+
* @param children
|
|
65
|
+
* @param startingIndex
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
function serializeJsx(children, startingIndex) {
|
|
69
|
+
if (startingIndex === void 0) { startingIndex = 0; }
|
|
70
|
+
// Object to keep track of the current index for GT IDs
|
|
71
|
+
var index = startingIndex;
|
|
72
|
+
/**
|
|
73
|
+
* Function to create a GTProp object for a ReactElement
|
|
74
|
+
* @param child - The ReactElement for which the GTProp is created
|
|
75
|
+
* @returns - The GTProp object
|
|
76
|
+
*/
|
|
77
|
+
var createGTProp = function (child) {
|
|
78
|
+
var type = child.type, props = child.props;
|
|
79
|
+
index += 1;
|
|
80
|
+
var result = { id: index };
|
|
81
|
+
var transformation;
|
|
82
|
+
try {
|
|
83
|
+
transformation = typeof type === 'function' ? (type.gtTransformation || '') : '';
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
transformation = '';
|
|
87
|
+
}
|
|
88
|
+
if (transformation) {
|
|
89
|
+
var transformationParts = transformation.split('-');
|
|
90
|
+
if (transformationParts[0] === "translate") {
|
|
91
|
+
// throw new Error(createNestedTError(child))
|
|
92
|
+
// console.log
|
|
93
|
+
// TODO: get a better error:
|
|
94
|
+
throw new Error('Nested T error');
|
|
95
|
+
}
|
|
96
|
+
if (transformationParts[0] === "variable") {
|
|
97
|
+
result.variableType = (transformationParts === null || transformationParts === void 0 ? void 0 : transformationParts[1]) || "variable";
|
|
98
|
+
}
|
|
99
|
+
if (transformationParts[0] === "plural") {
|
|
100
|
+
var pluralBranches = Object.entries(props).reduce(function (acc, _a) {
|
|
101
|
+
var branchName = _a[0], branch = _a[1];
|
|
102
|
+
if ((0, internal_1.isAcceptedPluralForm)(branchName)) {
|
|
103
|
+
acc[branchName] = serializeJsx(branch, index);
|
|
104
|
+
}
|
|
105
|
+
return acc;
|
|
106
|
+
}, {});
|
|
107
|
+
if (Object.keys(pluralBranches).length)
|
|
108
|
+
result.branches = pluralBranches;
|
|
109
|
+
}
|
|
110
|
+
if (transformationParts[0] === "branch") {
|
|
111
|
+
var children_1 = props.children, branch = props.branch, branches = __rest(props, ["children", "branch"]);
|
|
112
|
+
var resultBranches = Object.entries(branches).reduce(function (acc, _a) {
|
|
113
|
+
var branchName = _a[0], branch = _a[1];
|
|
114
|
+
acc[branchName] = serializeJsx(branch, index);
|
|
115
|
+
return acc;
|
|
116
|
+
}, {});
|
|
117
|
+
if (Object.keys(resultBranches).length)
|
|
118
|
+
result.branches = resultBranches;
|
|
119
|
+
}
|
|
120
|
+
result.transformation = transformationParts[0];
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
};
|
|
124
|
+
function handleSingleChildElement(child) {
|
|
125
|
+
var props = child.props;
|
|
126
|
+
// if (props['data-_gt']) throw new Error(createNestedDataGTError(child));
|
|
127
|
+
// Create new props for the element, including the GT identifier and a key
|
|
128
|
+
var generaltranslation = createGTProp(child);
|
|
129
|
+
var newProps = __assign({}, props);
|
|
130
|
+
if (props.children && !generaltranslation.variableType) {
|
|
131
|
+
newProps.children = handleChildren(props.children);
|
|
132
|
+
}
|
|
133
|
+
if (child.type === react_1.default.Fragment) {
|
|
134
|
+
var fragment = (0, jsx_runtime_1.jsx)("span", __assign({ style: { all: 'unset', display: 'contents' } }, newProps));
|
|
135
|
+
return fragment;
|
|
136
|
+
}
|
|
137
|
+
return react_1.default.cloneElement(child, newProps);
|
|
138
|
+
}
|
|
139
|
+
function handleSingleChild(child) {
|
|
140
|
+
if ((0, react_1.isValidElement)(child)) {
|
|
141
|
+
return handleSingleChildElement(child);
|
|
142
|
+
}
|
|
143
|
+
return child;
|
|
144
|
+
}
|
|
145
|
+
function handleChildren(children) {
|
|
146
|
+
if (Array.isArray(children)) {
|
|
147
|
+
return react_1.default.Children.map(children, handleSingleChild);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
return handleSingleChild(children);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return handleChildren(children);
|
|
154
|
+
}
|
|
155
|
+
;
|
|
156
|
+
//# sourceMappingURL=serializeJsx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeJsx.js","sourceRoot":"","sources":["../../src/utils/serializeJsx.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gt-next",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.2-beta",
|
|
4
4
|
"description": "A Next.js library for automatic internationalization.",
|
|
5
5
|
"main": "dist/index.server.js",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -120,7 +120,6 @@
|
|
|
120
120
|
],
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@generaltranslation/supported-locales": "^1.1.2",
|
|
123
|
-
"
|
|
124
|
-
"gt-react": "^8.2.11"
|
|
123
|
+
"gt-react": "^8.2.17-beta"
|
|
125
124
|
}
|
|
126
125
|
}
|