@sap_oss/wdio-qmate-service 3.8.0 → 3.10.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 (526) hide show
  1. package/.eslintrc.yml +4 -4
  2. package/.prettierrc.json +7 -7
  3. package/CLAUDE.md +10 -10
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +6 -2
  6. package/lib/reuse/authenticator/authConfig.js +3 -3
  7. package/lib/reuse/authenticator/authConfig.js.map +1 -1
  8. package/lib/reuse/authenticator/authHandler.js +0 -2
  9. package/lib/reuse/authenticator/authHandler.js.map +1 -1
  10. package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -1
  11. package/lib/reuse/authenticator/customAuthenticator.js +1 -3
  12. package/lib/reuse/authenticator/customAuthenticator.js.map +1 -1
  13. package/lib/reuse/authenticator/formAuthenticator.js +1 -3
  14. package/lib/reuse/authenticator/formAuthenticator.js.map +1 -1
  15. package/lib/reuse/helper/clientsideUI5scripts.js +15 -19
  16. package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -1
  17. package/lib/reuse/helper/dateTimeFormatParser.js +8 -2
  18. package/lib/reuse/helper/dateTimeFormatParser.js.map +1 -1
  19. package/lib/reuse/helper/elementHighlight.js +2 -6
  20. package/lib/reuse/helper/elementHighlight.js.map +1 -1
  21. package/lib/reuse/helper/errorHandler.js +2 -9
  22. package/lib/reuse/helper/errorHandler.js.map +1 -1
  23. package/lib/reuse/helper/jsDocGen.js +1 -1
  24. package/lib/reuse/helper/jsDocGen.js.map +1 -1
  25. package/lib/reuse/helper/tableHelper.js +3 -0
  26. package/lib/reuse/helper/tableHelper.js.map +1 -1
  27. package/lib/reuse/helper/timeHelper.js +3 -7
  28. package/lib/reuse/helper/timeHelper.js.map +1 -1
  29. package/lib/reuse/helper/verboseLogger.js.map +1 -1
  30. package/lib/reuse/index.js +0 -17
  31. package/lib/reuse/index.js.map +1 -1
  32. package/lib/reuse/modules/common/constants/date.constants.js +0 -2
  33. package/lib/reuse/modules/common/constants/date.constants.js.map +1 -1
  34. package/lib/reuse/modules/common/navigation.js.map +1 -1
  35. package/lib/reuse/modules/flp/userSettings.d.ts +2 -0
  36. package/lib/reuse/modules/flp/userSettings.js +6 -1
  37. package/lib/reuse/modules/flp/userSettings.js.map +1 -1
  38. package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -1
  39. package/lib/reuse/modules/nonUi5/session.js.map +1 -1
  40. package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -1
  41. package/lib/reuse/modules/ui5/assertion.d.ts +1 -0
  42. package/lib/reuse/modules/ui5/assertion.js +11 -4
  43. package/lib/reuse/modules/ui5/assertion.js.map +1 -1
  44. package/lib/reuse/modules/ui5/control.js.map +1 -1
  45. package/lib/reuse/modules/ui5/date.js +15 -15
  46. package/lib/reuse/modules/ui5/date.js.map +1 -1
  47. package/lib/reuse/modules/ui5/element.d.ts +2 -2
  48. package/lib/reuse/modules/ui5/element.js +7 -4
  49. package/lib/reuse/modules/ui5/element.js.map +1 -1
  50. package/lib/reuse/modules/ui5/session.d.ts +4 -2
  51. package/lib/reuse/modules/ui5/session.js +32 -4
  52. package/lib/reuse/modules/ui5/session.js.map +1 -1
  53. package/lib/reuse/modules/ui5/table.js +25 -9
  54. package/lib/reuse/modules/ui5/table.js.map +1 -1
  55. package/lib/reuse/modules/ui5/userInteraction.d.ts +1 -1
  56. package/lib/reuse/modules/ui5/userInteraction.js +46 -59
  57. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -1
  58. package/lib/reuse/modules/util/constants/formatter.constants.js +0 -2
  59. package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -1
  60. package/lib/reuse/modules/util/file.d.ts +7 -4
  61. package/lib/reuse/modules/util/file.js +34 -7
  62. package/lib/reuse/modules/util/file.js.map +1 -1
  63. package/lib/reuse/modules/util/formatter.js +7 -3
  64. package/lib/reuse/modules/util/formatter.js.map +1 -1
  65. package/lib/reuse/modules/util/function.js +1 -5
  66. package/lib/reuse/modules/util/function.js.map +1 -1
  67. package/lib/scripts/clientsideUI5scripts.js +22 -29
  68. package/lib/scripts/clientsideUI5scripts.js.map +1 -1
  69. package/lib/scripts/dataExchange/dataExchange.js.map +1 -1
  70. package/lib/scripts/dataExchange/dataExchangeUtil.js +3 -13
  71. package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -1
  72. package/lib/scripts/hooks/before.js +0 -1
  73. package/lib/scripts/hooks/before.js.map +1 -1
  74. package/lib/scripts/hooks/onComplete.js +2 -3
  75. package/lib/scripts/hooks/onComplete.js.map +1 -1
  76. package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -1
  77. package/lib/scripts/hooks/utils/browserLog.js.map +1 -1
  78. package/lib/scripts/hooks/utils/cycle.js +3 -9
  79. package/lib/scripts/hooks/utils/cycle.js.map +1 -1
  80. package/lib/scripts/hooks/utils/dataExchangeCommands.js +1 -2
  81. package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -1
  82. package/lib/scripts/hooks/utils/isBrowserDefined.js.map +1 -1
  83. package/lib/scripts/locators/qmateLocator.js +30 -53
  84. package/lib/scripts/locators/qmateLocator.js.map +1 -1
  85. package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js +2 -2
  86. package/lib/scripts/locators/qmateLocatorSrc/comparators/DomPropertiesComparator.js.map +1 -1
  87. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.d.ts +1 -0
  88. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js +10 -0
  89. package/lib/scripts/locators/qmateLocatorSrc/constants/IgnoredMetadataList.js.map +1 -0
  90. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.d.ts +2 -3
  91. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js +18 -22
  92. package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js.map +1 -1
  93. package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js +3 -2
  94. package/lib/scripts/locators/qmateLocatorSrc/utils/UI5ControlHandler.js.map +1 -1
  95. package/lib/scripts/locators/uiveri5Locator.js +1 -1
  96. package/lib/scripts/locators/uiveri5Locator.js.map +1 -1
  97. package/lib/scripts/stats/createUsage.js +1 -1
  98. package/lib/scripts/stats/createUsage.js.map +1 -1
  99. package/lib/scripts/stats/getOperatingSystem.js.map +1 -1
  100. package/lib/scripts/stats/getUserId.js +1 -1
  101. package/lib/scripts/stats/stats.js +9 -9
  102. package/lib/scripts/stats/stats.js.map +1 -1
  103. package/lib/scripts/stats/updateUsage.js +1 -1
  104. package/mkdocs.yml +18 -18
  105. package/package.json +18 -26
  106. package/packages/qcrypt/dist/classes/Decrypter.d.ts +38 -38
  107. package/packages/qcrypt/dist/classes/Decrypter.js +150 -153
  108. package/packages/qcrypt/dist/classes/Encrypter.d.ts +46 -46
  109. package/packages/qcrypt/dist/classes/Encrypter.js +144 -144
  110. package/packages/qcrypt/dist/classes/KeyGenerator.d.ts +16 -16
  111. package/packages/qcrypt/dist/classes/KeyGenerator.js +45 -43
  112. package/packages/qcrypt/dist/classes/helper/ErrorHandler.d.ts +8 -8
  113. package/packages/qcrypt/dist/classes/helper/ErrorHandler.js +48 -50
  114. package/packages/qcrypt/dist/classes/helper/Util.d.ts +67 -67
  115. package/packages/qcrypt/dist/classes/helper/Util.js +113 -114
  116. package/packages/qcrypt/dist/index.js +5 -3
  117. package/packages/qcrypt/dist/types/common.d.ts +13 -13
  118. package/reuseApi.json +8 -468
  119. package/test/.eslintrc.yml +1 -1
  120. package/test/authenticator/staticLogin/configCustom.js +1 -3
  121. package/test/authenticator/staticLogin/configCustomViaConfig.js +1 -3
  122. package/test/authenticator/staticLogin/configFiori.js +1 -3
  123. package/test/authenticator/staticLogin/configPlain.js +1 -4
  124. package/test/authenticator/staticLogin/configSapCloud.js +1 -3
  125. package/test/authenticator/staticLogin/html/custom.html +4 -4
  126. package/test/authenticator/staticLogin/html/fiori.html +4 -4
  127. package/test/authenticator/staticLogin/html/home.html +2 -2
  128. package/test/authenticator/staticLogin/html/sapCloud.html +4 -4
  129. package/test/authenticator/staticLogin/specs/custom.spec.js +1 -5
  130. package/test/authenticator/staticLogin/specs/plain.spec.js +0 -5
  131. package/test/authenticator/staticLogin/staticServerConfig.js +13 -10
  132. package/test/authenticator/systemLogin/configCustom.js +3 -5
  133. package/test/authenticator/systemLogin/configFiori.js +2 -5
  134. package/test/authenticator/systemLogin/configPlain.js +3 -5
  135. package/test/authenticator/systemLogin/configSapCloud.js +3 -5
  136. package/test/authenticator/systemLogin/specs/custom.spec.js +3 -5
  137. package/test/authenticator/systemLogin/specs/fiori.spec.js +3 -4
  138. package/test/authenticator/systemLogin/specs/plain.spec.js +3 -5
  139. package/test/authenticator/systemLogin/specs/sapCloud.spec.js +3 -5
  140. package/test/core/dataExchange/config.export.js +11 -18
  141. package/test/core/dataExchange/config.import.js +7 -12
  142. package/test/core/dataExchange/config.js +9 -11
  143. package/test/core/dataExchange/config.parallel.group.js +53 -61
  144. package/test/core/dataExchange/config.parallel.js +53 -58
  145. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +1 -1
  146. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +1 -1
  147. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +1 -1
  148. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +1 -1
  149. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +1 -1
  150. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +1 -1
  151. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +1 -1
  152. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +1 -1
  153. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +1 -1
  154. package/test/core/dataExchange/data/my/folder/data/qs9/data.json +1 -1
  155. package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +1 -1
  156. package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +1 -1
  157. package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +1 -1
  158. package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +1 -1
  159. package/test/core/dataExchange/data/ui/user.json +1 -1
  160. package/test/core/dataExchange/data/ui/webUser.json +1 -1
  161. package/test/core/dataExchange/specs/export.fast.spec.js +11 -16
  162. package/test/core/dataExchange/specs/export.slow.spec.js +13 -18
  163. package/test/core/dataExchange/specs/export.spec.js +13 -23
  164. package/test/core/dataExchange/specs/import.spec.js +6 -23
  165. package/test/core/dataExchange/specs/importExport.spec.js +47 -62
  166. package/test/core/dataExchange/utils.js +11 -15
  167. package/test/core/functional/README.md +8 -5
  168. package/test/core/functional/chaining/chaining.test.js +46 -49
  169. package/test/core/functional/chaining/test.conf.js +1 -4
  170. package/test/core/functional/locators/ancestorProperties.test.js +49 -59
  171. package/test/core/functional/locators/childProperties.test.js +30 -36
  172. package/test/core/functional/locators/descendantProperties.test.js +50 -57
  173. package/test/core/functional/locators/domProperties.test.js +25 -29
  174. package/test/core/functional/locators/elementProperties.test.js +30 -29
  175. package/test/core/functional/locators/mixedProperties.test.js +317 -108
  176. package/test/core/functional/locators/parentProperties.test.js +18 -22
  177. package/test/core/functional/locators/siblingProperties.test.js +66 -75
  178. package/test/core/functional/locators/utils.js +1 -1
  179. package/test/core/functional/nativeBrowser/runInBrowser.test.js +84 -58
  180. package/test/core/functional/nativeBrowser/test.conf.js +1 -3
  181. package/test/core/functional/nonUi5/basic.test.js +3 -3
  182. package/test/core/functional/nonUi5/getWithDomElement.test.js +0 -2
  183. package/test/core/functional/nonUi5/getWithDomElements.test.js +2 -3
  184. package/test/core/functional/nonUi5/test.conf.js +1 -4
  185. package/test/core/functional/ui5Properties/countries.json +1 -1
  186. package/test/core/functional/ui5Properties/getAggregations.test.js +19 -27
  187. package/test/core/functional/ui5Properties/getAssociations.test.js +3 -3
  188. package/test/core/functional/ui5Properties/getBindingInfos.test.js +17 -17
  189. package/test/core/functional/ui5Properties/getProperties.test.js +25 -33
  190. package/test/core/functional/ui5Properties/test.conf.js +1 -6
  191. package/test/core/functional/uiveri5/sample.test.js +1 -2
  192. package/test/core/functional/uiveri5/test.conf.js +1 -3
  193. package/test/core/testIntegration/config.js +1 -1
  194. package/test/core/testIntegration/configMultiCombo.js +1 -1
  195. package/test/core/testIntegration/configTable.js +1 -1
  196. package/test/core/testIntegration/filters1.spec.js +908 -870
  197. package/test/core/testIntegration/multicombobox.spec.js +64 -60
  198. package/test/core/testIntegration/table.spec.js +35 -33
  199. package/test/helper/configurations/base.conf.js +6 -3
  200. package/test/helper/configurations/chrome.headless.conf.js +1 -1
  201. package/test/helper/sleeper.js +1 -1
  202. package/test/reuse/common/assertion/expectDefined.spec.js +1 -2
  203. package/test/reuse/common/assertion/expectEqual.spec.js +36 -26
  204. package/test/reuse/common/assertion/expectFalse.spec.js +1 -1
  205. package/test/reuse/common/assertion/expectTrue.spec.js +1 -1
  206. package/test/reuse/common/assertion/expectUndefined.spec.js +1 -2
  207. package/test/reuse/common/assertion/expectUnequal.spec.js +24 -13
  208. package/test/reuse/common/assertion/expectUrlToBe.spec.js +3 -6
  209. package/test/reuse/common/assertion/test.assertion.conf.js +39 -35
  210. package/test/reuse/common/date/calculate.spec.js +36 -36
  211. package/test/reuse/common/date/calculateWithTime.spec.js +88 -88
  212. package/test/reuse/common/date/getNextMonth.spec.js +3 -3
  213. package/test/reuse/common/date/getNextYear.spec.js +2 -2
  214. package/test/reuse/common/date/getPreviousMonth.spec.js +2 -2
  215. package/test/reuse/common/date/getPreviousYear.spec.js +2 -2
  216. package/test/reuse/common/date/getSpecific.spec.js +2 -2
  217. package/test/reuse/common/date/getToday.spec.js +2 -2
  218. package/test/reuse/common/date/getTomorrow.spec.js +2 -2
  219. package/test/reuse/common/date/test.date.conf.js +1 -1
  220. package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +2 -6
  221. package/test/reuse/common/navigation/test.navigation.conf.js +14 -12
  222. package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +1 -3
  223. package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +2 -6
  224. package/test/reuse/common/userInteraction/fillActive.spec.js +2 -6
  225. package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +2 -6
  226. package/test/reuse/common/userInteraction/pressKey.spec.js +6 -30
  227. package/test/reuse/common/userInteraction/test.userInteraction.conf.js +36 -38
  228. package/test/reuse/flp/userLocks/data/data.json +1 -1
  229. package/test/reuse/flp/userLocks/deleteExistingLockEntries.spec.js +0 -3
  230. package/test/reuse/flp/userLocks/getNumberOfLockEntries.spec.js +0 -2
  231. package/test/reuse/flp/userLocks/test.userLocks.conf.js +1 -4
  232. package/test/reuse/flp/userSettings/data/data.json +1 -1
  233. package/test/reuse/flp/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
  234. package/test/reuse/flp/userSettings/getLanguageFromUserSettings.spec.js +0 -1
  235. package/test/reuse/flp/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
  236. package/test/reuse/flp/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
  237. package/test/reuse/flp/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
  238. package/test/reuse/flp/userSettings/setLanguageFromUserSettings.spec.js +0 -2
  239. package/test/reuse/flp/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
  240. package/test/reuse/flp/userSettings/setS4UserSettings.spec.js +0 -2
  241. package/test/reuse/flp/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
  242. package/test/reuse/flp/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
  243. package/test/reuse/flp/userSettings/test.userSettings.apply.conf.js +1 -3
  244. package/test/reuse/helper/elementHighlight/test.elementHighlight.conf.js +2 -4
  245. package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +4 -11
  246. package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +3 -10
  247. package/test/reuse/nonUi5/assertion/expectCssPropertyValueToBe.spec.js +2 -4
  248. package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +3 -5
  249. package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +2 -2
  250. package/test/reuse/nonUi5/assertion/test.assertion.conf.js +39 -35
  251. package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +40 -42
  252. package/test/reuse/nonUi5/element/getAttributeValue.spec.js +3 -9
  253. package/test/reuse/nonUi5/element/getByChild.spec.js +4 -8
  254. package/test/reuse/nonUi5/element/getByClass.spec.js +2 -7
  255. package/test/reuse/nonUi5/element/getByCss.spec.js +6 -11
  256. package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +2 -6
  257. package/test/reuse/nonUi5/element/getById.spec.js +3 -10
  258. package/test/reuse/nonUi5/element/getByName.spec.js +2 -5
  259. package/test/reuse/nonUi5/element/getByParent.spec.js +5 -15
  260. package/test/reuse/nonUi5/element/getByXPath.spec.js +2 -5
  261. package/test/reuse/nonUi5/element/getCssPropertyValue.spec.js +1 -4
  262. package/test/reuse/nonUi5/element/getValue.spec.js +3 -6
  263. package/test/reuse/nonUi5/element/highlight.spec.js +0 -2
  264. package/test/reuse/nonUi5/element/isPresent.spec.js +1 -3
  265. package/test/reuse/nonUi5/element/isPresentByCss.spec.js +1 -1
  266. package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +0 -1
  267. package/test/reuse/nonUi5/element/setInnerHTML.spec.js +2 -5
  268. package/test/reuse/nonUi5/element/test.element.conf.js +18 -15
  269. package/test/reuse/nonUi5/element/waitForAll.spec.js +2 -5
  270. package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +2 -5
  271. package/test/reuse/nonUi5/element/waitToBePresent.spec.js +2 -3
  272. package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +3 -8
  273. package/test/reuse/nonUi5/navigation/test.navigation.conf.js +1 -3
  274. package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +13 -17
  275. package/test/reuse/nonUi5/userInteraction/clear.spec.js +3 -5
  276. package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +1 -1
  277. package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +1 -3
  278. package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +1 -3
  279. package/test/reuse/nonUi5/userInteraction/click.spec.js +1 -3
  280. package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +2 -6
  281. package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +1 -3
  282. package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +1 -1
  283. package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +2 -2
  284. package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +1 -3
  285. package/test/reuse/nonUi5/userInteraction/selectAll.spec.js +2 -2
  286. package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +1 -1
  287. package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +43 -39
  288. package/test/reuse/service/odata/test.odata.conf.js +4 -7
  289. package/test/reuse/service/rest/db.json +1 -1
  290. package/test/reuse/service/rest/delete.spec.js +3 -10
  291. package/test/reuse/service/rest/get.spec.js +2 -9
  292. package/test/reuse/service/rest/init.spec.js +0 -2
  293. package/test/reuse/service/rest/patch.spec.js +5 -12
  294. package/test/reuse/service/rest/post.spec.js +6 -17
  295. package/test/reuse/service/rest/put.spec.js +10 -17
  296. package/test/reuse/service/rest/rest-server.js +5 -5
  297. package/test/reuse/service/rest/test.rest.conf.js +4 -11
  298. package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +77 -42
  299. package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +48 -18
  300. package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +41 -42
  301. package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +58 -64
  302. package/test/reuse/ui5/assertion/expectCssPropertyValueToBe.spec.js +1 -2
  303. package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +7 -11
  304. package/test/reuse/ui5/assertion/expectTextToBe.spec.js +13 -13
  305. package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +2 -6
  306. package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +17 -20
  307. package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +13 -14
  308. package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +15 -20
  309. package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +11 -15
  310. package/test/reuse/ui5/assertion/expectValidationError.spec.js +14 -16
  311. package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +14 -16
  312. package/test/reuse/ui5/assertion/expectValueToBe.spec.js +14 -17
  313. package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +6 -9
  314. package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +3 -3
  315. package/test/reuse/ui5/confirmationDialog/clickButton.spec.js +24 -28
  316. package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +24 -25
  317. package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +1 -1
  318. package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +25 -28
  319. package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +21 -29
  320. package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +19 -22
  321. package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +1 -1
  322. package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +17 -25
  323. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +1 -1
  324. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +4 -4
  325. package/test/reuse/ui5/control/execute.spec.js +37 -25
  326. package/test/reuse/ui5/control/focus.spec.js +29 -29
  327. package/test/reuse/ui5/control/getAggregationProperty.spec.js +25 -21
  328. package/test/reuse/ui5/control/getAssociationProperty.spec.js +13 -15
  329. package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +12 -10
  330. package/test/reuse/ui5/control/getProperty.spec.js +12 -10
  331. package/test/reuse/ui5/control/getPropertyBinding.spec.js +12 -10
  332. package/test/reuse/ui5/control/test.control.sauceLab.conf.js +3 -4
  333. package/test/reuse/ui5/date/fillRange.spec.js +7 -10
  334. package/test/reuse/ui5/date/pick.spec.js +31 -34
  335. package/test/reuse/ui5/date/pickRange.spec.js +31 -25
  336. package/test/reuse/ui5/date/pickWithTime.spec.js +8 -10
  337. package/test/reuse/ui5/date/test.date.conf.js +3 -8
  338. package/test/reuse/ui5/date/test.date.sauceLab.conf.js +4 -9
  339. package/test/reuse/ui5/element/getBindingValue.spec.js +17 -23
  340. package/test/reuse/ui5/element/getByChild.spec.js +52 -52
  341. package/test/reuse/ui5/element/getByParent.spec.js +65 -61
  342. package/test/reuse/ui5/element/getByText.spec.js +10 -14
  343. package/test/reuse/ui5/element/getCssPropertyValue.spec.js +1 -1
  344. package/test/reuse/ui5/element/getDisplayed.spec.js +23 -26
  345. package/test/reuse/ui5/element/getId.spec.js +15 -18
  346. package/test/reuse/ui5/element/getPropertyValue.spec.js +19 -23
  347. package/test/reuse/ui5/element/highlight.spec.js +9 -12
  348. package/test/reuse/ui5/element/isVisible.spec.js +12 -12
  349. package/test/reuse/ui5/element/test.element.sauceLab.conf.js +3 -5
  350. package/test/reuse/ui5/element/waitForAll.spec.js +10 -15
  351. package/test/reuse/ui5/errorDialog/clickClose.spec.js +6 -9
  352. package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +7 -11
  353. package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +2 -5
  354. package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +4 -9
  355. package/test/reuse/ui5/mockserver_qunit/Component.js +3 -8
  356. package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +12 -18
  357. package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +3 -10
  358. package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +6 -11
  359. package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +6 -11
  360. package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +10 -16
  361. package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +4 -9
  362. package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +39 -36
  363. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +2 -7
  364. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +66 -79
  365. package/test/reuse/ui5/mockserver_qunit/index.html +19 -18
  366. package/test/reuse/ui5/mockserver_qunit/initMockServer.js +13 -13
  367. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +153 -153
  368. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +63 -63
  369. package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +124 -128
  370. package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +7 -13
  371. package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -167
  372. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +58 -56
  373. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +65 -61
  374. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +60 -66
  375. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +3 -4
  376. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +8 -10
  377. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +16 -18
  378. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +203 -203
  379. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +113 -113
  380. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +8 -10
  381. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -1
  382. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +24 -26
  383. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +2 -2
  384. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +5 -6
  385. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +37 -52
  386. package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +2 -4
  387. package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +28 -31
  388. package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -10
  389. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +12 -13
  390. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +1 -1
  391. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +1 -1
  392. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +1 -2
  393. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +2 -4
  394. package/test/reuse/ui5/navigation/test.navigation.conf.js +2 -7
  395. package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +4 -4
  396. package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +4 -4
  397. package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +5 -10
  398. package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +2 -3
  399. package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +2 -3
  400. package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +2 -8
  401. package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +4 -10
  402. package/test/reuse/ui5/session/login.spec.js +9 -11
  403. package/test/reuse/ui5/session/loginFiori.spec.js +5 -7
  404. package/test/reuse/ui5/session/loginSapCloud.spec.js +6 -8
  405. package/test/reuse/ui5/session/logout.spec.js +2 -3
  406. package/test/reuse/ui5/session/switchUser.spec.js +1 -1
  407. package/test/reuse/ui5/session/test.session.conf.js +1 -7
  408. package/test/reuse/ui5/session/test.session.sauceLab.conf.js +4 -12
  409. package/test/reuse/ui5/table/clickSettingsButton.spec.js +12 -18
  410. package/test/reuse/ui5/table/getAllColumnValuesByName.spec.js +1 -4
  411. package/test/reuse/ui5/table/getSelectorForRowByIndex.spec.js +11 -14
  412. package/test/reuse/ui5/table/getSelectorsForRowsByValues.spec.js +6 -9
  413. package/test/reuse/ui5/table/getTotalNumberOfRowsByValues.spec.js +1 -3
  414. package/test/reuse/ui5/table/openItemByIndex.spec.js +23 -29
  415. package/test/reuse/ui5/table/openItemByValues.spec.js +27 -38
  416. package/test/reuse/ui5/table/selectRowByValues.spec.js +7 -7
  417. package/test/reuse/ui5/table/sortColumnAscending.spec.js +17 -25
  418. package/test/reuse/ui5/table/sortColumnDescending.spec.js +13 -19
  419. package/test/reuse/ui5/table/test.table.sauceLab.conf.js +4 -8
  420. package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +4 -8
  421. package/test/reuse/ui5/userInteraction/clear.spec.js +14 -18
  422. package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +28 -29
  423. package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +4 -12
  424. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +20 -19
  425. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInputAndRetry.spec.js +5 -7
  426. package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +11 -16
  427. package/test/reuse/ui5/userInteraction/click.spec.js +90 -29
  428. package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +1 -3
  429. package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +29 -30
  430. package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +1 -3
  431. package/test/reuse/ui5/userInteraction/doubleClick.spec.js +18 -22
  432. package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +8 -10
  433. package/test/reuse/ui5/userInteraction/fill.spec.js +20 -22
  434. package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +2 -6
  435. package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +2 -5
  436. package/test/reuse/ui5/userInteraction/openF4Help.spec.js +8 -12
  437. package/test/reuse/ui5/userInteraction/openValueHelp.spec.js +11 -12
  438. package/test/reuse/ui5/userInteraction/rightClick.spec.js +17 -20
  439. package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +38 -38
  440. package/test/reuse/ui5/userInteraction/searchFor.spec.js +3 -12
  441. package/test/reuse/ui5/userInteraction/selectBox.spec.js +36 -36
  442. package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +16 -24
  443. package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +22 -31
  444. package/test/reuse/util/browser/back.spec.js +10 -11
  445. package/test/reuse/util/browser/clearBrowser.spec.js +1 -1
  446. package/test/reuse/util/browser/executeScript.spec.js +14 -16
  447. package/test/reuse/util/browser/getBaseUrl.spec.js +1 -1
  448. package/test/reuse/util/browser/getBrowserName.spec.js +1 -3
  449. package/test/reuse/util/browser/getCurrentUrl.spec.js +9 -9
  450. package/test/reuse/util/browser/getCurrentWindow.spec.js +1 -1
  451. package/test/reuse/util/browser/getUI5Version.spec.js +8 -8
  452. package/test/reuse/util/browser/log.spec.js +1 -3
  453. package/test/reuse/util/browser/logCurrentUrl.spec.js +1 -1
  454. package/test/reuse/util/browser/refresh.spec.js +14 -16
  455. package/test/reuse/util/browser/reloadSession.spec.js +1 -1
  456. package/test/reuse/util/browser/setBaseUrl.spec.js +2 -2
  457. package/test/reuse/util/browser/switchToDefaultContent.spec.js +28 -29
  458. package/test/reuse/util/browser/switchToWindow.spec.js +2 -3
  459. package/test/reuse/util/browser/test.browserCmndLineArgs.conf.js +1 -3
  460. package/test/reuse/util/browser/waitUntil.spec.js +8 -16
  461. package/test/reuse/util/component/loadEntryPoint.spec.js +2 -3
  462. package/test/reuse/util/component/storeEntryPoint.spec.js +6 -10
  463. package/test/reuse/util/component/test.component.conf.js +1 -4
  464. package/test/reuse/util/console/console.spec.js +1 -3
  465. package/test/reuse/util/console/test.console.conf.js +2 -4
  466. package/test/reuse/util/data/customSourceData/getSecureData.secure.json +1 -1
  467. package/test/reuse/util/data/customSourceData/test.json +1 -1
  468. package/test/reuse/util/data/data/test.json +1 -1
  469. package/test/reuse/util/data/getData.spec.js +3 -7
  470. package/test/reuse/util/data/test.data.conf.js +1 -5
  471. package/test/reuse/util/data/test.data.privacy.conf.js +1 -7
  472. package/test/reuse/util/file/getAttributeValuesFromJson.spec.js +1 -1
  473. package/test/reuse/util/file/getFileNamesByExtensions.spec.js +0 -1
  474. package/test/reuse/util/file/pdfParser.spec.js +76 -80
  475. package/test/reuse/util/file/test.file.conf.js +2 -1
  476. package/test/reuse/util/file/testFiles/test1.json +26 -77
  477. package/test/reuse/util/file/upload.spec.js +24 -29
  478. package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +1 -2
  479. package/test/reuse/util/formatter/formatDate.spec.js +2 -2
  480. package/test/reuse/util/formatter/formatDateWithTime.spec.js +6 -2
  481. package/test/reuse/util/formatter/sliceStringAfter.spec.js +1 -1
  482. package/test/reuse/util/formatter/sliceStringAt.spec.js +1 -1
  483. package/test/reuse/util/formatter/stringifyJSON.spec.js +4 -4
  484. package/test/reuse/util/formatter/test.formatter.conf.js +2 -2
  485. package/test/reuse/util/system/system.spec.js +1 -3
  486. package/test/reuse/util/system/test.system.conf.js +3 -5
  487. package/test/reuse/util/userSettings/data/data.json +1 -1
  488. package/test/reuse/util/userSettings/getDateFormatFromUserSettings.spec.js +0 -2
  489. package/test/reuse/util/userSettings/getLanguageFromUserSettings.spec.js +0 -1
  490. package/test/reuse/util/userSettings/getTimeFormatFromUserSettings.spec.js +0 -3
  491. package/test/reuse/util/userSettings/getTimeZoneFromUserSettings.spec.js +0 -2
  492. package/test/reuse/util/userSettings/setDateFormatFromUserSettings.spec.js +0 -2
  493. package/test/reuse/util/userSettings/setLanguageFromUserSettings.spec.js +0 -2
  494. package/test/reuse/util/userSettings/setNumberFormatFromUserSettings.spec.js +1 -3
  495. package/test/reuse/util/userSettings/setS4UserSettings.spec.js +0 -2
  496. package/test/reuse/util/userSettings/setTimeFormatFromUserSettings.spec.js +0 -3
  497. package/test/reuse/util/userSettings/setTimeZoneFromUserSettings.spec.js +0 -2
  498. package/test/reuse/util/userSettings/test.userSettings.apply.conf.js +1 -3
  499. package/test/unit/stats/getUserId.error.spec.ts +3 -1
  500. package/test/unit/stats/getUserId.spec.ts +10 -10
  501. package/test/unit/vitest.config.ts +2 -2
  502. package/test/watchMode/config.js +1 -3
  503. package/test/watchMode/navigateToUrlAndClick.spec.js +7 -7
  504. package/tsconfig.json +1 -4
  505. package/lib/reuse/modules/mobile/Mobile.d.ts +0 -16
  506. package/lib/reuse/modules/mobile/Mobile.js +0 -23
  507. package/lib/reuse/modules/mobile/Mobile.js.map +0 -1
  508. package/lib/reuse/modules/mobile/android.d.ts +0 -32
  509. package/lib/reuse/modules/mobile/android.js +0 -85
  510. package/lib/reuse/modules/mobile/android.js.map +0 -1
  511. package/lib/reuse/modules/mobile/device.d.ts +0 -173
  512. package/lib/reuse/modules/mobile/device.js +0 -403
  513. package/lib/reuse/modules/mobile/device.js.map +0 -1
  514. package/lib/reuse/modules/mobile/element.d.ts +0 -95
  515. package/lib/reuse/modules/mobile/element.js +0 -185
  516. package/lib/reuse/modules/mobile/element.js.map +0 -1
  517. package/lib/reuse/modules/mobile/gestures.d.ts +0 -42
  518. package/lib/reuse/modules/mobile/gestures.js +0 -86
  519. package/lib/reuse/modules/mobile/gestures.js.map +0 -1
  520. package/lib/reuse/modules/mobile/ios.d.ts +0 -10
  521. package/lib/reuse/modules/mobile/ios.js +0 -19
  522. package/lib/reuse/modules/mobile/ios.js.map +0 -1
  523. package/lib/reuse/modules/mobile/userInteraction.d.ts +0 -94
  524. package/lib/reuse/modules/mobile/userInteraction.js +0 -210
  525. package/lib/reuse/modules/mobile/userInteraction.js.map +0 -1
  526. package/test/helper/configurations/mobile.conf.js +0 -16
@@ -1,49 +1,49 @@
1
1
  import { EncodedData, EncryptionOptions, PrintOptions, PublicKey } from "../types/common";
2
2
  export default abstract class Encrypter {
3
- /**
4
- * @description Retrieves public keys from the file system and encrypts data for all of them.
5
- * @param data Data to be encrypted.
6
- * @param encryptionOptions Encryption options.
7
- * @param printOptions Print options defining if the input and output is logged or not.
8
- */
9
- static encryptDataForAvailableKeys(data: string, encryptionOptions: EncryptionOptions, printOptions: PrintOptions): Array<EncodedData>;
10
- /**
11
- * @description Encrypts data for all passed public keys.
12
- * @param data Data to be encrypted.
13
- * @param encryptionOptions Encryption options.
14
- * @param publicKeys Public keys for encryption.
15
- */
16
- static encryptDataForMultipleKeys(data: string, encryptionOptions: EncryptionOptions, publicKeys: Array<PublicKey>): Array<EncodedData>;
17
- /**
18
- * @description Retrieves the public keys from the file system.
19
- * @param keyPath Path to the directory containing the public key.
20
- * @returns An array containing public key objects.
21
- */
22
- private static _retrievePublicKeys;
23
- /**
24
- * @description Encrypts the given data with the provided public key and options.
25
- * @param data Data to be encrypted.
26
- * @param publicKey Public key for encryption.
27
- * @param options Encryption options.
28
- * @returns The encrypted data.
29
- */
30
- private static _encryptData;
31
- /**
32
- * @description Encrypts data using AES-256-CBC encryption and PBKDF2 key derivation. The key is derived from the repo URL or a static password.
33
- * @param data Data to be encrypted.
34
- * @param options Encryption options.
35
- * @returns The AES encrypted data.
36
- */
37
- private static _encryptDataWithPassword;
38
- /**
39
- * @description Prints the input options and data to the console.
40
- * @param options Encryption options.
41
- * @param data Data to be encrypted.
42
- */
43
- private static _printInput;
44
- /**
45
- * @description Prints the output data and metadata to the console for multiple pieces of data.
46
- * @param encodedDataList An array of encoded data objects containing root and encodedData.
47
- */
48
- private static _printOutput;
3
+ /**
4
+ * @description Retrieves public keys from the file system and encrypts data for all of them.
5
+ * @param data Data to be encrypted.
6
+ * @param encryptionOptions Encryption options.
7
+ * @param printOptions Print options defining if the input and output is logged or not.
8
+ */
9
+ static encryptDataForAvailableKeys(data: string, encryptionOptions: EncryptionOptions, printOptions: PrintOptions): Array<EncodedData>;
10
+ /**
11
+ * @description Encrypts data for all passed public keys.
12
+ * @param data Data to be encrypted.
13
+ * @param encryptionOptions Encryption options.
14
+ * @param publicKeys Public keys for encryption.
15
+ */
16
+ static encryptDataForMultipleKeys(data: string, encryptionOptions: EncryptionOptions, publicKeys: Array<PublicKey>): Array<EncodedData>;
17
+ /**
18
+ * @description Retrieves the public keys from the file system.
19
+ * @param keyPath Path to the directory containing the public key.
20
+ * @returns An array containing public key objects.
21
+ */
22
+ private static _retrievePublicKeys;
23
+ /**
24
+ * @description Encrypts the given data with the provided public key and options.
25
+ * @param data Data to be encrypted.
26
+ * @param publicKey Public key for encryption.
27
+ * @param options Encryption options.
28
+ * @returns The encrypted data.
29
+ */
30
+ private static _encryptData;
31
+ /**
32
+ * @description Encrypts data using AES-256-CBC encryption and PBKDF2 key derivation. The key is derived from the repo URL or a static password.
33
+ * @param data Data to be encrypted.
34
+ * @param options Encryption options.
35
+ * @returns The AES encrypted data.
36
+ */
37
+ private static _encryptDataWithPassword;
38
+ /**
39
+ * @description Prints the input options and data to the console.
40
+ * @param options Encryption options.
41
+ * @param data Data to be encrypted.
42
+ */
43
+ private static _printInput;
44
+ /**
45
+ * @description Prints the output data and metadata to the console for multiple pieces of data.
46
+ * @param encodedDataList An array of encoded data objects containing root and encodedData.
47
+ */
48
+ private static _printOutput;
49
49
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ var __importDefault =
3
+ (this && this.__importDefault) ||
4
+ function (mod) {
5
+ return mod && mod.__esModule ? mod : { default: mod };
6
+ };
5
7
  Object.defineProperty(exports, "__esModule", { value: true });
6
8
  // Imports
7
9
  const fs_1 = __importDefault(require("fs"));
@@ -12,153 +14,151 @@ const ErrorHandler_1 = __importDefault(require("./helper/ErrorHandler"));
12
14
  // Constants
13
15
  const common_1 = require("../constants/common");
14
16
  class Encrypter {
15
- // ========================== Public functions ==========================
16
- /**
17
- * @description Retrieves public keys from the file system and encrypts data for all of them.
18
- * @param data Data to be encrypted.
19
- * @param encryptionOptions Encryption options.
20
- * @param printOptions Print options defining if the input and output is logged or not.
21
- */
22
- static encryptDataForAvailableKeys(data, encryptionOptions, printOptions) {
23
- if (printOptions === null || printOptions === void 0 ? void 0 : printOptions.printInput) {
24
- this._printInput(data, encryptionOptions);
25
- }
26
- const commonKeyPath = path_1.default.resolve(__dirname, "../keys");
27
- const publicKeys = this._retrievePublicKeys(commonKeyPath);
28
- const encryptedData = this.encryptDataForMultipleKeys(data, encryptionOptions, publicKeys);
29
- if (printOptions === null || printOptions === void 0 ? void 0 : printOptions.printOutput) {
30
- this._printOutput(encryptedData);
31
- }
32
- return encryptedData;
17
+ // ========================== Public functions ==========================
18
+ /**
19
+ * @description Retrieves public keys from the file system and encrypts data for all of them.
20
+ * @param data Data to be encrypted.
21
+ * @param encryptionOptions Encryption options.
22
+ * @param printOptions Print options defining if the input and output is logged or not.
23
+ */
24
+ static encryptDataForAvailableKeys(data, encryptionOptions, printOptions) {
25
+ if (printOptions === null || printOptions === void 0 ? void 0 : printOptions.printInput) {
26
+ this._printInput(data, encryptionOptions);
33
27
  }
34
- /**
35
- * @description Encrypts data for all passed public keys.
36
- * @param data Data to be encrypted.
37
- * @param encryptionOptions Encryption options.
38
- * @param publicKeys Public keys for encryption.
39
- */
40
- static encryptDataForMultipleKeys(data, encryptionOptions, publicKeys) {
41
- const encodedDataAggregated = [];
42
- data = encryptionOptions.useBase64Input ? Util_1.default.base64ToUtf8(data) : data;
43
- for (const pk of publicKeys) {
44
- let encryptedData;
45
- try {
46
- encryptedData = this._encryptData(data, pk.key, encryptionOptions);
47
- }
48
- catch (error) {
49
- ErrorHandler_1.default.handleAndThrowError(error, `Encryption failed`);
50
- }
51
- const encodedData = encryptionOptions.useBase64Output ? Util_1.default.utf8ToBase64(encryptedData) : encryptedData;
52
- encodedDataAggregated.push({ root: pk.root, encodedData });
53
- }
54
- return encodedDataAggregated;
28
+ const commonKeyPath = path_1.default.resolve(__dirname, "../keys");
29
+ const publicKeys = this._retrievePublicKeys(commonKeyPath);
30
+ const encryptedData = this.encryptDataForMultipleKeys(data, encryptionOptions, publicKeys);
31
+ if (printOptions === null || printOptions === void 0 ? void 0 : printOptions.printOutput) {
32
+ this._printOutput(encryptedData);
55
33
  }
56
- // ========================== Private functions ==========================
57
- /**
58
- * @description Retrieves the public keys from the file system.
59
- * @param keyPath Path to the directory containing the public key.
60
- * @returns An array containing public key objects.
61
- */
62
- static _retrievePublicKeys(keyPath) {
63
- const publicKeys = [];
64
- try {
65
- const publicKey = fs_1.default.readFileSync(path_1.default.resolve(process.cwd(), common_1.PUBLIC_KEY_NAME), "utf8");
66
- publicKeys.push({ root: "cwd", key: publicKey });
67
- }
68
- catch (_a) {
69
- // Do nothing
70
- }
71
- try {
72
- const publicKey = fs_1.default.readFileSync(path_1.default.resolve(keyPath, common_1.PUBLIC_KEY_NAME), "utf8");
73
- publicKeys.push({ root: "qmate", key: publicKey });
74
- }
75
- catch (_b) {
76
- // Do nothing
77
- }
78
- if (publicKeys.length < 1) {
79
- throw new Error(`${ErrorHandler_1.default.NO_PUBLIC_KEY_ERROR_MESSAGE}.`);
80
- }
81
- return publicKeys;
34
+ return encryptedData;
35
+ }
36
+ /**
37
+ * @description Encrypts data for all passed public keys.
38
+ * @param data Data to be encrypted.
39
+ * @param encryptionOptions Encryption options.
40
+ * @param publicKeys Public keys for encryption.
41
+ */
42
+ static encryptDataForMultipleKeys(data, encryptionOptions, publicKeys) {
43
+ const encodedDataAggregated = [];
44
+ data = encryptionOptions.useBase64Input ? Util_1.default.base64ToUtf8(data) : data;
45
+ for (const pk of publicKeys) {
46
+ let encryptedData;
47
+ try {
48
+ encryptedData = this._encryptData(data, pk.key, encryptionOptions);
49
+ } catch (error) {
50
+ ErrorHandler_1.default.handleAndThrowError(error, `Encryption failed`);
51
+ }
52
+ const encodedData = encryptionOptions.useBase64Output ? Util_1.default.utf8ToBase64(encryptedData) : encryptedData;
53
+ encodedDataAggregated.push({ root: pk.root, encodedData });
82
54
  }
83
- /**
84
- * @description Encrypts the given data with the provided public key and options.
85
- * @param data Data to be encrypted.
86
- * @param publicKey Public key for encryption.
87
- * @param options Encryption options.
88
- * @returns The encrypted data.
89
- */
90
- static _encryptData(data, publicKey, options) {
91
- try {
92
- const encryptedDataByKey = crypto_1.default.publicEncrypt({
93
- key: Util_1.default.parseKeyByEncoding(publicKey),
94
- padding: crypto_1.default.constants.RSA_PKCS1_OAEP_PADDING,
95
- oaepHash: "sha256"
96
- }, Buffer.from(data));
97
- return this._encryptDataWithPassword(encryptedDataByKey.toString("base64"), options);
98
- }
99
- catch (error) {
100
- ErrorHandler_1.default.handleAndThrowError(error);
101
- }
55
+ return encodedDataAggregated;
56
+ }
57
+ // ========================== Private functions ==========================
58
+ /**
59
+ * @description Retrieves the public keys from the file system.
60
+ * @param keyPath Path to the directory containing the public key.
61
+ * @returns An array containing public key objects.
62
+ */
63
+ static _retrievePublicKeys(keyPath) {
64
+ const publicKeys = [];
65
+ try {
66
+ const publicKey = fs_1.default.readFileSync(path_1.default.resolve(process.cwd(), common_1.PUBLIC_KEY_NAME), "utf8");
67
+ publicKeys.push({ root: "cwd", key: publicKey });
68
+ } catch (_a) {
69
+ // Do nothing
102
70
  }
103
- /**
104
- * @description Encrypts data using AES-256-CBC encryption and PBKDF2 key derivation. The key is derived from the repo URL or a static password.
105
- * @param data Data to be encrypted.
106
- * @param options Encryption options.
107
- * @returns The AES encrypted data.
108
- */
109
- static _encryptDataWithPassword(data, options) {
110
- let key;
111
- if (options.includeRepoUrl) {
112
- const repoUrl = Util_1.default.getRepoUrl();
113
- const repoUrlContractHashed = Util_1.default.unifyRepoUrl(repoUrl);
114
- key = crypto_1.default.pbkdf2Sync(repoUrlContractHashed, common_1.SALT, common_1.ITERATIONS, common_1.KEY_LENGTH, common_1.DIGEST);
115
- }
116
- else {
117
- key = crypto_1.default.pbkdf2Sync(common_1.STATIC_PASSWORD, common_1.SALT, common_1.ITERATIONS, common_1.KEY_LENGTH, common_1.DIGEST);
118
- }
119
- const cipher = crypto_1.default.createCipheriv(common_1.ALGORITHM, key, common_1.IV);
120
- let encryptedData = cipher.update(data, "utf-8", "hex");
121
- encryptedData += cipher.final("hex");
122
- return encryptedData;
71
+ try {
72
+ const publicKey = fs_1.default.readFileSync(path_1.default.resolve(keyPath, common_1.PUBLIC_KEY_NAME), "utf8");
73
+ publicKeys.push({ root: "qmate", key: publicKey });
74
+ } catch (_b) {
75
+ // Do nothing
123
76
  }
124
- /**
125
- * @description Prints the input options and data to the console.
126
- * @param options Encryption options.
127
- * @param data Data to be encrypted.
128
- */
129
- static _printInput(data, options) {
130
- console.log("\n===========INPUT==========================================================");
131
- if (options.includeRepoUrl || options.useBase64Output || options.useBase64Input) {
132
- console.log("Options:");
133
- if (options.includeRepoUrl) {
134
- console.log("\x1b[33m - Using repo URL in key derivation.\x1b[0m");
135
- }
136
- if (options.useBase64Input) {
137
- console.log("\x1b[33m - Input data is processed as base64 format.\x1b[0m");
138
- }
139
- if (options.useBase64Output) {
140
- console.log("\x1b[33m - Output data is displayed in base64 format.\x1b[0m");
141
- }
142
- console.log("");
143
- }
144
- console.log(`Input Data: ${data}`);
145
- console.log("==========================================================================\n");
77
+ if (publicKeys.length < 1) {
78
+ throw new Error(`${ErrorHandler_1.default.NO_PUBLIC_KEY_ERROR_MESSAGE}.`);
146
79
  }
147
- /**
148
- * @description Prints the output data and metadata to the console for multiple pieces of data.
149
- * @param encodedDataList An array of encoded data objects containing root and encodedData.
150
- */
151
- static _printOutput(encodedDataList) {
152
- console.log("\n===========OUTPUT=========================================================");
153
- console.log(`Processing Info:`);
154
- // Iterate through the array and print details for each entry
155
- encodedDataList.forEach(({ root, encodedData }) => {
156
- const rootMessage = root === "cwd" ? "current working directory" : "qmate module";
157
- console.log(`\x1b[33m - Public key is used from ${rootMessage}.\x1b[0m\n`);
158
- console.log("Encrypted Data ⬎");
159
- console.log(`\x1b[32m${encodedData}\x1b[0m\n`);
160
- });
161
- console.log("==========================================================================");
80
+ return publicKeys;
81
+ }
82
+ /**
83
+ * @description Encrypts the given data with the provided public key and options.
84
+ * @param data Data to be encrypted.
85
+ * @param publicKey Public key for encryption.
86
+ * @param options Encryption options.
87
+ * @returns The encrypted data.
88
+ */
89
+ static _encryptData(data, publicKey, options) {
90
+ try {
91
+ const encryptedDataByKey = crypto_1.default.publicEncrypt(
92
+ {
93
+ key: Util_1.default.parseKeyByEncoding(publicKey),
94
+ padding: crypto_1.default.constants.RSA_PKCS1_OAEP_PADDING,
95
+ oaepHash: "sha256"
96
+ },
97
+ Buffer.from(data)
98
+ );
99
+ return this._encryptDataWithPassword(encryptedDataByKey.toString("base64"), options);
100
+ } catch (error) {
101
+ ErrorHandler_1.default.handleAndThrowError(error);
162
102
  }
103
+ }
104
+ /**
105
+ * @description Encrypts data using AES-256-CBC encryption and PBKDF2 key derivation. The key is derived from the repo URL or a static password.
106
+ * @param data Data to be encrypted.
107
+ * @param options Encryption options.
108
+ * @returns The AES encrypted data.
109
+ */
110
+ static _encryptDataWithPassword(data, options) {
111
+ let key;
112
+ if (options.includeRepoUrl) {
113
+ const repoUrl = Util_1.default.getRepoUrl();
114
+ const repoUrlContractHashed = Util_1.default.unifyRepoUrl(repoUrl);
115
+ key = crypto_1.default.pbkdf2Sync(repoUrlContractHashed, common_1.SALT, common_1.ITERATIONS, common_1.KEY_LENGTH, common_1.DIGEST);
116
+ } else {
117
+ key = crypto_1.default.pbkdf2Sync(common_1.STATIC_PASSWORD, common_1.SALT, common_1.ITERATIONS, common_1.KEY_LENGTH, common_1.DIGEST);
118
+ }
119
+ const cipher = crypto_1.default.createCipheriv(common_1.ALGORITHM, key, common_1.IV);
120
+ let encryptedData = cipher.update(data, "utf-8", "hex");
121
+ encryptedData += cipher.final("hex");
122
+ return encryptedData;
123
+ }
124
+ /**
125
+ * @description Prints the input options and data to the console.
126
+ * @param options Encryption options.
127
+ * @param data Data to be encrypted.
128
+ */
129
+ static _printInput(data, options) {
130
+ console.log("\n===========INPUT==========================================================");
131
+ if (options.includeRepoUrl || options.useBase64Output || options.useBase64Input) {
132
+ console.log("Options:");
133
+ if (options.includeRepoUrl) {
134
+ console.log("\x1b[33m - Using repo URL in key derivation.\x1b[0m");
135
+ }
136
+ if (options.useBase64Input) {
137
+ console.log("\x1b[33m - Input data is processed as base64 format.\x1b[0m");
138
+ }
139
+ if (options.useBase64Output) {
140
+ console.log("\x1b[33m - Output data is displayed in base64 format.\x1b[0m");
141
+ }
142
+ console.log("");
143
+ }
144
+ console.log(`Input Data: ${data}`);
145
+ console.log("==========================================================================\n");
146
+ }
147
+ /**
148
+ * @description Prints the output data and metadata to the console for multiple pieces of data.
149
+ * @param encodedDataList An array of encoded data objects containing root and encodedData.
150
+ */
151
+ static _printOutput(encodedDataList) {
152
+ console.log("\n===========OUTPUT=========================================================");
153
+ console.log(`Processing Info:`);
154
+ // Iterate through the array and print details for each entry
155
+ encodedDataList.forEach(({ root, encodedData }) => {
156
+ const rootMessage = root === "cwd" ? "current working directory" : "qmate module";
157
+ console.log(`\x1b[33m - Public key is used from ${rootMessage}.\x1b[0m\n`);
158
+ console.log("Encrypted Data ⬎");
159
+ console.log(`\x1b[32m${encodedData}\x1b[0m\n`);
160
+ });
161
+ console.log("==========================================================================");
162
+ }
163
163
  }
164
164
  exports.default = Encrypter;
@@ -1,19 +1,19 @@
1
1
  import { KeyGenerationOptions } from "../types/common";
2
2
  export default abstract class KeyGenerator {
3
- /**
4
- * @description Generates a key pair and prints it to the console.
5
- * @param options Key generation options.
6
- */
7
- static generateKeyPair(options: KeyGenerationOptions): void;
8
- /**
9
- * @description Prints the input options to the console.
10
- * @param options Key generation options.
11
- */
12
- private static _printInput;
13
- /**
14
- * @description Prints the generated key pair to the console.
15
- * @param publicKey The generated public key.
16
- * @param privateKey The generated private key.
17
- */
18
- private static _printOutput;
3
+ /**
4
+ * @description Generates a key pair and prints it to the console.
5
+ * @param options Key generation options.
6
+ */
7
+ static generateKeyPair(options: KeyGenerationOptions): void;
8
+ /**
9
+ * @description Prints the input options to the console.
10
+ * @param options Key generation options.
11
+ */
12
+ private static _printInput;
13
+ /**
14
+ * @description Prints the generated key pair to the console.
15
+ * @param publicKey The generated public key.
16
+ * @param privateKey The generated private key.
17
+ */
18
+ private static _printOutput;
19
19
  }
@@ -1,53 +1,55 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ var __importDefault =
3
+ (this && this.__importDefault) ||
4
+ function (mod) {
5
+ return mod && mod.__esModule ? mod : { default: mod };
6
+ };
5
7
  Object.defineProperty(exports, "__esModule", { value: true });
6
8
  // Imports
7
9
  const crypto_1 = __importDefault(require("crypto"));
8
10
  // Constants
9
11
  const common_1 = require("../constants/common");
10
12
  class KeyGenerator {
11
- // ========================== Public functions ==========================
12
- /**
13
- * @description Generates a key pair and prints it to the console.
14
- * @param options Key generation options.
15
- */
16
- static generateKeyPair(options) {
17
- this._printInput(options);
18
- const { publicKey, privateKey } = crypto_1.default.generateKeyPairSync(common_1.KEY_TYPE, { modulusLength: 2048 });
19
- const publicKeyExported = publicKey.export({ type: common_1.KEY_EXPORT_TYPE, format: common_1.KEY_EXPORT_FORMAT });
20
- const privateKeyExported = privateKey.export({ type: common_1.KEY_EXPORT_TYPE, format: common_1.KEY_EXPORT_FORMAT });
21
- const publicKeyFormatted = options.useBase64Encoding ? Buffer.from(publicKeyExported, "utf8").toString("base64") : publicKeyExported;
22
- const privateKeyFormatted = options.useBase64Encoding ? Buffer.from(privateKeyExported, "utf8").toString("base64") : privateKeyExported;
23
- this._printOutput(publicKeyFormatted, privateKeyFormatted);
24
- }
25
- // ========================== Private functions ==========================
26
- /**
27
- * @description Prints the input options to the console.
28
- * @param options Key generation options.
29
- */
30
- static _printInput(options) {
31
- if (options.useBase64Encoding) {
32
- console.log("\n===========OPTIONS==========================================================");
33
- if (options.useBase64Encoding) {
34
- console.log("\x1b[33m - Output data is displayed in base64 format.\x1b[0m");
35
- }
36
- console.log("==========================================================================");
37
- }
38
- }
39
- /**
40
- * @description Prints the generated key pair to the console.
41
- * @param publicKey The generated public key.
42
- * @param privateKey The generated private key.
43
- */
44
- static _printOutput(publicKey, privateKey) {
45
- console.log("\n===========OUTPUT=========================================================");
46
- console.log("Public Key ⬎");
47
- console.log(`\x1b[32m${publicKey}\x1b[0m\n`);
48
- console.log("Private Key ⬎");
49
- console.log(`\x1b[33m${privateKey}\x1b[0m`);
50
- console.log("==========================================================================");
13
+ // ========================== Public functions ==========================
14
+ /**
15
+ * @description Generates a key pair and prints it to the console.
16
+ * @param options Key generation options.
17
+ */
18
+ static generateKeyPair(options) {
19
+ this._printInput(options);
20
+ const { publicKey, privateKey } = crypto_1.default.generateKeyPairSync(common_1.KEY_TYPE, { modulusLength: 2048 });
21
+ const publicKeyExported = publicKey.export({ type: common_1.KEY_EXPORT_TYPE, format: common_1.KEY_EXPORT_FORMAT });
22
+ const privateKeyExported = privateKey.export({ type: common_1.KEY_EXPORT_TYPE, format: common_1.KEY_EXPORT_FORMAT });
23
+ const publicKeyFormatted = options.useBase64Encoding ? Buffer.from(publicKeyExported, "utf8").toString("base64") : publicKeyExported;
24
+ const privateKeyFormatted = options.useBase64Encoding ? Buffer.from(privateKeyExported, "utf8").toString("base64") : privateKeyExported;
25
+ this._printOutput(publicKeyFormatted, privateKeyFormatted);
26
+ }
27
+ // ========================== Private functions ==========================
28
+ /**
29
+ * @description Prints the input options to the console.
30
+ * @param options Key generation options.
31
+ */
32
+ static _printInput(options) {
33
+ if (options.useBase64Encoding) {
34
+ console.log("\n===========OPTIONS==========================================================");
35
+ if (options.useBase64Encoding) {
36
+ console.log("\x1b[33m - Output data is displayed in base64 format.\x1b[0m");
37
+ }
38
+ console.log("==========================================================================");
51
39
  }
40
+ }
41
+ /**
42
+ * @description Prints the generated key pair to the console.
43
+ * @param publicKey The generated public key.
44
+ * @param privateKey The generated private key.
45
+ */
46
+ static _printOutput(publicKey, privateKey) {
47
+ console.log("\n===========OUTPUT=========================================================");
48
+ console.log("Public Key ⬎");
49
+ console.log(`\x1b[32m${publicKey}\x1b[0m\n`);
50
+ console.log("Private Key ⬎");
51
+ console.log(`\x1b[33m${privateKey}\x1b[0m`);
52
+ console.log("==========================================================================");
53
+ }
52
54
  }
53
55
  exports.default = KeyGenerator;
@@ -1,11 +1,11 @@
1
1
  import { DecryptionOptions } from "../../types/common";
2
2
  export default abstract class ErrorHandler {
3
- static UNKNOWN_ERROR_MESSAGE: string;
4
- static NO_PUBLIC_KEY_ERROR_MESSAGE: string;
5
- static NO_PRIVATE_KEY_ERROR_MESSAGE: string;
6
- static INVALID_PRIVATE_KEY_ERROR_MESSAGE: string;
7
- static DECRYPTION_ERROR_MESSAGE: string;
8
- static handleAndThrowError(error: Error | unknown, customMessage?: string): never;
9
- static handleDecryptDataWithPasswordError(error: Error, options: DecryptionOptions): string;
10
- static handleDecryptDataWithPrivateKeyError(error: Error): string;
3
+ static UNKNOWN_ERROR_MESSAGE: string;
4
+ static NO_PUBLIC_KEY_ERROR_MESSAGE: string;
5
+ static NO_PRIVATE_KEY_ERROR_MESSAGE: string;
6
+ static INVALID_PRIVATE_KEY_ERROR_MESSAGE: string;
7
+ static DECRYPTION_ERROR_MESSAGE: string;
8
+ static handleAndThrowError(error: Error | unknown, customMessage?: string): never;
9
+ static handleDecryptDataWithPasswordError(error: Error, options: DecryptionOptions): string;
10
+ static handleDecryptDataWithPrivateKeyError(error: Error): string;
11
11
  }