@tolgee/core 2.8.1 → 2.8.2

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 (107) hide show
  1. package/dist/tolgee.cjs.js +31 -32
  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 +31 -32
  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/Observer.test.d.ts +2 -0
  12. package/lib/Observer.test.js +190 -0
  13. package/lib/Observer.test.js.map +1 -0
  14. package/lib/Properties.d.ts +1 -0
  15. package/lib/Properties.js.map +1 -1
  16. package/lib/Properties.test.d.ts +1 -0
  17. package/lib/Properties.test.js +77 -0
  18. package/lib/Properties.test.js.map +1 -0
  19. package/lib/Tolgee.d.ts +1 -1
  20. package/lib/Tolgee.js +11 -11
  21. package/lib/Tolgee.js.map +1 -1
  22. package/lib/Tolgee.test.d.ts +1 -0
  23. package/lib/Tolgee.test.js +482 -0
  24. package/lib/Tolgee.test.js.map +1 -0
  25. package/lib/TolgeeConfig.test.d.ts +1 -0
  26. package/lib/TolgeeConfig.test.js +18 -0
  27. package/lib/TolgeeConfig.test.js.map +1 -0
  28. package/lib/__testFixtures/classMock.d.ts +3 -0
  29. package/lib/__testFixtures/classMock.js +8 -0
  30. package/lib/__testFixtures/classMock.js.map +1 -0
  31. package/lib/__testFixtures/createElement.d.ts +2 -0
  32. package/lib/__testFixtures/createElement.js +58 -0
  33. package/lib/__testFixtures/createElement.js.map +1 -0
  34. package/lib/__testFixtures/createTestDom.d.ts +9 -0
  35. package/lib/__testFixtures/createTestDom.js +18 -0
  36. package/lib/__testFixtures/createTestDom.js.map +1 -0
  37. package/lib/__testFixtures/mocked.d.ts +20 -0
  38. package/lib/__testFixtures/mocked.js +24 -0
  39. package/lib/__testFixtures/mocked.js.map +1 -0
  40. package/lib/__testFixtures/setupAfterEnv.d.ts +8 -0
  41. package/lib/__testFixtures/setupAfterEnv.js +23 -0
  42. package/lib/__testFixtures/setupAfterEnv.js.map +1 -0
  43. package/lib/handlers/AbstractHandler.js +1 -1
  44. package/lib/handlers/AbstractHandler.js.map +1 -1
  45. package/lib/handlers/AttributeHandler.js +1 -1
  46. package/lib/handlers/AttributeHandler.js.map +1 -1
  47. package/lib/handlers/AttributeHandler.test.d.ts +1 -0
  48. package/lib/handlers/AttributeHandler.test.js +177 -0
  49. package/lib/handlers/AttributeHandler.test.js.map +1 -0
  50. package/lib/handlers/CoreHandler.test.d.ts +1 -0
  51. package/lib/handlers/CoreHandler.test.js +148 -0
  52. package/lib/handlers/CoreHandler.test.js.map +1 -0
  53. package/lib/handlers/TextHandler.js +1 -1
  54. package/lib/handlers/TextHandler.js.map +1 -1
  55. package/lib/handlers/TextHandler.test.d.ts +1 -0
  56. package/lib/handlers/TextHandler.test.js +270 -0
  57. package/lib/handlers/TextHandler.test.js.map +1 -0
  58. package/lib/handlers/WrappedHandler.js +1 -1
  59. package/lib/handlers/WrappedHandler.js.map +1 -1
  60. package/lib/helpers/TextHelper.test.d.ts +1 -0
  61. package/lib/helpers/TextHelper.test.js +107 -0
  62. package/lib/helpers/TextHelper.test.js.map +1 -0
  63. package/lib/highlighter/HighlightFunctionsInitializer.test.d.ts +1 -0
  64. package/lib/highlighter/HighlightFunctionsInitializer.test.js +81 -0
  65. package/lib/highlighter/HighlightFunctionsInitializer.test.js.map +1 -0
  66. package/lib/highlighter/MouseEventHandler.test.d.ts +1 -0
  67. package/lib/highlighter/MouseEventHandler.test.js +215 -0
  68. package/lib/highlighter/MouseEventHandler.test.js.map +1 -0
  69. package/lib/highlighter/TranslationHighlighter.test.d.ts +1 -0
  70. package/lib/highlighter/TranslationHighlighter.test.js +287 -0
  71. package/lib/highlighter/TranslationHighlighter.test.js.map +1 -0
  72. package/lib/services/ApiHttpService.js +1 -1
  73. package/lib/services/ApiHttpService.js.map +1 -1
  74. package/lib/services/CoreService.d.ts +3 -1
  75. package/lib/services/CoreService.js +2 -3
  76. package/lib/services/CoreService.js.map +1 -1
  77. package/lib/services/CoreService.test.d.ts +1 -0
  78. package/lib/services/CoreService.test.js +178 -0
  79. package/lib/services/CoreService.test.js.map +1 -0
  80. package/lib/services/DependencyStore.test.d.ts +1 -0
  81. package/lib/services/DependencyStore.test.js +67 -0
  82. package/lib/services/DependencyStore.test.js.map +1 -0
  83. package/lib/services/ElementRegistrar.test.d.ts +1 -0
  84. package/lib/services/ElementRegistrar.test.js +215 -0
  85. package/lib/services/ElementRegistrar.test.js.map +1 -0
  86. package/lib/services/ScreenshotService.js +1 -1
  87. package/lib/services/ScreenshotService.js.map +1 -1
  88. package/lib/services/TextService.js +5 -5
  89. package/lib/services/TextService.js.map +1 -1
  90. package/lib/services/TextService.test.d.ts +1 -0
  91. package/lib/services/TextService.test.js +430 -0
  92. package/lib/services/TextService.test.js.map +1 -0
  93. package/lib/services/TranslationService.js +7 -7
  94. package/lib/services/TranslationService.js.map +1 -1
  95. package/lib/services/TranslationService.test.d.ts +1 -0
  96. package/lib/services/TranslationService.test.js +649 -0
  97. package/lib/services/TranslationService.test.js.map +1 -0
  98. package/lib/services/__mocks__/CoreService.d.ts +2 -0
  99. package/lib/services/__mocks__/CoreService.js +49 -0
  100. package/lib/services/__mocks__/CoreService.js.map +1 -0
  101. package/lib/toolsManager/Messages.test.d.ts +1 -0
  102. package/lib/toolsManager/Messages.test.js +114 -0
  103. package/lib/toolsManager/Messages.test.js.map +1 -0
  104. package/lib/toolsManager/PluginManager.test.d.ts +1 -0
  105. package/lib/toolsManager/PluginManager.test.js +120 -0
  106. package/lib/toolsManager/PluginManager.test.js.map +1 -0
  107. package/package.json +4 -4
@@ -522,7 +522,7 @@ var ApiHttpService = /** @class */ (function () {
522
522
  };
523
523
  ApiHttpService.prototype.getUrl = function (path) {
524
524
  var querySeparator = path.indexOf('?') < 0 ? '?' : '&';
525
- return this.properties.config.apiUrl + "/" + path + querySeparator + "ak=" + this.properties.config.apiKey;
525
+ return "".concat(this.properties.config.apiUrl, "/").concat(path).concat(querySeparator, "ak=").concat(this.properties.config.apiKey);
526
526
  };
527
527
  return ApiHttpService;
528
528
  }());
@@ -581,9 +581,9 @@ var TranslationService = /** @class */ (function () {
581
581
  _e.trys.push([1, 3, , 7]);
582
582
  languagesArray = __spreadArray([], __read(languages), false);
583
583
  languagesQuery = languagesArray
584
- .map(function (l) { return "languages=" + l; })
584
+ .map(function (l) { return "languages=".concat(l); })
585
585
  .join('&');
586
- return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations?" + languagesQuery + "&filterKeyName=" + encodeURIComponent(key))];
586
+ return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations?".concat(languagesQuery, "&filterKeyName=").concat(encodeURIComponent(key)))];
587
587
  case 2:
588
588
  data = _e.sent();
589
589
  translationData_1 = languagesArray.reduce(function (acc, curr) {
@@ -708,7 +708,7 @@ var TranslationService = /** @class */ (function () {
708
708
  switch (_c.label) {
709
709
  case 0:
710
710
  this.coreService.checkScope('translations.edit');
711
- return [4 /*yield*/, this.apiHttpService.postJson("v2/projects/keys/" + id + "/complex-update", __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)
711
+ return [4 /*yield*/, this.apiHttpService.postJson("v2/projects/keys/".concat(id, "/complex-update"), __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)
712
712
  ? data.screenshotUploadedImageIds
713
713
  : undefined, screenshotIdsToDelete: ((_b = data.screenshotIdsToDelete) === null || _b === void 0 ? void 0 : _b.length)
714
714
  ? data.screenshotIdsToDelete
@@ -866,7 +866,7 @@ var TranslationService = /** @class */ (function () {
866
866
  }
867
867
  _c.label = 3;
868
868
  case 3:
869
- url = "" + (this.properties.config.filesUrlPrefix || '/') + language + ".json";
869
+ url = "".concat(this.properties.config.filesUrlPrefix || '/').concat(language, ".json");
870
870
  _c.label = 4;
871
871
  case 4:
872
872
  _c.trys.push([4, 10, , 11]);
@@ -891,14 +891,14 @@ var TranslationService = /** @class */ (function () {
891
891
  case 8:
892
892
  _c.sent();
893
893
  // eslint-disable-next-line no-console
894
- console.error("Error parsing json retrieved from " + url + ".");
894
+ console.error("Error parsing json retrieved from ".concat(url, "."));
895
895
  this.setEmptyLanguageData(language);
896
896
  return [3 /*break*/, 9];
897
897
  case 9: return [3 /*break*/, 11];
898
898
  case 10:
899
899
  _c.sent();
900
900
  // eslint-disable-next-line no-console
901
- console.error("Error fetching localization data from " + url + ".");
901
+ console.error("Error fetching localization data from ".concat(url, "."));
902
902
  this.setEmptyLanguageData(language);
903
903
  return [3 /*break*/, 11];
904
904
  case 11: return [2 /*return*/];
@@ -916,7 +916,7 @@ var TranslationService = /** @class */ (function () {
916
916
  _a.label = 1;
917
917
  case 1:
918
918
  _a.trys.push([1, 3, , 4]);
919
- return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/" + language)];
919
+ return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/".concat(language))];
920
920
  case 2:
921
921
  data = _a.sent();
922
922
  this.setLanguageData(language, data[language] || {});
@@ -3458,7 +3458,7 @@ var TextService = /** @class */ (function () {
3458
3458
  get: function () {
3459
3459
  var escapedPrefix = this.escapeForRegExp(this.properties.config.inputPrefix);
3460
3460
  var escapedSuffix = this.escapeForRegExp(this.properties.config.inputSuffix);
3461
- return "(\\\\?)(" + escapedPrefix + "(.*?)" + escapedSuffix + ")";
3461
+ return "(\\\\?)(".concat(escapedPrefix, "(.*?)").concat(escapedSuffix, ")");
3462
3462
  },
3463
3463
  enumerable: false,
3464
3464
  configurable: true
@@ -3618,12 +3618,12 @@ var TextService = /** @class */ (function () {
3618
3618
  var paramString = Object.entries(params)
3619
3619
  .map(function (_a) {
3620
3620
  var _b = __read(_a, 2), name = _b[0], value = _b[1];
3621
- return _this.escapeParam(name) + ":" + _this.escapeParam(value);
3621
+ return "".concat(_this.escapeParam(name), ":").concat(_this.escapeParam(value));
3622
3622
  })
3623
3623
  .join(',');
3624
- paramString = paramString.length ? ":" + paramString : '';
3625
- var defaultString = defaultValue !== undefined ? "," + this.escapeParam(defaultValue) : '';
3626
- return "" + this.properties.config.inputPrefix + this.escapeParam(key) + defaultString + paramString + this.properties.config.inputSuffix;
3624
+ paramString = paramString.length ? ":".concat(paramString) : '';
3625
+ var defaultString = defaultValue !== undefined ? ",".concat(this.escapeParam(defaultValue)) : '';
3626
+ return "".concat(this.properties.config.inputPrefix).concat(this.escapeParam(key)).concat(defaultString).concat(paramString).concat(this.properties.config.inputSuffix);
3627
3627
  };
3628
3628
  TextService.prototype.getTranslatedWithMetadata = function (text) {
3629
3629
  return __awaiter(this, void 0, void 0, function () {
@@ -4102,7 +4102,7 @@ var AbstractHandler = /** @class */ (function () {
4102
4102
  return nodes.filter(function (n) {
4103
4103
  var e = NodeHelper.closestElement(n);
4104
4104
  return (restrictedElements.indexOf(e.tagName.toLowerCase()) === -1 &&
4105
- e.closest("[" + RESTRICTED_ASCENDANT_ATTRIBUTE + "=\"true\"]") === null);
4105
+ e.closest("[".concat(RESTRICTED_ASCENDANT_ATTRIBUTE, "=\"true\"]")) === null);
4106
4106
  });
4107
4107
  };
4108
4108
  AbstractHandler.prototype.handleNodes = function (nodes) {
@@ -4228,7 +4228,7 @@ var TextHandler = /** @class */ (function (_super) {
4228
4228
  case 0:
4229
4229
  inputPrefix = this.properties.config.inputPrefix;
4230
4230
  inputSuffix = this.properties.config.inputSuffix;
4231
- xPath = "./descendant-or-self::text()[contains(., '" + inputPrefix + "') and contains(., '" + inputSuffix + "')]";
4231
+ xPath = "./descendant-or-self::text()[contains(., '".concat(inputPrefix, "') and contains(., '").concat(inputSuffix, "')]");
4232
4232
  nodes = NodeHelper.evaluate(xPath, node);
4233
4233
  filtered = this.filterRestricted(nodes);
4234
4234
  return [4 /*yield*/, this.handleNodes(filtered)];
@@ -4277,7 +4277,7 @@ var AttributeHandler = /** @class */ (function (_super) {
4277
4277
  case 4:
4278
4278
  if (!!attributes_1_1.done) return [3 /*break*/, 7];
4279
4279
  attribute = attributes_1_1.value;
4280
- expression = "descendant-or-self::" + tag + "/@" + attribute + "[contains(., '" + inputPrefix + "') and contains(., '" + inputSuffix + "')]";
4280
+ expression = "descendant-or-self::".concat(tag, "/@").concat(attribute, "[contains(., '").concat(inputPrefix, "') and contains(., '").concat(inputSuffix, "')]");
4281
4281
  nodes = NodeHelper.evaluate(expression, node);
4282
4282
  return [4 /*yield*/, this.handleNodes(nodes)];
4283
4283
  case 5:
@@ -4547,7 +4547,7 @@ var CoreService = /** @class */ (function () {
4547
4547
  });
4548
4548
  });
4549
4549
  };
4550
- CoreService.prototype.getScopes = function () {
4550
+ CoreService.prototype.getApiKeyDetails = function () {
4551
4551
  return __awaiter(this, void 0, void 0, function () {
4552
4552
  var e_1;
4553
4553
  return __generator(this, function (_a) {
@@ -4555,8 +4555,7 @@ var CoreService = /** @class */ (function () {
4555
4555
  case 0:
4556
4556
  _a.trys.push([0, 2, , 3]);
4557
4557
  return [4 /*yield*/, this.apiHttpService.fetchJson("v2/api-keys/current")];
4558
- case 1: return [2 /*return*/, (_a.sent())
4559
- .scopes];
4558
+ case 1: return [2 /*return*/, _a.sent()];
4560
4559
  case 2:
4561
4560
  e_1 = _a.sent();
4562
4561
  // eslint-disable-next-line no-console
@@ -4596,7 +4595,7 @@ var WrappedHandler = /** @class */ (function (_super) {
4596
4595
  var xPath, nodes, filtered;
4597
4596
  var _this = this;
4598
4597
  return __generator(this, function (_a) {
4599
- xPath = "./descendant-or-self::*[@" + TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE + "]";
4598
+ xPath = "./descendant-or-self::*[@".concat(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, "]");
4600
4599
  nodes = NodeHelper.evaluate(xPath, node);
4601
4600
  filtered = this.filterRestricted(nodes);
4602
4601
  filtered.forEach(function (element) {
@@ -4810,7 +4809,7 @@ var ScreenshotService = /** @class */ (function () {
4810
4809
  ScreenshotService.prototype.deleteImages = function (ids) {
4811
4810
  return __awaiter(this, void 0, void 0, function () {
4812
4811
  return __generator(this, function (_a) {
4813
- return [2 /*return*/, this.apiHttpService.post("v2/image-upload/" + ids.join(','), undefined, {
4812
+ return [2 /*return*/, this.apiHttpService.post("v2/image-upload/".concat(ids.join(',')), undefined, {
4814
4813
  method: 'delete',
4815
4814
  })];
4816
4815
  });
@@ -4949,7 +4948,7 @@ var Tolgee = /** @class */ (function () {
4949
4948
  switch (_a.label) {
4950
4949
  case 0:
4951
4950
  if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];
4952
- return [4 /*yield*/, this.loadScopes()];
4951
+ return [4 /*yield*/, this.loadApiKeyDetails()];
4953
4952
  case 1:
4954
4953
  _a.sent();
4955
4954
  _a.label = 2;
@@ -5004,7 +5003,7 @@ var Tolgee = /** @class */ (function () {
5004
5003
  orEmpty = props.orEmpty;
5005
5004
  }
5006
5005
  if (!(this.properties.config.mode === 'development' && !noWrap)) return [3 /*break*/, 3];
5007
- return [4 /*yield*/, this.loadScopes()];
5006
+ return [4 /*yield*/, this.loadApiKeyDetails()];
5008
5007
  case 1:
5009
5008
  _a.sent();
5010
5009
  return [4 /*yield*/, this.translationService.loadTranslations()];
@@ -5035,19 +5034,19 @@ var Tolgee = /** @class */ (function () {
5035
5034
  }
5036
5035
  return this.dependencyStore.textService.instant(key, params, undefined, orEmpty, defaultValue);
5037
5036
  };
5038
- Tolgee.prototype.loadScopes = function () {
5037
+ Tolgee.prototype.loadApiKeyDetails = function () {
5039
5038
  return __awaiter(this, void 0, void 0, function () {
5040
- var _a;
5041
- return __generator(this, function (_b) {
5042
- switch (_b.label) {
5039
+ var details;
5040
+ return __generator(this, function (_a) {
5041
+ switch (_a.label) {
5043
5042
  case 0:
5044
5043
  if (!(this.properties.scopes === undefined)) return [3 /*break*/, 2];
5045
- _a = this.properties;
5046
- return [4 /*yield*/, this.dependencyStore.coreService.getScopes()];
5044
+ return [4 /*yield*/, this.dependencyStore.coreService.getApiKeyDetails()];
5047
5045
  case 1:
5048
- _a.scopes =
5049
- _b.sent();
5050
- _b.label = 2;
5046
+ details = _a.sent();
5047
+ this.properties.scopes = details.scopes;
5048
+ this.properties.projectId = details.projectId;
5049
+ _a.label = 2;
5051
5050
  case 2: return [2 /*return*/];
5052
5051
  }
5053
5052
  });