@kaspernj/api-maker 1.0.2054 → 1.0.2056

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 (386) hide show
  1. package/build/api.js +65 -213
  2. package/build/attribute-not-loaded-error.js +3 -26
  3. package/build/base-component.js +4 -27
  4. package/build/base-error.js +21 -46
  5. package/build/base-model/attribute.js +15 -22
  6. package/build/base-model/column.js +5 -9
  7. package/build/base-model/reflection.js +12 -52
  8. package/build/base-model/scope.js +9 -46
  9. package/build/base-model.js +584 -837
  10. package/build/bootstrap/attribute-row.js +88 -173
  11. package/build/bootstrap/attribute-rows.js +22 -51
  12. package/build/bootstrap/card.js +77 -160
  13. package/build/bootstrap/checkbox.js +54 -103
  14. package/build/bootstrap/checkboxes.js +117 -203
  15. package/build/bootstrap/index.js +1 -1
  16. package/build/bootstrap/input.js +81 -132
  17. package/build/bootstrap/invalid-feedback.js +19 -47
  18. package/build/bootstrap/paginate.js +100 -165
  19. package/build/bootstrap/radio-buttons.js +44 -81
  20. package/build/bootstrap/select.js +44 -91
  21. package/build/bootstrap/sort-link.js +69 -152
  22. package/build/cable-connection-pool.js +44 -66
  23. package/build/cable-subscription-pool.js +105 -162
  24. package/build/cable-subscription.js +10 -17
  25. package/build/cache-key-generator.js +28 -37
  26. package/build/can-can.js +81 -202
  27. package/build/channels-consumer.js +6 -11
  28. package/build/collection-loader.js +36 -54
  29. package/build/collection.d.ts.map +1 -1
  30. package/build/collection.js +160 -308
  31. package/build/command-submit-data.d.ts +1 -1
  32. package/build/command-submit-data.d.ts.map +1 -1
  33. package/build/command-submit-data.js +30 -39
  34. package/build/commands-pool.js +140 -216
  35. package/build/compose.js +4 -12
  36. package/build/config.js +21 -68
  37. package/build/custom-error.js +5 -30
  38. package/build/data-set-to-attributes.js +6 -42
  39. package/build/deserializer.js +27 -80
  40. package/build/destroy-error.js +5 -30
  41. package/build/devise.js +84 -188
  42. package/build/draggable-sort/controller.js +88 -111
  43. package/build/draggable-sort/index.js +68 -145
  44. package/build/draggable-sort/item.js +132 -198
  45. package/build/error-logger.js +79 -164
  46. package/build/error-messages.js +5 -8
  47. package/build/event-connection.js +24 -62
  48. package/build/event-emitter-listener.js +7 -24
  49. package/build/event-model-class.js +20 -47
  50. package/build/events.js +4 -9
  51. package/build/form.js +66 -154
  52. package/build/history-expo.js +13 -25
  53. package/build/history-react-native.js +15 -27
  54. package/build/history.js +3 -5
  55. package/build/index.js +3 -6
  56. package/build/inputs/attachment.js +72 -123
  57. package/build/inputs/auto-submit.js +16 -55
  58. package/build/inputs/checkbox.js +78 -167
  59. package/build/inputs/checkboxes.js +76 -159
  60. package/build/inputs/id-for-component.js +5 -41
  61. package/build/inputs/input-wrapper.js +8 -27
  62. package/build/inputs/input.js +159 -245
  63. package/build/inputs/money.js +124 -186
  64. package/build/inputs/name-for-component.js +5 -41
  65. package/build/inputs/select.js +69 -123
  66. package/build/instance-of-class-name.js +16 -21
  67. package/build/is-expo.js +9 -11
  68. package/build/key-value-store.js +52 -128
  69. package/build/link.js +52 -115
  70. package/build/logger.js +20 -26
  71. package/build/merge-styles.js +6 -10
  72. package/build/modal.js +15 -62
  73. package/build/model-class-require.js +9 -44
  74. package/build/model-events.js +25 -34
  75. package/build/model-name.js +16 -57
  76. package/build/model-prop-type.js +52 -63
  77. package/build/model-recipes-loader.js +17 -25
  78. package/build/model-recipes-model-loader.d.ts +1 -1
  79. package/build/model-recipes-model-loader.js +130 -208
  80. package/build/models-response-reader.js +25 -66
  81. package/build/models.js +6 -11
  82. package/build/money-formatter.d.ts +2 -2
  83. package/build/money-formatter.d.ts.map +1 -1
  84. package/build/money-formatter.js +46 -56
  85. package/build/not-loaded-error.js +3 -26
  86. package/build/params.js +32 -42
  87. package/build/preloaded.js +19 -59
  88. package/build/resize-observer.js +6 -12
  89. package/build/rest-props-validator.js +5 -7
  90. package/build/result.js +11 -15
  91. package/build/router/route.js +179 -312
  92. package/build/router/switch.js +56 -130
  93. package/build/router.js +34 -94
  94. package/build/routes-native.js +64 -148
  95. package/build/routes.js +26 -80
  96. package/build/run-last.js +20 -25
  97. package/build/serializer.js +29 -34
  98. package/build/services.js +10 -19
  99. package/build/session-status-updater.js +85 -184
  100. package/build/source-maps-loader.d.ts +37 -0
  101. package/build/source-maps-loader.d.ts.map +1 -0
  102. package/build/source-maps-loader.js +103 -225
  103. package/build/super-admin/config-reader.d.ts +2 -2
  104. package/build/super-admin/config-reader.js +42 -83
  105. package/build/super-admin/edit-page/edit-attribute-checkbox.js +53 -115
  106. package/build/super-admin/edit-page/edit-attribute-content.js +47 -77
  107. package/build/super-admin/edit-page/edit-attribute-input.js +57 -119
  108. package/build/super-admin/edit-page/edit-attribute.js +40 -104
  109. package/build/super-admin/edit-page.js +88 -201
  110. package/build/super-admin/has-edit-config.js +7 -13
  111. package/build/super-admin/index-page.js +17 -44
  112. package/build/super-admin/index.js +87 -210
  113. package/build/super-admin/layout/header/index.js +91 -152
  114. package/build/super-admin/layout/index.js +70 -153
  115. package/build/super-admin/layout/menu/index.js +85 -161
  116. package/build/super-admin/layout/menu/menu-content.js +25 -85
  117. package/build/super-admin/layout/menu/menu-item.js +52 -102
  118. package/build/super-admin/layout/no-access.js +19 -45
  119. package/build/super-admin/model-class-table.js +45 -129
  120. package/build/super-admin/models.js +6 -42
  121. package/build/super-admin/show-nav.js +27 -89
  122. package/build/super-admin/show-page/belongs-to-attribute-row.js +18 -76
  123. package/build/super-admin/show-page/index.js +101 -187
  124. package/build/super-admin/show-reflection-actions.js +39 -100
  125. package/build/super-admin/show-reflection-link.js +27 -99
  126. package/build/super-admin/show-reflection-page.js +34 -97
  127. package/build/table/column-content.js +77 -121
  128. package/build/table/column-identifier.js +7 -11
  129. package/build/table/column-visible.js +2 -5
  130. package/build/table/components/column.js +13 -60
  131. package/build/table/components/flat-list.js +13 -60
  132. package/build/table/components/header.js +15 -62
  133. package/build/table/components/row.js +16 -63
  134. package/build/table/filters/attribute-element.js +34 -62
  135. package/build/table/filters/filter-form.js +280 -483
  136. package/build/table/filters/filter.js +45 -73
  137. package/build/table/filters/index.js +95 -139
  138. package/build/table/filters/load-search-modal.js +64 -212
  139. package/build/table/filters/reflection-element.js +27 -55
  140. package/build/table/filters/save-search-modal.js +44 -140
  141. package/build/table/filters/scope-element.js +28 -56
  142. package/build/table/header-column-content.js +33 -71
  143. package/build/table/header-column.js +89 -218
  144. package/build/table/header-select.js +45 -77
  145. package/build/table/model-callback-args.js +5 -41
  146. package/build/table/model-column.js +59 -144
  147. package/build/table/model-row.js +75 -187
  148. package/build/table/select-calculator.js +27 -86
  149. package/build/table/settings/column-row.js +66 -186
  150. package/build/table/settings/download-action.js +38 -74
  151. package/build/table/settings/index.js +38 -102
  152. package/build/table/table-settings.js +185 -323
  153. package/build/table/table.js +583 -781
  154. package/build/table/use-sorting.js +16 -35
  155. package/build/table/widths.js +32 -38
  156. package/build/table/worker-plugins-check-all-checkbox.js +77 -225
  157. package/build/table/worker-plugins-checkbox.js +74 -185
  158. package/build/translated-attributes.js +6 -11
  159. package/build/translated-collections.js +11 -20
  160. package/build/updated-attribute.js +47 -120
  161. package/build/url-encode.js +6 -12
  162. package/build/use-breakpoint.js +43 -95
  163. package/build/use-can-can.js +30 -92
  164. package/build/use-collection.js +119 -229
  165. package/build/use-created-event.js +27 -44
  166. package/build/use-current-user-context.js +57 -151
  167. package/build/use-current-user.js +14 -32
  168. package/build/use-destroyed-event.js +22 -43
  169. package/build/use-event-emitter.d.ts +1 -2
  170. package/build/use-event-emitter.d.ts.map +1 -1
  171. package/build/use-event-emitter.js +10 -16
  172. package/build/use-event-listener.js +13 -22
  173. package/build/use-input.js +49 -69
  174. package/build/use-model-event.js +22 -43
  175. package/build/use-model.js +96 -199
  176. package/build/use-resize-observer.js +11 -21
  177. package/build/use-router.js +65 -107
  178. package/build/use-screen-layout.js +17 -19
  179. package/build/use-styles.js +24 -75
  180. package/build/use-updated-event.js +22 -44
  181. package/build/use-validation-errors.js +12 -18
  182. package/build/utils/button.js +86 -136
  183. package/build/utils/card.js +31 -106
  184. package/build/utils/checkbox.js +51 -112
  185. package/build/utils/checkboxes.js +109 -182
  186. package/build/utils/default-style.js +29 -103
  187. package/build/utils/header.js +8 -35
  188. package/build/utils/icon.js +36 -117
  189. package/build/utils/invalid-feedback.js +16 -43
  190. package/build/utils/modal.js +25 -108
  191. package/build/utils/text.js +10 -37
  192. package/build/validation-error.js +31 -89
  193. package/build/validation-errors.js +61 -111
  194. package/build/with-api-maker.js +15 -67
  195. package/build/with-collection.js +14 -64
  196. package/build/with-current-user.js +7 -23
  197. package/build/with-model.js +11 -27
  198. package/build/with-router.js +8 -35
  199. package/package.json +4 -3
  200. package/build/api.js.map +0 -1
  201. package/build/attribute-not-loaded-error.js.map +0 -1
  202. package/build/base-component.js.map +0 -1
  203. package/build/base-error.js.map +0 -1
  204. package/build/base-model/attribute.js.map +0 -1
  205. package/build/base-model/column.js.map +0 -1
  206. package/build/base-model/reflection.js.map +0 -1
  207. package/build/base-model/scope.js.map +0 -1
  208. package/build/base-model.js.map +0 -1
  209. package/build/bootstrap/attribute-row.js.map +0 -1
  210. package/build/bootstrap/attribute-rows.js.map +0 -1
  211. package/build/bootstrap/card.js.map +0 -1
  212. package/build/bootstrap/checkbox.js.map +0 -1
  213. package/build/bootstrap/checkboxes.js.map +0 -1
  214. package/build/bootstrap/index.js.map +0 -1
  215. package/build/bootstrap/input.js.map +0 -1
  216. package/build/bootstrap/invalid-feedback.js.map +0 -1
  217. package/build/bootstrap/paginate.js.map +0 -1
  218. package/build/bootstrap/radio-buttons.js.map +0 -1
  219. package/build/bootstrap/select.js.map +0 -1
  220. package/build/bootstrap/sort-link.js.map +0 -1
  221. package/build/cable-connection-pool.js.map +0 -1
  222. package/build/cable-subscription-pool.js.map +0 -1
  223. package/build/cable-subscription.js.map +0 -1
  224. package/build/cache-key-generator.js.map +0 -1
  225. package/build/can-can.js.map +0 -1
  226. package/build/channels-consumer.js.map +0 -1
  227. package/build/collection-loader.js.map +0 -1
  228. package/build/collection.js.map +0 -1
  229. package/build/command-submit-data.js.map +0 -1
  230. package/build/commands-pool.js.map +0 -1
  231. package/build/compose.js.map +0 -1
  232. package/build/config.js.map +0 -1
  233. package/build/custom-error.js.map +0 -1
  234. package/build/data-set-to-attributes.js.map +0 -1
  235. package/build/deserializer.js.map +0 -1
  236. package/build/destroy-error.js.map +0 -1
  237. package/build/devise.js.map +0 -1
  238. package/build/draggable-sort/controller.js.map +0 -1
  239. package/build/draggable-sort/index.js.map +0 -1
  240. package/build/draggable-sort/item.js.map +0 -1
  241. package/build/error-logger.js.map +0 -1
  242. package/build/error-messages.js.map +0 -1
  243. package/build/event-connection.js.map +0 -1
  244. package/build/event-emitter-listener.js.map +0 -1
  245. package/build/event-model-class.js.map +0 -1
  246. package/build/events.js.map +0 -1
  247. package/build/form.js.map +0 -1
  248. package/build/history-expo.js.map +0 -1
  249. package/build/history-react-native.js.map +0 -1
  250. package/build/history.js.map +0 -1
  251. package/build/index.js.map +0 -1
  252. package/build/inputs/attachment.js.map +0 -1
  253. package/build/inputs/auto-submit.js.map +0 -1
  254. package/build/inputs/checkbox.js.map +0 -1
  255. package/build/inputs/checkboxes.js.map +0 -1
  256. package/build/inputs/id-for-component.js.map +0 -1
  257. package/build/inputs/input-wrapper.js.map +0 -1
  258. package/build/inputs/input.js.map +0 -1
  259. package/build/inputs/money.js.map +0 -1
  260. package/build/inputs/name-for-component.js.map +0 -1
  261. package/build/inputs/select.js.map +0 -1
  262. package/build/instance-of-class-name.js.map +0 -1
  263. package/build/is-expo.js.map +0 -1
  264. package/build/key-value-store.js.map +0 -1
  265. package/build/link.js.map +0 -1
  266. package/build/logger.js.map +0 -1
  267. package/build/merge-styles.js.map +0 -1
  268. package/build/modal.js.map +0 -1
  269. package/build/model-class-require.js.map +0 -1
  270. package/build/model-events.js.map +0 -1
  271. package/build/model-name.js.map +0 -1
  272. package/build/model-prop-type.js.map +0 -1
  273. package/build/model-recipes-loader.js.map +0 -1
  274. package/build/model-recipes-model-loader.js.map +0 -1
  275. package/build/models-response-reader.js.map +0 -1
  276. package/build/models.js.map +0 -1
  277. package/build/money-formatter.js.map +0 -1
  278. package/build/not-loaded-error.js.map +0 -1
  279. package/build/params.js.map +0 -1
  280. package/build/preloaded.js.map +0 -1
  281. package/build/resize-observer.js.map +0 -1
  282. package/build/rest-props-validator.js.map +0 -1
  283. package/build/result.js.map +0 -1
  284. package/build/router/route.js.map +0 -1
  285. package/build/router/switch.js.map +0 -1
  286. package/build/router.js.map +0 -1
  287. package/build/routes-native.js.map +0 -1
  288. package/build/routes.js.map +0 -1
  289. package/build/run-last.js.map +0 -1
  290. package/build/serializer.js.map +0 -1
  291. package/build/services.js.map +0 -1
  292. package/build/session-status-updater.js.map +0 -1
  293. package/build/source-maps-loader.js.map +0 -1
  294. package/build/super-admin/config-reader.js.map +0 -1
  295. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  296. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  297. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  298. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  299. package/build/super-admin/edit-page.js.map +0 -1
  300. package/build/super-admin/has-edit-config.js.map +0 -1
  301. package/build/super-admin/index-page.js.map +0 -1
  302. package/build/super-admin/index.js.map +0 -1
  303. package/build/super-admin/layout/header/index.js.map +0 -1
  304. package/build/super-admin/layout/index.js.map +0 -1
  305. package/build/super-admin/layout/menu/index.js.map +0 -1
  306. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  307. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  308. package/build/super-admin/layout/no-access.js.map +0 -1
  309. package/build/super-admin/model-class-table.js.map +0 -1
  310. package/build/super-admin/models.js.map +0 -1
  311. package/build/super-admin/show-nav.js.map +0 -1
  312. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  313. package/build/super-admin/show-page/index.js.map +0 -1
  314. package/build/super-admin/show-reflection-actions.js.map +0 -1
  315. package/build/super-admin/show-reflection-link.js.map +0 -1
  316. package/build/super-admin/show-reflection-page.js.map +0 -1
  317. package/build/table/column-content.js.map +0 -1
  318. package/build/table/column-identifier.js.map +0 -1
  319. package/build/table/column-visible.js.map +0 -1
  320. package/build/table/components/column.js.map +0 -1
  321. package/build/table/components/flat-list.js.map +0 -1
  322. package/build/table/components/header.js.map +0 -1
  323. package/build/table/components/row.js.map +0 -1
  324. package/build/table/filters/attribute-element.js.map +0 -1
  325. package/build/table/filters/filter-form.js.map +0 -1
  326. package/build/table/filters/filter.js.map +0 -1
  327. package/build/table/filters/index.js.map +0 -1
  328. package/build/table/filters/load-search-modal.js.map +0 -1
  329. package/build/table/filters/reflection-element.js.map +0 -1
  330. package/build/table/filters/save-search-modal.js.map +0 -1
  331. package/build/table/filters/scope-element.js.map +0 -1
  332. package/build/table/header-column-content.js.map +0 -1
  333. package/build/table/header-column.js.map +0 -1
  334. package/build/table/header-select.js.map +0 -1
  335. package/build/table/model-callback-args.js.map +0 -1
  336. package/build/table/model-column.js.map +0 -1
  337. package/build/table/model-row.js.map +0 -1
  338. package/build/table/select-calculator.js.map +0 -1
  339. package/build/table/settings/column-row.js.map +0 -1
  340. package/build/table/settings/download-action.js.map +0 -1
  341. package/build/table/settings/index.js.map +0 -1
  342. package/build/table/table-settings.js.map +0 -1
  343. package/build/table/table.js.map +0 -1
  344. package/build/table/use-sorting.js.map +0 -1
  345. package/build/table/widths.js.map +0 -1
  346. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  347. package/build/table/worker-plugins-checkbox.js.map +0 -1
  348. package/build/translated-attributes.js.map +0 -1
  349. package/build/translated-collections.js.map +0 -1
  350. package/build/updated-attribute.js.map +0 -1
  351. package/build/url-encode.js.map +0 -1
  352. package/build/use-breakpoint.js.map +0 -1
  353. package/build/use-can-can.js.map +0 -1
  354. package/build/use-collection.js.map +0 -1
  355. package/build/use-created-event.js.map +0 -1
  356. package/build/use-current-user-context.js.map +0 -1
  357. package/build/use-current-user.js.map +0 -1
  358. package/build/use-destroyed-event.js.map +0 -1
  359. package/build/use-event-emitter.js.map +0 -1
  360. package/build/use-event-listener.js.map +0 -1
  361. package/build/use-input.js.map +0 -1
  362. package/build/use-model-event.js.map +0 -1
  363. package/build/use-model.js.map +0 -1
  364. package/build/use-resize-observer.js.map +0 -1
  365. package/build/use-router.js.map +0 -1
  366. package/build/use-screen-layout.js.map +0 -1
  367. package/build/use-styles.js.map +0 -1
  368. package/build/use-updated-event.js.map +0 -1
  369. package/build/use-validation-errors.js.map +0 -1
  370. package/build/utils/button.js.map +0 -1
  371. package/build/utils/card.js.map +0 -1
  372. package/build/utils/checkbox.js.map +0 -1
  373. package/build/utils/checkboxes.js.map +0 -1
  374. package/build/utils/default-style.js.map +0 -1
  375. package/build/utils/header.js.map +0 -1
  376. package/build/utils/icon.js.map +0 -1
  377. package/build/utils/invalid-feedback.js.map +0 -1
  378. package/build/utils/modal.js.map +0 -1
  379. package/build/utils/text.js.map +0 -1
  380. package/build/validation-error.js.map +0 -1
  381. package/build/validation-errors.js.map +0 -1
  382. package/build/with-api-maker.js.map +0 -1
  383. package/build/with-collection.js.map +0 -1
  384. package/build/with-current-user.js.map +0 -1
  385. package/build/with-model.js.map +0 -1
  386. package/build/with-router.js.map +0 -1
@@ -1,253 +1,138 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- var __generator = (this && this.__generator) || function (thisArg, body) {
45
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
- function verb(n) { return function (v) { return step([n, v]); }; }
48
- function step(op) {
49
- if (f) throw new TypeError("Generator is already executing.");
50
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
52
- if (y = 0, t) op = [op[0] & 2, t.value];
53
- switch (op[0]) {
54
- case 0: case 1: t = op; break;
55
- case 4: _.label++; return { value: op[1], done: false };
56
- case 5: _.label++; y = op[1]; op = [0]; continue;
57
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
- default:
59
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
- if (t[2]) _.ops.pop();
64
- _.trys.pop(); continue;
65
- }
66
- op = body.call(thisArg, _);
67
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
- }
70
- };
71
- var __importDefault = (this && this.__importDefault) || function (mod) {
72
- return (mod && mod.__esModule) ? mod : { "default": mod };
73
- };
74
- Object.defineProperty(exports, "__esModule", { value: true });
75
- var stackTraceParser = __importStar(require("stacktrace-parser"));
76
- var logger_js_1 = __importDefault(require("./logger.js"));
77
- var source_map_1 = require("source-map");
78
- var uniqunize_1 = __importDefault(require("uniqunize"));
1
+ import * as stackTraceParser from "stacktrace-parser";
2
+ import Logger from "./logger.js";
3
+ import { SourceMapConsumer } from "source-map";
4
+ import uniqunize from "uniqunize";
79
5
  // Sometimes this needs to be called and sometimes not
80
- if (source_map_1.SourceMapConsumer.initialize) {
81
- source_map_1.SourceMapConsumer.initialize({
6
+ if (SourceMapConsumer.initialize) {
7
+ SourceMapConsumer.initialize({
82
8
  "lib/mappings.wasm": "https://unpkg.com/source-map@0.7.4/lib/mappings.wasm"
83
9
  });
84
10
  }
85
- var logger = new logger_js_1.default({ name: "ApiMaker / SourceMapsLoader" });
86
- var SourceMapsLoader = /** @class */ (function () {
87
- function SourceMapsLoader() {
88
- this.includeMapURL = function (src) { return src.includes("/packs/"); };
11
+ const logger = new Logger({ name: "ApiMaker / SourceMapsLoader" });
12
+ export default class SourceMapsLoader {
13
+ constructor() {
89
14
  this.isLoadingSourceMaps = false;
90
15
  this.sourceMaps = [];
91
16
  this.srcLoaded = {};
92
17
  }
93
- SourceMapsLoader.prototype.loadSourceMapsForScriptTags = function (callback) {
18
+ loadSourceMapsForScriptTags(callback) {
94
19
  this.loadSourceMapsForScriptTagsCallback = callback;
95
- };
96
- SourceMapsLoader.prototype.sourceMapForSource = function (callback) {
20
+ }
21
+ sourceMapForSource(callback) {
97
22
  this.sourceMapForSourceCallback = callback;
98
- };
99
- SourceMapsLoader.prototype.loadSourceMaps = function (error) {
100
- return __awaiter(this, void 0, void 0, function () {
101
- var promises, sources, _i, sources_1, source, promise;
102
- return __generator(this, function (_a) {
103
- switch (_a.label) {
104
- case 0:
105
- if (!error)
106
- throw new Error("No error was given to SourceMapsLoader#loadSourceMaps");
107
- this.isLoadingSourceMaps = true;
108
- _a.label = 1;
109
- case 1:
110
- _a.trys.push([1, , 3, 4]);
111
- promises = [];
112
- sources = this.getSources(error);
113
- for (_i = 0, sources_1 = sources; _i < sources_1.length; _i++) {
114
- source = sources_1[_i];
115
- if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {
116
- this.srcLoaded[source.originalUrl] = true;
117
- promise = this.loadSourceMapForSource(source);
118
- promises.push(promise);
119
- }
120
- }
121
- return [4 /*yield*/, Promise.all(promises)];
122
- case 2:
123
- _a.sent();
124
- return [3 /*break*/, 4];
125
- case 3:
126
- this.isLoadingSourceMaps = false;
127
- return [7 /*endfinally*/];
128
- case 4: return [2 /*return*/];
23
+ }
24
+ async loadSourceMaps(error) {
25
+ if (!error)
26
+ throw new Error("No error was given to SourceMapsLoader#loadSourceMaps");
27
+ this.isLoadingSourceMaps = true;
28
+ try {
29
+ const promises = [];
30
+ const sources = this.getSources(error);
31
+ for (const source of sources) {
32
+ if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {
33
+ this.srcLoaded[source.originalUrl] = true;
34
+ const promise = this.loadSourceMapForSource(source);
35
+ promises.push(promise);
129
36
  }
130
- });
131
- });
132
- };
133
- SourceMapsLoader.prototype.getSources = function (error) {
134
- var sources = this.getSourcesFromScripts();
37
+ }
38
+ await Promise.all(promises);
39
+ }
40
+ finally {
41
+ this.isLoadingSourceMaps = false;
42
+ }
43
+ }
44
+ getSources(error) {
45
+ let sources = this.getSourcesFromScripts();
135
46
  if (error)
136
47
  sources = sources.concat(this.getSourcesFromError(error));
137
- return (0, uniqunize_1.default)(sources, function (source) { return source.originalUrl; });
138
- };
139
- SourceMapsLoader.prototype.getSourcesFromError = function (error) {
140
- var stack = stackTraceParser.parse(error.stack);
141
- var sources = [];
142
- var _loop_1 = function (trace) {
143
- var file = trace.file;
48
+ return uniqunize(sources, (source) => source.originalUrl);
49
+ }
50
+ getSourcesFromError(error) {
51
+ const stack = stackTraceParser.parse(error.stack);
52
+ const sources = [];
53
+ for (const trace of stack) {
54
+ const file = trace.file;
144
55
  if (file != "\u003Canonymous>") {
145
- var sourceMapUrl_1 = this_1.getMapURL({ src: file });
146
- if (sourceMapUrl_1) {
147
- logger.debug(function () { return "Found source map from error: ".concat(sourceMapUrl_1); });
148
- sources.push({ originalUrl: file, sourceMapUrl: sourceMapUrl_1 });
56
+ const sourceMapUrl = this.getMapURL({ src: file });
57
+ if (sourceMapUrl) {
58
+ logger.debug(() => `Found source map from error: ${sourceMapUrl}`);
59
+ sources.push({ originalUrl: file, sourceMapUrl });
149
60
  }
150
61
  else {
151
- logger.debug(function () { return "Coudn't get source map from: ".concat(file); });
62
+ logger.debug(() => `Coudn't get source map from: ${file}`);
152
63
  }
153
64
  }
154
- };
155
- var this_1 = this;
156
- for (var _i = 0, stack_1 = stack; _i < stack_1.length; _i++) {
157
- var trace = stack_1[_i];
158
- _loop_1(trace);
159
65
  }
160
66
  return sources;
161
- };
162
- SourceMapsLoader.prototype.getSourcesFromScripts = function () {
163
- var scripts = document.querySelectorAll("script");
164
- var sources = [];
165
- var _loop_2 = function (script) {
166
- var sourceMapUrl = this_2.getMapURL({ script: script, src: script.src });
67
+ }
68
+ getSourcesFromScripts() {
69
+ const scripts = document.querySelectorAll("script");
70
+ const sources = [];
71
+ for (const script of scripts) {
72
+ const sourceMapUrl = this.getMapURL({ script, src: script.src });
167
73
  if (sourceMapUrl) {
168
- logger.debug(function () { return "Found source map from script: ".concat(sourceMapUrl); });
169
- sources.push({ originalUrl: script.src, sourceMapUrl: sourceMapUrl });
74
+ logger.debug(() => `Found source map from script: ${sourceMapUrl}`);
75
+ sources.push({ originalUrl: script.src, sourceMapUrl });
170
76
  }
171
- };
172
- var this_2 = this;
173
- for (var _i = 0, scripts_1 = scripts; _i < scripts_1.length; _i++) {
174
- var script = scripts_1[_i];
175
- _loop_2(script);
176
77
  }
177
78
  return sources;
178
- };
179
- SourceMapsLoader.prototype.getMapURL = function (_a) {
180
- var script = _a.script, src = _a.src;
181
- var url = this.loadUrl(src);
182
- var originalUrl = "".concat(url.origin).concat(url.pathname);
79
+ }
80
+ getMapURL({ script, src }) {
81
+ const url = this.loadUrl(src);
82
+ const originalUrl = `${url.origin}${url.pathname}`;
183
83
  if (this.sourceMapForSourceCallback) {
184
84
  // Use custom callback to resolve which map-file to download
185
- return this.sourceMapForSourceCallback({ originalUrl: originalUrl, script: script, src: src, url: url });
85
+ return this.sourceMapForSourceCallback({ originalUrl, script, src, url });
186
86
  }
187
87
  else if (this.includeMapURL(src)) {
188
88
  // Default to original URL with '.map' appended
189
- return "".concat(originalUrl, ".map");
89
+ return `${originalUrl}.map`;
190
90
  }
191
- };
192
- SourceMapsLoader.prototype.loadSourceMapForSource = function (_a) {
193
- return __awaiter(this, arguments, void 0, function (_b) {
194
- var xhr, error_1, consumer;
195
- var originalUrl = _b.originalUrl, sourceMapUrl = _b.sourceMapUrl;
196
- return __generator(this, function (_c) {
197
- switch (_c.label) {
198
- case 0:
199
- xhr = new XMLHttpRequest();
200
- xhr.open("GET", sourceMapUrl, true);
201
- _c.label = 1;
202
- case 1:
203
- _c.trys.push([1, 3, , 4]);
204
- return [4 /*yield*/, this.loadXhr(xhr, sourceMapUrl)];
205
- case 2:
206
- _c.sent();
207
- return [3 /*break*/, 4];
208
- case 3:
209
- error_1 = _c.sent();
210
- console.log("Couldn't load source map from: ".concat(sourceMapUrl, ": ").concat(xhr.responseText));
211
- return [2 /*return*/];
212
- case 4: return [4 /*yield*/, new source_map_1.SourceMapConsumer(xhr.responseText)];
213
- case 5:
214
- consumer = _c.sent();
215
- if (consumer) {
216
- this.sourceMaps.push({ consumer: consumer, originalUrl: originalUrl });
217
- }
218
- return [2 /*return*/];
219
- }
220
- });
221
- });
222
- };
223
- SourceMapsLoader.prototype.loadUrl = function (url) {
224
- var parser = document.createElement("a");
91
+ }
92
+ includeMapURL = (src) => src.includes("/packs/");
93
+ async loadSourceMapForSource({ originalUrl, sourceMapUrl }) {
94
+ const xhr = new XMLHttpRequest();
95
+ xhr.open("GET", sourceMapUrl, true);
96
+ try {
97
+ await this.loadXhr(xhr, sourceMapUrl);
98
+ }
99
+ catch (error) {
100
+ console.log(`Couldn't load source map from: ${sourceMapUrl}: ${xhr.responseText}`);
101
+ return;
102
+ }
103
+ const consumer = await new SourceMapConsumer(xhr.responseText);
104
+ if (consumer) {
105
+ this.sourceMaps.push({ consumer, originalUrl });
106
+ }
107
+ }
108
+ loadUrl(url) {
109
+ const parser = document.createElement("a");
225
110
  parser.href = url;
226
111
  return parser;
227
- };
228
- SourceMapsLoader.prototype.loadXhr = function (xhr, url) {
229
- return new Promise(function (resolve, reject) {
230
- xhr.onload = function () {
112
+ }
113
+ loadXhr(xhr, url) {
114
+ return new Promise((resolve, reject) => {
115
+ xhr.onload = () => {
231
116
  if (xhr.status == 200) {
232
117
  resolve();
233
118
  }
234
119
  else {
235
- reject(new Error("HTTP request failed with ".concat(xhr.status, " for ").concat(url)));
120
+ reject(new Error(`HTTP request failed with ${xhr.status} for ${url}`));
236
121
  }
237
122
  };
238
123
  xhr.send();
239
124
  });
240
- };
241
- SourceMapsLoader.prototype.parseStackTrace = function (stackTrace) {
125
+ }
126
+ parseStackTrace(stackTrace) {
242
127
  return this.getStackTraceData(stackTrace)
243
- .map(function (traceData) { return "at ".concat(traceData.methodName, " (").concat(traceData.fileString, ")"); });
244
- };
245
- SourceMapsLoader.prototype.getStackTraceData = function (stackTrace) {
246
- var stack = stackTraceParser.parse(stackTrace);
247
- var newSourceMap = [];
248
- var _loop_3 = function (trace) {
249
- var sourceMapData = this_3.sourceMaps.find(function (sourceMapData) { return sourceMapData.originalUrl == trace.file; });
250
- var filePath = void 0, fileString = void 0, original = void 0;
128
+ .map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`);
129
+ }
130
+ getStackTraceData(stackTrace) {
131
+ const stack = stackTraceParser.parse(stackTrace);
132
+ const newSourceMap = [];
133
+ for (const trace of stack) {
134
+ const sourceMapData = this.sourceMaps.find((sourceMapData) => sourceMapData.originalUrl == trace.file);
135
+ let filePath, fileString, original;
251
136
  if (sourceMapData) {
252
137
  original = sourceMapData.consumer.originalPositionFor({
253
138
  line: trace.lineNumber,
@@ -256,32 +141,25 @@ var SourceMapsLoader = /** @class */ (function () {
256
141
  }
257
142
  if (original && original.source) {
258
143
  filePath = original.source.replace(/^webpack:\/\/(app|)\//, "");
259
- fileString = "".concat(filePath, ":").concat(original.line);
144
+ fileString = `${filePath}:${original.line}`;
260
145
  if (original.column) {
261
- fileString += ":".concat(original.column);
146
+ fileString += `:${original.column}`;
262
147
  }
263
148
  }
264
149
  else {
265
150
  filePath = trace.file;
266
- fileString = "".concat(filePath, ":").concat(trace.lineNumber);
151
+ fileString = `${filePath}:${trace.lineNumber}`;
267
152
  if (trace.column) {
268
- fileString += ":".concat(trace.column);
153
+ fileString += `:${trace.column}`;
269
154
  }
270
155
  }
271
156
  newSourceMap.push({
272
- filePath: filePath,
273
- fileString: fileString,
157
+ filePath,
158
+ fileString,
274
159
  methodName: trace.methodName
275
160
  });
276
- };
277
- var this_3 = this;
278
- for (var _i = 0, stack_2 = stack; _i < stack_2.length; _i++) {
279
- var trace = stack_2[_i];
280
- _loop_3(trace);
281
161
  }
282
162
  return newSourceMap;
283
- };
284
- return SourceMapsLoader;
285
- }());
286
- exports.default = SourceMapsLoader;
287
- //# sourceMappingURL=source-maps-loader.js.map
163
+ }
164
+ }
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzb3VyY2UtbWFwcy1sb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFBO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBRWpDLHNEQUFzRDtBQUN0RCxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUMzQixtQkFBbUIsRUFBRSxzREFBc0Q7S0FDNUUsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFDLENBQUMsQ0FBQTtBQUVoRSxNQUFNLENBQUMsT0FBTyxPQUFPLGdCQUFnQjtJQUNuQztRQUNFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVELDJCQUEyQixDQUFDLFFBQVE7UUFDbEMsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLFFBQVEsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBUTtRQUN6QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFBO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7UUFFcEYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FB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RSxDQUFBO2dCQUU5QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakIsVUFBVSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUNsQyxDQUFDO1lBQ0gsQ0FBQztZQUVELFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFFBQVE7Z0JBQ1IsVUFBVTtnQkFDVixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7YUFDN0IsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFBO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHN0YWNrVHJhY2VQYXJzZXIgZnJvbSBcInN0YWNrdHJhY2UtcGFyc2VyXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCB7U291cmNlTWFwQ29uc3VtZXJ9IGZyb20gXCJzb3VyY2UtbWFwXCJcbmltcG9ydCB1bmlxdW5pemUgZnJvbSBcInVuaXF1bml6ZVwiXG5cbi8vIFNvbWV0aW1lcyB0aGlzIG5lZWRzIHRvIGJlIGNhbGxlZCBhbmQgc29tZXRpbWVzIG5vdFxuaWYgKFNvdXJjZU1hcENvbnN1bWVyLmluaXRpYWxpemUpIHtcbiAgU291cmNlTWFwQ29uc3VtZXIuaW5pdGlhbGl6ZSh7XG4gICAgXCJsaWIvbWFwcGluZ3Mud2FzbVwiOiBcImh0dHBzOi8vdW5wa2cuY29tL3NvdXJjZS1tYXBAMC43LjQvbGliL21hcHBpbmdzLndhc21cIlxuICB9KVxufVxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gU291cmNlTWFwc0xvYWRlclwifSlcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU291cmNlTWFwc0xvYWRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nU291cmNlTWFwcyA9IGZhbHNlXG4gICAgdGhpcy5zb3VyY2VNYXBzID0gW11cbiAgICB0aGlzLnNyY0xvYWRlZCA9IHt9XG4gIH1cblxuICBsb2FkU291cmNlTWFwc0ZvclNjcmlwdFRhZ3MoY2FsbGJhY2spIHtcbiAgICB0aGlzLmxvYWRTb3VyY2VNYXBzRm9yU2NyaXB0VGFnc0NhbGxiYWNrID0gY2FsbGJhY2tcbiAgfVxuXG4gIHNvdXJjZU1hcEZvclNvdXJjZShjYWxsYmFjaykge1xuICAgIHRoaXMuc291cmNlTWFwRm9yU291cmNlQ2FsbGJhY2sgPSBjYWxsYmFja1xuICB9XG5cbiAgYXN5bmMgbG9hZFNvdXJjZU1hcHMoZXJyb3IpIHtcbiAgICBpZiAoIWVycm9yKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBlcnJvciB3YXMgZ2l2ZW4gdG8gU291cmNlTWFwc0xvYWRlciNsb2FkU291cmNlTWFwc1wiKVxuXG4gICAgdGhpcy5pc0xvYWRpbmdTb3VyY2VNYXBzID0gdHJ1ZVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHByb21pc2VzID0gW11cbiAgICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLmdldFNvdXJjZXMoZXJyb3IpXG5cbiAgICAgIGZvcihjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgICAgICBpZiAoc291cmNlLm9yaWdpbmFsVXJsICYmICF0aGlzLnNyY0xvYWRlZFtzb3VyY2Uub3JpZ2luYWxVcmxdKSB7XG4gICAgICAgICAgdGhpcy5zcmNMb2FkZWRbc291cmNlLm9yaWdpbmFsVXJsXSA9IHRydWVcblxuICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmxvYWRTb3VyY2VNYXBGb3JTb3VyY2Uoc291cmNlKVxuICAgICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmdTb3VyY2VNYXBzID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBnZXRTb3VyY2VzKGVycm9yKSB7XG4gICAgbGV0IHNvdXJjZXMgPSB0aGlzLmdldFNvdXJjZXNGcm9tU2NyaXB0cygpXG5cbiAgICBpZiAoZXJyb3IpIHNvdXJjZXMgPSBzb3VyY2VzLmNvbmNhdCh0aGlzLmdldFNvdXJjZXNGcm9tRXJyb3IoZXJyb3IpKVxuXG4gICAgcmV0dXJuIHVuaXF1bml6ZShzb3VyY2VzLCAoc291cmNlKSA9PiBzb3VyY2Uub3JpZ2luYWxVcmwpXG4gIH1cblxuICBnZXRTb3VyY2VzRnJvbUVycm9yKGVycm9yKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBzdGFja1RyYWNlUGFyc2VyLnBhcnNlKGVycm9yLnN0YWNrKVxuICAgIGNvbnN0IHNvdXJjZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCB0cmFjZSBvZiBzdGFjaykge1xuICAgICAgY29uc3QgZmlsZSA9IHRyYWNlLmZpbGVcblxuICAgICAgaWYgKGZpbGUgIT0gXCJcXHUwMDNDYW5vbnltb3VzPlwiKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZU1hcFVybCA9IHRoaXMuZ2V0TWFwVVJMKHtzcmM6IGZpbGV9KVxuXG4gICAgICAgIGlmIChzb3VyY2VNYXBVcmwpIHtcbiAgICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYEZvdW5kIHNvdXJjZSBtYXAgZnJvbSBlcnJvcjogJHtzb3VyY2VNYXBVcmx9YClcblxuICAgICAgICAgIHNvdXJjZXMucHVzaCh7b3JpZ2luYWxVcmw6IGZpbGUsIHNvdXJjZU1hcFVybH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDb3Vkbid0IGdldCBzb3VyY2UgbWFwIGZyb206ICR7ZmlsZX1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZXNcbiAgfVxuXG4gIGdldFNvdXJjZXNGcm9tU2NyaXB0cygpIHtcbiAgICBjb25zdCBzY3JpcHRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInNjcmlwdFwiKVxuICAgIGNvbnN0IHNvdXJjZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBzY3JpcHQgb2Ygc2NyaXB0cykge1xuICAgICAgY29uc3Qgc291cmNlTWFwVXJsID0gdGhpcy5nZXRNYXBVUkwoe3NjcmlwdCwgc3JjOiBzY3JpcHQuc3JjfSlcblxuICAgICAgaWYgKHNvdXJjZU1hcFVybCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYEZvdW5kIHNvdXJjZSBtYXAgZnJvbSBzY3JpcHQ6ICR7c291cmNlTWFwVXJsfWApXG4gICAgICAgIHNvdXJjZXMucHVzaCh7b3JpZ2luYWxVcmw6IHNjcmlwdC5zcmMsIHNvdXJjZU1hcFVybH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZXNcbiAgfVxuXG4gIGdldE1hcFVSTCh7c2NyaXB0LCBzcmN9KSB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5sb2FkVXJsKHNyYylcbiAgICBjb25zdCBvcmlnaW5hbFVybCA9IGAke3VybC5vcmlnaW59JHt1cmwucGF0aG5hbWV9YFxuXG4gICAgaWYgKHRoaXMuc291cmNlTWFwRm9yU291cmNlQ2FsbGJhY2spIHtcbiAgICAgIC8vIFVzZSBjdXN0b20gY2FsbGJhY2sgdG8gcmVzb2x2ZSB3aGljaCBtYXAtZmlsZSB0byBkb3dubG9hZFxuICAgICAgcmV0dXJuIHRoaXMuc291cmNlTWFwRm9yU291cmNlQ2FsbGJhY2soe29yaWdpbmFsVXJsLCBzY3JpcHQsIHNyYywgdXJsfSlcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5jbHVkZU1hcFVSTChzcmMpKSB7XG4gICAgICAvLyBEZWZhdWx0IHRvIG9yaWdpbmFsIFVSTCB3aXRoICcubWFwJyBhcHBlbmRlZFxuICAgICAgcmV0dXJuIGAke29yaWdpbmFsVXJsfS5tYXBgXG4gICAgfVxuICB9XG5cbiAgaW5jbHVkZU1hcFVSTCA9IChzcmMpID0+IHNyYy5pbmNsdWRlcyhcIi9wYWNrcy9cIilcblxuICBhc3luYyBsb2FkU291cmNlTWFwRm9yU291cmNlKHtvcmlnaW5hbFVybCwgc291cmNlTWFwVXJsfSkge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpXG5cbiAgICB4aHIub3BlbihcIkdFVFwiLCBzb3VyY2VNYXBVcmwsIHRydWUpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkWGhyKHhociwgc291cmNlTWFwVXJsKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhgQ291bGRuJ3QgbG9hZCBzb3VyY2UgbWFwIGZyb206ICR7c291cmNlTWFwVXJsfTogJHt4aHIucmVzcG9uc2VUZXh0fWApXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGNvbnN1bWVyID0gYXdhaXQgbmV3IFNvdXJjZU1hcENvbnN1bWVyKHhoci5yZXNwb25zZVRleHQpXG5cbiAgICBpZiAoY29uc3VtZXIpIHtcbiAgICAgIHRoaXMuc291cmNlTWFwcy5wdXNoKHtjb25zdW1lciwgb3JpZ2luYWxVcmx9KVxuICAgIH1cbiAgfVxuXG4gIGxvYWRVcmwodXJsKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIilcblxuICAgIHBhcnNlci5ocmVmID0gdXJsXG5cbiAgICByZXR1cm4gcGFyc2VyXG4gIH1cblxuICBsb2FkWGhyKHhociwgdXJsKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCkge1xuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYEhUVFAgcmVxdWVzdCBmYWlsZWQgd2l0aCAke3hoci5zdGF0dXN9IGZvciAke3VybH1gKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBwYXJzZVN0YWNrVHJhY2Uoc3RhY2tUcmFjZSkge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrVHJhY2VEYXRhKHN0YWNrVHJhY2UpXG4gICAgICAubWFwKCh0cmFjZURhdGEpID0+IGBhdCAke3RyYWNlRGF0YS5tZXRob2ROYW1lfSAoJHt0cmFjZURhdGEuZmlsZVN0cmluZ30pYClcbiAgfVxuXG4gIGdldFN0YWNrVHJhY2VEYXRhKHN0YWNrVHJhY2UpIHtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrVHJhY2VQYXJzZXIucGFyc2Uoc3RhY2tUcmFjZSlcbiAgICBjb25zdCBuZXdTb3VyY2VNYXAgPSBbXVxuXG4gICAgZm9yIChjb25zdCB0cmFjZSBvZiBzdGFjaykge1xuICAgICAgY29uc3Qgc291cmNlTWFwRGF0YSA9IHRoaXMuc291cmNlTWFwcy5maW5kKChzb3VyY2VNYXBEYXRhKSA9PiBzb3VyY2VNYXBEYXRhLm9yaWdpbmFsVXJsID09IHRyYWNlLmZpbGUpXG5cbiAgICAgIGxldCBmaWxlUGF0aCwgZmlsZVN0cmluZywgb3JpZ2luYWxcblxuICAgICAgaWYgKHNvdXJjZU1hcERhdGEpIHtcbiAgICAgICAgb3JpZ2luYWwgPSBzb3VyY2VNYXBEYXRhLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IHRyYWNlLmxpbmVOdW1iZXIsXG4gICAgICAgICAgY29sdW1uOiB0cmFjZS5jb2x1bW5cbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKG9yaWdpbmFsICYmIG9yaWdpbmFsLnNvdXJjZSkge1xuICAgICAgICBmaWxlUGF0aCA9IG9yaWdpbmFsLnNvdXJjZS5yZXBsYWNlKC9ed2VicGFjazpcXC9cXC8oYXBwfClcXC8vLCBcIlwiKVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7b3JpZ2luYWwubGluZX1gXG5cbiAgICAgICAgaWYgKG9yaWdpbmFsLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke29yaWdpbmFsLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVQYXRoID0gdHJhY2UuZmlsZVxuICAgICAgICBmaWxlU3RyaW5nID0gYCR7ZmlsZVBhdGh9OiR7dHJhY2UubGluZU51bWJlcn1gXG5cbiAgICAgICAgaWYgKHRyYWNlLmNvbHVtbikge1xuICAgICAgICAgIGZpbGVTdHJpbmcgKz0gYDoke3RyYWNlLmNvbHVtbn1gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV3U291cmNlTWFwLnB1c2goe1xuICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgZmlsZVN0cmluZyxcbiAgICAgICAgbWV0aG9kTmFtZTogdHJhY2UubWV0aG9kTmFtZVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3U291cmNlTWFwXG4gIH1cbn1cbiJdfQ==
@@ -7,7 +7,7 @@ export default class ApiMakerSuperAdminConfigReader {
7
7
  defaultAttributesToShow(): any[];
8
8
  tableColumns(): {
9
9
  columns: {
10
- attribute: string;
10
+ attribute: any;
11
11
  }[];
12
12
  select: {};
13
13
  } | {
@@ -15,7 +15,7 @@ export default class ApiMakerSuperAdminConfigReader {
15
15
  };
16
16
  defaultTableColumns(): {
17
17
  columns: {
18
- attribute: string;
18
+ attribute: any;
19
19
  }[];
20
20
  select: {};
21
21
  };
@@ -1,83 +1,45 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- var diggerize_1 = require("diggerize");
37
- var inflection = __importStar(require("inflection"));
38
- var modelConfigRequireContext = require.context("super-admin/model-configs", true, /.jsx$/);
39
- var ApiMakerSuperAdminConfigReader = /** @class */ (function () {
40
- function ApiMakerSuperAdminConfigReader(modelClass, modelConfig) {
41
- this.modelClass = modelClass;
42
- this.modelConfig = modelConfig;
43
- }
44
- ApiMakerSuperAdminConfigReader.forModel = function (modelClass) {
45
- var modelNameCamelized = (0, diggerize_1.digg)(modelClass.modelClassData(), "nameDasherized");
46
- var modelConfig;
1
+ import { digg, digs } from "diggerize";
2
+ import * as inflection from "inflection";
3
+ const modelConfigRequireContext = require.context("super-admin/model-configs", true, /.jsx$/);
4
+ export default class ApiMakerSuperAdminConfigReader {
5
+ static forModel(modelClass) {
6
+ const modelNameCamelized = digg(modelClass.modelClassData(), "nameDasherized");
7
+ let modelConfig;
47
8
  try {
48
- modelConfig = modelConfigRequireContext("./".concat(modelNameCamelized, ".jsx")).default;
9
+ modelConfig = modelConfigRequireContext(`./${modelNameCamelized}.jsx`).default;
49
10
  }
50
11
  catch (error) {
51
12
  if (error.message.includes("Cannot find module")) {
52
- console.debug("No model-config for ".concat(modelClass.modelClassData().name));
13
+ console.debug(`No model-config for ${modelClass.modelClassData().name}`);
53
14
  }
54
15
  else {
55
16
  throw error;
56
17
  }
57
18
  }
58
19
  return new ApiMakerSuperAdminConfigReader(modelClass, modelConfig);
59
- };
60
- ApiMakerSuperAdminConfigReader.prototype.attributesToShow = function () {
61
- var _a;
62
- var modelConfig = (0, diggerize_1.digs)(this, "modelConfig").modelConfig;
63
- if ((_a = modelConfig === null || modelConfig === void 0 ? void 0 : modelConfig.show) === null || _a === void 0 ? void 0 : _a.attributesToShow) {
20
+ }
21
+ constructor(modelClass, modelConfig) {
22
+ this.modelClass = modelClass;
23
+ this.modelConfig = modelConfig;
24
+ }
25
+ attributesToShow() {
26
+ const { modelConfig } = digs(this, "modelConfig");
27
+ if (modelConfig?.show?.attributesToShow) {
64
28
  return modelConfig.show.attributesToShow();
65
29
  }
66
30
  return this.defaultAttributesToShow();
67
- };
68
- ApiMakerSuperAdminConfigReader.prototype.defaultAttributesToShow = function () {
69
- var attributesToShow = [];
70
- var columns = this.defaultTableColumns().columns;
71
- for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {
72
- var column = columns_1[_i];
73
- attributesToShow.push((0, diggerize_1.digg)(column, "attribute"));
31
+ }
32
+ defaultAttributesToShow() {
33
+ const attributesToShow = [];
34
+ const { columns } = this.defaultTableColumns();
35
+ for (const column of columns) {
36
+ attributesToShow.push(digg(column, "attribute"));
74
37
  }
75
38
  return attributesToShow;
76
- };
77
- ApiMakerSuperAdminConfigReader.prototype.tableColumns = function () {
78
- var _a;
79
- var modelConfig = (0, diggerize_1.digs)(this, "modelConfig").modelConfig;
80
- if ((_a = modelConfig === null || modelConfig === void 0 ? void 0 : modelConfig.table) === null || _a === void 0 ? void 0 : _a.columns) {
39
+ }
40
+ tableColumns() {
41
+ const { modelConfig } = digs(this, "modelConfig");
42
+ if (modelConfig?.table?.columns) {
81
43
  return {
82
44
  columns: modelConfig.table.columns()
83
45
  };
@@ -85,35 +47,32 @@ var ApiMakerSuperAdminConfigReader = /** @class */ (function () {
85
47
  else {
86
48
  return this.defaultTableColumns();
87
49
  }
88
- };
89
- ApiMakerSuperAdminConfigReader.prototype.defaultTableColumns = function () {
90
- var modelClass = (0, diggerize_1.digs)(this, "modelClass").modelClass;
91
- var attributes = modelClass.attributes();
92
- var columns = [];
93
- var select = {};
94
- var modelClassSelect = [];
50
+ }
51
+ defaultTableColumns() {
52
+ const { modelClass } = digs(this, "modelClass");
53
+ const attributes = modelClass.attributes();
54
+ const columns = [];
55
+ const select = {};
56
+ const modelClassSelect = [];
95
57
  select[modelClass.modelClassData().name] = modelClassSelect;
96
- for (var _i = 0, attributes_1 = attributes; _i < attributes_1.length; _i++) {
97
- var attribute = attributes_1[_i];
58
+ for (const attribute of attributes) {
98
59
  if (!attribute.isSelectedByDefault() && attribute.name() != "name") {
99
60
  continue;
100
61
  }
101
- var camelizedName = inflection.camelize(attribute.name(), true);
102
- var column = {
62
+ const camelizedName = inflection.camelize(attribute.name(), true);
63
+ const column = {
103
64
  attribute: camelizedName
104
65
  };
105
66
  if (attribute.isColumn()) {
106
67
  column.sortKey = camelizedName;
107
68
  }
108
69
  else if (attribute.isTranslated()) {
109
- column.sortKey = "currentTranslation".concat(camelizedName);
70
+ column.sortKey = `currentTranslation${camelizedName}`;
110
71
  }
111
72
  modelClassSelect.push(camelizedName);
112
73
  columns.push(column);
113
74
  }
114
- return { columns: columns, select: select };
115
- };
116
- return ApiMakerSuperAdminConfigReader;
117
- }());
118
- exports.default = ApiMakerSuperAdminConfigReader;
119
- //# sourceMappingURL=config-reader.js.map
75
+ return { columns, select };
76
+ }
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXJlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vY29uZmlnLXJlYWRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDcEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFFeEMsTUFBTSx5QkFBeUIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUU3RixNQUFNLENBQUMsT0FBTyxPQUFPLDhCQUE4QjtJQUNqRCxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVU7UUFDeEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUE7UUFDOUUsSUFBSSxXQUFXLENBQUE7UUFFZixJQUFJLENBQUM7WUFDSCxXQUFXLEdBQUcseUJBQXlCLENBQUMsS0FBSyxrQkFBa0IsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFBO1FBQ2hGLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzFFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEtBQUssQ0FBQTtZQUNiLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLDhCQUE4QixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsWUFBWSxVQUFVLEVBQUUsV0FBVztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFFL0MsSUFBSSxXQUFXLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDeEMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDNUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUMzQixNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFFNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLGdCQUFnQixDQUFBO0lBQ3pCLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFFL0MsSUFBSSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2FBQ3JDLENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFDN0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQzFDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNsQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFFM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQTtRQUUzRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ25FLFNBQVE7WUFDVixDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDakUsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsU0FBUyxFQUFFLGFBQWE7YUFDekIsQ0FBQTtZQUVELElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFBO1lBQ2hDLENBQUM7aUJBQU0sSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsYUFBYSxFQUFFLENBQUE7WUFDdkQsQ0FBQztZQUVELGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLENBQUM7UUFFRCxPQUFPLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuY29uc3QgbW9kZWxDb25maWdSZXF1aXJlQ29udGV4dCA9IHJlcXVpcmUuY29udGV4dChcInN1cGVyLWFkbWluL21vZGVsLWNvbmZpZ3NcIiwgdHJ1ZSwgLy5qc3gkLylcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluQ29uZmlnUmVhZGVyIHtcbiAgc3RhdGljIGZvck1vZGVsKG1vZGVsQ2xhc3MpIHtcbiAgICBjb25zdCBtb2RlbE5hbWVDYW1lbGl6ZWQgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lRGFzaGVyaXplZFwiKVxuICAgIGxldCBtb2RlbENvbmZpZ1xuXG4gICAgdHJ5IHtcbiAgICAgIG1vZGVsQ29uZmlnID0gbW9kZWxDb25maWdSZXF1aXJlQ29udGV4dChgLi8ke21vZGVsTmFtZUNhbWVsaXplZH0uanN4YCkuZGVmYXVsdFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcIkNhbm5vdCBmaW5kIG1vZHVsZVwiKSkge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBObyBtb2RlbC1jb25maWcgZm9yICR7bW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBcGlNYWtlclN1cGVyQWRtaW5Db25maWdSZWFkZXIobW9kZWxDbGFzcywgbW9kZWxDb25maWcpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihtb2RlbENsYXNzLCBtb2RlbENvbmZpZykge1xuICAgIHRoaXMubW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICB0aGlzLm1vZGVsQ29uZmlnID0gbW9kZWxDb25maWdcbiAgfVxuXG4gIGF0dHJpYnV0ZXNUb1Nob3coKSB7XG4gICAgY29uc3Qge21vZGVsQ29uZmlnfSA9IGRpZ3ModGhpcywgXCJtb2RlbENvbmZpZ1wiKVxuXG4gICAgaWYgKG1vZGVsQ29uZmlnPy5zaG93Py5hdHRyaWJ1dGVzVG9TaG93KSB7XG4gICAgICByZXR1cm4gbW9kZWxDb25maWcuc2hvdy5hdHRyaWJ1dGVzVG9TaG93KClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0QXR0cmlidXRlc1RvU2hvdygpXG4gIH1cblxuICBkZWZhdWx0QXR0cmlidXRlc1RvU2hvdygpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzVG9TaG93ID0gW11cbiAgICBjb25zdCB7Y29sdW1uc30gPSB0aGlzLmRlZmF1bHRUYWJsZUNvbHVtbnMoKVxuXG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1ucykge1xuICAgICAgYXR0cmlidXRlc1RvU2hvdy5wdXNoKGRpZ2coY29sdW1uLCBcImF0dHJpYnV0ZVwiKSlcbiAgICB9XG5cbiAgICByZXR1cm4gYXR0cmlidXRlc1RvU2hvd1xuICB9XG5cbiAgdGFibGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IHttb2RlbENvbmZpZ30gPSBkaWdzKHRoaXMsIFwibW9kZWxDb25maWdcIilcblxuICAgIGlmIChtb2RlbENvbmZpZz8udGFibGU/LmNvbHVtbnMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbHVtbnM6IG1vZGVsQ29uZmlnLnRhYmxlLmNvbHVtbnMoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VGFibGVDb2x1bW5zKClcbiAgICB9XG4gIH1cblxuICBkZWZhdWx0VGFibGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IGRpZ3ModGhpcywgXCJtb2RlbENsYXNzXCIpXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IG1vZGVsQ2xhc3MuYXR0cmlidXRlcygpXG4gICAgY29uc3QgY29sdW1ucyA9IFtdXG4gICAgY29uc3Qgc2VsZWN0ID0ge31cbiAgICBjb25zdCBtb2RlbENsYXNzU2VsZWN0ID0gW11cblxuICAgIHNlbGVjdFttb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZV0gPSBtb2RlbENsYXNzU2VsZWN0XG5cbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICBpZiAoIWF0dHJpYnV0ZS5pc1NlbGVjdGVkQnlEZWZhdWx0KCkgJiYgYXR0cmlidXRlLm5hbWUoKSAhPSBcIm5hbWVcIikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjYW1lbGl6ZWROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhdHRyaWJ1dGUubmFtZSgpLCB0cnVlKVxuICAgICAgY29uc3QgY29sdW1uID0ge1xuICAgICAgICBhdHRyaWJ1dGU6IGNhbWVsaXplZE5hbWVcbiAgICAgIH1cblxuICAgICAgaWYgKGF0dHJpYnV0ZS5pc0NvbHVtbigpKSB7XG4gICAgICAgIGNvbHVtbi5zb3J0S2V5ID0gY2FtZWxpemVkTmFtZVxuICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUuaXNUcmFuc2xhdGVkKCkpIHtcbiAgICAgICAgY29sdW1uLnNvcnRLZXkgPSBgY3VycmVudFRyYW5zbGF0aW9uJHtjYW1lbGl6ZWROYW1lfWBcbiAgICAgIH1cblxuICAgICAgbW9kZWxDbGFzc1NlbGVjdC5wdXNoKGNhbWVsaXplZE5hbWUpXG4gICAgICBjb2x1bW5zLnB1c2goY29sdW1uKVxuICAgIH1cblxuICAgIHJldHVybiB7Y29sdW1ucywgc2VsZWN0fVxuICB9XG59XG4iXX0=