@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
@@ -398,6 +398,9 @@ var TranslationService = /** @class */ (function () {
398
398
  this.eventService = eventService;
399
399
  this.translationsCache = new Map();
400
400
  this.fetchPromises = {};
401
+ // we need to distinguish which languages are in cache initially
402
+ // because we need to refetch them in dev mode
403
+ this.fetchedDev = {};
401
404
  this.updateTranslationInCache = function (data) { return __awaiter(_this, void 0, void 0, function () {
402
405
  var result;
403
406
  var _this = this;
@@ -490,8 +493,7 @@ var TranslationService = /** @class */ (function () {
490
493
  TranslationService.prototype.initStatic = function () {
491
494
  var _this = this;
492
495
  var _a;
493
- if (this.properties.config.mode === 'production' &&
494
- typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {
496
+ if (typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {
495
497
  Object.entries(this.properties.config.staticData).forEach(function (_a) {
496
498
  var _b = __read(_a, 2), language = _b[0], data = _b[1];
497
499
  //if not provider or promise then it is raw data
@@ -510,7 +512,7 @@ var TranslationService = /** @class */ (function () {
510
512
  return __generator(this, function (_a) {
511
513
  switch (_a.label) {
512
514
  case 0:
513
- if (!(this.translationsCache.get(lang) == undefined)) return [3 /*break*/, 2];
515
+ if (!this.isFetchNeeded(lang)) return [3 /*break*/, 2];
514
516
  if (!(this.fetchPromises[lang] instanceof Promise)) {
515
517
  this.fetchPromises[lang] = this.fetchTranslations(lang);
516
518
  }
@@ -529,25 +531,28 @@ var TranslationService = /** @class */ (function () {
529
531
  TranslationService.prototype.getTranslation = function (key, lang, defaultValue) {
530
532
  if (lang === void 0) { lang = this.properties.currentLanguage; }
531
533
  return __awaiter(this, void 0, void 0, function () {
532
- var message;
534
+ var message, fallbackLang;
533
535
  return __generator(this, function (_a) {
534
536
  switch (_a.label) {
535
537
  case 0:
536
- message = this.getFromCache(key, lang);
537
- if (!!message) return [3 /*break*/, 3];
538
+ if (!this.isFetchNeeded(lang)) return [3 /*break*/, 2];
538
539
  return [4 /*yield*/, this.loadTranslations(lang)];
539
540
  case 1:
540
541
  _a.sent();
542
+ _a.label = 2;
543
+ case 2:
541
544
  message = this.getFromCache(key, lang);
542
- if (!!message) return [3 /*break*/, 3];
543
- message = this.getFromCache(key, this.properties.config.fallbackLanguage);
544
- if (!!message) return [3 /*break*/, 3];
545
+ if (!!message) return [3 /*break*/, 5];
546
+ fallbackLang = this.properties.config.fallbackLanguage;
547
+ if (!this.isFetchNeeded(fallbackLang)) return [3 /*break*/, 4];
545
548
  return [4 /*yield*/, this.loadTranslations(this.properties.config.fallbackLanguage)];
546
- case 2:
549
+ case 3:
547
550
  _a.sent();
551
+ _a.label = 4;
552
+ case 4:
548
553
  message = this.getFromCache(key, this.properties.config.fallbackLanguage);
549
- _a.label = 3;
550
- case 3: return [2 /*return*/, TranslationService.translationByValue(message, defaultValue)];
554
+ _a.label = 5;
555
+ case 5: return [2 /*return*/, TranslationService.translationByValue(message, defaultValue)];
551
556
  }
552
557
  });
553
558
  });
@@ -682,12 +687,20 @@ var TranslationService = /** @class */ (function () {
682
687
  this.getFromCache(key, this.properties.config.fallbackLanguage);
683
688
  return TranslationService.translationByValue(message, defaultValue);
684
689
  };
690
+ TranslationService.prototype.isFetchNeeded = function (lang) {
691
+ var isDevMode = this.properties.config.mode === 'development';
692
+ var dataPresent = this.translationsCache.get(lang) !== undefined;
693
+ var devFetched = Boolean(this.fetchedDev[lang]);
694
+ return (isDevMode && !devFetched) || !dataPresent;
695
+ };
685
696
  TranslationService.prototype.fetchTranslations = function (lang) {
686
697
  return __awaiter(this, void 0, void 0, function () {
698
+ var isDevMode;
687
699
  return __generator(this, function (_a) {
688
700
  switch (_a.label) {
689
701
  case 0:
690
- if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];
702
+ isDevMode = this.properties.config.mode === 'development';
703
+ if (!isDevMode) return [3 /*break*/, 2];
691
704
  return [4 /*yield*/, this.fetchTranslationsDevelopment(lang)];
692
705
  case 1: return [2 /*return*/, _a.sent()];
693
706
  case 2: return [4 /*yield*/, this.fetchTranslationsProduction(lang)];
@@ -772,6 +785,7 @@ var TranslationService = /** @class */ (function () {
772
785
  return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/".concat(language))];
773
786
  case 3:
774
787
  data = _a.sent();
788
+ this.fetchedDev[language] = true;
775
789
  this.setLanguageData(language, data[language] || {});
776
790
  return [3 /*break*/, 5];
777
791
  case 4:
@@ -2968,19 +2982,16 @@ var Tolgee = /** @class */ (function () {
2968
2982
  * fetching so initial loading is not needed at all.
2969
2983
  */
2970
2984
  get: function () {
2971
- var _a, _b, _c, _d;
2972
- if (((_b = (_a = this.properties) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.mode) !== 'production') {
2973
- return true;
2974
- }
2985
+ var _a, _b;
2975
2986
  var currentLang = this.properties.currentLanguage;
2976
2987
  var fallbackLang = this.properties.config.fallbackLanguage;
2977
2988
  var fallbackPreloading = this.properties.config.preloadFallback;
2978
2989
  var isStaticDataProvided = function (data) {
2979
2990
  return data !== undefined && typeof data !== 'function';
2980
2991
  };
2981
- return (!isStaticDataProvided((_c = this.properties.config.staticData) === null || _c === void 0 ? void 0 : _c[currentLang]) ||
2992
+ return (!isStaticDataProvided((_a = this.properties.config.staticData) === null || _a === void 0 ? void 0 : _a[currentLang]) ||
2982
2993
  (!!fallbackPreloading &&
2983
- !isStaticDataProvided((_d = this.properties.config.staticData) === null || _d === void 0 ? void 0 : _d[fallbackLang])));
2994
+ !isStaticDataProvided((_b = this.properties.config.staticData) === null || _b === void 0 ? void 0 : _b[fallbackLang])));
2984
2995
  },
2985
2996
  enumerable: false,
2986
2997
  configurable: true