@tolgee/core 3.1.3 → 3.2.0

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 (158) hide show
  1. package/dist/tolgee.cjs.js +30 -19
  2. package/dist/tolgee.cjs.js.map +1 -1
  3. package/dist/tolgee.cjs.min.js +1 -1
  4. package/dist/tolgee.cjs.min.js.map +1 -1
  5. package/dist/tolgee.esm.js +1 -1
  6. package/dist/tolgee.esm.js.map +1 -1
  7. package/dist/tolgee.umd.js +30 -19
  8. package/dist/tolgee.umd.js.map +1 -1
  9. package/dist/tolgee.umd.min.js +1 -1
  10. package/dist/tolgee.umd.min.js.map +1 -1
  11. package/lib/Constants/Global.d.ts +0 -0
  12. package/lib/Constants/Global.js +0 -0
  13. package/lib/Constants/Global.js.map +0 -0
  14. package/lib/Constants/ModifierKey.d.ts +0 -0
  15. package/lib/Constants/ModifierKey.js +0 -0
  16. package/lib/Constants/ModifierKey.js.map +0 -0
  17. package/lib/Errors/ApiHttpError.d.ts +0 -0
  18. package/lib/Errors/ApiHttpError.js +0 -0
  19. package/lib/Errors/ApiHttpError.js.map +0 -0
  20. package/lib/Observer.d.ts +0 -0
  21. package/lib/Observer.js +0 -0
  22. package/lib/Observer.js.map +0 -0
  23. package/lib/Properties.d.ts +0 -0
  24. package/lib/Properties.js +0 -0
  25. package/lib/Properties.js.map +0 -0
  26. package/lib/Tolgee.d.ts +0 -0
  27. package/lib/Tolgee.js +3 -6
  28. package/lib/Tolgee.js.map +1 -1
  29. package/lib/TolgeeConfig.d.ts +0 -0
  30. package/lib/TolgeeConfig.js +0 -0
  31. package/lib/TolgeeConfig.js.map +0 -0
  32. package/lib/helpers/NodeHelper.d.ts +0 -0
  33. package/lib/helpers/NodeHelper.js +0 -0
  34. package/lib/helpers/NodeHelper.js.map +0 -0
  35. package/lib/helpers/TextHelper.d.ts +0 -0
  36. package/lib/helpers/TextHelper.js +0 -0
  37. package/lib/helpers/TextHelper.js.map +0 -0
  38. package/lib/helpers/commonTypes.d.ts +0 -0
  39. package/lib/helpers/commonTypes.js +0 -0
  40. package/lib/helpers/commonTypes.js.map +0 -0
  41. package/lib/helpers/encoderPolyfill.d.ts +0 -0
  42. package/lib/helpers/encoderPolyfill.js +0 -0
  43. package/lib/helpers/encoderPolyfill.js.map +0 -0
  44. package/lib/helpers/secret.d.ts +0 -0
  45. package/lib/helpers/secret.js +0 -0
  46. package/lib/helpers/secret.js.map +0 -0
  47. package/lib/helpers/sleep.d.ts +0 -0
  48. package/lib/helpers/sleep.js +0 -0
  49. package/lib/helpers/sleep.js.map +0 -0
  50. package/lib/highlighter/HighlightFunctionsInitializer.d.ts +0 -0
  51. package/lib/highlighter/HighlightFunctionsInitializer.js +0 -0
  52. package/lib/highlighter/HighlightFunctionsInitializer.js.map +0 -0
  53. package/lib/highlighter/MouseEventHandler.d.ts +0 -0
  54. package/lib/highlighter/MouseEventHandler.js +0 -0
  55. package/lib/highlighter/MouseEventHandler.js.map +0 -0
  56. package/lib/highlighter/TranslationHighlighter.d.ts +0 -0
  57. package/lib/highlighter/TranslationHighlighter.js +0 -0
  58. package/lib/highlighter/TranslationHighlighter.js.map +0 -0
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.js +0 -0
  61. package/lib/index.js.map +0 -0
  62. package/lib/modules/IcuFormatter.d.ts +0 -0
  63. package/lib/modules/IcuFormatter.js +0 -0
  64. package/lib/modules/IcuFormatter.js.map +0 -0
  65. package/lib/modules/index.d.ts +0 -0
  66. package/lib/modules/index.js +0 -0
  67. package/lib/modules/index.js.map +0 -0
  68. package/lib/services/ApiHttpService.d.ts +0 -0
  69. package/lib/services/ApiHttpService.js +0 -0
  70. package/lib/services/ApiHttpService.js.map +0 -0
  71. package/lib/services/CoreService.d.ts +0 -0
  72. package/lib/services/CoreService.js +0 -0
  73. package/lib/services/CoreService.js.map +0 -0
  74. package/lib/services/DependencyService.d.ts +0 -0
  75. package/lib/services/DependencyService.js +0 -0
  76. package/lib/services/DependencyService.js.map +0 -0
  77. package/lib/services/ElementRegistrar.d.ts +0 -0
  78. package/lib/services/ElementRegistrar.js +0 -0
  79. package/lib/services/ElementRegistrar.js.map +0 -0
  80. package/lib/services/EventEmitter.d.ts +0 -0
  81. package/lib/services/EventEmitter.js +0 -0
  82. package/lib/services/EventEmitter.js.map +0 -0
  83. package/lib/services/EventService.d.ts +0 -0
  84. package/lib/services/EventService.js +0 -0
  85. package/lib/services/EventService.js.map +0 -0
  86. package/lib/services/ModuleService.d.ts +0 -0
  87. package/lib/services/ModuleService.js +0 -0
  88. package/lib/services/ModuleService.js.map +0 -0
  89. package/lib/services/ScreenshotService.d.ts +0 -0
  90. package/lib/services/ScreenshotService.js +0 -0
  91. package/lib/services/ScreenshotService.js.map +0 -0
  92. package/lib/services/Subscription.d.ts +0 -0
  93. package/lib/services/Subscription.js +0 -0
  94. package/lib/services/Subscription.js.map +0 -0
  95. package/lib/services/TextService.d.ts +0 -0
  96. package/lib/services/TextService.js +0 -0
  97. package/lib/services/TextService.js.map +0 -0
  98. package/lib/services/TranslationService.d.ts +2 -0
  99. package/lib/services/TranslationService.js +27 -13
  100. package/lib/services/TranslationService.js.map +1 -1
  101. package/lib/toolsManager/Messages.d.ts +0 -0
  102. package/lib/toolsManager/Messages.js +0 -0
  103. package/lib/toolsManager/Messages.js.map +0 -0
  104. package/lib/toolsManager/PluginManager.d.ts +0 -0
  105. package/lib/toolsManager/PluginManager.js +0 -0
  106. package/lib/toolsManager/PluginManager.js.map +0 -0
  107. package/lib/types/DTOs.d.ts +0 -0
  108. package/lib/types/DTOs.js +0 -0
  109. package/lib/types/DTOs.js.map +0 -0
  110. package/lib/types/apiSchema.generated.d.ts +0 -0
  111. package/lib/types/apiSchema.generated.js +0 -0
  112. package/lib/types/apiSchema.generated.js.map +0 -0
  113. package/lib/types.d.ts +0 -0
  114. package/lib/types.js +0 -0
  115. package/lib/types.js.map +0 -0
  116. package/lib/wrappers/AbstractWrapper.d.ts +0 -0
  117. package/lib/wrappers/AbstractWrapper.js +0 -0
  118. package/lib/wrappers/AbstractWrapper.js.map +0 -0
  119. package/lib/wrappers/NodeHandler.d.ts +0 -0
  120. package/lib/wrappers/NodeHandler.js +0 -0
  121. package/lib/wrappers/NodeHandler.js.map +0 -0
  122. package/lib/wrappers/WrappedHandler.d.ts +0 -0
  123. package/lib/wrappers/WrappedHandler.js +0 -0
  124. package/lib/wrappers/WrappedHandler.js.map +0 -0
  125. package/lib/wrappers/invisible/AttributeHandler.d.ts +0 -0
  126. package/lib/wrappers/invisible/AttributeHandler.js +0 -0
  127. package/lib/wrappers/invisible/AttributeHandler.js.map +0 -0
  128. package/lib/wrappers/invisible/Coder.d.ts +0 -0
  129. package/lib/wrappers/invisible/Coder.js +0 -0
  130. package/lib/wrappers/invisible/Coder.js.map +0 -0
  131. package/lib/wrappers/invisible/ContentHandler.d.ts +0 -0
  132. package/lib/wrappers/invisible/ContentHandler.js +0 -0
  133. package/lib/wrappers/invisible/ContentHandler.js.map +0 -0
  134. package/lib/wrappers/invisible/CoreHandler.d.ts +0 -0
  135. package/lib/wrappers/invisible/CoreHandler.js +0 -0
  136. package/lib/wrappers/invisible/CoreHandler.js.map +0 -0
  137. package/lib/wrappers/invisible/InvisibleWrapper.d.ts +0 -0
  138. package/lib/wrappers/invisible/InvisibleWrapper.js +0 -0
  139. package/lib/wrappers/invisible/InvisibleWrapper.js.map +0 -0
  140. package/lib/wrappers/invisible/ValueMemory.d.ts +0 -0
  141. package/lib/wrappers/invisible/ValueMemory.js +0 -0
  142. package/lib/wrappers/invisible/ValueMemory.js.map +0 -0
  143. package/lib/wrappers/text/AttributeHandler.d.ts +0 -0
  144. package/lib/wrappers/text/AttributeHandler.js +0 -0
  145. package/lib/wrappers/text/AttributeHandler.js.map +0 -0
  146. package/lib/wrappers/text/Coder.d.ts +0 -0
  147. package/lib/wrappers/text/Coder.js +0 -0
  148. package/lib/wrappers/text/Coder.js.map +0 -0
  149. package/lib/wrappers/text/ContentHandler.d.ts +0 -0
  150. package/lib/wrappers/text/ContentHandler.js +0 -0
  151. package/lib/wrappers/text/ContentHandler.js.map +0 -0
  152. package/lib/wrappers/text/CoreHandler.d.ts +0 -0
  153. package/lib/wrappers/text/CoreHandler.js +0 -0
  154. package/lib/wrappers/text/CoreHandler.js.map +0 -0
  155. package/lib/wrappers/text/TextWrapper.d.ts +0 -0
  156. package/lib/wrappers/text/TextWrapper.js +0 -0
  157. package/lib/wrappers/text/TextWrapper.js.map +0 -0
  158. package/package.json +6 -6
@@ -400,6 +400,9 @@
400
400
  this.eventService = eventService;
401
401
  this.translationsCache = new Map();
402
402
  this.fetchPromises = {};
403
+ // we need to distinguish which languages are in cache initially
404
+ // because we need to refetch them in dev mode
405
+ this.fetchedDev = {};
403
406
  this.updateTranslationInCache = function (data) { return __awaiter(_this, void 0, void 0, function () {
404
407
  var result;
405
408
  var _this = this;
@@ -492,8 +495,7 @@
492
495
  TranslationService.prototype.initStatic = function () {
493
496
  var _this = this;
494
497
  var _a;
495
- if (this.properties.config.mode === 'production' &&
496
- typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {
498
+ if (typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {
497
499
  Object.entries(this.properties.config.staticData).forEach(function (_a) {
498
500
  var _b = __read(_a, 2), language = _b[0], data = _b[1];
499
501
  //if not provider or promise then it is raw data
@@ -512,7 +514,7 @@
512
514
  return __generator(this, function (_a) {
513
515
  switch (_a.label) {
514
516
  case 0:
515
- if (!(this.translationsCache.get(lang) == undefined)) return [3 /*break*/, 2];
517
+ if (!this.isFetchNeeded(lang)) return [3 /*break*/, 2];
516
518
  if (!(this.fetchPromises[lang] instanceof Promise)) {
517
519
  this.fetchPromises[lang] = this.fetchTranslations(lang);
518
520
  }
@@ -531,25 +533,28 @@
531
533
  TranslationService.prototype.getTranslation = function (key, lang, defaultValue) {
532
534
  if (lang === void 0) { lang = this.properties.currentLanguage; }
533
535
  return __awaiter(this, void 0, void 0, function () {
534
- var message;
536
+ var message, fallbackLang;
535
537
  return __generator(this, function (_a) {
536
538
  switch (_a.label) {
537
539
  case 0:
538
- message = this.getFromCache(key, lang);
539
- if (!!message) return [3 /*break*/, 3];
540
+ if (!this.isFetchNeeded(lang)) return [3 /*break*/, 2];
540
541
  return [4 /*yield*/, this.loadTranslations(lang)];
541
542
  case 1:
542
543
  _a.sent();
544
+ _a.label = 2;
545
+ case 2:
543
546
  message = this.getFromCache(key, lang);
544
- if (!!message) return [3 /*break*/, 3];
545
- message = this.getFromCache(key, this.properties.config.fallbackLanguage);
546
- if (!!message) return [3 /*break*/, 3];
547
+ if (!!message) return [3 /*break*/, 5];
548
+ fallbackLang = this.properties.config.fallbackLanguage;
549
+ if (!this.isFetchNeeded(fallbackLang)) return [3 /*break*/, 4];
547
550
  return [4 /*yield*/, this.loadTranslations(this.properties.config.fallbackLanguage)];
548
- case 2:
551
+ case 3:
549
552
  _a.sent();
553
+ _a.label = 4;
554
+ case 4:
550
555
  message = this.getFromCache(key, this.properties.config.fallbackLanguage);
551
- _a.label = 3;
552
- case 3: return [2 /*return*/, TranslationService.translationByValue(message, defaultValue)];
556
+ _a.label = 5;
557
+ case 5: return [2 /*return*/, TranslationService.translationByValue(message, defaultValue)];
553
558
  }
554
559
  });
555
560
  });
@@ -684,12 +689,20 @@
684
689
  this.getFromCache(key, this.properties.config.fallbackLanguage);
685
690
  return TranslationService.translationByValue(message, defaultValue);
686
691
  };
692
+ TranslationService.prototype.isFetchNeeded = function (lang) {
693
+ var isDevMode = this.properties.config.mode === 'development';
694
+ var dataPresent = this.translationsCache.get(lang) !== undefined;
695
+ var devFetched = Boolean(this.fetchedDev[lang]);
696
+ return (isDevMode && !devFetched) || !dataPresent;
697
+ };
687
698
  TranslationService.prototype.fetchTranslations = function (lang) {
688
699
  return __awaiter(this, void 0, void 0, function () {
700
+ var isDevMode;
689
701
  return __generator(this, function (_a) {
690
702
  switch (_a.label) {
691
703
  case 0:
692
- if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];
704
+ isDevMode = this.properties.config.mode === 'development';
705
+ if (!isDevMode) return [3 /*break*/, 2];
693
706
  return [4 /*yield*/, this.fetchTranslationsDevelopment(lang)];
694
707
  case 1: return [2 /*return*/, _a.sent()];
695
708
  case 2: return [4 /*yield*/, this.fetchTranslationsProduction(lang)];
@@ -774,6 +787,7 @@
774
787
  return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/".concat(language))];
775
788
  case 3:
776
789
  data = _a.sent();
790
+ this.fetchedDev[language] = true;
777
791
  this.setLanguageData(language, data[language] || {});
778
792
  return [3 /*break*/, 5];
779
793
  case 4:
@@ -2970,19 +2984,16 @@
2970
2984
  * fetching so initial loading is not needed at all.
2971
2985
  */
2972
2986
  get: function () {
2973
- var _a, _b, _c, _d;
2974
- if (((_b = (_a = this.properties) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.mode) !== 'production') {
2975
- return true;
2976
- }
2987
+ var _a, _b;
2977
2988
  var currentLang = this.properties.currentLanguage;
2978
2989
  var fallbackLang = this.properties.config.fallbackLanguage;
2979
2990
  var fallbackPreloading = this.properties.config.preloadFallback;
2980
2991
  var isStaticDataProvided = function (data) {
2981
2992
  return data !== undefined && typeof data !== 'function';
2982
2993
  };
2983
- return (!isStaticDataProvided((_c = this.properties.config.staticData) === null || _c === void 0 ? void 0 : _c[currentLang]) ||
2994
+ return (!isStaticDataProvided((_a = this.properties.config.staticData) === null || _a === void 0 ? void 0 : _a[currentLang]) ||
2984
2995
  (!!fallbackPreloading &&
2985
- !isStaticDataProvided((_d = this.properties.config.staticData) === null || _d === void 0 ? void 0 : _d[fallbackLang])));
2996
+ !isStaticDataProvided((_b = this.properties.config.staticData) === null || _b === void 0 ? void 0 : _b[fallbackLang])));
2986
2997
  },
2987
2998
  enumerable: false,
2988
2999
  configurable: true