gt-react 3.1.68 → 3.1.70

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 (81) hide show
  1. package/dist/cjs/client/client-only/GTClientProvider.js +1 -1
  2. package/dist/cjs/client/client-only/GTClientProvider.js.map +1 -1
  3. package/dist/cjs/client/hooks/useGT.d.ts.map +1 -1
  4. package/dist/cjs/client/hooks/useGT.js +2 -3
  5. package/dist/cjs/client/hooks/useGT.js.map +1 -1
  6. package/dist/cjs/dictionary/checkTFunctionOptions.js +2 -2
  7. package/dist/cjs/dictionary/checkTFunctionOptions.js.map +1 -1
  8. package/dist/cjs/dictionary/createTFunction.d.ts.map +1 -1
  9. package/dist/cjs/dictionary/createTFunction.js +7 -9
  10. package/dist/cjs/dictionary/createTFunction.js.map +1 -1
  11. package/dist/cjs/index.d.ts +5 -5
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +5 -5
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/primitives/calculateHash.d.ts +8 -0
  16. package/dist/cjs/primitives/calculateHash.d.ts.map +1 -0
  17. package/dist/cjs/primitives/calculateHash.js +55 -0
  18. package/dist/cjs/primitives/calculateHash.js.map +1 -0
  19. package/dist/cjs/primitives/dictionary/flattenDictionary.d.ts +9 -0
  20. package/dist/cjs/primitives/dictionary/flattenDictionary.d.ts.map +1 -0
  21. package/dist/cjs/primitives/dictionary/flattenDictionary.js +29 -0
  22. package/dist/cjs/primitives/dictionary/flattenDictionary.js.map +1 -0
  23. package/dist/cjs/primitives/translation/addGTIdentifier.d.ts +11 -0
  24. package/dist/cjs/primitives/translation/addGTIdentifier.d.ts.map +1 -0
  25. package/dist/cjs/primitives/translation/addGTIdentifier.js +150 -0
  26. package/dist/cjs/primitives/translation/addGTIdentifier.js.map +1 -0
  27. package/dist/cjs/primitives/translation/writeChildrenAsObjects.d.ts +11 -0
  28. package/dist/cjs/primitives/translation/writeChildrenAsObjects.d.ts.map +1 -0
  29. package/dist/cjs/primitives/translation/writeChildrenAsObjects.js +116 -0
  30. package/dist/cjs/primitives/translation/writeChildrenAsObjects.js.map +1 -0
  31. package/dist/cjs/scripts/i18n.d.ts +3 -0
  32. package/dist/cjs/scripts/i18n.d.ts.map +1 -0
  33. package/dist/cjs/scripts/i18n.js +189 -0
  34. package/dist/cjs/scripts/i18n.js.map +1 -0
  35. package/dist/cjs/server/inline/T.js +3 -3
  36. package/dist/cjs/server/inline/T.js.map +1 -1
  37. package/dist/cjs/server/intl/createIntlFunction.js +1 -1
  38. package/dist/cjs/server/intl/createIntlFunction.js.map +1 -1
  39. package/dist/cjs/server/provider/GTProvider.js +4 -4
  40. package/dist/cjs/server/provider/GTProvider.js.map +1 -1
  41. package/dist/mjs/client/client-only/GTClientProvider.js +1 -1
  42. package/dist/mjs/client/client-only/GTClientProvider.js.map +1 -1
  43. package/dist/mjs/client/hooks/useGT.d.ts.map +1 -1
  44. package/dist/mjs/client/hooks/useGT.js +2 -3
  45. package/dist/mjs/client/hooks/useGT.js.map +1 -1
  46. package/dist/mjs/dictionary/checkTFunctionOptions.js +2 -2
  47. package/dist/mjs/dictionary/checkTFunctionOptions.js.map +1 -1
  48. package/dist/mjs/dictionary/createTFunction.d.ts.map +1 -1
  49. package/dist/mjs/dictionary/createTFunction.js +7 -9
  50. package/dist/mjs/dictionary/createTFunction.js.map +1 -1
  51. package/dist/mjs/index.d.ts +5 -5
  52. package/dist/mjs/index.d.ts.map +1 -1
  53. package/dist/mjs/index.js +5 -5
  54. package/dist/mjs/index.js.map +1 -1
  55. package/dist/mjs/primitives/calculateHash.d.ts +8 -0
  56. package/dist/mjs/primitives/calculateHash.d.ts.map +1 -0
  57. package/dist/mjs/primitives/calculateHash.js +49 -0
  58. package/dist/mjs/primitives/calculateHash.js.map +1 -0
  59. package/dist/mjs/primitives/dictionary/flattenDictionary.d.ts +9 -0
  60. package/dist/mjs/primitives/dictionary/flattenDictionary.d.ts.map +1 -0
  61. package/dist/mjs/primitives/dictionary/flattenDictionary.js +23 -0
  62. package/dist/mjs/primitives/dictionary/flattenDictionary.js.map +1 -0
  63. package/dist/mjs/primitives/translation/addGTIdentifier.d.ts +11 -0
  64. package/dist/mjs/primitives/translation/addGTIdentifier.d.ts.map +1 -0
  65. package/dist/mjs/primitives/translation/addGTIdentifier.js +144 -0
  66. package/dist/mjs/primitives/translation/addGTIdentifier.js.map +1 -0
  67. package/dist/mjs/primitives/translation/writeChildrenAsObjects.d.ts +11 -0
  68. package/dist/mjs/primitives/translation/writeChildrenAsObjects.d.ts.map +1 -0
  69. package/dist/mjs/primitives/translation/writeChildrenAsObjects.js +110 -0
  70. package/dist/mjs/primitives/translation/writeChildrenAsObjects.js.map +1 -0
  71. package/dist/mjs/scripts/i18n.d.ts +3 -0
  72. package/dist/mjs/scripts/i18n.d.ts.map +1 -0
  73. package/dist/mjs/scripts/i18n.js +161 -0
  74. package/dist/mjs/scripts/i18n.js.map +1 -0
  75. package/dist/mjs/server/inline/T.js +3 -3
  76. package/dist/mjs/server/inline/T.js.map +1 -1
  77. package/dist/mjs/server/intl/createIntlFunction.js +1 -1
  78. package/dist/mjs/server/intl/createIntlFunction.js.map +1 -1
  79. package/dist/mjs/server/provider/GTProvider.js +4 -4
  80. package/dist/mjs/server/provider/GTProvider.js.map +1 -1
  81. package/package.json +28 -25
@@ -50,7 +50,7 @@ const renderClientChildren_1 = __importDefault(require("../helpers/renderClientC
50
50
  const getEntryTranslationType_1 = __importDefault(require("../../primitives/rendering/getEntryTranslationType"));
51
51
  const getEntryMetadata_1 = __importDefault(require("../../primitives/rendering/getEntryMetadata"));
52
52
  const ClientPlural_1 = __importDefault(require("../plural/ClientPlural"));
53
- const addGTIdentifier_1 = __importDefault(require("../../index/addGTIdentifier"));
53
+ const addGTIdentifier_1 = __importDefault(require("../../primitives/translation/addGTIdentifier"));
54
54
  function GTClientProvider({ children, projectID, dictionary = defaultGTProps_1.default.dictionary, dictionaryName = defaultGTProps_1.default.dictionaryName, approvedLocales, defaultLocale = (approvedLocales === null || approvedLocales === void 0 ? void 0 : approvedLocales[0]) || defaultGTProps_1.default.defaultLocale, locale = '', remoteSource = defaultGTProps_1.default.remoteSource, cacheURL = defaultGTProps_1.default.cacheURL, translations }) {
55
55
  if (!projectID && remoteSource && cacheURL === defaultGTProps_1.default.cacheURL) {
56
56
  throw new Error("gt-react Error: General Translation cloud services require a project ID! Find yours at www.generaltranslation.com/dashboard.");
@@ -1 +1 @@
1
- {"version":3,"file":"GTClientProvider.js","sourceRoot":"","sources":["../../../../src/client/client-only/GTClientProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GTClientProvider.js","sourceRoot":"","sources":["../../../../src/client/client-only/GTClientProvider.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,GAAE,MAAW,GAAG,QAAQ,CAyBvD"}
1
+ {"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,GAAE,MAAW,GAAG,QAAQ,CAyBvD"}
@@ -8,7 +8,6 @@ exports.default = useGT;
8
8
  const jsx_runtime_1 = require("react/jsx-runtime");
9
9
  const react_1 = __importDefault(require("react"));
10
10
  const ClientProvider_1 = require("../ClientProvider");
11
- const createOptions_1 = __importDefault(require("../../dictionary/createOptions"));
12
11
  /**
13
12
  * Custom hook to provide a translation function using a given context.
14
13
  *
@@ -33,9 +32,9 @@ function useGT(id = '') {
33
32
  throw new Error(`t('${id}'): No context provided. useGT() can only be used inside a GTProvider.`);
34
33
  }
35
34
  // Return a translation function if available, otherwise return a no-op function
36
- return (id = '', options) => {
35
+ return (id = '', options = {}) => {
37
36
  const prefixedID = getID(id);
38
- const translation = translate(prefixedID, (0, createOptions_1.default)(options));
37
+ const translation = translate(prefixedID, options);
39
38
  if (!translation)
40
39
  console.warn(`t('${id}') finding no translation for dictionary item ${prefixedID} !`);
41
40
  return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: translation }, prefixedID);
@@ -1 +1 @@
1
- {"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;AAgBZ,wBAyBC;;AAvCD,kDAAuC;AACvC,sDAAiD;AAGjD,mFAA2D;AAE3D;;;;;;;GAOG;AACH,SAAwB,KAAK,CAAC,KAAa,EAAE;IACzC,4DAA4D;IAC5D,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAC7B,IAAI,EAAE,IAAI,MAAM;YAAE,OAAO,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5B,CAAC,CAAA;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACD,CAAC,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAY,GAAE,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;IACtG,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,KAAa,EAAE,EAAE,OAGxB,EAAE,EAAE;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,iDAAiD,UAAU,IAAI,CAAC,CAAA;QACvG,OAAO,uBAAC,eAAK,CAAC,QAAQ,cAAmB,WAAW,IAAxB,UAAU,CAAgC,CAAC;IAC3E,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"useGT.js","sourceRoot":"","sources":["../../../../src/client/hooks/useGT.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;AAaZ,wBAyBC;;AApCD,kDAAuC;AACvC,sDAAiD;AAEjD;;;;;;;GAOG;AACH,SAAwB,KAAK,CAAC,KAAa,EAAE;IACzC,4DAA4D;IAC5D,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAC7B,IAAI,EAAE,IAAI,MAAM;YAAE,OAAO,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5B,CAAC,CAAA;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACD,CAAC,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAY,GAAE,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;IACtG,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,KAAa,EAAE,EAAE,UAGrB,EAAE,EAAE,EAAE;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,iDAAiD,UAAU,IAAI,CAAC,CAAA;QACvG,OAAO,uBAAC,eAAK,CAAC,QAAQ,cAAmB,WAAW,IAAxB,UAAU,CAAgC,CAAC;IAC3E,CAAC,CAAA;AACL,CAAC"}
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = checkTFunctionOptions;
4
4
  // should check initial t function options (without added metadata from dictionary)
5
5
  function checkTFunctionOptions(options) {
6
- if (!options)
6
+ if (!options || !Object.keys(options).length)
7
7
  return true;
8
8
  if (["singular", "plural", "dual", "one", "two", "zero", "few", "many", "other"].some(key => {
9
9
  if (options.hasOwnProperty(key)) {
10
- console.warn(`gt-react: It's bad practice to include "${key}" in your t() function. Try including it in your dictionary metadata instead. See https://docs.generaltranslation.com/dictionaries/plurals.`);
10
+ console.warn(`gt-react: It's bad practice to include "${key}" in your t() function, because the dictionary won't register it as a plural if there are no alternate forms. Try including "${key}" in your dictionary metadata instead. See https://docs.generaltranslation.com/essentials#plurals.`);
11
11
  return true;
12
12
  }
13
13
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"checkTFunctionOptions.js","sourceRoot":"","sources":["../../../src/dictionary/checkTFunctionOptions.ts"],"names":[],"mappings":";;AACA,wCAYC;AAbD,mFAAmF;AACnF,SAAwB,qBAAqB,CAAC,OAA6B;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IACI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACpF,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,2CAA2C,GAAG,6IAA6I,CAAC,CAAA;YACzM,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"checkTFunctionOptions.js","sourceRoot":"","sources":["../../../src/dictionary/checkTFunctionOptions.ts"],"names":[],"mappings":";;AACA,wCAYC;AAbD,mFAAmF;AACnF,SAAwB,qBAAqB,CAAC,OAA6B;IACvE,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC1D,IACI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACpF,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,2CAA2C,GAAG,gIAAgI,GAAG,oGAAoG,CAAC,CAAA;YACnS,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTFunction.d.ts","sourceRoot":"","sources":["../../../src/dictionary/createTFunction.tsx"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAS5D,MAAM,MAAM,QAAQ,GAAG;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAuC,EAAE,EAAE;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,QAEtK,MAAM,YAAY,QAAQ,KAAG,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDnF"}
1
+ {"version":3,"file":"createTFunction.d.ts","sourceRoot":"","sources":["../../../src/dictionary/createTFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAQ5D,MAAM,MAAM,QAAQ,GAAG;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAuC,EAAE,EAAE;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,QAEtK,MAAM,YAAW,QAAQ,KAAQ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAsDvF"}
@@ -22,34 +22,32 @@ const getEntryMetadata_1 = __importDefault(require("../primitives/rendering/getE
22
22
  const getEntryTranslationType_1 = __importDefault(require("../primitives/rendering/getEntryTranslationType"));
23
23
  const getDictionaryEntry_1 = __importDefault(require("./getDictionaryEntry"));
24
24
  const checkTFunctionOptions_1 = __importDefault(require("./checkTFunctionOptions"));
25
- const createOptions_1 = __importDefault(require("./createOptions"));
26
25
  function createTFunction({ I18NConfig, T, intl, dictionary = I18NConfig.getDictionary() }) {
27
- return function t(id, options) {
26
+ return function t(id, options = {}) {
28
27
  (0, checkTFunctionOptions_1.default)(options);
29
28
  const raw = (0, getDictionaryEntry_1.default)(id, dictionary);
30
- const { entry, metadata } = (0, getEntryMetadata_1.default)(raw);
31
- options = (0, createOptions_1.default)(options);
29
+ let { entry, metadata } = (0, getEntryMetadata_1.default)(raw);
32
30
  // Checks to see if options are valid
33
31
  const translationType = (0, getEntryTranslationType_1.default)(raw);
34
32
  // Turn into an async function if the target is a string
35
33
  if (translationType === "intl")
36
34
  return intl(entry, Object.assign({ id }, metadata));
37
35
  // If a plural or value is required
38
- if (options.values) {
36
+ if (Object.keys(options).length) {
39
37
  const locales = [I18NConfig.getLocale(), I18NConfig.getDefaultLocale()];
40
38
  const _a = metadata || {}, { ranges, zero, one, two, few, many, other, singular, dual, plural } = _a, tOptions = __rest(_a, ["ranges", "zero", "one", "two", "few", "many", "other", "singular", "dual", "plural"]);
41
39
  if (translationType === "plural") {
42
- if (!options.values || typeof options.values.n !== 'number') {
40
+ if (!options || typeof options.n !== 'number') {
43
41
  throw new Error(`ID "${id}" requires an "n" option.\n\ne.g. t("${id}", { n: 1 })`);
44
42
  }
45
43
  const innerProps = Object.assign({ ranges,
46
44
  zero, one,
47
45
  two, few,
48
46
  many, other,
49
- singular, dual, plural }, options.values);
50
- return ((0, jsx_runtime_1.jsx)(T, Object.assign({ id: id }, tOptions, { children: (0, jsx_runtime_1.jsx)(InnerPlural_1.default, Object.assign({ n: options.values.n, locales: locales }, innerProps, { children: entry })) })));
47
+ singular, dual, plural }, options);
48
+ return ((0, jsx_runtime_1.jsx)(T, Object.assign({ id: id }, tOptions, { children: (0, jsx_runtime_1.jsx)(InnerPlural_1.default, Object.assign({ n: options.n, locales: locales }, innerProps, { children: entry })) })));
51
49
  }
52
- return ((0, jsx_runtime_1.jsx)(T, Object.assign({ id: id }, tOptions, { children: (0, jsx_runtime_1.jsx)(InnerValue_1.default, { values: options.values, locales: locales, children: entry }) })));
50
+ return ((0, jsx_runtime_1.jsx)(T, Object.assign({ id: id }, tOptions, { children: (0, jsx_runtime_1.jsx)(InnerValue_1.default, { values: options, locales: locales, children: entry }) })));
53
51
  }
54
52
  // base case, just return T with an inner fragment (</>) for consistency
55
53
  return ((0, jsx_runtime_1.jsx)(T, Object.assign({ id: id }, metadata, { children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: entry }) })));
@@ -1 +1 @@
1
- {"version":3,"file":"createTFunction.js","sourceRoot":"","sources":["../../../src/dictionary/createTFunction.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAeA,kCAyDC;;AAtED,4EAA+C;AAC/C,+EAAkD;AAClD,gGAAwE;AACxE,8GAAsF;AACtF,8EAAsD;AACtD,oFAA4D;AAC5D,oEAA4C;AAO5C,SAAwB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,EAA0F;IAE5L,OAAO,SAAS,CAAC,CAAC,EAAU,EAAE,OAAkB;QAE5C,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,4BAAkB,EAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC;QAClD,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;QAEjC,qCAAqC;QACrC,MAAM,eAAe,GAAG,IAAA,iCAAuB,EAAC,GAAG,CAAC,CAAA;QACpD,wDAAwD;QACxD,IAAI,eAAe,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,kBAAI,EAAE,IAAK,QAAQ,EAAG,CAAC;QAExE,mCAAmC;QACnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACxE,MAAM,KAEF,QAAQ,IAAI,EAAE,EAFZ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAEtD,EADX,QAAQ,cADT,sFAEL,CAAiB,CAAC;YACnB,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,wCAAwC,EAAE,cAAc,CAAC,CAAA;gBACtF,CAAC;gBACD,MAAM,UAAU,mBACZ,MAAM;oBACN,IAAI,EAAE,GAAG;oBACT,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAI,EAAE,MAAM,IACnB,OAAO,CAAC,MAAM,CACpB,CAAC;gBACF,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,uBAAC,qBAAM,kBAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAM,UAAU,cACxD,KAAK,IACD,IACT,CACP,CAAC;YACN,CAAC;YACD,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,uBAAC,oBAAK,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,YAC1C,KAAK,GACF,IACR,CACP,CAAA;QACL,CAAC;QAED,wEAAwE;QACxE,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,2DAAG,KAAK,GAAI,IACZ,CACP,CAAA;IACL,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"createTFunction.js","sourceRoot":"","sources":["../../../src/dictionary/createTFunction.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAaA,kCAwDC;;AApED,4EAA+C;AAC/C,+EAAkD;AAClD,gGAAwE;AACxE,8GAAsF;AACtF,8EAAsD;AACtD,oFAA4D;AAO5D,SAAwB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,EAA0F;IAE5L,OAAO,SAAS,CAAC,CAAC,EAAU,EAAE,UAAoB,EAAE;QAEhD,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAA,4BAAkB,EAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC;QAEhD,qCAAqC;QACrC,MAAM,eAAe,GAAG,IAAA,iCAAuB,EAAC,GAAG,CAAC,CAAA;QACpD,wDAAwD;QACxD,IAAI,eAAe,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,kBAAI,EAAE,IAAK,QAAQ,EAAG,CAAC;QAExE,mCAAmC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACxE,MAAM,KAEF,QAAQ,IAAI,EAAE,EAFZ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAEtD,EADX,QAAQ,cADT,sFAEL,CAAiB,CAAC;YACnB,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,wCAAwC,EAAE,cAAc,CAAC,CAAA;gBACtF,CAAC;gBACD,MAAM,UAAU,mBACZ,MAAM;oBACN,IAAI,EAAE,GAAG;oBACT,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAI,EAAE,MAAM,IACnB,OAAO,CACb,CAAC;gBACF,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,uBAAC,qBAAM,kBAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAM,UAAU,cACjD,KAAK,IACD,IACT,CACP,CAAC;YACN,CAAC;YACD,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,uBAAC,oBAAK,IAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,YACnC,KAAK,GACF,IACR,CACP,CAAA;QACL,CAAC;QAED,wEAAwE;QACxE,OAAO,CACH,uBAAC,CAAC,kBAAC,EAAE,EAAE,EAAE,IAAM,QAAQ,cACnB,2DAAG,KAAK,GAAI,IACZ,CACP,CAAA;IACL,CAAC,CAAA;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import determineLocale from "./index/determineLocale";
2
- import calculateHash from "./index/calculateHash";
3
- import flattenDictionary from "./index/flattenDictionary";
4
- import addGTIdentifier from "./index/addGTIdentifier";
5
- import writeChildrenAsObjects from "./index/writeChildrenAsObjects";
6
- export { determineLocale, calculateHash, flattenDictionary, writeChildrenAsObjects, addGTIdentifier };
2
+ import calculateHash from "./primitives/calculateHash";
3
+ import flattenDictionary from "./primitives/dictionary/flattenDictionary";
4
+ import addGTIdentifier from "./primitives/translation/addGTIdentifier";
5
+ import writeChildrenAsObjects from "./primitives/translation/writeChildrenAsObjects";
6
+ export { determineLocale, addGTIdentifier, writeChildrenAsObjects, flattenDictionary, calculateHash };
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACH,eAAe,EACf,aAAa,EAAE,iBAAiB,EAChC,sBAAsB,EAAE,eAAe,EAC1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAC1E,OAAO,eAAe,MAAM,0CAA0C,CAAC;AACvE,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AACrF,OAAO,EACH,eAAe,EACf,eAAe,EAAE,sBAAsB,EACvC,iBAAiB,EACjB,aAAa,EAChB,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -3,15 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addGTIdentifier = exports.writeChildrenAsObjects = exports.flattenDictionary = exports.calculateHash = exports.determineLocale = void 0;
6
+ exports.calculateHash = exports.flattenDictionary = exports.writeChildrenAsObjects = exports.addGTIdentifier = exports.determineLocale = void 0;
7
7
  const determineLocale_1 = __importDefault(require("./index/determineLocale"));
8
8
  exports.determineLocale = determineLocale_1.default;
9
- const calculateHash_1 = __importDefault(require("./index/calculateHash"));
9
+ const calculateHash_1 = __importDefault(require("./primitives/calculateHash"));
10
10
  exports.calculateHash = calculateHash_1.default;
11
- const flattenDictionary_1 = __importDefault(require("./index/flattenDictionary"));
11
+ const flattenDictionary_1 = __importDefault(require("./primitives/dictionary/flattenDictionary"));
12
12
  exports.flattenDictionary = flattenDictionary_1.default;
13
- const addGTIdentifier_1 = __importDefault(require("./index/addGTIdentifier"));
13
+ const addGTIdentifier_1 = __importDefault(require("./primitives/translation/addGTIdentifier"));
14
14
  exports.addGTIdentifier = addGTIdentifier_1.default;
15
- const writeChildrenAsObjects_1 = __importDefault(require("./index/writeChildrenAsObjects"));
15
+ const writeChildrenAsObjects_1 = __importDefault(require("./primitives/translation/writeChildrenAsObjects"));
16
16
  exports.writeChildrenAsObjects = writeChildrenAsObjects_1.default;
17
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;AAMlD,0BANG,yBAAe,CAMH;AALnB,0EAAkD;AAM9C,wBANG,uBAAa,CAMH;AALjB,kFAA0D;AAKvC,4BALZ,2BAAiB,CAKY;AAJpC,8EAAsD;AAK1B,0BALrB,yBAAe,CAKqB;AAJ3C,4FAAoE;AAIhE,iCAJG,gCAAsB,CAIH"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;AAMlD,0BANG,yBAAe,CAMH;AALnB,+EAAuD;AAQnD,wBARG,uBAAa,CAQH;AAPjB,kGAA0E;AAMtE,4BANG,2BAAiB,CAMH;AALrB,+FAAuE;AAInE,0BAJG,yBAAe,CAIH;AAHnB,6GAAqF;AAGhE,iCAHd,gCAAsB,CAGc"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Calculates a unique ID for the given children objects by hashing their sanitized JSON string representation.
3
+ *
4
+ * @param {any} childrenAsObjects - The children objects to be hashed.
5
+ * @returns {Promise<string>} - A promise that resolves to the unique ID.
6
+ */
7
+ export default function calculateHash(childrenAsObjects: any): Promise<string>;
8
+ //# sourceMappingURL=calculateHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateHash.d.ts","sourceRoot":"","sources":["../../../src/primitives/calculateHash.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,wBAA8B,aAAa,CAAC,iBAAiB,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.default = calculateHash;
16
+ const xxhash_wasm_1 = __importDefault(require("xxhash-wasm"));
17
+ let hashFunctionPromise = (0, xxhash_wasm_1.default)().then(hasher => hasher.h64ToString);
18
+ let hashFunction = null;
19
+ hashFunctionPromise.then(fn => {
20
+ hashFunction = fn;
21
+ });
22
+ /**
23
+ * Calculates a unique ID for the given children objects by hashing their sanitized JSON string representation.
24
+ *
25
+ * @param {any} childrenAsObjects - The children objects to be hashed.
26
+ * @returns {Promise<string>} - A promise that resolves to the unique ID.
27
+ */
28
+ function calculateHash(childrenAsObjects) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (!hashFunction) {
31
+ hashFunction = yield hashFunctionPromise;
32
+ }
33
+ const unhashedKey = JSON.stringify(sanitizeChildrenAsObjects(childrenAsObjects));
34
+ return hashFunction(unhashedKey);
35
+ });
36
+ }
37
+ function sanitizeChildrenAsObjects(childrenAsObjects) {
38
+ const sanitizeChild = (child) => {
39
+ var _a;
40
+ if (typeof child === 'object' && child.type) {
41
+ if ((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.children) {
42
+ return Object.assign(Object.assign({}, child), { props: Object.assign(Object.assign({}, child.props), { children: sanitizeChildren(child.props.children) }), type: '' });
43
+ }
44
+ else {
45
+ return Object.assign(Object.assign({}, child), { type: '' });
46
+ }
47
+ }
48
+ return child;
49
+ };
50
+ const sanitizeChildren = (children) => {
51
+ return (Array.isArray(children)) ? children.map(sanitizeChild) : sanitizeChild(children);
52
+ };
53
+ return sanitizeChildren(childrenAsObjects);
54
+ }
55
+ //# sourceMappingURL=calculateHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateHash.js","sourceRoot":"","sources":["../../../src/primitives/calculateHash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAeA,gCAMC;AArBD,8DAAiC;AAEjC,IAAI,mBAAmB,GAAG,IAAA,qBAAM,GAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtE,IAAI,YAAY,GAAuC,IAAI,CAAC;AAE5D,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;IAC1B,YAAY,GAAG,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAA8B,aAAa,CAAC,iBAAsB;;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,YAAY,GAAG,MAAM,mBAAmB,CAAC;QAC7C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjF,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;CAAA;AAED,SAAS,yBAAyB,CAAC,iBAAsB;IACrD,MAAM,aAAa,GAAG,CAAC,KAAU,EAAO,EAAE;;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,QAAQ,EAAE,CAAC;gBACzB,uCACO,KAAK,KACR,KAAK,kCACE,KAAK,CAAC,KAAK,KACd,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAEpD,IAAI,EAAE,EAAE,IACX;YACL,CAAC;iBAAM,CAAC;gBACJ,uCACO,KAAK,KACR,IAAI,EAAE,EAAE,IACX;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,CAAC,QAAa,EAAO,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5F,CAAC,CAAA;IACD,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ /**
3
+ * Flattens a nested dictionary by concatenating nested keys.
4
+ * @param {Record<string, any>} dictionary - The dictionary to flatten.
5
+ * @param {string} [prefix=''] - The prefix for nested keys.
6
+ * @returns {Record<string, React.ReactNode>} The flattened dictionary object.
7
+ */
8
+ export default function flattenDictionary(dictionary: Record<string, any>, prefix?: string): Record<string, React.ReactNode>;
9
+ //# sourceMappingURL=flattenDictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenDictionary.d.ts","sourceRoot":"","sources":["../../../../src/primitives/dictionary/flattenDictionary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAgB/H"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = flattenDictionary;
7
+ const react_1 = __importDefault(require("react"));
8
+ /**
9
+ * Flattens a nested dictionary by concatenating nested keys.
10
+ * @param {Record<string, any>} dictionary - The dictionary to flatten.
11
+ * @param {string} [prefix=''] - The prefix for nested keys.
12
+ * @returns {Record<string, React.ReactNode>} The flattened dictionary object.
13
+ */
14
+ function flattenDictionary(dictionary, prefix = '') {
15
+ const flattened = {};
16
+ for (const key in dictionary) {
17
+ if (dictionary.hasOwnProperty(key)) {
18
+ const newKey = prefix ? `${prefix}.${key}` : key;
19
+ if (typeof dictionary[key] === 'object' && dictionary[key] !== null && !Array.isArray(dictionary[key]) && !(react_1.default.isValidElement(dictionary[key]))) {
20
+ Object.assign(flattened, flattenDictionary(dictionary[key], newKey));
21
+ }
22
+ else {
23
+ flattened[newKey] = dictionary[key];
24
+ }
25
+ }
26
+ }
27
+ return flattened;
28
+ }
29
+ //# sourceMappingURL=flattenDictionary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenDictionary.js","sourceRoot":"","sources":["../../../../src/primitives/dictionary/flattenDictionary.ts"],"names":[],"mappings":";;;;;AAQA,oCAgBC;AAxBD,kDAA0B;AAE1B;;;;;GAKG;AACH,SAAwB,iBAAiB,CAAC,UAA+B,EAAE,SAAiB,EAAE;IAC1F,MAAM,SAAS,GAAoC,EAAE,CAAC;IAEtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAEjD,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,eAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjJ,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from 'react';
2
+ type Child = ReactNode;
3
+ type Children = Child[] | Child;
4
+ /**
5
+ * Add data-generaltranslation props, with identifiers, to React children
6
+ * @param children - The children elements to which GT identifiers will be added
7
+ * @returns - The children with added GT identifiers
8
+ */
9
+ export default function addGTIdentifier(children: Children): string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined;
10
+ export {};
11
+ //# sourceMappingURL=addGTIdentifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addGTIdentifier.d.ts","sourceRoot":"","sources":["../../../../src/primitives/translation/addGTIdentifier.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AAEtD,KAAK,KAAK,GAAG,SAAS,CAAC;AACvB,KAAK,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;AAuBhC;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,QAAQ,EAAE,QAAQ,iJAsIzD"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.default = addGTIdentifier;
18
+ const react_1 = __importDefault(require("react"));
19
+ const acceptedPluralProps = {
20
+ "singular": true, "dual": true, "plural": true,
21
+ "zero": true, "one": true, "two": true, "few": true, "many": true, "other": true
22
+ };
23
+ /**
24
+ * Helper function to validate the properties of the component to prevent nested translations
25
+ * @param props - The properties of the current React element
26
+ */
27
+ const validateProps = (props) => {
28
+ if (props && props['data-generaltranslation'] && typeof props['data-generaltranslation'].id === 'number') {
29
+ throw new Error(`Nesting of <T>, <Plural>, <Value> components is not permitted. This prevents components from being translated twice!
30
+ Found nested component with id: ${props === null || props === void 0 ? void 0 : props.id}, content: ${props === null || props === void 0 ? void 0 : props.children}`);
31
+ }
32
+ };
33
+ /**
34
+ * Add data-generaltranslation props, with identifiers, to React children
35
+ * @param children - The children elements to which GT identifiers will be added
36
+ * @returns - The children with added GT identifiers
37
+ */
38
+ function addGTIdentifier(children) {
39
+ // Object to keep track of the current index for GT IDs
40
+ let indexObject = { index: 0 };
41
+ /**
42
+ * Function to create a GTProp object for a ReactElement
43
+ * @param child - The ReactElement for which the GTProp is created
44
+ * @returns - The GTProp object
45
+ */
46
+ const createGTProp = (child) => {
47
+ const { type, props } = child;
48
+ indexObject.index += 1;
49
+ let result = { id: indexObject.index };
50
+ const transformation = typeof type === 'function' ? (type.gtTransformation || '') : '';
51
+ if (transformation) {
52
+ const transformationParts = transformation.split('-');
53
+ if (transformationParts[0] === "variable") {
54
+ result.variableType = (transformationParts === null || transformationParts === void 0 ? void 0 : transformationParts[1]) || "variable";
55
+ }
56
+ result.transformation = transformationParts[0];
57
+ }
58
+ return result;
59
+ };
60
+ /**
61
+ * Function to handle valid React elements and add GT identifiers
62
+ * @param child - The ReactElement to handle
63
+ * @returns - The new ReactElement with added GT identifiers
64
+ */
65
+ const handleValidReactElement = (child) => {
66
+ // Destructure the props from the child element
67
+ const { props } = child;
68
+ // Validate the props to ensure there are no nested translations
69
+ validateProps(props);
70
+ // Create new props for the element, including the GT identifier and a key
71
+ let generaltranslation = createGTProp(child);
72
+ let newProps = Object.assign(Object.assign({}, props), { 'data-generaltranslation': generaltranslation, key: generaltranslation.id });
73
+ // If branches are needed for a number or value variable
74
+ const transformation = generaltranslation.transformation;
75
+ if (transformation === "plural") {
76
+ // Updates indices to keep a consistent identification system across branches
77
+ let frozenIndex = indexObject.index;
78
+ let championIndex = indexObject.index;
79
+ const updateIndices = () => {
80
+ if (indexObject.index > frozenIndex) {
81
+ if (indexObject.index > championIndex) {
82
+ championIndex = indexObject.index;
83
+ }
84
+ indexObject.index = frozenIndex;
85
+ }
86
+ };
87
+ // Adds ID to children
88
+ if (props.children) {
89
+ newProps.children = addIdentifierRecursively(props.children);
90
+ }
91
+ // define branches
92
+ let branches = {};
93
+ // add identifier to number branches (e.g. singular, plural, ranges)
94
+ if (transformation === "plural") {
95
+ const { n, children, locales } = props, options = __rest(props, ["n", "children", "locales"]);
96
+ let { ranges } = options, others = __rest(options, ["ranges"]);
97
+ if (ranges)
98
+ branches.ranges = options.ranges.map((range) => {
99
+ updateIndices();
100
+ return { min: range.min, max: range.max, children: addIdentifierRecursively(range.children) };
101
+ });
102
+ for (const option of Object.keys(others).filter(item => acceptedPluralProps[item] ? true : false)) {
103
+ if (others[option]) {
104
+ updateIndices();
105
+ branches[option] = addIdentifierRecursively(others[option]);
106
+ }
107
+ }
108
+ newProps = Object.assign(Object.assign({}, newProps), branches);
109
+ }
110
+ // modify newProps if necessary
111
+ if (Object.keys(branches).length > 0)
112
+ newProps['data-generaltranslation'].branches = branches;
113
+ if (newProps.children)
114
+ newProps['data-generaltranslation'].defaultChildren = newProps.children;
115
+ // reset index
116
+ indexObject.index = championIndex;
117
+ }
118
+ // if no transformation is required
119
+ if (transformation !== "plural") {
120
+ if (props.children) {
121
+ newProps.children = addIdentifierRecursively(props.children);
122
+ }
123
+ }
124
+ // return the element with new props
125
+ return react_1.default.cloneElement(child, newProps);
126
+ };
127
+ /**
128
+ * Function to handle a single child element and determine if it's a valid React element
129
+ * @param child - The child element to handle
130
+ * @returns - The handled child element
131
+ */
132
+ const handleSingleChild = (child) => {
133
+ if (react_1.default.isValidElement(child))
134
+ return handleValidReactElement(child);
135
+ return child;
136
+ };
137
+ /**
138
+ * Recursive function to add GT identifiers to all child elements
139
+ * @param children - The children elements to process
140
+ * @returns - The children elements with added GT identifiers
141
+ */
142
+ const addIdentifierRecursively = (children) => {
143
+ if (Array.isArray(children)) {
144
+ return children.map(child => handleSingleChild(child));
145
+ }
146
+ return handleSingleChild(children);
147
+ };
148
+ return addIdentifierRecursively(children);
149
+ }
150
+ //# sourceMappingURL=addGTIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addGTIdentifier.js","sourceRoot":"","sources":["../../../../src/primitives/translation/addGTIdentifier.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ type Child = ReactNode | Record<string, any>;
3
+ type Children = Child | Child[];
4
+ /**
5
+ * Transforms children elements into objects, processing each child recursively if needed.
6
+ * @param {Children} children - The children to process.
7
+ * @returns {object} The processed children as objects.
8
+ */
9
+ export default function writeChildrenAsObjects(children: Children): any;
10
+ export {};
11
+ //# sourceMappingURL=writeChildrenAsObjects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeChildrenAsObjects.d.ts","sourceRoot":"","sources":["../../../../src/primitives/translation/writeChildrenAsObjects.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AAGtD,KAAK,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7C,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;AA8FhC;;;;EAIE;AACF,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAKtE"}