@wix/bex-core 2.328.0 → 2.330.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 (254) hide show
  1. package/dist/cjs/assets/locale/messages_ar.json +12 -0
  2. package/dist/cjs/assets/locale/messages_bg.json +12 -0
  3. package/dist/cjs/assets/locale/messages_ca.json +12 -0
  4. package/dist/cjs/assets/locale/messages_cs.json +12 -0
  5. package/dist/cjs/assets/locale/messages_da.json +17 -5
  6. package/dist/cjs/assets/locale/messages_de.json +12 -0
  7. package/dist/cjs/assets/locale/messages_el.json +12 -0
  8. package/dist/cjs/assets/locale/messages_en.json +12 -0
  9. package/dist/cjs/assets/locale/messages_es.json +16 -4
  10. package/dist/cjs/assets/locale/messages_fi.json +12 -0
  11. package/dist/cjs/assets/locale/messages_fr.json +12 -0
  12. package/dist/cjs/assets/locale/messages_he.json +12 -0
  13. package/dist/cjs/assets/locale/messages_hi.json +17 -5
  14. package/dist/cjs/assets/locale/messages_hu.json +12 -0
  15. package/dist/cjs/assets/locale/messages_id.json +17 -5
  16. package/dist/cjs/assets/locale/messages_it.json +17 -5
  17. package/dist/cjs/assets/locale/messages_ja.json +12 -0
  18. package/dist/cjs/assets/locale/messages_ko.json +17 -5
  19. package/dist/cjs/assets/locale/messages_lt.json +12 -0
  20. package/dist/cjs/assets/locale/messages_ms.json +12 -0
  21. package/dist/cjs/assets/locale/messages_nl.json +16 -4
  22. package/dist/cjs/assets/locale/messages_no.json +12 -0
  23. package/dist/cjs/assets/locale/messages_pl.json +12 -0
  24. package/dist/cjs/assets/locale/messages_pt.json +16 -4
  25. package/dist/cjs/assets/locale/messages_ro.json +12 -0
  26. package/dist/cjs/assets/locale/messages_ru.json +12 -0
  27. package/dist/cjs/assets/locale/messages_sk.json +12 -0
  28. package/dist/cjs/assets/locale/messages_sl.json +12 -0
  29. package/dist/cjs/assets/locale/messages_sv.json +17 -5
  30. package/dist/cjs/assets/locale/messages_th.json +17 -5
  31. package/dist/cjs/assets/locale/messages_tl.json +12 -0
  32. package/dist/cjs/assets/locale/messages_tr.json +17 -5
  33. package/dist/cjs/assets/locale/messages_uk.json +12 -0
  34. package/dist/cjs/assets/locale/messages_vi.json +17 -5
  35. package/dist/cjs/assets/locale/messages_zh.json +12 -0
  36. package/dist/cjs/assets/locale/version_file +1 -1
  37. package/dist/cjs/assets/visual-e2e-locale/messages_visuale2e.json +5 -1
  38. package/dist/cjs/hooks/useImport.js +7 -5
  39. package/dist/cjs/hooks/useImport.js.map +1 -1
  40. package/dist/cjs/hooks/useImportConfig.js.map +1 -1
  41. package/dist/cjs/index.js +5 -2
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/services/DataExtensionFieldOperationsService.js +3 -3
  44. package/dist/cjs/services/DataExtensionFieldOperationsService.js.map +1 -1
  45. package/dist/cjs/services/translations.js.map +1 -1
  46. package/dist/cjs/state/ArchiveFieldModalState.js +5 -8
  47. package/dist/cjs/state/ArchiveFieldModalState.js.map +1 -1
  48. package/dist/cjs/state/CustomFieldModalBiReporter.js +5 -9
  49. package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
  50. package/dist/cjs/state/CustomFieldModalState.js +32 -71
  51. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  52. package/dist/cjs/state/DataExtensionState.js +0 -12
  53. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  54. package/dist/cjs/state/DeleteFieldModalState.js +9 -11
  55. package/dist/cjs/state/DeleteFieldModalState.js.map +1 -1
  56. package/dist/cjs/state/{DataExtensionStateBIReporter.js → FieldOperationsBIReporter.js} +7 -32
  57. package/dist/cjs/state/FieldOperationsBIReporter.js.map +1 -0
  58. package/dist/cjs/state/ImportState/ImportState.js +383 -109
  59. package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
  60. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js +610 -0
  61. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -0
  62. package/dist/cjs/state/ImportState/__tests__/hubJobClient.spec.js +209 -0
  63. package/dist/cjs/state/ImportState/__tests__/hubJobClient.spec.js.map +1 -0
  64. package/dist/cjs/state/ImportState/__tests__/importJobPoller.spec.js +86 -0
  65. package/dist/cjs/state/ImportState/__tests__/importJobPoller.spec.js.map +1 -0
  66. package/dist/cjs/state/ImportState/__tests__/parseCsv.spec.js +52 -0
  67. package/dist/cjs/state/ImportState/__tests__/parseCsv.spec.js.map +1 -0
  68. package/dist/cjs/state/ImportState/__tests__/rewriteCsv.spec.js +81 -0
  69. package/dist/cjs/state/ImportState/__tests__/rewriteCsv.spec.js.map +1 -0
  70. package/dist/cjs/state/ImportState/fieldEdit.js +46 -0
  71. package/dist/cjs/state/ImportState/fieldEdit.js.map +1 -0
  72. package/dist/cjs/state/ImportState/hubJobClient.js +101 -0
  73. package/dist/cjs/state/ImportState/hubJobClient.js.map +1 -0
  74. package/dist/cjs/state/ImportState/importJobPoller.js +44 -0
  75. package/dist/cjs/state/ImportState/importJobPoller.js.map +1 -0
  76. package/dist/cjs/state/ImportState/index.js +12 -0
  77. package/dist/cjs/state/ImportState/index.js.map +1 -1
  78. package/dist/cjs/state/ImportState/parseCsv.js +39 -10
  79. package/dist/cjs/state/ImportState/parseCsv.js.map +1 -1
  80. package/dist/cjs/state/ImportState/rewriteCsv.js +46 -0
  81. package/dist/cjs/state/ImportState/rewriteCsv.js.map +1 -0
  82. package/dist/cjs/state/formatPermissionsForBi.js +36 -0
  83. package/dist/cjs/state/formatPermissionsForBi.js.map +1 -0
  84. package/dist/cjs/testkit/WixPatternsContainer.driver.js +4 -1
  85. package/dist/cjs/testkit/WixPatternsContainer.driver.js.map +1 -1
  86. package/dist/cjs/testkit/client.js +6 -0
  87. package/dist/cjs/testkit/client.js.map +1 -1
  88. package/dist/cjs/testkit/hubJobImportMocks.js +166 -0
  89. package/dist/cjs/testkit/hubJobImportMocks.js.map +1 -0
  90. package/dist/cjs/testkit/index.js +6 -0
  91. package/dist/cjs/testkit/index.js.map +1 -1
  92. package/dist/cjs/types/FieldsSource.js +4 -0
  93. package/dist/cjs/types/FieldsSource.js.map +1 -0
  94. package/dist/cjs/types/Schema.js.map +1 -1
  95. package/dist/cjs/types/SchemaSource.js +81 -0
  96. package/dist/cjs/types/SchemaSource.js.map +1 -0
  97. package/dist/esm/assets/locale/messages_ar.json +12 -0
  98. package/dist/esm/assets/locale/messages_bg.json +12 -0
  99. package/dist/esm/assets/locale/messages_ca.json +12 -0
  100. package/dist/esm/assets/locale/messages_cs.json +12 -0
  101. package/dist/esm/assets/locale/messages_da.json +17 -5
  102. package/dist/esm/assets/locale/messages_de.json +12 -0
  103. package/dist/esm/assets/locale/messages_el.json +12 -0
  104. package/dist/esm/assets/locale/messages_en.json +12 -0
  105. package/dist/esm/assets/locale/messages_es.json +16 -4
  106. package/dist/esm/assets/locale/messages_fi.json +12 -0
  107. package/dist/esm/assets/locale/messages_fr.json +12 -0
  108. package/dist/esm/assets/locale/messages_he.json +12 -0
  109. package/dist/esm/assets/locale/messages_hi.json +17 -5
  110. package/dist/esm/assets/locale/messages_hu.json +12 -0
  111. package/dist/esm/assets/locale/messages_id.json +17 -5
  112. package/dist/esm/assets/locale/messages_it.json +17 -5
  113. package/dist/esm/assets/locale/messages_ja.json +12 -0
  114. package/dist/esm/assets/locale/messages_ko.json +17 -5
  115. package/dist/esm/assets/locale/messages_lt.json +12 -0
  116. package/dist/esm/assets/locale/messages_ms.json +12 -0
  117. package/dist/esm/assets/locale/messages_nl.json +16 -4
  118. package/dist/esm/assets/locale/messages_no.json +12 -0
  119. package/dist/esm/assets/locale/messages_pl.json +12 -0
  120. package/dist/esm/assets/locale/messages_pt.json +16 -4
  121. package/dist/esm/assets/locale/messages_ro.json +12 -0
  122. package/dist/esm/assets/locale/messages_ru.json +12 -0
  123. package/dist/esm/assets/locale/messages_sk.json +12 -0
  124. package/dist/esm/assets/locale/messages_sl.json +12 -0
  125. package/dist/esm/assets/locale/messages_sv.json +17 -5
  126. package/dist/esm/assets/locale/messages_th.json +17 -5
  127. package/dist/esm/assets/locale/messages_tl.json +12 -0
  128. package/dist/esm/assets/locale/messages_tr.json +17 -5
  129. package/dist/esm/assets/locale/messages_uk.json +12 -0
  130. package/dist/esm/assets/locale/messages_vi.json +17 -5
  131. package/dist/esm/assets/locale/messages_zh.json +12 -0
  132. package/dist/esm/assets/locale/version_file +1 -1
  133. package/dist/esm/assets/visual-e2e-locale/messages_visuale2e.json +5 -1
  134. package/dist/esm/hooks/useImport.js +5 -4
  135. package/dist/esm/hooks/useImport.js.map +1 -1
  136. package/dist/esm/hooks/useImportConfig.js.map +1 -1
  137. package/dist/esm/index.js +1 -0
  138. package/dist/esm/index.js.map +1 -1
  139. package/dist/esm/services/DataExtensionFieldOperationsService.js +3 -3
  140. package/dist/esm/services/DataExtensionFieldOperationsService.js.map +1 -1
  141. package/dist/esm/state/ArchiveFieldModalState.js +4 -7
  142. package/dist/esm/state/ArchiveFieldModalState.js.map +1 -1
  143. package/dist/esm/state/CustomFieldModalBiReporter.js +5 -8
  144. package/dist/esm/state/CustomFieldModalBiReporter.js.map +1 -1
  145. package/dist/esm/state/CustomFieldModalState.js +28 -52
  146. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  147. package/dist/esm/state/DataExtensionState.js +0 -10
  148. package/dist/esm/state/DataExtensionState.js.map +1 -1
  149. package/dist/esm/state/DeleteFieldModalState.js +7 -10
  150. package/dist/esm/state/DeleteFieldModalState.js.map +1 -1
  151. package/dist/esm/state/{DataExtensionStateBIReporter.js → FieldOperationsBIReporter.js} +5 -25
  152. package/dist/esm/state/FieldOperationsBIReporter.js.map +1 -0
  153. package/dist/esm/state/ImportState/ImportState.js +314 -101
  154. package/dist/esm/state/ImportState/ImportState.js.map +1 -1
  155. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js +434 -0
  156. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -0
  157. package/dist/esm/state/ImportState/__tests__/hubJobClient.spec.js +139 -0
  158. package/dist/esm/state/ImportState/__tests__/hubJobClient.spec.js.map +1 -0
  159. package/dist/esm/state/ImportState/__tests__/importJobPoller.spec.js +62 -0
  160. package/dist/esm/state/ImportState/__tests__/importJobPoller.spec.js.map +1 -0
  161. package/dist/esm/state/ImportState/__tests__/parseCsv.spec.js +59 -0
  162. package/dist/esm/state/ImportState/__tests__/parseCsv.spec.js.map +1 -0
  163. package/dist/esm/state/ImportState/__tests__/rewriteCsv.spec.js +68 -0
  164. package/dist/esm/state/ImportState/__tests__/rewriteCsv.spec.js.map +1 -0
  165. package/dist/esm/state/ImportState/fieldEdit.js +33 -0
  166. package/dist/esm/state/ImportState/fieldEdit.js.map +1 -0
  167. package/dist/esm/state/ImportState/hubJobClient.js +43 -0
  168. package/dist/esm/state/ImportState/hubJobClient.js.map +1 -0
  169. package/dist/esm/state/ImportState/importJobPoller.js +34 -0
  170. package/dist/esm/state/ImportState/importJobPoller.js.map +1 -0
  171. package/dist/esm/state/ImportState/index.js +2 -0
  172. package/dist/esm/state/ImportState/index.js.map +1 -1
  173. package/dist/esm/state/ImportState/parseCsv.js +34 -10
  174. package/dist/esm/state/ImportState/parseCsv.js.map +1 -1
  175. package/dist/esm/state/ImportState/rewriteCsv.js +39 -0
  176. package/dist/esm/state/ImportState/rewriteCsv.js.map +1 -0
  177. package/dist/esm/state/formatPermissionsForBi.js +26 -0
  178. package/dist/esm/state/formatPermissionsForBi.js.map +1 -0
  179. package/dist/esm/testkit/WixPatternsContainer.driver.js +4 -1
  180. package/dist/esm/testkit/WixPatternsContainer.driver.js.map +1 -1
  181. package/dist/esm/testkit/client.js +1 -0
  182. package/dist/esm/testkit/client.js.map +1 -1
  183. package/dist/esm/testkit/hubJobImportMocks.js +173 -0
  184. package/dist/esm/testkit/hubJobImportMocks.js.map +1 -0
  185. package/dist/esm/testkit/index.js +1 -0
  186. package/dist/esm/testkit/index.js.map +1 -1
  187. package/dist/esm/types/FieldsSource.js +2 -0
  188. package/dist/esm/types/FieldsSource.js.map +1 -0
  189. package/dist/esm/types/SchemaSource.js +52 -0
  190. package/dist/esm/types/SchemaSource.js.map +1 -0
  191. package/dist/types/hooks/useImport.d.ts +5 -3
  192. package/dist/types/hooks/useImport.d.ts.map +1 -1
  193. package/dist/types/hooks/useImportConfig.d.ts +2 -3
  194. package/dist/types/hooks/useImportConfig.d.ts.map +1 -1
  195. package/dist/types/index.d.ts +4 -1
  196. package/dist/types/index.d.ts.map +1 -1
  197. package/dist/types/services/translations.d.ts +1 -1
  198. package/dist/types/services/translations.d.ts.map +1 -1
  199. package/dist/types/state/ArchiveFieldModalState.d.ts +7 -5
  200. package/dist/types/state/ArchiveFieldModalState.d.ts.map +1 -1
  201. package/dist/types/state/CustomFieldModalBiReporter.d.ts +4 -3
  202. package/dist/types/state/CustomFieldModalBiReporter.d.ts.map +1 -1
  203. package/dist/types/state/CustomFieldModalState.d.ts +12 -6
  204. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  205. package/dist/types/state/DataExtensionState.d.ts +0 -2
  206. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  207. package/dist/types/state/DeleteFieldModalState.d.ts +8 -5
  208. package/dist/types/state/DeleteFieldModalState.d.ts.map +1 -1
  209. package/dist/types/state/{DataExtensionStateBIReporter.d.ts → FieldOperationsBIReporter.d.ts} +4 -5
  210. package/dist/types/state/FieldOperationsBIReporter.d.ts.map +1 -0
  211. package/dist/types/state/ImportState/ImportState.d.ts +120 -20
  212. package/dist/types/state/ImportState/ImportState.d.ts.map +1 -1
  213. package/dist/types/state/ImportState/__tests__/ImportState.engine.spec.d.ts +2 -0
  214. package/dist/types/state/ImportState/__tests__/ImportState.engine.spec.d.ts.map +1 -0
  215. package/dist/types/state/ImportState/__tests__/hubJobClient.spec.d.ts +2 -0
  216. package/dist/types/state/ImportState/__tests__/hubJobClient.spec.d.ts.map +1 -0
  217. package/dist/types/state/ImportState/__tests__/importJobPoller.spec.d.ts +2 -0
  218. package/dist/types/state/ImportState/__tests__/importJobPoller.spec.d.ts.map +1 -0
  219. package/dist/types/state/ImportState/__tests__/parseCsv.spec.d.ts +2 -0
  220. package/dist/types/state/ImportState/__tests__/parseCsv.spec.d.ts.map +1 -0
  221. package/dist/types/state/ImportState/__tests__/rewriteCsv.spec.d.ts +2 -0
  222. package/dist/types/state/ImportState/__tests__/rewriteCsv.spec.d.ts.map +1 -0
  223. package/dist/types/state/ImportState/fieldEdit.d.ts +10 -0
  224. package/dist/types/state/ImportState/fieldEdit.d.ts.map +1 -0
  225. package/dist/types/state/ImportState/hubJobClient.d.ts +47 -0
  226. package/dist/types/state/ImportState/hubJobClient.d.ts.map +1 -0
  227. package/dist/types/state/ImportState/importJobPoller.d.ts +20 -0
  228. package/dist/types/state/ImportState/importJobPoller.d.ts.map +1 -0
  229. package/dist/types/state/ImportState/index.d.ts +2 -0
  230. package/dist/types/state/ImportState/index.d.ts.map +1 -1
  231. package/dist/types/state/ImportState/parseCsv.d.ts +7 -0
  232. package/dist/types/state/ImportState/parseCsv.d.ts.map +1 -1
  233. package/dist/types/state/ImportState/rewriteCsv.d.ts +25 -0
  234. package/dist/types/state/ImportState/rewriteCsv.d.ts.map +1 -0
  235. package/dist/types/state/formatPermissionsForBi.d.ts +7 -0
  236. package/dist/types/state/formatPermissionsForBi.d.ts.map +1 -0
  237. package/dist/types/testkit/WixPatternsContainer.driver.d.ts +22 -0
  238. package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
  239. package/dist/types/testkit/client.d.ts +1 -0
  240. package/dist/types/testkit/client.d.ts.map +1 -1
  241. package/dist/types/testkit/hubJobImportMocks.d.ts +40 -0
  242. package/dist/types/testkit/hubJobImportMocks.d.ts.map +1 -0
  243. package/dist/types/testkit/index.d.ts +1 -0
  244. package/dist/types/testkit/index.d.ts.map +1 -1
  245. package/dist/types/types/FieldsSource.d.ts +116 -0
  246. package/dist/types/types/FieldsSource.d.ts.map +1 -0
  247. package/dist/types/types/Schema.d.ts +28 -11
  248. package/dist/types/types/Schema.d.ts.map +1 -1
  249. package/dist/types/types/SchemaSource.d.ts +60 -0
  250. package/dist/types/types/SchemaSource.d.ts.map +1 -0
  251. package/package.json +4 -4
  252. package/dist/cjs/state/DataExtensionStateBIReporter.js.map +0 -1
  253. package/dist/esm/state/DataExtensionStateBIReporter.js.map +0 -1
  254. package/dist/types/state/DataExtensionStateBIReporter.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PATTERNS_TO_NEW_FIELD_TYPE","SHORT_TEXT","LONG_TEXT","NUMBER","DATE","DATETIME","BOOLEAN","URL","IMAGE","VIDEO","DOCUMENT","AUDIO","toNewFieldType","type","exports","toFieldEdit","field","config","validation","isPii","helpText","fieldType","displayName","Object","keys","length","undefined"],"sources":["../../../../src/state/ImportState/fieldEdit.ts"],"sourcesContent":["import type { FieldSpec, PatternsFieldType } from '../../types/Field';\nimport type { NewFieldType } from './detectFieldType';\nimport type { NewFieldConfig } from './ImportState';\n\n// Reverse of the import detector's vocabulary: maps a schema field type\n// (`PatternsFieldType`, uppercase) back to the import flow's `NewFieldType`. Only\n// the types the field editor can produce need entries; anything else falls back\n// to `text`.\nconst PATTERNS_TO_NEW_FIELD_TYPE: Partial<\n Record<PatternsFieldType, NewFieldType>\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n DATE: 'date',\n DATETIME: 'date',\n BOOLEAN: 'boolean',\n URL: 'url',\n IMAGE: 'image',\n VIDEO: 'video',\n DOCUMENT: 'document',\n AUDIO: 'audio',\n};\n\nexport const toNewFieldType = (type: PatternsFieldType): NewFieldType =>\n PATTERNS_TO_NEW_FIELD_TYPE[type] ?? 'text';\n\n// Converts an edited field spec (the field editor's output) into the per-column\n// new-field type + config the import flow stores via `setNewFieldConfig`.\nexport function toFieldEdit(field: FieldSpec): {\n fieldType: NewFieldType;\n displayName: string;\n config?: NewFieldConfig;\n} {\n const config: NewFieldConfig = {\n ...(field.validation && { validation: field.validation }),\n ...(field.isPii && { isPii: true }),\n ...(field.helpText && { helpText: field.helpText }),\n };\n return {\n fieldType: toNewFieldType(field.type),\n displayName: field.displayName,\n config: Object.keys(config).length > 0 ? config : undefined,\n };\n}\n"],"mappings":";;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,0BAEL,GAAG;EACFC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,cAAc,GAAIC,IAAuB,IACpDb,0BAA0B,CAACa,IAAI,CAAC,IAAI,MAAM;;AAE5C;AACA;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AACO,SAASG,WAAWA,CAACC,KAAgB,EAI1C;EACA,MAAMC,MAAsB,GAAG;IAC7B,IAAID,KAAK,CAACE,UAAU,IAAI;MAAEA,UAAU,EAAEF,KAAK,CAACE;IAAW,CAAC,CAAC;IACzD,IAAIF,KAAK,CAACG,KAAK,IAAI;MAAEA,KAAK,EAAE;IAAK,CAAC,CAAC;IACnC,IAAIH,KAAK,CAACI,QAAQ,IAAI;MAAEA,QAAQ,EAAEJ,KAAK,CAACI;IAAS,CAAC;EACpD,CAAC;EACD,OAAO;IACLC,SAAS,EAAET,cAAc,CAACI,KAAK,CAACH,IAAI,CAAC;IACrCS,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BL,MAAM,EAAEM,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAG,CAAC,GAAGR,MAAM,GAAGS;EACpD,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.createHubJobClient = createHubJobClient;
5
+ var _http = require("@wix/bex-utils/@wix/ambassador-hub-v1-job/http");
6
+ var _types = require("@wix/bex-utils/@wix/ambassador-hub-v1-job/types");
7
+ /**
8
+ * Thin wrapper over the Hub Job (data-movement) API used by the server-side
9
+ * import. Each call goes through `errorHandler.withErrorHandler` and the
10
+ * container's `httpClient`, mirroring `ExportState`.
11
+ *
12
+ * Holds no observable state — it's a standalone unit consumed by `ImportState`.
13
+ */
14
+
15
+ function createHubJobClient({
16
+ httpClient,
17
+ errorHandler
18
+ }) {
19
+ // Empty error-code map = default handling. Specific codes/messages need
20
+ // translation keys and are deferred to the translations task.
21
+ return {
22
+ async uploadFile(file) {
23
+ const {
24
+ data: {
25
+ uploadUrl,
26
+ fileId
27
+ }
28
+ } = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.createFileUploadUrl)({
29
+ fileName: file.name
30
+ })), {});
31
+ if (!uploadUrl || !fileId) {
32
+ throw new Error('createFileUploadUrl returned no uploadUrl/fileId');
33
+ }
34
+ await errorHandler.withErrorHandler(() => httpClient.request({
35
+ url: uploadUrl,
36
+ method: 'PUT',
37
+ data: file
38
+ }), {});
39
+ return fileId;
40
+ },
41
+ async submitImportJob({
42
+ fileId,
43
+ destination,
44
+ name,
45
+ fileFormat = _types.FileFormat.CSV,
46
+ transformations
47
+ }) {
48
+ const {
49
+ data: {
50
+ job
51
+ }
52
+ } = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.submitJob)({
53
+ name,
54
+ source: {
55
+ file: {
56
+ fileId,
57
+ format: fileFormat
58
+ }
59
+ },
60
+ destination,
61
+ ...(transformations && {
62
+ transformations
63
+ })
64
+ })), {});
65
+ if (!(job != null && job.id)) {
66
+ throw new Error('submitJob returned no job id');
67
+ }
68
+ return job.id;
69
+ },
70
+ async getJob(jobId) {
71
+ const {
72
+ data: {
73
+ job
74
+ }
75
+ } = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.getJob)({
76
+ jobId
77
+ })), {});
78
+ if (!job) {
79
+ throw new Error(`getJob returned no job for "${jobId}"`);
80
+ }
81
+ return job;
82
+ },
83
+ async terminateJob(jobId) {
84
+ await errorHandler.withErrorHandler(() => httpClient.request((0, _http.terminateJob)({
85
+ jobId
86
+ })), {});
87
+ },
88
+ async listMovementLogs(jobId, paging) {
89
+ const {
90
+ data
91
+ } = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.listMovementLogs)({
92
+ jobId,
93
+ ...(paging && {
94
+ paging
95
+ })
96
+ })), {});
97
+ return data;
98
+ }
99
+ };
100
+ }
101
+ //# sourceMappingURL=hubJobClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_http","require","_types","createHubJobClient","httpClient","errorHandler","uploadFile","file","data","uploadUrl","fileId","withErrorHandler","request","createFileUploadUrlRequest","fileName","name","Error","url","method","submitImportJob","destination","fileFormat","FileFormat","CSV","transformations","job","submitJobRequest","source","format","id","getJob","jobId","getJobRequest","terminateJob","terminateJobRequest","listMovementLogs","paging","listMovementLogsRequest"],"sources":["../../../../src/state/ImportState/hubJobClient.ts"],"sourcesContent":["import {\n submitJob as submitJobRequest,\n createFileUploadUrl as createFileUploadUrlRequest,\n getJob as getJobRequest,\n terminateJob as terminateJobRequest,\n listMovementLogs as listMovementLogsRequest,\n} from '@wix/bex-utils/@wix/ambassador-hub-v1-job/http';\nimport {\n FileFormat,\n type Destination,\n type DataMovementJob,\n type ListMovementLogsResponse,\n type Transformation,\n type CursorPaging,\n} from '@wix/bex-utils/@wix/ambassador-hub-v1-job/types';\nimport type { PatternsErrorHandler } from '../../model';\nimport type { HttpClient } from '../../model/httpClient';\n\nexport interface HubJobClientDeps {\n httpClient: HttpClient;\n errorHandler: PatternsErrorHandler;\n}\n\nexport interface SubmitImportJobParams {\n /** File id returned by `uploadFile`. */\n fileId: string;\n /**\n * Where the job writes. A union (`wixDataCollection`, `storesCatalogProducts`,\n * …) so platformized services pass their own variant — the client stays\n * neutral to that choice (see plan O6).\n */\n destination: Destination;\n /** Job name (the original file name). */\n name?: string;\n /** Source file format. Defaults to CSV. */\n fileFormat?: FileFormat;\n transformations?: Transformation[];\n}\n\n/**\n * Thin wrapper over the Hub Job (data-movement) API used by the server-side\n * import. Each call goes through `errorHandler.withErrorHandler` and the\n * container's `httpClient`, mirroring `ExportState`.\n *\n * Holds no observable state — it's a standalone unit consumed by `ImportState`.\n */\nexport interface HubJobClient {\n /**\n * Reserves an upload URL, PUTs the file, and returns its `fileId`.\n * Cancellation is handled at the job level via `terminateJob`, not by\n * aborting this upload.\n */\n uploadFile(file: File): Promise<string>;\n /** Submits an import job from an uploaded file; returns the `jobId`. */\n submitImportJob(params: SubmitImportJobParams): Promise<string>;\n /** Fetches a job's current state (status + progress) for polling. */\n getJob(jobId: string): Promise<DataMovementJob>;\n /** Requests termination of a running job. Does not roll back written rows. */\n terminateJob(jobId: string): Promise<void>;\n /** Lists per-row movement logs (source of the failed-rows report). */\n listMovementLogs(\n jobId: string,\n paging?: CursorPaging,\n ): Promise<ListMovementLogsResponse>;\n}\n\nexport function createHubJobClient({\n httpClient,\n errorHandler,\n}: HubJobClientDeps): HubJobClient {\n // Empty error-code map = default handling. Specific codes/messages need\n // translation keys and are deferred to the translations task.\n return {\n async uploadFile(file) {\n const {\n data: { uploadUrl, fileId },\n } = await errorHandler.withErrorHandler(\n () =>\n httpClient.request(\n createFileUploadUrlRequest({ fileName: file.name }),\n ),\n {},\n );\n\n if (!uploadUrl || !fileId) {\n throw new Error('createFileUploadUrl returned no uploadUrl/fileId');\n }\n\n await errorHandler.withErrorHandler(\n () => httpClient.request({ url: uploadUrl, method: 'PUT', data: file }),\n {},\n );\n\n return fileId;\n },\n\n async submitImportJob({\n fileId,\n destination,\n name,\n fileFormat = FileFormat.CSV,\n transformations,\n }) {\n const {\n data: { job },\n } = await errorHandler.withErrorHandler(\n () =>\n httpClient.request(\n submitJobRequest({\n name,\n source: { file: { fileId, format: fileFormat } },\n destination,\n ...(transformations && { transformations }),\n }),\n ),\n {},\n );\n\n if (!job?.id) {\n throw new Error('submitJob returned no job id');\n }\n\n return job.id;\n },\n\n async getJob(jobId) {\n const {\n data: { job },\n } = await errorHandler.withErrorHandler(\n () => httpClient.request(getJobRequest({ jobId })),\n {},\n );\n\n if (!job) {\n throw new Error(`getJob returned no job for \"${jobId}\"`);\n }\n\n return job;\n },\n\n async terminateJob(jobId) {\n await errorHandler.withErrorHandler(\n () => httpClient.request(terminateJobRequest({ jobId })),\n {},\n );\n },\n\n async listMovementLogs(jobId, paging) {\n const { data } = await errorHandler.withErrorHandler(\n () =>\n httpClient.request(\n listMovementLogsRequest({ jobId, ...(paging && { paging }) }),\n ),\n {},\n );\n\n return data;\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.JOB_POLL_INTERVAL_MS = void 0;
5
+ exports.isTerminalJobStatus = isTerminalJobStatus;
6
+ exports.pollImportJob = pollImportJob;
7
+ var _types = require("@wix/bex-utils/@wix/ambassador-hub-v1-job/types");
8
+ const JOB_POLL_INTERVAL_MS = exports.JOB_POLL_INTERVAL_MS = 2000;
9
+
10
+ /** A job is terminal once it has succeeded, partially succeeded, or failed. */
11
+ function isTerminalJobStatus(status) {
12
+ return status === _types.JobStatus.COMPLETED || status === _types.JobStatus.PARTIALLY_SUCCESSFUL || status === _types.JobStatus.FAILED;
13
+ }
14
+ /**
15
+ * Polls a data-movement job until it reaches a terminal status, then resolves
16
+ * with the terminal job. Resolves `null` if cancelled mid-poll. Pure async unit
17
+ * (no MobX) so `ImportState` stays thin and this is testable on its own.
18
+ */
19
+ async function pollImportJob(getJob, jobId, options = {}) {
20
+ const {
21
+ intervalMs = JOB_POLL_INTERVAL_MS,
22
+ onProgress,
23
+ isCancelled,
24
+ wait = defaultWait
25
+ } = options;
26
+ for (;;) {
27
+ if (isCancelled != null && isCancelled()) {
28
+ return null;
29
+ }
30
+ const job = await getJob(jobId);
31
+ onProgress == null || onProgress(job);
32
+ if (isTerminalJobStatus(job.status)) {
33
+ return job;
34
+ }
35
+ if (isCancelled != null && isCancelled()) {
36
+ return null;
37
+ }
38
+ await wait(intervalMs);
39
+ }
40
+ }
41
+ function defaultWait(ms) {
42
+ return new Promise(resolve => setTimeout(resolve, ms));
43
+ }
44
+ //# sourceMappingURL=importJobPoller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","JOB_POLL_INTERVAL_MS","exports","isTerminalJobStatus","status","JobStatus","COMPLETED","PARTIALLY_SUCCESSFUL","FAILED","pollImportJob","getJob","jobId","options","intervalMs","onProgress","isCancelled","wait","defaultWait","job","ms","Promise","resolve","setTimeout"],"sources":["../../../../src/state/ImportState/importJobPoller.ts"],"sourcesContent":["import {\n JobStatus,\n type DataMovementJob,\n} from '@wix/bex-utils/@wix/ambassador-hub-v1-job/types';\n\nexport const JOB_POLL_INTERVAL_MS = 2000;\n\n/** A job is terminal once it has succeeded, partially succeeded, or failed. */\nexport function isTerminalJobStatus(status?: JobStatus): boolean {\n return (\n status === JobStatus.COMPLETED ||\n status === JobStatus.PARTIALLY_SUCCESSFUL ||\n status === JobStatus.FAILED\n );\n}\n\nexport interface PollImportJobOptions {\n intervalMs?: number;\n /** Called with every fetched job, including the terminal one. */\n onProgress?: (job: DataMovementJob) => void;\n /** Polling stops and resolves `null` as soon as this returns true. */\n isCancelled?: () => boolean;\n /** Overridable wait between polls (tests inject a controllable timer). */\n wait?: (ms: number) => Promise<void>;\n}\n\n/**\n * Polls a data-movement job until it reaches a terminal status, then resolves\n * with the terminal job. Resolves `null` if cancelled mid-poll. Pure async unit\n * (no MobX) so `ImportState` stays thin and this is testable on its own.\n */\nexport async function pollImportJob(\n getJob: (jobId: string) => Promise<DataMovementJob>,\n jobId: string,\n options: PollImportJobOptions = {},\n): Promise<DataMovementJob | null> {\n const {\n intervalMs = JOB_POLL_INTERVAL_MS,\n onProgress,\n isCancelled,\n wait = defaultWait,\n } = options;\n\n for (;;) {\n if (isCancelled?.()) {\n return null;\n }\n\n const job = await getJob(jobId);\n onProgress?.(job);\n\n if (isTerminalJobStatus(job.status)) {\n return job;\n }\n\n if (isCancelled?.()) {\n return null;\n }\n\n await wait(intervalMs);\n }\n}\n\nfunction defaultWait(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKO,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAI;;AAExC;AACO,SAASE,mBAAmBA,CAACC,MAAkB,EAAW;EAC/D,OACEA,MAAM,KAAKC,gBAAS,CAACC,SAAS,IAC9BF,MAAM,KAAKC,gBAAS,CAACE,oBAAoB,IACzCH,MAAM,KAAKC,gBAAS,CAACG,MAAM;AAE/B;AAYA;AACA;AACA;AACA;AACA;AACO,eAAeC,aAAaA,CACjCC,MAAmD,EACnDC,KAAa,EACbC,OAA6B,GAAG,CAAC,CAAC,EACD;EACjC,MAAM;IACJC,UAAU,GAAGZ,oBAAoB;IACjCa,UAAU;IACVC,WAAW;IACXC,IAAI,GAAGC;EACT,CAAC,GAAGL,OAAO;EAEX,SAAS;IACP,IAAIG,WAAW,YAAXA,WAAW,CAAG,CAAC,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,MAAMG,GAAG,GAAG,MAAMR,MAAM,CAACC,KAAK,CAAC;IAC/BG,UAAU,YAAVA,UAAU,CAAGI,GAAG,CAAC;IAEjB,IAAIf,mBAAmB,CAACe,GAAG,CAACd,MAAM,CAAC,EAAE;MACnC,OAAOc,GAAG;IACZ;IAEA,IAAIH,WAAW,YAAXA,WAAW,CAAG,CAAC,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,MAAMC,IAAI,CAACH,UAAU,CAAC;EACxB;AACF;AAEA,SAASI,WAAWA,CAACE,EAAU,EAAiB;EAC9C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEF,EAAE,CAAC,CAAC;AAC1D","ignoreList":[]}
@@ -13,10 +13,22 @@ Object.keys(_parseCsv).forEach(function (key) {
13
13
  if (key in exports && exports[key] === _parseCsv[key]) return;
14
14
  exports[key] = _parseCsv[key];
15
15
  });
16
+ var _rewriteCsv = require("./rewriteCsv");
17
+ Object.keys(_rewriteCsv).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (key in exports && exports[key] === _rewriteCsv[key]) return;
20
+ exports[key] = _rewriteCsv[key];
21
+ });
16
22
  var _detectFieldType = require("./detectFieldType");
17
23
  Object.keys(_detectFieldType).forEach(function (key) {
18
24
  if (key === "default" || key === "__esModule") return;
19
25
  if (key in exports && exports[key] === _detectFieldType[key]) return;
20
26
  exports[key] = _detectFieldType[key];
21
27
  });
28
+ var _hubJobClient = require("./hubJobClient");
29
+ Object.keys(_hubJobClient).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _hubJobClient[key]) return;
32
+ exports[key] = _hubJobClient[key];
33
+ });
22
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_ImportState","require","Object","keys","forEach","key","exports","_parseCsv","_detectFieldType"],"sources":["../../../../src/state/ImportState/index.ts"],"sourcesContent":["export * from './ImportState';\nexport * from './parseCsv';\nexport * from './detectFieldType';\n"],"mappings":";;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,YAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,gBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,gBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,gBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,gBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ImportState","require","Object","keys","forEach","key","exports","_parseCsv","_rewriteCsv","_detectFieldType","_hubJobClient"],"sources":["../../../../src/state/ImportState/index.ts"],"sourcesContent":["export * from './ImportState';\nexport * from './parseCsv';\nexport * from './rewriteCsv';\nexport * from './detectFieldType';\nexport * from './hubJobClient';\n"],"mappings":";;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,YAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,SAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,SAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,SAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,SAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,WAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,WAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,WAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,WAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,gBAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,gBAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,gBAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,gBAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,aAAA,CAAAL,GAAA;AAAA","ignoreList":[]}
@@ -3,18 +3,10 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports.parseCsv = parseCsv;
6
+ exports.parseCsvSample = parseCsvSample;
6
7
  exports.unparseCsv = unparseCsv;
7
8
  var _papaparse = _interopRequireDefault(require("papaparse"));
8
- function parseCsv(content) {
9
- const result = _papaparse.default.parse(content, {
10
- skipEmptyLines: true
11
- });
12
- if (result.errors.length > 0) {
13
- return {
14
- code: 'PARSE_ERROR'
15
- };
16
- }
17
- const data = result.data;
9
+ function toParseResult(data) {
18
10
  if (!data || data.length === 0) {
19
11
  return {
20
12
  headers: [],
@@ -28,6 +20,43 @@ function parseCsv(content) {
28
20
  rows
29
21
  };
30
22
  }
23
+ function parseWith(content, extra) {
24
+ const result = _papaparse.default.parse(content, {
25
+ // Fix the delimiter to a comma rather than letting papaparse auto-detect:
26
+ // detection fails on single-column files (`UndetectableDelimiter`), and the
27
+ // import format is comma-separated anyway.
28
+ delimiter: ',',
29
+ skipEmptyLines: true,
30
+ ...extra
31
+ });
32
+
33
+ // `FieldMismatch` (a row with too few/many cells) is recoverable — papaparse
34
+ // still returns the row's data, and the rewrite/consumer pads or ignores
35
+ // extras. Treat only other error types as fatal.
36
+ const fatalErrors = result.errors.filter(error => error.type !== 'FieldMismatch');
37
+ if (fatalErrors.length > 0) {
38
+ return {
39
+ code: 'PARSE_ERROR'
40
+ };
41
+ }
42
+ return toParseResult(result.data);
43
+ }
44
+ function parseCsv(content) {
45
+ return parseWith(content, {});
46
+ }
47
+
48
+ /**
49
+ * Parses only the header row plus up to `maxRows` data rows — enough to drive
50
+ * the mapping UI and column type detection without reading the whole file
51
+ * (plan D1). Uses papaparse `preview` so parsing stops early instead of
52
+ * parsing everything and slicing.
53
+ */
54
+ function parseCsvSample(content, maxRows) {
55
+ // `preview` counts the header row, so add one to keep `maxRows` data rows.
56
+ return parseWith(content, {
57
+ preview: maxRows + 1
58
+ });
59
+ }
31
60
  function unparseCsv(headers, rows) {
32
61
  return _papaparse.default.unparse([headers, ...rows]);
33
62
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_papaparse","_interopRequireDefault","require","parseCsv","content","result","Papa","parse","skipEmptyLines","errors","length","code","data","headers","rows","slice","filter","row","some","cell","String","trim","unparseCsv","unparse"],"sources":["../../../../src/state/ImportState/parseCsv.ts"],"sourcesContent":["import Papa from 'papaparse';\n\nexport interface ParseCsvResult {\n headers: string[];\n rows: string[][];\n}\n\nexport interface ParseCsvError {\n code: 'PARSE_ERROR';\n}\n\nexport function parseCsv(content: string): ParseCsvResult | ParseCsvError {\n const result = Papa.parse<string[]>(content, {\n skipEmptyLines: true,\n });\n\n if (result.errors.length > 0) {\n return {\n code: 'PARSE_ERROR',\n };\n }\n\n const data = result.data;\n if (!data || data.length === 0) {\n return { headers: [], rows: [] };\n }\n\n const headers = data[0];\n const rows = data\n .slice(1)\n .filter((row) => row.some((cell) => String(cell).trim() !== ''));\n\n return { headers, rows };\n}\n\nexport function unparseCsv(headers: string[], rows: string[][]): string {\n return Papa.unparse([headers, ...rows]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAWO,SAASC,QAAQA,CAACC,OAAe,EAAkC;EACxE,MAAMC,MAAM,GAAGC,kBAAI,CAACC,KAAK,CAAWH,OAAO,EAAE;IAC3CI,cAAc,EAAE;EAClB,CAAC,CAAC;EAEF,IAAIH,MAAM,CAACI,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;IAC5B,OAAO;MACLC,IAAI,EAAE;IACR,CAAC;EACH;EAEA,MAAMC,IAAI,GAAGP,MAAM,CAACO,IAAI;EACxB,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACF,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO;MAAEG,OAAO,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAG,CAAC;EAClC;EAEA,MAAMD,OAAO,GAAGD,IAAI,CAAC,CAAC,CAAC;EACvB,MAAME,IAAI,GAAGF,IAAI,CACdG,KAAK,CAAC,CAAC,CAAC,CACRC,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAEC,IAAI,IAAKC,MAAM,CAACD,IAAI,CAAC,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;EAElE,OAAO;IAAER,OAAO;IAAEC;EAAK,CAAC;AAC1B;AAEO,SAASQ,UAAUA,CAACT,OAAiB,EAAEC,IAAgB,EAAU;EACtE,OAAOR,kBAAI,CAACiB,OAAO,CAAC,CAACV,OAAO,EAAE,GAAGC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
1
+ {"version":3,"names":["_papaparse","_interopRequireDefault","require","toParseResult","data","length","headers","rows","slice","filter","row","some","cell","String","trim","parseWith","content","extra","result","Papa","parse","delimiter","skipEmptyLines","fatalErrors","errors","error","type","code","parseCsv","parseCsvSample","maxRows","preview","unparseCsv","unparse"],"sources":["../../../../src/state/ImportState/parseCsv.ts"],"sourcesContent":["import Papa from 'papaparse';\n\nexport interface ParseCsvResult {\n headers: string[];\n rows: string[][];\n}\n\nexport interface ParseCsvError {\n code: 'PARSE_ERROR';\n}\n\nfunction toParseResult(data: string[][] | undefined): ParseCsvResult {\n if (!data || data.length === 0) {\n return { headers: [], rows: [] };\n }\n\n const headers = data[0];\n const rows = data\n .slice(1)\n .filter((row) => row.some((cell) => String(cell).trim() !== ''));\n\n return { headers, rows };\n}\n\nfunction parseWith(\n content: string,\n extra: Papa.ParseConfig<string[]>,\n): ParseCsvResult | ParseCsvError {\n const result = Papa.parse<string[]>(content, {\n // Fix the delimiter to a comma rather than letting papaparse auto-detect:\n // detection fails on single-column files (`UndetectableDelimiter`), and the\n // import format is comma-separated anyway.\n delimiter: ',',\n skipEmptyLines: true,\n ...extra,\n });\n\n // `FieldMismatch` (a row with too few/many cells) is recoverable — papaparse\n // still returns the row's data, and the rewrite/consumer pads or ignores\n // extras. Treat only other error types as fatal.\n const fatalErrors = result.errors.filter(\n (error) => error.type !== 'FieldMismatch',\n );\n if (fatalErrors.length > 0) {\n return {\n code: 'PARSE_ERROR',\n };\n }\n\n return toParseResult(result.data);\n}\n\nexport function parseCsv(content: string): ParseCsvResult | ParseCsvError {\n return parseWith(content, {});\n}\n\n/**\n * Parses only the header row plus up to `maxRows` data rows enough to drive\n * the mapping UI and column type detection without reading the whole file\n * (plan D1). Uses papaparse `preview` so parsing stops early instead of\n * parsing everything and slicing.\n */\nexport function parseCsvSample(\n content: string,\n maxRows: number,\n): ParseCsvResult | ParseCsvError {\n // `preview` counts the header row, so add one to keep `maxRows` data rows.\n return parseWith(content, { preview: maxRows + 1 });\n}\n\nexport function unparseCsv(headers: string[], rows: string[][]): string {\n return Papa.unparse([headers, ...rows]);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAWA,SAASC,aAAaA,CAACC,IAA4B,EAAkB;EACnE,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO;MAAEC,OAAO,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAG,CAAC;EAClC;EAEA,MAAMD,OAAO,GAAGF,IAAI,CAAC,CAAC,CAAC;EACvB,MAAMG,IAAI,GAAGH,IAAI,CACdI,KAAK,CAAC,CAAC,CAAC,CACRC,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAEC,IAAI,IAAKC,MAAM,CAACD,IAAI,CAAC,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;EAElE,OAAO;IAAER,OAAO;IAAEC;EAAK,CAAC;AAC1B;AAEA,SAASQ,SAASA,CAChBC,OAAe,EACfC,KAAiC,EACD;EAChC,MAAMC,MAAM,GAAGC,kBAAI,CAACC,KAAK,CAAWJ,OAAO,EAAE;IAC3C;IACA;IACA;IACAK,SAAS,EAAE,GAAG;IACdC,cAAc,EAAE,IAAI;IACpB,GAAGL;EACL,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAMM,WAAW,GAAGL,MAAM,CAACM,MAAM,CAACf,MAAM,CACrCgB,KAAK,IAAKA,KAAK,CAACC,IAAI,KAAK,eAC5B,CAAC;EACD,IAAIH,WAAW,CAAClB,MAAM,GAAG,CAAC,EAAE;IAC1B,OAAO;MACLsB,IAAI,EAAE;IACR,CAAC;EACH;EAEA,OAAOxB,aAAa,CAACe,MAAM,CAACd,IAAI,CAAC;AACnC;AAEO,SAASwB,QAAQA,CAACZ,OAAe,EAAkC;EACxE,OAAOD,SAAS,CAACC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASa,cAAcA,CAC5Bb,OAAe,EACfc,OAAe,EACiB;EAChC;EACA,OAAOf,SAAS,CAACC,OAAO,EAAE;IAAEe,OAAO,EAAED,OAAO,GAAG;EAAE,CAAC,CAAC;AACrD;AAEO,SAASE,UAAUA,CAAC1B,OAAiB,EAAEC,IAAgB,EAAU;EACtE,OAAOY,kBAAI,CAACc,OAAO,CAAC,CAAC3B,OAAO,EAAE,GAAGC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.rewriteCsvForImport = rewriteCsvForImport;
5
+ exports.rewriteParsedCsvForImport = rewriteParsedCsvForImport;
6
+ var _parseCsv = require("./parseCsv");
7
+ /**
8
+ * Rewrites a CSV so its header row matches the destination field keys and the
9
+ * columns the user chose to skip are dropped.
10
+ *
11
+ * The data-hub import maps columns to fields strictly by `header == field-key`
12
+ * (there is no server-side column mapping), so the chosen mapping has to be
13
+ * applied to the file itself before upload — see plan O1.
14
+ *
15
+ * `resolvedMapping` maps each *original* CSV header to its destination field
16
+ * key, or `null`/absent to skip that column — exactly what
17
+ * `ImportState._resolveFieldMapping` produces. Columns are kept in their
18
+ * original order (order is irrelevant to the server, which maps by header name,
19
+ * but it keeps the output readable).
20
+ *
21
+ * NOTE: this reads the whole file into memory. For very large files a streaming
22
+ * rewrite (papaparse `step`) would avoid that — deferred until it's a problem.
23
+ */
24
+ function rewriteCsvForImport(content, resolvedMapping) {
25
+ const parsed = (0, _parseCsv.parseCsv)(content);
26
+ if ('code' in parsed) {
27
+ throw new Error('Failed to parse CSV for import rewrite');
28
+ }
29
+ return rewriteParsedCsvForImport(parsed.headers, parsed.rows, resolvedMapping);
30
+ }
31
+
32
+ /**
33
+ * Same rewrite as {@link rewriteCsvForImport} but from already-parsed rows —
34
+ * used by `ImportState`, which holds the parsed CSV in memory and doesn't need
35
+ * to re-parse.
36
+ */
37
+ function rewriteParsedCsvForImport(headers, rows, resolvedMapping) {
38
+ const kept = headers.map((header, index) => ({
39
+ index,
40
+ key: resolvedMapping[header]
41
+ })).filter(col => col.key != null);
42
+ const newHeaders = kept.map(col => col.key);
43
+ const newRows = rows.map(row => kept.map(col => row[col.index] ?? ''));
44
+ return (0, _parseCsv.unparseCsv)(newHeaders, newRows);
45
+ }
46
+ //# sourceMappingURL=rewriteCsv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parseCsv","require","rewriteCsvForImport","content","resolvedMapping","parsed","parseCsv","Error","rewriteParsedCsvForImport","headers","rows","kept","map","header","index","key","filter","col","newHeaders","newRows","row","unparseCsv"],"sources":["../../../../src/state/ImportState/rewriteCsv.ts"],"sourcesContent":["import { parseCsv, unparseCsv } from './parseCsv';\n\n/**\n * Rewrites a CSV so its header row matches the destination field keys and the\n * columns the user chose to skip are dropped.\n *\n * The data-hub import maps columns to fields strictly by `header == field-key`\n * (there is no server-side column mapping), so the chosen mapping has to be\n * applied to the file itself before upload — see plan O1.\n *\n * `resolvedMapping` maps each *original* CSV header to its destination field\n * key, or `null`/absent to skip that column — exactly what\n * `ImportState._resolveFieldMapping` produces. Columns are kept in their\n * original order (order is irrelevant to the server, which maps by header name,\n * but it keeps the output readable).\n *\n * NOTE: this reads the whole file into memory. For very large files a streaming\n * rewrite (papaparse `step`) would avoid that — deferred until it's a problem.\n */\nexport function rewriteCsvForImport(\n content: string,\n resolvedMapping: Record<string, string | null>,\n): string {\n const parsed = parseCsv(content);\n if ('code' in parsed) {\n throw new Error('Failed to parse CSV for import rewrite');\n }\n\n return rewriteParsedCsvForImport(\n parsed.headers,\n parsed.rows,\n resolvedMapping,\n );\n}\n\n/**\n * Same rewrite as {@link rewriteCsvForImport} but from already-parsed rows —\n * used by `ImportState`, which holds the parsed CSV in memory and doesn't need\n * to re-parse.\n */\nexport function rewriteParsedCsvForImport(\n headers: string[],\n rows: string[][],\n resolvedMapping: Record<string, string | null>,\n): string {\n const kept = headers\n .map((header, index) => ({ index, key: resolvedMapping[header] }))\n .filter((col): col is { index: number; key: string } => col.key != null);\n\n const newHeaders = kept.map((col) => col.key);\n const newRows = rows.map((row) => kept.map((col) => row[col.index] ?? ''));\n\n return unparseCsv(newHeaders, newRows);\n}\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CACjCC,OAAe,EACfC,eAA8C,EACtC;EACR,MAAMC,MAAM,GAAG,IAAAC,kBAAQ,EAACH,OAAO,CAAC;EAChC,IAAI,MAAM,IAAIE,MAAM,EAAE;IACpB,MAAM,IAAIE,KAAK,CAAC,wCAAwC,CAAC;EAC3D;EAEA,OAAOC,yBAAyB,CAC9BH,MAAM,CAACI,OAAO,EACdJ,MAAM,CAACK,IAAI,EACXN,eACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,yBAAyBA,CACvCC,OAAiB,EACjBC,IAAgB,EAChBN,eAA8C,EACtC;EACR,MAAMO,IAAI,GAAGF,OAAO,CACjBG,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,MAAM;IAAEA,KAAK;IAAEC,GAAG,EAAEX,eAAe,CAACS,MAAM;EAAE,CAAC,CAAC,CAAC,CACjEG,MAAM,CAAEC,GAAG,IAA4CA,GAAG,CAACF,GAAG,IAAI,IAAI,CAAC;EAE1E,MAAMG,UAAU,GAAGP,IAAI,CAACC,GAAG,CAAEK,GAAG,IAAKA,GAAG,CAACF,GAAG,CAAC;EAC7C,MAAMI,OAAO,GAAGT,IAAI,CAACE,GAAG,CAAEQ,GAAG,IAAKT,IAAI,CAACC,GAAG,CAAEK,GAAG,IAAKG,GAAG,CAACH,GAAG,CAACH,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;EAE1E,OAAO,IAAAO,oBAAU,EAACH,UAAU,EAAEC,OAAO,CAAC;AACxC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.formatPermissionsForBi = void 0;
5
+ /**
6
+ * Turns a field's read/write selections into the string the BI `permissions`
7
+ * param expects, e.g. {"Installed apps":"Read and Write","Site visitors":null}.
8
+ */
9
+ const formatPermissionsForBi = formValues => {
10
+ const {
11
+ readApps,
12
+ readUsers,
13
+ writeApps,
14
+ writeUsers
15
+ } = formValues;
16
+ const apps = [];
17
+ const users = [];
18
+ if (readApps) {
19
+ apps.push('Read');
20
+ }
21
+ if (writeApps) {
22
+ apps.push('Write');
23
+ }
24
+ if (readUsers) {
25
+ users.push('Read');
26
+ }
27
+ if (writeUsers) {
28
+ users.push('Write');
29
+ }
30
+ return JSON.stringify({
31
+ 'Installed apps': apps.length !== 0 ? apps.join(' and ') : null,
32
+ 'Site visitors': users.length !== 0 ? users.join(' and ') : null
33
+ });
34
+ };
35
+ exports.formatPermissionsForBi = formatPermissionsForBi;
36
+ //# sourceMappingURL=formatPermissionsForBi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatPermissionsForBi","formValues","readApps","readUsers","writeApps","writeUsers","apps","users","push","JSON","stringify","length","join","exports"],"sources":["../../../src/state/formatPermissionsForBi.ts"],"sourcesContent":["import { FieldDraft } from '../types/FieldsSource';\n\n/**\n * Turns a field's read/write selections into the string the BI `permissions`\n * param expects, e.g. {\"Installed apps\":\"Read and Write\",\"Site visitors\":null}.\n */\nexport const formatPermissionsForBi = (formValues: FieldDraft): string => {\n const { readApps, readUsers, writeApps, writeUsers } = formValues;\n const apps = [];\n const users = [];\n\n if (readApps) {\n apps.push('Read');\n }\n\n if (writeApps) {\n apps.push('Write');\n }\n\n if (readUsers) {\n users.push('Read');\n }\n\n if (writeUsers) {\n users.push('Write');\n }\n\n return JSON.stringify({\n 'Installed apps': apps.length !== 0 ? apps.join(' and ') : null,\n 'Site visitors': users.length !== 0 ? users.join(' and ') : null,\n });\n};\n"],"mappings":";;;;AAEA;AACA;AACA;AACA;AACO,MAAMA,sBAAsB,GAAIC,UAAsB,IAAa;EACxE,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGJ,UAAU;EACjE,MAAMK,IAAI,GAAG,EAAE;EACf,MAAMC,KAAK,GAAG,EAAE;EAEhB,IAAIL,QAAQ,EAAE;IACZI,IAAI,CAACE,IAAI,CAAC,MAAM,CAAC;EACnB;EAEA,IAAIJ,SAAS,EAAE;IACbE,IAAI,CAACE,IAAI,CAAC,OAAO,CAAC;EACpB;EAEA,IAAIL,SAAS,EAAE;IACbI,KAAK,CAACC,IAAI,CAAC,MAAM,CAAC;EACpB;EAEA,IAAIH,UAAU,EAAE;IACdE,KAAK,CAACC,IAAI,CAAC,OAAO,CAAC;EACrB;EAEA,OAAOC,IAAI,CAACC,SAAS,CAAC;IACpB,gBAAgB,EAAEJ,IAAI,CAACK,MAAM,KAAK,CAAC,GAAGL,IAAI,CAACM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI;IAC/D,eAAe,EAAEL,KAAK,CAACI,MAAM,KAAK,CAAC,GAAGJ,KAAK,CAACK,IAAI,CAAC,OAAO,CAAC,GAAG;EAC9D,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -15,6 +15,7 @@ var _state = require("../state");
15
15
  var _partialLodashMock = require("../mocks/partialLodashMock");
16
16
  var _lodash = require("lodash");
17
17
  var _exportServiceMocks = require("./exportServiceMocks");
18
+ var _hubJobImportMocks = require("./hubJobImportMocks");
18
19
  var _navigationManager = require("../services/navigationManager");
19
20
  var _matchMediaMock = require("./matchMediaMock");
20
21
  var _jest = require("../test-utils/jest");
@@ -88,7 +89,9 @@ class WixPatternsContainerDriver {
88
89
  (0, _defineProperty2.default)(this, "dataCapsuleInstances", new Map());
89
90
  (0, _defineProperty2.default)(this, "componentSettingsInstances", new Map());
90
91
  (0, _defineProperty2.default)(this, "exportServiceMocks", void 0);
92
+ (0, _defineProperty2.default)(this, "hubJobImportMocks", void 0);
91
93
  this.exportServiceMocks = (0, _exportServiceMocks.exportServiceMocks)(_client.whenRequest);
94
+ this.hubJobImportMocks = (0, _hubJobImportMocks.hubJobImportMocks)(_client.whenRequest, _client.when);
92
95
  this.testContext = _testkit.testkit.getTestContext({
93
96
  experiments: {
94
97
  bag: overrides.experiments
@@ -105,7 +108,7 @@ class WixPatternsContainerDriver {
105
108
  scenarios: [
106
109
  /* metro-testkit currently takes the first mock it encounters per API,
107
110
  so overrides must be added before appSettingsMocks(whenRequest) */
108
- ...(overrides.appSettingsCustomMocks ?? []), ...(0, _appSettingsMocks.appSettingsMocks)(_client.whenRequest), ...this.exportServiceMocks.mocks, ...(overrides.httpMocks ?? [])]
111
+ ...(overrides.appSettingsCustomMocks ?? []), ...(0, _appSettingsMocks.appSettingsMocks)(_client.whenRequest), ...this.exportServiceMocks.mocks, ...this.hubJobImportMocks.mocks, ...(overrides.httpMocks ?? [])]
109
112
  }
110
113
  });
111
114
  this.testContext.essentials._parent.environment.artifactId = 'cairo';
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","_errorHandler","WixPatternsContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","contextType","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","essentials","_parent","artifactId","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","usePageLocation","navigateTo","onLayerStateChange","mockReturnValue","onNavigation","callback","state","prevented","pause","onBeforeUnloadMissingInEnvironment","onBeforeUnload","resume","preventDefault","events","once","leave","history","historyInstance","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","errorHandler","noErrorHandler","ErrorHandler","biLoggerOrFactory","asPartial","biLogger","biLoggerFactory","createErrorMonitor","options","createChildEssentials","createI18n","v2","undefined","componentId","join","providerType","environmentBI","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","i18nOptions","childEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","to","_this$navigateTo","call","navigateToPage","openMediaManager","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/WixPatternsContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n Trans,\n useExperiments,\n useTranslation,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n ContextType,\n GetHostContainer,\n OnBeforeUnload,\n OnLayerStateChange,\n OnNavigation,\n OpenMediaManager,\n ShowToast,\n WixPatternsEssentials,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\nimport { ErrorHandler } from '@wix/fe-essentials/error-handler';\n\nexport interface WixPatternsContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly historyInstance?: History;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly contextType?: ContextType;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly onLayerStateChange?: OnLayerStateChange;\n readonly openMediaManager?: OpenMediaManager;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n readonly fqdn?: string;\n readonly noErrorHandler?: boolean;\n}\n\nexport class WixPatternsContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly usePageLocation: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onLayerStateChange?: OnLayerStateChange;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: WixPatternsContainerDriverOverrides = {\n asMobileView: false,\n contextType: 'SITE',\n },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n (this.testContext as any).essentials._parent.environment.artifactId =\n 'cairo';\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.usePageLocation = overrides.usePageLocation ?? jest.fn();\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onLayerStateChange =\n overrides?.onLayerStateChange ??\n jest.fn().mockReturnValue({ remove: () => {} });\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n state.prevented = true;\n callback(state.pause);\n });\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n const { resume } = state.pause();\n\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = overrides.historyInstance || createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n errorHandler: !overrides.noErrorHandler\n ? new ErrorHandler({\n biLoggerOrFactory:\n this.testContext.asPartial.biLogger ??\n this.testContext.biLoggerFactory,\n createErrorMonitor: (options) =>\n this.testContext.createChildEssentials({ errorMonitor: options })\n .errorMonitor,\n environment: this.testContext.environment,\n createI18n: (options) =>\n this.testContext.createChildEssentials({ i18n: options }).i18n,\n }).v2\n : undefined,\n history: this.history,\n contextType: overrides.contextType,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n environmentBI: {\n artifactId: this.testContext.environment.artifactId,\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n 'specs.os.EnableErrorHandlerInEditor': 'true',\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n usePageLocation: this.usePageLocation,\n navigateTo: (to) => {\n this.navigateTo?.(to);\n this.navigationManager.navigateToPage(to);\n },\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n onLayerStateChange: this.onLayerStateChange,\n openMediaManager: overrides?.openMediaManager,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get errorHandler() {\n return this.container.errorHandler;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get environmentBI() {\n return this.container.environmentBI;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_hubJobImportMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","_errorHandler","WixPatternsContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","contextType","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","hubJobImportMocks","when","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","essentials","_parent","artifactId","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","usePageLocation","navigateTo","onLayerStateChange","mockReturnValue","onNavigation","callback","state","prevented","pause","onBeforeUnloadMissingInEnvironment","onBeforeUnload","resume","preventDefault","events","once","leave","history","historyInstance","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","errorHandler","noErrorHandler","ErrorHandler","biLoggerOrFactory","asPartial","biLogger","biLoggerFactory","createErrorMonitor","options","createChildEssentials","createI18n","v2","undefined","componentId","join","providerType","environmentBI","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","i18nOptions","childEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","to","_this$navigateTo","call","navigateToPage","openMediaManager","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/WixPatternsContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n Trans,\n useExperiments,\n useTranslation,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport {\n whenRequest,\n when,\n} from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n ContextType,\n GetHostContainer,\n OnBeforeUnload,\n OnLayerStateChange,\n OnNavigation,\n OpenMediaManager,\n ShowToast,\n WixPatternsEssentials,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { hubJobImportMocks } from './hubJobImportMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\nimport { ErrorHandler } from '@wix/fe-essentials/error-handler';\n\nexport interface WixPatternsContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly historyInstance?: History;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly contextType?: ContextType;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly onLayerStateChange?: OnLayerStateChange;\n readonly openMediaManager?: OpenMediaManager;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n readonly fqdn?: string;\n readonly noErrorHandler?: boolean;\n}\n\nexport class WixPatternsContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly usePageLocation: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onLayerStateChange?: OnLayerStateChange;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n readonly hubJobImportMocks;\n\n constructor(\n overrides: WixPatternsContainerDriverOverrides = {\n asMobileView: false,\n contextType: 'SITE',\n },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n this.hubJobImportMocks = hubJobImportMocks(whenRequest, when);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...this.hubJobImportMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n (this.testContext as any).essentials._parent.environment.artifactId =\n 'cairo';\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.usePageLocation = overrides.usePageLocation ?? jest.fn();\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onLayerStateChange =\n overrides?.onLayerStateChange ??\n jest.fn().mockReturnValue({ remove: () => {} });\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n state.prevented = true;\n callback(state.pause);\n });\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n const { resume } = state.pause();\n\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = overrides.historyInstance || createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n errorHandler: !overrides.noErrorHandler\n ? new ErrorHandler({\n biLoggerOrFactory:\n this.testContext.asPartial.biLogger ??\n this.testContext.biLoggerFactory,\n createErrorMonitor: (options) =>\n this.testContext.createChildEssentials({ errorMonitor: options })\n .errorMonitor,\n environment: this.testContext.environment,\n createI18n: (options) =>\n this.testContext.createChildEssentials({ i18n: options }).i18n,\n }).v2\n : undefined,\n history: this.history,\n contextType: overrides.contextType,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n environmentBI: {\n artifactId: this.testContext.environment.artifactId,\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n 'specs.os.EnableErrorHandlerInEditor': 'true',\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n usePageLocation: this.usePageLocation,\n navigateTo: (to) => {\n this.navigateTo?.(to);\n this.navigationManager.navigateToPage(to);\n },\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n onLayerStateChange: this.onLayerStateChange,\n openMediaManager: overrides?.openMediaManager,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get errorHandler() {\n return this.container.errorHandler;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get environmentBI() {\n return this.container.environmentBI;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,6 +25,12 @@ Object.keys(_exportServiceMocks).forEach(function (key) {
25
25
  if (key in exports && exports[key] === _exportServiceMocks[key]) return;
26
26
  exports[key] = _exportServiceMocks[key];
27
27
  });
28
+ var _hubJobImportMocks = require("./hubJobImportMocks");
29
+ Object.keys(_hubJobImportMocks).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _hubJobImportMocks[key]) return;
32
+ exports[key] = _hubJobImportMocks[key];
33
+ });
28
34
  var _appSettingsMocks = require("./appSettingsMocks");
29
35
  Object.keys(_appSettingsMocks).forEach(function (key) {
30
36
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_product","require","Object","keys","forEach","key","exports","_productFilters","_createProductsBackend","_exportServiceMocks","_appSettingsMocks"],"sources":["../../../src/testkit/client.ts"],"sourcesContent":["export * from './product';\nexport * from './productFilters';\nexport * from './createProductsBackend';\nexport * from './exportServiceMocks';\nexport * from './appSettingsMocks';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,eAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,eAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,eAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,eAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,sBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,sBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,sBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,sBAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,mBAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,mBAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,mBAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,mBAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,iBAAA,CAAAL,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_product","require","Object","keys","forEach","key","exports","_productFilters","_createProductsBackend","_exportServiceMocks","_hubJobImportMocks","_appSettingsMocks"],"sources":["../../../src/testkit/client.ts"],"sourcesContent":["export * from './product';\nexport * from './productFilters';\nexport * from './createProductsBackend';\nexport * from './exportServiceMocks';\nexport * from './hubJobImportMocks';\nexport * from './appSettingsMocks';\n"],"mappings":";;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,QAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,eAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,eAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,eAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,eAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,sBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,sBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,sBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,sBAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,mBAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,mBAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,mBAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,mBAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,kBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,kBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,kBAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,kBAAA,CAAAL,GAAA;AAAA;AACA,IAAAM,iBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,iBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,iBAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,iBAAA,CAAAN,GAAA;AAAA","ignoreList":[]}