@kaspernj/api-maker 1.0.452 → 1.0.453

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 (348) hide show
  1. package/build/api.js +1 -1
  2. package/build/api.js.map +1 -0
  3. package/build/attribute-not-loaded-error.js +1 -1
  4. package/build/attribute-not-loaded-error.js.map +1 -0
  5. package/build/base-component.js +1 -1
  6. package/build/base-component.js.map +1 -0
  7. package/build/base-error.js +1 -1
  8. package/build/base-error.js.map +1 -0
  9. package/build/base-model/attribute.js +1 -1
  10. package/build/base-model/attribute.js.map +1 -0
  11. package/build/base-model/column.js +1 -1
  12. package/build/base-model/column.js.map +1 -0
  13. package/build/base-model/reflection.js +1 -1
  14. package/build/base-model/reflection.js.map +1 -0
  15. package/build/base-model/scope.js +1 -1
  16. package/build/base-model/scope.js.map +1 -0
  17. package/build/base-model.js +1 -1
  18. package/build/base-model.js.map +1 -0
  19. package/build/bootstrap/attribute-row/index.js +1 -1
  20. package/build/bootstrap/attribute-row/index.js.map +1 -0
  21. package/build/bootstrap/attribute-rows.js +1 -1
  22. package/build/bootstrap/attribute-rows.js.map +1 -0
  23. package/build/bootstrap/card.js +1 -1
  24. package/build/bootstrap/card.js.map +1 -0
  25. package/build/bootstrap/checkbox.js +1 -1
  26. package/build/bootstrap/checkbox.js.map +1 -0
  27. package/build/bootstrap/checkboxes.js +1 -1
  28. package/build/bootstrap/checkboxes.js.map +1 -0
  29. package/build/bootstrap/index.js +1 -1
  30. package/build/bootstrap/index.js.map +1 -0
  31. package/build/bootstrap/input.js +1 -1
  32. package/build/bootstrap/input.js.map +1 -0
  33. package/build/bootstrap/invalid-feedback.js +1 -1
  34. package/build/bootstrap/invalid-feedback.js.map +1 -0
  35. package/build/bootstrap/paginate.js +1 -1
  36. package/build/bootstrap/paginate.js.map +1 -0
  37. package/build/bootstrap/radio-buttons.js +1 -1
  38. package/build/bootstrap/radio-buttons.js.map +1 -0
  39. package/build/bootstrap/select.js +1 -1
  40. package/build/bootstrap/select.js.map +1 -0
  41. package/build/bootstrap/sort-link.js +1 -1
  42. package/build/bootstrap/sort-link.js.map +1 -0
  43. package/build/cable-connection-pool.js +1 -1
  44. package/build/cable-connection-pool.js.map +1 -0
  45. package/build/cable-subscription-pool.js +1 -1
  46. package/build/cable-subscription-pool.js.map +1 -0
  47. package/build/cable-subscription.js +1 -1
  48. package/build/cable-subscription.js.map +1 -0
  49. package/build/cache-key-generator.js +1 -1
  50. package/build/cache-key-generator.js.map +1 -0
  51. package/build/can-can.js +1 -1
  52. package/build/can-can.js.map +1 -0
  53. package/build/channels-consumer.js +1 -1
  54. package/build/channels-consumer.js.map +1 -0
  55. package/build/collection-loader.js +1 -1
  56. package/build/collection-loader.js.map +1 -0
  57. package/build/collection.js +1 -1
  58. package/build/collection.js.map +1 -0
  59. package/build/command-submit-data.js +1 -1
  60. package/build/command-submit-data.js.map +1 -0
  61. package/build/commands-pool.js +1 -1
  62. package/build/commands-pool.js.map +1 -0
  63. package/build/compose.js +1 -1
  64. package/build/compose.js.map +1 -0
  65. package/build/config.js +1 -1
  66. package/build/config.js.map +1 -0
  67. package/build/custom-error.js +1 -1
  68. package/build/custom-error.js.map +1 -0
  69. package/build/data-set-to-attributes.js +1 -1
  70. package/build/data-set-to-attributes.js.map +1 -0
  71. package/build/deserializer.js +1 -1
  72. package/build/deserializer.js.map +1 -0
  73. package/build/destroy-error.js +1 -1
  74. package/build/destroy-error.js.map +1 -0
  75. package/build/devise.js +1 -1
  76. package/build/devise.js.map +1 -0
  77. package/build/draggable-sort/controller.js +1 -1
  78. package/build/draggable-sort/controller.js.map +1 -0
  79. package/build/draggable-sort/index.js +1 -1
  80. package/build/draggable-sort/index.js.map +1 -0
  81. package/build/draggable-sort/item.js +1 -1
  82. package/build/draggable-sort/item.js.map +1 -0
  83. package/build/error-logger.js +1 -1
  84. package/build/error-logger.js.map +1 -0
  85. package/build/error-messages.js +1 -1
  86. package/build/error-messages.js.map +1 -0
  87. package/build/event-connection.js +1 -1
  88. package/build/event-connection.js.map +1 -0
  89. package/build/event-model-class.js +1 -1
  90. package/build/event-model-class.js.map +1 -0
  91. package/build/events.js +1 -1
  92. package/build/events.js.map +1 -0
  93. package/build/flash-message.js +1 -1
  94. package/build/flash-message.js.map +1 -0
  95. package/build/form.js +1 -1
  96. package/build/form.js.map +1 -0
  97. package/build/index.js +1 -1
  98. package/build/index.js.map +1 -0
  99. package/build/inputs/attachment.js +1 -1
  100. package/build/inputs/attachment.js.map +1 -0
  101. package/build/inputs/auto-submit.js +1 -1
  102. package/build/inputs/auto-submit.js.map +1 -0
  103. package/build/inputs/checkbox.js +1 -1
  104. package/build/inputs/checkbox.js.map +1 -0
  105. package/build/inputs/checkboxes.js +1 -1
  106. package/build/inputs/checkboxes.js.map +1 -0
  107. package/build/inputs/id-for-component.js +1 -1
  108. package/build/inputs/id-for-component.js.map +1 -0
  109. package/build/inputs/input-wrapper.js +1 -1
  110. package/build/inputs/input-wrapper.js.map +1 -0
  111. package/build/inputs/input.js +1 -1
  112. package/build/inputs/input.js.map +1 -0
  113. package/build/inputs/money.js +1 -1
  114. package/build/inputs/money.js.map +1 -0
  115. package/build/inputs/name-for-component.js +1 -1
  116. package/build/inputs/name-for-component.js.map +1 -0
  117. package/build/inputs/select.js +1 -1
  118. package/build/inputs/select.js.map +1 -0
  119. package/build/instance-of-class-name.js +1 -1
  120. package/build/instance-of-class-name.js.map +1 -0
  121. package/build/key-value-store.js +1 -1
  122. package/build/key-value-store.js.map +1 -0
  123. package/build/link.js +1 -1
  124. package/build/link.js.map +1 -0
  125. package/build/logger.js +1 -1
  126. package/build/logger.js.map +1 -0
  127. package/build/modal.js +1 -1
  128. package/build/modal.js.map +1 -0
  129. package/build/model-class-require.js +1 -1
  130. package/build/model-class-require.js.map +1 -0
  131. package/build/model-events.js +1 -1
  132. package/build/model-events.js.map +1 -0
  133. package/build/model-name.js +1 -1
  134. package/build/model-name.js.map +1 -0
  135. package/build/model-prop-type.js +1 -1
  136. package/build/model-prop-type.js.map +1 -0
  137. package/build/model-recipes-loader.js +1 -1
  138. package/build/model-recipes-loader.js.map +1 -0
  139. package/build/model-recipes-model-loader.js +1 -1
  140. package/build/model-recipes-model-loader.js.map +1 -0
  141. package/build/models-response-reader.js +1 -1
  142. package/build/models-response-reader.js.map +1 -0
  143. package/build/models.js +1 -1
  144. package/build/models.js.map +1 -0
  145. package/build/money-formatter.js +1 -1
  146. package/build/money-formatter.js.map +1 -0
  147. package/build/not-loaded-error.js +1 -1
  148. package/build/not-loaded-error.js.map +1 -0
  149. package/build/params.js +1 -1
  150. package/build/params.js.map +1 -0
  151. package/build/preloaded.js +1 -1
  152. package/build/preloaded.js.map +1 -0
  153. package/build/resize-observer.js +1 -1
  154. package/build/resize-observer.js.map +1 -0
  155. package/build/result.js +1 -1
  156. package/build/result.js.map +1 -0
  157. package/build/router/route.js +1 -1
  158. package/build/router/route.js.map +1 -0
  159. package/build/router/switch.js +1 -1
  160. package/build/router/switch.js.map +1 -0
  161. package/build/router.js +1 -1
  162. package/build/router.js.map +1 -0
  163. package/build/routes-native.js +1 -1
  164. package/build/routes-native.js.map +1 -0
  165. package/build/routes.js +1 -1
  166. package/build/routes.js.map +1 -0
  167. package/build/run-last.js +1 -1
  168. package/build/run-last.js.map +1 -0
  169. package/build/serializer.js +1 -1
  170. package/build/serializer.js.map +1 -0
  171. package/build/services.js +1 -1
  172. package/build/services.js.map +1 -0
  173. package/build/session-status-updater.js +1 -1
  174. package/build/session-status-updater.js.map +1 -0
  175. package/build/source-maps-loader.js +19 -8
  176. package/build/source-maps-loader.js.map +1 -0
  177. package/build/super-admin/config-reader.js +1 -1
  178. package/build/super-admin/config-reader.js.map +1 -0
  179. package/build/super-admin/edit-page/edit-attribute-checkbox.js +1 -1
  180. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +1 -0
  181. package/build/super-admin/edit-page/edit-attribute-content.js +1 -1
  182. package/build/super-admin/edit-page/edit-attribute-content.js.map +1 -0
  183. package/build/super-admin/edit-page/edit-attribute-input.js +1 -1
  184. package/build/super-admin/edit-page/edit-attribute-input.js.map +1 -0
  185. package/build/super-admin/edit-page/edit-attribute.js +1 -1
  186. package/build/super-admin/edit-page/edit-attribute.js.map +1 -0
  187. package/build/super-admin/edit-page.js +1 -1
  188. package/build/super-admin/edit-page.js.map +1 -0
  189. package/build/super-admin/has-edit-config.js +1 -1
  190. package/build/super-admin/has-edit-config.js.map +1 -0
  191. package/build/super-admin/index-page.js +1 -1
  192. package/build/super-admin/index-page.js.map +1 -0
  193. package/build/super-admin/index.js +1 -1
  194. package/build/super-admin/index.js.map +1 -0
  195. package/build/super-admin/layout/header/index.js +1 -1
  196. package/build/super-admin/layout/header/index.js.map +1 -0
  197. package/build/super-admin/layout/index.js +1 -1
  198. package/build/super-admin/layout/index.js.map +1 -0
  199. package/build/super-admin/layout/menu/index.js +1 -1
  200. package/build/super-admin/layout/menu/index.js.map +1 -0
  201. package/build/super-admin/layout/menu/menu-content.js +1 -1
  202. package/build/super-admin/layout/menu/menu-content.js.map +1 -0
  203. package/build/super-admin/layout/menu/menu-item.js +1 -1
  204. package/build/super-admin/layout/menu/menu-item.js.map +1 -0
  205. package/build/super-admin/layout/no-access.js +1 -1
  206. package/build/super-admin/layout/no-access.js.map +1 -0
  207. package/build/super-admin/model-class-table.js +1 -1
  208. package/build/super-admin/model-class-table.js.map +1 -0
  209. package/build/super-admin/models.js +1 -1
  210. package/build/super-admin/models.js.map +1 -0
  211. package/build/super-admin/show-nav.js +1 -1
  212. package/build/super-admin/show-nav.js.map +1 -0
  213. package/build/super-admin/show-page/belongs-to-attribute-row.js +1 -1
  214. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +1 -0
  215. package/build/super-admin/show-page/index.js +1 -1
  216. package/build/super-admin/show-page/index.js.map +1 -0
  217. package/build/super-admin/show-reflection-actions.js +1 -1
  218. package/build/super-admin/show-reflection-actions.js.map +1 -0
  219. package/build/super-admin/show-reflection-link.js +1 -1
  220. package/build/super-admin/show-reflection-link.js.map +1 -0
  221. package/build/super-admin/show-reflection-page.js +1 -1
  222. package/build/super-admin/show-reflection-page.js.map +1 -0
  223. package/build/table/column-content.js +1 -1
  224. package/build/table/column-content.js.map +1 -0
  225. package/build/table/column-identifier.js +1 -1
  226. package/build/table/column-identifier.js.map +1 -0
  227. package/build/table/column-visible.js +1 -1
  228. package/build/table/column-visible.js.map +1 -0
  229. package/build/table/components/column.js +1 -1
  230. package/build/table/components/column.js.map +1 -0
  231. package/build/table/components/flat-list.js +1 -1
  232. package/build/table/components/flat-list.js.map +1 -0
  233. package/build/table/components/header.js +1 -1
  234. package/build/table/components/header.js.map +1 -0
  235. package/build/table/components/row.js +1 -1
  236. package/build/table/components/row.js.map +1 -0
  237. package/build/table/filters/attribute-element.js +1 -1
  238. package/build/table/filters/attribute-element.js.map +1 -0
  239. package/build/table/filters/filter-form.js +1 -1
  240. package/build/table/filters/filter-form.js.map +1 -0
  241. package/build/table/filters/filter.js +1 -1
  242. package/build/table/filters/filter.js.map +1 -0
  243. package/build/table/filters/index.js +1 -1
  244. package/build/table/filters/index.js.map +1 -0
  245. package/build/table/filters/load-search-modal.js +1 -1
  246. package/build/table/filters/load-search-modal.js.map +1 -0
  247. package/build/table/filters/reflection-element.js +1 -1
  248. package/build/table/filters/reflection-element.js.map +1 -0
  249. package/build/table/filters/save-search-modal.js +1 -1
  250. package/build/table/filters/save-search-modal.js.map +1 -0
  251. package/build/table/filters/scope-element.js +1 -1
  252. package/build/table/filters/scope-element.js.map +1 -0
  253. package/build/table/header-column-content.js +1 -1
  254. package/build/table/header-column-content.js.map +1 -0
  255. package/build/table/header-column.js +1 -1
  256. package/build/table/header-column.js.map +1 -0
  257. package/build/table/header-select.js +1 -1
  258. package/build/table/header-select.js.map +1 -0
  259. package/build/table/model-callback-args.js +1 -1
  260. package/build/table/model-callback-args.js.map +1 -0
  261. package/build/table/model-column.js +1 -1
  262. package/build/table/model-column.js.map +1 -0
  263. package/build/table/model-row.js +1 -1
  264. package/build/table/model-row.js.map +1 -0
  265. package/build/table/select-calculator.js +1 -1
  266. package/build/table/select-calculator.js.map +1 -0
  267. package/build/table/settings/column-row.js +1 -1
  268. package/build/table/settings/column-row.js.map +1 -0
  269. package/build/table/settings/download-action.js +1 -1
  270. package/build/table/settings/download-action.js.map +1 -0
  271. package/build/table/settings/index.js +1 -1
  272. package/build/table/settings/index.js.map +1 -0
  273. package/build/table/table-settings.js +1 -1
  274. package/build/table/table-settings.js.map +1 -0
  275. package/build/table/table.js +1 -1
  276. package/build/table/table.js.map +1 -0
  277. package/build/table/use-sorting.js +1 -1
  278. package/build/table/use-sorting.js.map +1 -0
  279. package/build/table/widths.js +1 -1
  280. package/build/table/widths.js.map +1 -0
  281. package/build/table/worker-plugins-check-all-checkbox.js +1 -1
  282. package/build/table/worker-plugins-check-all-checkbox.js.map +1 -0
  283. package/build/table/worker-plugins-checkbox.js +1 -1
  284. package/build/table/worker-plugins-checkbox.js.map +1 -0
  285. package/build/translated-attributes.js +1 -1
  286. package/build/translated-attributes.js.map +1 -0
  287. package/build/translated-collections.js +1 -1
  288. package/build/translated-collections.js.map +1 -0
  289. package/build/updated-attribute.js +1 -1
  290. package/build/updated-attribute.js.map +1 -0
  291. package/build/url-encode.js +1 -1
  292. package/build/url-encode.js.map +1 -0
  293. package/build/use-breakpoint.js +1 -1
  294. package/build/use-breakpoint.js.map +1 -0
  295. package/build/use-can-can.js +1 -1
  296. package/build/use-can-can.js.map +1 -0
  297. package/build/use-collection.js +1 -1
  298. package/build/use-collection.js.map +1 -0
  299. package/build/use-created-event.js +1 -1
  300. package/build/use-created-event.js.map +1 -0
  301. package/build/use-current-user.js +1 -1
  302. package/build/use-current-user.js.map +1 -0
  303. package/build/use-destroyed-event.js +1 -1
  304. package/build/use-destroyed-event.js.map +1 -0
  305. package/build/use-event-emitter.js +1 -1
  306. package/build/use-event-emitter.js.map +1 -0
  307. package/build/use-event-listener.js +1 -1
  308. package/build/use-event-listener.js.map +1 -0
  309. package/build/use-input.js +1 -1
  310. package/build/use-input.js.map +1 -0
  311. package/build/use-model-event.js +1 -1
  312. package/build/use-model-event.js.map +1 -0
  313. package/build/use-model.js +1 -1
  314. package/build/use-model.js.map +1 -0
  315. package/build/use-resize-observer.js +1 -1
  316. package/build/use-resize-observer.js.map +1 -0
  317. package/build/use-router.js +1 -1
  318. package/build/use-router.js.map +1 -0
  319. package/build/use-screen-layout.js +1 -1
  320. package/build/use-screen-layout.js.map +1 -0
  321. package/build/use-updated-event.js +1 -1
  322. package/build/use-updated-event.js.map +1 -0
  323. package/build/use-validation-errors.js +1 -1
  324. package/build/use-validation-errors.js.map +1 -0
  325. package/build/utils/card.js +1 -1
  326. package/build/utils/card.js.map +1 -0
  327. package/build/utils/checkbox.js +1 -1
  328. package/build/utils/checkbox.js.map +1 -0
  329. package/build/utils/default-style.js +1 -1
  330. package/build/utils/default-style.js.map +1 -0
  331. package/build/utils/modal.js +1 -1
  332. package/build/utils/modal.js.map +1 -0
  333. package/build/utils/text.js +1 -1
  334. package/build/utils/text.js.map +1 -0
  335. package/build/validation-error.js +1 -1
  336. package/build/validation-error.js.map +1 -0
  337. package/build/validation-errors.js +1 -1
  338. package/build/validation-errors.js.map +1 -0
  339. package/build/with-collection.js +1 -1
  340. package/build/with-collection.js.map +1 -0
  341. package/build/with-current-user.js +1 -1
  342. package/build/with-current-user.js.map +1 -0
  343. package/build/with-model.js +1 -1
  344. package/build/with-model.js.map +1 -0
  345. package/build/with-router.js +1 -1
  346. package/build/with-router.js.map +1 -0
  347. package/package.json +2 -2
  348. package/src/source-maps-loader.js +19 -7
@@ -204,4 +204,4 @@ export default class ApiMakerCableSubscriptionPool {
204
204
  });
205
205
  }
206
206
  }
207
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGFubmVsc0NvbnN1bWVyIiwiQ29tbWFuZHNQb29sIiwiRGVzZXJpYWxpemVyIiwiZGlnZyIsImluZmxlY3Rpb24iLCJMb2dnZXIiLCJsb2dnZXIiLCJuYW1lIiwiQXBpTWFrZXJDYWJsZVN1YnNjcmlwdGlvblBvb2wiLCJjb25zdHJ1Y3RvciIsImFjdGl2ZVN1YnNjcmlwdGlvbnMiLCJjb25uZWN0ZWQiLCJjb25uZWN0Iiwic3Vic2NyaXB0aW9uRGF0YSIsImdsb2JhbERhdGEiLCJjdXJyZW50IiwiZ2xvYmFsUmVxdWVzdERhdGEiLCJkZWJ1ZyIsInN1YnNjcmlwdGlvbiIsInN1YnNjcmlwdGlvbnMiLCJjcmVhdGUiLCJjaGFubmVsIiwiZ2xvYmFsIiwic3Vic2NyaXB0aW9uX2RhdGEiLCJvbkNvbm5lY3RlZCIsInJlY2VpdmVkIiwib25SZWNlaXZlZCIsInN1YnNjcmliZWQiLCJvblN1YnNjcmliZWQiLCJmb3JFYWNoU3Vic2NyaXB0aW9uIiwiY2FsbGJhY2siLCJtb2RlbElkTW9kZXMiLCJtb2RlbE5hbWUiLCJtb2RlbElkTW9kZSIsIm1vZGVsSWQiLCJtb2RlIiwiY3JlYXRlcyIsIm1vZGVsX2NsYXNzX2V2ZW50cyIsImV2ZW50TmFtZSIsImV2ZW50cyIsImlzQ29ubmVjdGVkIiwiZW1pdCIsInJhd0RhdGEiLCJkYXRhIiwicGFyc2UiLCJhIiwiYXJncyIsImUiLCJtIiwibW9kZWwiLCJtaSIsIm10IiwibW9kZWxUeXBlIiwidCIsInR5cGUiLCJtb2RlbENsYXNzRGF0YSIsImNhbWVsaXplIiwic2luZ3VsYXJpemUiLCJ1cGRhdGVzIiwiZGVzdHJveVN1YnNjcmlwdGlvbnMiLCJldmVudFN1YnNjcmlwdGlvbnMiLCJtb2RlbENsYXNzRXZlbnRTdWJzY3JpcHRpb25zIiwiRXJyb3IiLCJvblVuc3Vic2NyaWJlIiwidW5zdWJzY3JpYmUiLCJyZWdpc3RlclN1YnNjcmlwdGlvbnMiLCJjb25uZWN0VW5zdWJzY3JpcHRpb25Gb3JTdWJzY3JpcHRpb24iLCJhZGRMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jYWJsZS1zdWJzY3JpcHRpb24tcG9vbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ2hhbm5lbHNDb25zdW1lciBmcm9tIFwiLi9jaGFubmVscy1jb25zdW1lclwiXG5pbXBvcnQgQ29tbWFuZHNQb29sIGZyb20gXCIuL2NvbW1hbmRzLXBvb2xcIlxuaW1wb3J0IERlc2VyaWFsaXplciBmcm9tIFwiLi9kZXNlcmlhbGl6ZXJcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXJcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gQ2FibGVTdWJzY3JpcHRpb25Qb29sXCJ9KVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckNhYmxlU3Vic2NyaXB0aW9uUG9vbCB7XG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMgPSAwXG4gICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZVxuICB9XG5cbiAgY29ubmVjdCAoc3Vic2NyaXB0aW9uRGF0YSkge1xuICAgIGNvbnN0IGdsb2JhbERhdGEgPSBDb21tYW5kc1Bvb2wuY3VycmVudCgpLmdsb2JhbFJlcXVlc3REYXRhXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wiQ3JlYXRpbmcgc3Vic2NyaXB0aW9uXCIsIHtzdWJzY3JpcHRpb25EYXRhfV0pXG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IENoYW5uZWxzQ29uc3VtZXIuc3Vic2NyaXB0aW9ucy5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGNoYW5uZWw6IFwiQXBpTWFrZXI6OlN1YnNjcmlwdGlvbnNDaGFubmVsXCIsXG4gICAgICAgIGdsb2JhbDogZ2xvYmFsRGF0YSxcbiAgICAgICAgc3Vic2NyaXB0aW9uX2RhdGE6IHN1YnNjcmlwdGlvbkRhdGFcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbm5lY3RlZDogdGhpcy5vbkNvbm5lY3RlZCxcbiAgICAgICAgcmVjZWl2ZWQ6IHRoaXMub25SZWNlaXZlZCxcbiAgICAgICAgc3Vic2NyaWJlZDogdGhpcy5vblN1YnNjcmliZWRcbiAgICAgIH1cbiAgICApXG4gICAgdGhpcy5jb25uZWN0ZWQgPSB0cnVlXG4gIH1cblxuICBmb3JFYWNoU3Vic2NyaXB0aW9uIChjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsSWRNb2RlcyA9IFtcImRlc3Ryb3lzXCIsIFwidXBkYXRlc1wiXVxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBkaWdnKHRoaXMsIFwic3Vic2NyaXB0aW9uc1wiKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbE5hbWUgaW4gc3Vic2NyaXB0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBtb2RlbElkTW9kZSBvZiBtb2RlbElkTW9kZXMpIHtcbiAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXVttb2RlbElkTW9kZV0pIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdW21vZGVsSWRNb2RlXSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdW21vZGVsSWRNb2RlXVttb2RlbElkXSkge1xuICAgICAgICAgICAgICBjYWxsYmFjayh7bW9kZTogbW9kZWxJZE1vZGUsIG1vZGVsSWQsIG1vZGVsTmFtZSwgc3Vic2NyaXB0aW9ufSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgICAgY2FsbGJhY2soe21vZGU6IFwiY3JlYXRlc1wiLCBtb2RlbE5hbWUsIHN1YnNjcmlwdGlvbn0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5tb2RlbF9jbGFzc19ldmVudHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLm1vZGVsX2NsYXNzX2V2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5tb2RlbF9jbGFzc19ldmVudHNbZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgY2FsbGJhY2soe2V2ZW50TmFtZSwgbW9kZTogXCJtb2RlbF9jbGFzc19ldmVudHNcIiwgbW9kZWxOYW1lLCBzdWJzY3JpcHRpb259KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3QgZXZlbnROYW1lIGluIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbbW9kZWxJZF0pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbbW9kZWxJZF1bZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgICBjYWxsYmFjayh7ZXZlbnROYW1lLCBtb2RlOiBcInVwZGF0ZXNcIiwgbW9kZWxJZCwgbW9kZWxOYW1lLCBzdWJzY3JpcHRpb259KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzQ29ubmVjdGVkID0gKCkgPT4gZGlnZyh0aGlzLCBcImNvbm5lY3RlZFwiKVxuXG4gIG9uQ29ubmVjdGVkID0gKCkgPT4ge1xuICAgIHRoaXMuZm9yRWFjaFN1YnNjcmlwdGlvbigoe3N1YnNjcmlwdGlvbn0pID0+IHtcbiAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcImNvbm5lY3RlZFwiKVxuICAgIH0pXG4gIH1cblxuICBvblJlY2VpdmVkID0gKHJhd0RhdGEpID0+IHtcbiAgICBjb25zdCBkYXRhID0gRGVzZXJpYWxpemVyLnBhcnNlKHJhd0RhdGEpXG4gICAgY29uc3Qge2E6IGFyZ3MsIGU6IGV2ZW50TmFtZSwgbTogbW9kZWwsIG1pOiBtb2RlbElkLCBtdDogbW9kZWxUeXBlLCB0OiB0eXBlfSA9IGRhdGFcbiAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gZGlnZyh0aGlzLCBcInN1YnNjcmlwdGlvbnNcIilcblxuICAgIGxldCBtb2RlbE5hbWVcblxuICAgIC8vIFRoaXMgaXMgbW9yZSBlZmZlY3RpdmUgaWYgaXQgaXMgYW4gb3B0aW9uXG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICBtb2RlbE5hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIH0gZWxzZSB7XG4gICAgICBtb2RlbE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGluZmxlY3Rpb24uc2luZ3VsYXJpemUobW9kZWxUeXBlKSlcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PSBcInVcIikge1xuICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLnVwZGF0ZXNbbW9kZWxJZF0pIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLmV2ZW50cy5lbWl0KFwicmVjZWl2ZWRcIiwge21vZGVsfSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJjXCIpIHtcbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5jcmVhdGVzKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHttb2RlbH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZFwiKSB7XG4gICAgICBjb25zdCBkZXN0cm95U3Vic2NyaXB0aW9ucyA9IGRpZ2coc3Vic2NyaXB0aW9ucywgbW9kZWxOYW1lLCBcImRlc3Ryb3lzXCIsIG1vZGVsSWQpXG5cbiAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIGRlc3Ryb3lTdWJzY3JpcHRpb25zKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5ldmVudHMuZW1pdChcInJlY2VpdmVkXCIsIHttb2RlbH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZVwiKSB7XG4gICAgICBjb25zdCBldmVudFN1YnNjcmlwdGlvbnMgPSBkaWdnKHN1YnNjcmlwdGlvbnMsIG1vZGVsTmFtZSwgXCJldmVudHNcIiwgZXZlbnROYW1lLCBtb2RlbElkKVxuXG4gICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBldmVudFN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLmV2ZW50cy5lbWl0KFwicmVjZWl2ZWRcIiwge2FyZ3MsIGV2ZW50TmFtZSwgbW9kZWx9KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm1jZVwiKSB7XG4gICAgICBjb25zdCBtb2RlbENsYXNzRXZlbnRTdWJzY3JpcHRpb25zID0gZGlnZyhzdWJzY3JpcHRpb25zLCBtb2RlbE5hbWUsIFwibW9kZWxfY2xhc3NfZXZlbnRzXCIsIGV2ZW50TmFtZSlcblxuICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgbW9kZWxDbGFzc0V2ZW50U3Vic2NyaXB0aW9ucykge1xuICAgICAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmVtaXQoXCJyZWNlaXZlZFwiLCB7YXJncywgZXZlbnROYW1lfSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGU6ICR7ZGF0YS50eXBlfWApXG4gICAgfVxuICB9XG5cbiAgb25TdWJzY3JpYmVkID0gKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIm9uU3Vic2NyaWJlZFwiKVxuICB9XG5cbiAgb25VbnN1YnNjcmliZSAoKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBhY3RpdmVTdWJzY3JpcHRpb25zIGJlZm9yZSB1bnN1YjogJHt0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnN9YClcbiAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMgLT0gMVxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgYWN0aXZlU3Vic2NyaXB0aW9ucyBhZnRlciB1bnN1YjogJHt0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnN9YClcblxuICAgIGlmICh0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMgPD0gMCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiVW5zdWJzY3JpYmUgZnJvbSBBY3Rpb25DYWJsZSBzdWJzY3JpcHRpb25cIilcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICByZWdpc3RlclN1YnNjcmlwdGlvbnMgKHN1YnNjcmlwdGlvbnMpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzdWJzY3JpcHRpb25zXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wicmVnaXN0ZXJTdWJzY3JpcHRpb25zXCIsIHtzdWJzY3JpcHRpb25zfV0pXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsTmFtZSBpbiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICBpZiAoc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmNyZWF0ZXMpIHtcbiAgICAgICAgICB0aGlzLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLmV2ZW50cykge1xuICAgICAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBpbiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0uZXZlbnRzW2V2ZW50TmFtZV0pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnNbbW9kZWxOYW1lXS5ldmVudHNbZXZlbnROYW1lXVttb2RlbElkXSkge1xuICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0udXBkYXRlcykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gc3Vic2NyaXB0aW9uc1ttb2RlbE5hbWVdLnVwZGF0ZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zW21vZGVsTmFtZV0udXBkYXRlc1ttb2RlbElkXSkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0VW5zdWJzY3JpcHRpb25Gb3JTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3RVbnN1YnNjcmlwdGlvbkZvclN1YnNjcmlwdGlvbiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IFtcIkNvbm5lY3RpbmcgdG8gdW5zdWJzY3JpYmUgb24gc3Vic2NyaXB0aW9uXCIsIHtzdWJzY3JpcHRpb259XSlcblxuICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucyArPSAxXG5cbiAgICBzdWJzY3JpcHRpb24uZXZlbnRzLmFkZExpc3RlbmVyKFwidW5zdWJzY3JpYmVkXCIsICgpID0+IHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkNhbGwgb25VbnN1YnNjcmliZSBvbiBzZWxmXCIpXG5cbiAgICAgIHRoaXMub25VbnN1YnNjcmliZShzdWJzY3JpcHRpb24pXG4gICAgfSlcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxnQkFBZ0IsTUFBTSxxQkFBcUI7QUFDbEQsT0FBT0MsWUFBWSxNQUFNLGlCQUFpQjtBQUMxQyxPQUFPQyxZQUFZLE1BQU0sZ0JBQWdCO0FBQ3pDLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFFN0IsTUFBTUMsTUFBTSxHQUFHLElBQUlELE1BQU0sQ0FBQztFQUFDRSxJQUFJLEVBQUU7QUFBa0MsQ0FBQyxDQUFDO0FBRXJFLGVBQWUsTUFBTUMsNkJBQTZCLENBQUM7RUFDakRDLFdBQVdBLENBQUEsRUFBSTtJQUNiLElBQUksQ0FBQ0MsbUJBQW1CLEdBQUcsQ0FBQztJQUM1QixJQUFJLENBQUNDLFNBQVMsR0FBRyxLQUFLO0VBQ3hCO0VBRUFDLE9BQU9BLENBQUVDLGdCQUFnQixFQUFFO0lBQ3pCLE1BQU1DLFVBQVUsR0FBR2IsWUFBWSxDQUFDYyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUI7SUFFM0RWLE1BQU0sQ0FBQ1csS0FBSyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRTtNQUFDSjtJQUFnQixDQUFDLENBQUMsQ0FBQztJQUVqRSxJQUFJLENBQUNLLFlBQVksR0FBR2xCLGdCQUFnQixDQUFDbUIsYUFBYSxDQUFDQyxNQUFNLENBQ3ZE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
207
+ //# sourceMappingURL=cable-subscription-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cable-subscription-pool.js","names":["ChannelsConsumer","CommandsPool","Deserializer","digg","inflection","Logger","logger","name","ApiMakerCableSubscriptionPool","constructor","activeSubscriptions","connected","connect","subscriptionData","globalData","current","globalRequestData","debug","subscription","subscriptions","create","channel","global","subscription_data","onConnected","received","onReceived","subscribed","onSubscribed","forEachSubscription","callback","modelIdModes","modelName","modelIdMode","modelId","mode","creates","model_class_events","eventName","events","isConnected","emit","rawData","data","parse","a","args","e","m","model","mi","mt","modelType","t","type","modelClassData","camelize","singularize","updates","destroySubscriptions","eventSubscriptions","modelClassEventSubscriptions","Error","onUnsubscribe","unsubscribe","registerSubscriptions","connectUnsubscriptionForSubscription","addListener"],"sources":["../src/cable-subscription-pool.js"],"sourcesContent":["import ChannelsConsumer from \"./channels-consumer\"\nimport CommandsPool from \"./commands-pool\"\nimport Deserializer from \"./deserializer\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport Logger from \"./logger\"\n\nconst logger = new Logger({name: \"ApiMaker / CableSubscriptionPool\"})\n\nexport default class ApiMakerCableSubscriptionPool {\n constructor () {\n this.activeSubscriptions = 0\n this.connected = false\n }\n\n connect (subscriptionData) {\n const globalData = CommandsPool.current().globalRequestData\n\n logger.debug(() => [\"Creating subscription\", {subscriptionData}])\n\n this.subscription = ChannelsConsumer.subscriptions.create(\n {\n channel: \"ApiMaker::SubscriptionsChannel\",\n global: globalData,\n subscription_data: subscriptionData\n },\n {\n connected: this.onConnected,\n received: this.onReceived,\n subscribed: this.onSubscribed\n }\n )\n this.connected = true\n }\n\n forEachSubscription (callback) {\n const modelIdModes = [\"destroys\", \"updates\"]\n const subscriptions = digg(this, \"subscriptions\")\n\n for (const modelName in subscriptions) {\n for (const modelIdMode of modelIdModes) {\n if (subscriptions[modelName][modelIdMode]) {\n for (const modelId in subscriptions[modelName][modelIdMode]) {\n for (const subscription of subscriptions[modelName][modelIdMode][modelId]) {\n callback({mode: modelIdMode, modelId, modelName, subscription})\n }\n }\n }\n }\n\n if (subscriptions[modelName].creates) {\n for (const subscription of subscriptions[modelName].creates) {\n callback({mode: \"creates\", modelName, subscription})\n }\n }\n\n if (subscriptions[modelName].model_class_events) {\n for (const eventName in subscriptions[modelName].model_class_events) {\n for (const subscription of subscriptions[modelName].model_class_events[eventName]) {\n callback({eventName, mode: \"model_class_events\", modelName, subscription})\n }\n }\n }\n\n if (subscriptions[modelName].events) {\n for (const modelId in subscriptions[modelName].events) {\n for (const eventName in subscriptions[modelName].events[modelId]) {\n for (const subscription of subscriptions[modelName].events[modelId][eventName]) {\n callback({eventName, mode: \"updates\", modelId, modelName, subscription})\n }\n }\n }\n }\n }\n }\n\n isConnected = () => digg(this, \"connected\")\n\n onConnected = () => {\n this.forEachSubscription(({subscription}) => {\n subscription.events.emit(\"connected\")\n })\n }\n\n onReceived = (rawData) => {\n const data = Deserializer.parse(rawData)\n const {a: args, e: eventName, m: model, mi: modelId, mt: modelType, t: type} = data\n const subscriptions = digg(this, \"subscriptions\")\n\n let modelName\n\n // This is more effective if it is an option\n if (model) {\n modelName = digg(model.modelClassData(), \"name\")\n } else {\n modelName = inflection.camelize(inflection.singularize(modelType))\n }\n\n if (type == \"u\") {\n for (const subscription of subscriptions[modelName].updates[modelId]) {\n subscription.events.emit(\"received\", {model})\n }\n } else if (type == \"c\") {\n for (const subscription of subscriptions[modelName].creates) {\n subscription.events.emit(\"received\", {model})\n }\n } else if (type == \"d\") {\n const destroySubscriptions = digg(subscriptions, modelName, \"destroys\", modelId)\n\n for (const subscription of destroySubscriptions) {\n subscription.events.emit(\"received\", {model})\n }\n } else if (type == \"e\") {\n const eventSubscriptions = digg(subscriptions, modelName, \"events\", eventName, modelId)\n\n for (const subscription of eventSubscriptions) {\n subscription.events.emit(\"received\", {args, eventName, model})\n }\n } else if (type == \"mce\") {\n const modelClassEventSubscriptions = digg(subscriptions, modelName, \"model_class_events\", eventName)\n\n for (const subscription of modelClassEventSubscriptions) {\n subscription.events.emit(\"received\", {args, eventName})\n }\n } else {\n throw new Error(`Unknown type: ${data.type}`)\n }\n }\n\n onSubscribed = () => {\n logger.debug(\"onSubscribed\")\n }\n\n onUnsubscribe () {\n logger.debug(() => `activeSubscriptions before unsub: ${this.activeSubscriptions}`)\n this.activeSubscriptions -= 1\n logger.debug(() => `activeSubscriptions after unsub: ${this.activeSubscriptions}`)\n\n if (this.activeSubscriptions <= 0) {\n logger.debug(\"Unsubscribe from ActionCable subscription\")\n this.subscription.unsubscribe()\n this.connected = false\n }\n }\n\n registerSubscriptions (subscriptions) {\n this.subscriptions = subscriptions\n\n logger.debug(() => [\"registerSubscriptions\", {subscriptions}])\n\n for (const modelName in subscriptions) {\n if (subscriptions[modelName].creates) {\n for (const subscription of subscriptions[modelName].creates) {\n this.connectUnsubscriptionForSubscription(subscription)\n }\n }\n\n if (subscriptions[modelName].events) {\n for (const eventName in subscriptions[modelName].events) {\n for (const modelId in subscriptions[modelName].events[eventName]) {\n for (const subscription of subscriptions[modelName].events[eventName][modelId]) {\n this.connectUnsubscriptionForSubscription(subscription)\n }\n }\n }\n }\n\n if (subscriptions[modelName].updates) {\n for (const modelId in subscriptions[modelName].updates) {\n for (const subscription of subscriptions[modelName].updates[modelId]) {\n this.connectUnsubscriptionForSubscription(subscription)\n }\n }\n }\n }\n }\n\n connectUnsubscriptionForSubscription (subscription) {\n logger.debug(() => [\"Connecting to unsubscribe on subscription\", {subscription}])\n\n this.activeSubscriptions += 1\n\n subscription.events.addListener(\"unsubscribed\", () => {\n logger.debug(\"Call onUnsubscribe on self\")\n\n this.onUnsubscribe(subscription)\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,4 +18,4 @@ export default class ApiMakerCableSubscription {
18
18
  this.events.emit("unsubscribed");
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJMb2dnZXIiLCJsb2dnZXIiLCJuYW1lIiwiQXBpTWFrZXJDYWJsZVN1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiZXZlbnRzIiwic3Vic2NyaWJlZCIsInVuc3Vic2NyaWJlIiwiZGVidWciLCJlbWl0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2NhYmxlLXN1YnNjcmlwdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCJldmVudHNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXJcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gQ2FibGVTdWJzY3JpcHRpb25cIn0pXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ2FibGVTdWJzY3JpcHRpb24ge1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLnN1YnNjcmliZWQgPSB0cnVlXG4gIH1cblxuICB1bnN1YnNjcmliZSAoKSB7XG4gICAgaWYgKCF0aGlzLnN1YnNjcmliZWQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIlVuc3Vic2NyaWJlZCBhbHJlYWR5IGNhbGxlZFwiKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKFwiVW5zdWJzY3JpYmUgY2FsbGVkIGZvciBzdWJzY3JpcHRpb25cIilcblxuICAgIHRoaXMuc3Vic2NyaWJlZCA9IGZhbHNlXG4gICAgdGhpcy5ldmVudHMuZW1pdChcInVuc3Vic2NyaWJlZFwiKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksTUFBTSxRQUFRO0FBQ2pDLE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBRTdCLE1BQU1DLE1BQU0sR0FBRyxJQUFJRCxNQUFNLENBQUM7RUFBQ0UsSUFBSSxFQUFFO0FBQThCLENBQUMsQ0FBQztBQUVqRSxlQUFlLE1BQU1DLHlCQUF5QixDQUFDO0VBQzdDQyxXQUFXQSxDQUFBLEVBQUk7SUFDYixJQUFJLENBQUNDLE1BQU0sR0FBRyxJQUFJTixZQUFZLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUNPLFVBQVUsR0FBRyxJQUFJO0VBQ3hCO0VBRUFDLFdBQVdBLENBQUEsRUFBSTtJQUNiLElBQUksQ0FBQyxJQUFJLENBQUNELFVBQVUsRUFBRTtNQUNwQkwsTUFBTSxDQUFDTyxLQUFLLENBQUMsNkJBQTZCLENBQUM7TUFDM0M7SUFDRjtJQUVBUCxNQUFNLENBQUNPLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQztJQUVuRCxJQUFJLENBQUNGLFVBQVUsR0FBRyxLQUFLO0lBQ3ZCLElBQUksQ0FBQ0QsTUFBTSxDQUFDSSxJQUFJLENBQUMsY0FBYyxDQUFDO0VBQ2xDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
21
+ //# sourceMappingURL=cable-subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cable-subscription.js","names":["EventEmitter","Logger","logger","name","ApiMakerCableSubscription","constructor","events","subscribed","unsubscribe","debug","emit"],"sources":["../src/cable-subscription.js"],"sourcesContent":["import EventEmitter from \"events\"\nimport Logger from \"./logger\"\n\nconst logger = new Logger({name: \"ApiMaker / CableSubscription\"})\n\nexport default class ApiMakerCableSubscription {\n constructor () {\n this.events = new EventEmitter()\n this.subscribed = true\n }\n\n unsubscribe () {\n if (!this.subscribed) {\n logger.debug(\"Unsubscribed already called\")\n return\n }\n\n logger.debug(\"Unsubscribe called for subscription\")\n\n this.subscribed = false\n this.events.emit(\"unsubscribed\")\n }\n}\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,QAAQ;AACjC,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,MAAM,GAAG,IAAID,MAAM,CAAC;EAACE,IAAI,EAAE;AAA8B,CAAC,CAAC;AAEjE,eAAe,MAAMC,yBAAyB,CAAC;EAC7CC,WAAWA,CAAA,EAAI;IACb,IAAI,CAACC,MAAM,GAAG,IAAIN,YAAY,CAAC,CAAC;IAChC,IAAI,CAACO,UAAU,GAAG,IAAI;EACxB;EAEAC,WAAWA,CAAA,EAAI;IACb,IAAI,CAAC,IAAI,CAACD,UAAU,EAAE;MACpBL,MAAM,CAACO,KAAK,CAAC,6BAA6B,CAAC;MAC3C;IACF;IAEAP,MAAM,CAACO,KAAK,CAAC,qCAAqC,CAAC;IAEnD,IAAI,CAACF,UAAU,GAAG,KAAK;IACvB,IAAI,CAACD,MAAM,CAACI,IAAI,CAAC,cAAc,CAAC;EAClC;AACF","ignoreList":[]}
@@ -78,4 +78,4 @@ export default class CacheKeyGenerator {
78
78
  }
79
79
  }
80
80
  }
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTcGFya01ENSIsIkNhY2hlS2V5R2VuZXJhdG9yIiwiY29uc3RydWN0b3IiLCJtb2RlbCIsImFsbE1vZGVscyIsInJlYWRNb2RlbHMiLCJyZWNvcmRNb2RlbFR5cGUiLCJtb2RlbENsYXNzRGF0YSIsIm5hbWUiLCJyZWNvcmRNb2RlbCIsImZpbGxlZE1vZGVscyIsImxvY2FsIiwibWQ1IiwiZmVlZE1vZGVsIiwiZW5kIiwicmVsYXRpb25zaGlwVHlwZSIsInB1c2giLCJpZCIsInVuaXF1ZUtleSIsImlzTW9kZWxSZWNvcmRlZCIsImZpbGxNb2RlbHMiLCJyZWxhdGlvbnNoaXBzIiwibG9hZGVkUmVsYXRpb25zaGlwIiwiQXJyYXkiLCJpc0FycmF5IiwiYW5vdGhlck1vZGVsIiwiY2FjaGVLZXkiLCJhcHBlbmQiLCJtYXJrZWRGb3JEZXN0cnVjdGlvbiIsImF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVOYW1lIiwicmVhZEF0dHJpYnV0ZVVuZGVyc2NvcmUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUta2V5LWdlbmVyYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3BhcmtNRDUgZnJvbSBcInNwYXJrLW1kNVwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENhY2hlS2V5R2VuZXJhdG9yIHtcbiAgY29uc3RydWN0b3IobW9kZWwpIHtcbiAgICB0aGlzLm1vZGVsID0gbW9kZWxcbiAgICB0aGlzLmFsbE1vZGVscyA9IFttb2RlbF1cbiAgICB0aGlzLnJlYWRNb2RlbHMgPSB7fVxuICAgIHRoaXMucmVjb3JkTW9kZWxUeXBlKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSlcbiAgICB0aGlzLnJlY29yZE1vZGVsKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgbW9kZWwpXG4gICAgdGhpcy5maWxsZWRNb2RlbHMgPSBmYWxzZVxuICB9XG5cbiAgbG9jYWwoKSB7XG4gICAgY29uc3QgbWQ1ID0gbmV3IFNwYXJrTUQ1KClcblxuICAgIHRoaXMuZmVlZE1vZGVsKHRoaXMubW9kZWwsIG1kNSlcblxuICAgIHJldHVybiBtZDUuZW5kKClcbiAgfVxuXG4gIHJlY29yZE1vZGVsVHlwZShyZWxhdGlvbnNoaXBUeXBlKSB7XG4gICAgaWYgKCEocmVsYXRpb25zaGlwVHlwZSBpbiB0aGlzLnJlYWRNb2RlbHMpKSB7XG4gICAgICB0aGlzLnJlYWRNb2RlbHNbcmVsYXRpb25zaGlwVHlwZV0gPSB7fVxuICAgIH1cbiAgfVxuXG4gIHJlY29yZE1vZGVsKHJlbGF0aW9uc2hpcFR5cGUsIG1vZGVsKSB7XG4gICAgdGhpcy5hbGxNb2RlbHMucHVzaChtb2RlbClcbiAgICB0aGlzLnJlYWRNb2RlbHNbcmVsYXRpb25zaGlwVHlwZV1bbW9kZWwuaWQoKSB8fCBtb2RlbC51bmlxdWVLZXkoKV0gPSB0cnVlXG4gIH1cblxuICBpc01vZGVsUmVjb3JkZWQocmVsYXRpb25zaGlwVHlwZSwgbW9kZWwpIHtcbiAgICBpZiAobW9kZWwuaWQoKSBpbiB0aGlzLnJlYWRNb2RlbHNbcmVsYXRpb25zaGlwVHlwZV0pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgZmlsbE1vZGVscyhtb2RlbCkge1xuICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwVHlwZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzKSB7XG4gICAgICB0aGlzLnJlY29yZE1vZGVsVHlwZShyZWxhdGlvbnNoaXBUeXBlKVxuXG4gICAgICBjb25zdCBsb2FkZWRSZWxhdGlvbnNoaXAgPSBtb2RlbC5yZWxhdGlvbnNoaXBzW3JlbGF0aW9uc2hpcFR5cGVdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvYWRlZFJlbGF0aW9uc2hpcCkpIHsgLy8gaGFzX21hbnlcbiAgICAgICAgZm9yIChjb25zdCBhbm90aGVyTW9kZWwgb2YgbG9hZGVkUmVsYXRpb25zaGlwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNNb2RlbFJlY29yZGVkKHJlbGF0aW9uc2hpcFR5cGUsIGFub3RoZXJNb2RlbCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZWNvcmRNb2RlbChyZWxhdGlvbnNoaXBUeXBlLCBhbm90aGVyTW9kZWwpXG4gICAgICAgICAgdGhpcy5maWxsTW9kZWxzKGFub3RoZXJNb2RlbClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsb2FkZWRSZWxhdGlvbnNoaXApIHsgLy8gYmVsb25nc190bywgaGFzX29uZVxuICAgICAgICBpZiAodGhpcy5pc01vZGVsUmVjb3JkZWQocmVsYXRpb25zaGlwVHlwZSwgbG9hZGVkUmVsYXRpb25zaGlwKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlY29yZE1vZGVsKHJlbGF0aW9uc2hpcFR5cGUsIGxvYWRlZFJlbGF0aW9uc2hpcClcbiAgICAgICAgdGhpcy5maWxsTW9kZWxzKGxvYWRlZFJlbGF0aW9uc2hpcClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZpbGxlZE1vZGVscyA9IHRydWVcbiAgfVxuXG4gIGNhY2hlS2V5KCkge1xuICAgIGlmICghdGhpcy5maWxsZWRNb2RlbHMpIHtcbiAgICAgIHRoaXMuZmlsbE1vZGVscyh0aGlzLm1vZGVsKVxuICAgIH1cblxuICAgIGNvbnN0IG1kNSA9IG5ldyBTcGFya01ENSgpXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIHRoaXMuYWxsTW9kZWxzKSB7XG4gICAgICB0aGlzLmZlZWRNb2RlbChtb2RlbCwgbWQ1KVxuICAgIH1cblxuICAgIHJldHVybiBtZDUuZW5kKClcbiAgfVxuXG4gIGZlZWRNb2RlbChtb2RlbCwgbWQ1KSB7XG4gICAgbWQ1LmFwcGVuZChcIi0tbW9kZWwtLVwiKVxuICAgIG1kNS5hcHBlbmQobW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lKVxuICAgIG1kNS5hcHBlbmQoXCItLXVuaXF1ZS1rZXktLVwiKVxuICAgIG1kNS5hcHBlbmQobW9kZWwuaWQoKSB8fCBtb2RlbC51bmlxdWVLZXkoKSlcblxuICAgIGlmIChtb2RlbC5tYXJrZWRGb3JEZXN0cnVjdGlvbigpKSB7XG4gICAgICBtZDUuYXBwZW5kKFwiLS1tYXJrZWQtZm9yLWRlc3RydWN0aW9uLS1cIilcbiAgICB9XG5cbiAgICBtZDUuYXBwZW5kKFwiLWF0dHJpYnV0ZXMtXCIpXG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gbW9kZWwuYXR0cmlidXRlcygpXG5cbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZU5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgbWQ1LmFwcGVuZChhdHRyaWJ1dGVOYW1lKVxuICAgICAgbWQ1LmFwcGVuZChcIi0tYXR0cmlidXRlLS1cIilcbiAgICAgIG1kNS5hcHBlbmQoYCR7bW9kZWwucmVhZEF0dHJpYnV0ZVVuZGVyc2NvcmUoYXR0cmlidXRlTmFtZSl9YClcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsUUFBUSxNQUFNLFdBQVc7QUFFaEMsZUFBZSxNQUFNQyxpQkFBaUIsQ0FBQztFQUNyQ0MsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLElBQUksQ0FBQ0EsS0FBSyxHQUFHQSxLQUFLO0lBQ2xCLElBQUksQ0FBQ0MsU0FBUyxHQUFHLENBQUNELEtBQUssQ0FBQztJQUN4QixJQUFJLENBQUNFLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDcEIsSUFBSSxDQUFDQyxlQUFlLENBQUNILEtBQUssQ0FBQ0ksY0FBYyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0lBQ2pELElBQUksQ0FBQ0MsV0FBVyxDQUFDTixLQUFLLENBQUNJLGNBQWMsQ0FBQyxDQUFDLENBQUNDLElBQUksRUFBRUwsS0FBSyxDQUFDO0lBQ3BELElBQUksQ0FBQ08sWUFBWSxHQUFHLEtBQUs7RUFDM0I7RUFFQUMsS0FBS0EsQ0FBQSxFQUFHO0lBQ04sTUFBTUMsR0FBRyxHQUFHLElBQUlaLFFBQVEsQ0FBQyxDQUFDO0lBRTFCLElBQUksQ0FBQ2EsU0FBUyxDQUFDLElBQUksQ0FBQ1Ys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
81
+ //# sourceMappingURL=cache-key-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-key-generator.js","names":["SparkMD5","CacheKeyGenerator","constructor","model","allModels","readModels","recordModelType","modelClassData","name","recordModel","filledModels","local","md5","feedModel","end","relationshipType","push","id","uniqueKey","isModelRecorded","fillModels","relationships","loadedRelationship","Array","isArray","anotherModel","cacheKey","append","markedForDestruction","attributes","attributeName","readAttributeUnderscore"],"sources":["../src/cache-key-generator.js"],"sourcesContent":["import SparkMD5 from \"spark-md5\"\n\nexport default class CacheKeyGenerator {\n constructor(model) {\n this.model = model\n this.allModels = [model]\n this.readModels = {}\n this.recordModelType(model.modelClassData().name)\n this.recordModel(model.modelClassData().name, model)\n this.filledModels = false\n }\n\n local() {\n const md5 = new SparkMD5()\n\n this.feedModel(this.model, md5)\n\n return md5.end()\n }\n\n recordModelType(relationshipType) {\n if (!(relationshipType in this.readModels)) {\n this.readModels[relationshipType] = {}\n }\n }\n\n recordModel(relationshipType, model) {\n this.allModels.push(model)\n this.readModels[relationshipType][model.id() || model.uniqueKey()] = true\n }\n\n isModelRecorded(relationshipType, model) {\n if (model.id() in this.readModels[relationshipType]) {\n return true\n }\n }\n\n fillModels(model) {\n for (const relationshipType in model.relationships) {\n this.recordModelType(relationshipType)\n\n const loadedRelationship = model.relationships[relationshipType]\n\n if (Array.isArray(loadedRelationship)) { // has_many\n for (const anotherModel of loadedRelationship) {\n if (this.isModelRecorded(relationshipType, anotherModel)) {\n continue\n }\n\n this.recordModel(relationshipType, anotherModel)\n this.fillModels(anotherModel)\n }\n } else if (loadedRelationship) { // belongs_to, has_one\n if (this.isModelRecorded(relationshipType, loadedRelationship)) {\n continue\n }\n\n this.recordModel(relationshipType, loadedRelationship)\n this.fillModels(loadedRelationship)\n }\n }\n\n this.filledModels = true\n }\n\n cacheKey() {\n if (!this.filledModels) {\n this.fillModels(this.model)\n }\n\n const md5 = new SparkMD5()\n\n for (const model of this.allModels) {\n this.feedModel(model, md5)\n }\n\n return md5.end()\n }\n\n feedModel(model, md5) {\n md5.append(\"--model--\")\n md5.append(model.modelClassData().name)\n md5.append(\"--unique-key--\")\n md5.append(model.id() || model.uniqueKey())\n\n if (model.markedForDestruction()) {\n md5.append(\"--marked-for-destruction--\")\n }\n\n md5.append(\"-attributes-\")\n\n const attributes = model.attributes()\n\n for (const attributeName in attributes) {\n md5.append(attributeName)\n md5.append(\"--attribute--\")\n md5.append(`${model.readAttributeUnderscore(attributeName)}`)\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,WAAW;AAEhC,eAAe,MAAMC,iBAAiB,CAAC;EACrCC,WAAWA,CAACC,KAAK,EAAE;IACjB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAG,CAACD,KAAK,CAAC;IACxB,IAAI,CAACE,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACC,eAAe,CAACH,KAAK,CAACI,cAAc,CAAC,CAAC,CAACC,IAAI,CAAC;IACjD,IAAI,CAACC,WAAW,CAACN,KAAK,CAACI,cAAc,CAAC,CAAC,CAACC,IAAI,EAAEL,KAAK,CAAC;IACpD,IAAI,CAACO,YAAY,GAAG,KAAK;EAC3B;EAEAC,KAAKA,CAAA,EAAG;IACN,MAAMC,GAAG,GAAG,IAAIZ,QAAQ,CAAC,CAAC;IAE1B,IAAI,CAACa,SAAS,CAAC,IAAI,CAACV,KAAK,EAAES,GAAG,CAAC;IAE/B,OAAOA,GAAG,CAACE,GAAG,CAAC,CAAC;EAClB;EAEAR,eAAeA,CAACS,gBAAgB,EAAE;IAChC,IAAI,EAAEA,gBAAgB,IAAI,IAAI,CAACV,UAAU,CAAC,EAAE;MAC1C,IAAI,CAACA,UAAU,CAACU,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC;EACF;EAEAN,WAAWA,CAACM,gBAAgB,EAAEZ,KAAK,EAAE;IACnC,IAAI,CAACC,SAAS,CAACY,IAAI,CAACb,KAAK,CAAC;IAC1B,IAAI,CAACE,UAAU,CAACU,gBAAgB,CAAC,CAACZ,KAAK,CAACc,EAAE,CAAC,CAAC,IAAId,KAAK,CAACe,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;EAC3E;EAEAC,eAAeA,CAACJ,gBAAgB,EAAEZ,KAAK,EAAE;IACvC,IAAIA,KAAK,CAACc,EAAE,CAAC,CAAC,IAAI,IAAI,CAACZ,UAAU,CAACU,gBAAgB,CAAC,EAAE;MACnD,OAAO,IAAI;IACb;EACF;EAEAK,UAAUA,CAACjB,KAAK,EAAE;IAChB,KAAK,MAAMY,gBAAgB,IAAIZ,KAAK,CAACkB,aAAa,EAAE;MAClD,IAAI,CAACf,eAAe,CAACS,gBAAgB,CAAC;MAEtC,MAAMO,kBAAkB,GAAGnB,KAAK,CAACkB,aAAa,CAACN,gBAAgB,CAAC;MAEhE,IAAIQ,KAAK,CAACC,OAAO,CAACF,kBAAkB,CAAC,EAAE;QAAE;QACvC,KAAK,MAAMG,YAAY,IAAIH,kBAAkB,EAAE;UAC7C,IAAI,IAAI,CAACH,eAAe,CAACJ,gBAAgB,EAAEU,YAAY,CAAC,EAAE;YACxD;UACF;UAEA,IAAI,CAAChB,WAAW,CAACM,gBAAgB,EAAEU,YAAY,CAAC;UAChD,IAAI,CAACL,UAAU,CAACK,YAAY,CAAC;QAC/B;MACF,CAAC,MAAM,IAAIH,kBAAkB,EAAE;QAAE;QAC/B,IAAI,IAAI,CAACH,eAAe,CAACJ,gBAAgB,EAAEO,kBAAkB,CAAC,EAAE;UAC9D;QACF;QAEA,IAAI,CAACb,WAAW,CAACM,gBAAgB,EAAEO,kBAAkB,CAAC;QACtD,IAAI,CAACF,UAAU,CAACE,kBAAkB,CAAC;MACrC;IACF;IAEA,IAAI,CAACZ,YAAY,GAAG,IAAI;EAC1B;EAEAgB,QAAQA,CAAA,EAAG;IACT,IAAI,CAAC,IAAI,CAAChB,YAAY,EAAE;MACtB,IAAI,CAACU,UAAU,CAAC,IAAI,CAACjB,KAAK,CAAC;IAC7B;IAEA,MAAMS,GAAG,GAAG,IAAIZ,QAAQ,CAAC,CAAC;IAE1B,KAAK,MAAMG,KAAK,IAAI,IAAI,CAACC,SAAS,EAAE;MAClC,IAAI,CAACS,SAAS,CAACV,KAAK,EAAES,GAAG,CAAC;IAC5B;IAEA,OAAOA,GAAG,CAACE,GAAG,CAAC,CAAC;EAClB;EAEAD,SAASA,CAACV,KAAK,EAAES,GAAG,EAAE;IACpBA,GAAG,CAACe,MAAM,CAAC,WAAW,CAAC;IACvBf,GAAG,CAACe,MAAM,CAACxB,KAAK,CAACI,cAAc,CAAC,CAAC,CAACC,IAAI,CAAC;IACvCI,GAAG,CAACe,MAAM,CAAC,gBAAgB,CAAC;IAC5Bf,GAAG,CAACe,MAAM,CAACxB,KAAK,CAACc,EAAE,CAAC,CAAC,IAAId,KAAK,CAACe,SAAS,CAAC,CAAC,CAAC;IAE3C,IAAIf,KAAK,CAACyB,oBAAoB,CAAC,CAAC,EAAE;MAChChB,GAAG,CAACe,MAAM,CAAC,4BAA4B,CAAC;IAC1C;IAEAf,GAAG,CAACe,MAAM,CAAC,cAAc,CAAC;IAE1B,MAAME,UAAU,GAAG1B,KAAK,CAAC0B,UAAU,CAAC,CAAC;IAErC,KAAK,MAAMC,aAAa,IAAID,UAAU,EAAE;MACtCjB,GAAG,CAACe,MAAM,CAACG,aAAa,CAAC;MACzBlB,GAAG,CAACe,MAAM,CAAC,eAAe,CAAC;MAC3Bf,GAAG,CAACe,MAAM,CAAC,GAAGxB,KAAK,CAAC4B,uBAAuB,CAACD,aAAa,CAAC,EAAE,CAAC;IAC/D;EACF;AACF","ignoreList":[]}
package/build/can-can.js CHANGED
@@ -131,4 +131,4 @@ export default class ApiMakerCanCan {
131
131
  }
132
132
  };
133
133
  }
134
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiRXZlbnRFbWl0dGVyIiwiaW5mbGVjdGlvbiIsIlJlYWRlcnNXcml0ZXJMb2NrIiwiU2VydmljZXMiLCJzaGFyZWQiLCJBcGlNYWtlckNhbkNhbiIsImFiaWxpdGllcyIsImFiaWxpdGllc1RvTG9hZCIsImFiaWxpdGllc1RvTG9hZERhdGEiLCJldmVudHMiLCJsb2NrIiwiY3VycmVudCIsImN1cnJlbnRBcGlNYWtlckNhbkNhbiIsImNhbiIsImFiaWxpdHkiLCJzdWJqZWN0IiwiYWJpbGl0eVRvVXNlIiwidW5kZXJzY29yZSIsImZvdW5kQWJpbGl0eSIsImZpbmRBYmlsaXR5IiwidW5kZWZpbmVkIiwic3ViamVjdExhYmVsIiwibW9kZWxDbGFzc0RhdGEiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5kIiwiYWJpbGl0eURhdGEiLCJhYmlsaXR5RGF0YVN1YmplY3QiLCJhYmlsaXR5RGF0YUFiaWxpdHkiLCJpc0FiaWxpdHlMb2FkZWQiLCJsb2FkQWJpbGl0aWVzIiwicmVhZCIsInByb21pc2VzIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5IiwicHJvbWlzZSIsImxvYWRBYmlsaXR5IiwicHVzaCIsIlByb21pc2UiLCJhbGwiLCJyZXNvbHZlIiwiYWJpbGl0eVRvTG9hZCIsImNhbGxiYWNrcyIsInF1ZXVlQWJpbGl0aWVzUmVxdWVzdCIsInF1ZXVlQWJpbGl0aWVzUmVxdWVzdFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0Iiwic2VuZEFiaWxpdGllc1JlcXVlc3QiLCJyZXNldEFiaWxpdGllcyIsIndyaXRlIiwiZW1pdCIsInJlc3VsdCIsInNlbmRSZXF1ZXN0IiwicmVxdWVzdCIsImNvbmNhdCIsImNhbGxiYWNrIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Nhbi1jYW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7UmVhZGVyc1dyaXRlckxvY2t9IGZyb20gXCJlcGljLWxvY2tzXCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi9zZXJ2aWNlc1wiXG5cbmNvbnN0IHNoYXJlZCA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ2FuQ2FuIHtcbiAgYWJpbGl0aWVzID0gW11cbiAgYWJpbGl0aWVzVG9Mb2FkID0gW11cbiAgYWJpbGl0aWVzVG9Mb2FkRGF0YSA9IFtdXG4gIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBsb2NrID0gbmV3IFJlYWRlcnNXcml0ZXJMb2NrKClcblxuICBzdGF0aWMgY3VycmVudCAoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyQ2FuQ2FuKSBzaGFyZWQuY3VycmVudEFwaU1ha2VyQ2FuQ2FuID0gbmV3IEFwaU1ha2VyQ2FuQ2FuKClcblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyQ2FuQ2FuXG4gIH1cblxuICBjYW4gKGFiaWxpdHksIHN1YmplY3QpIHtcbiAgICBsZXQgYWJpbGl0eVRvVXNlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpXG4gICAgY29uc3QgZm91bmRBYmlsaXR5ID0gdGhpcy5maW5kQWJpbGl0eShhYmlsaXR5VG9Vc2UsIHN1YmplY3QpXG5cbiAgICBpZiAoZm91bmRBYmlsaXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBzdWJqZWN0TGFiZWwgPSBzdWJqZWN0XG5cbiAgICAgIC8vIFRyYW5zbGF0ZSByZXNvdXJjZS1tb2RlbHMgaW50byBjbGFzcyBuYW1lIHN0cmluZ3NcbiAgICAgIGlmICh0eXBlb2Ygc3ViamVjdCA9PSBcImZ1bmN0aW9uXCIgJiYgc3ViamVjdC5tb2RlbENsYXNzRGF0YSkge1xuICAgICAgICBzdWJqZWN0TGFiZWwgPSBkaWdnKHN1YmplY3QubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoYEFiaWxpdHkgbm90IGxvYWRlZCAke3N1YmplY3RMYWJlbH0jJHthYmlsaXR5VG9Vc2V9YCwge2FiaWxpdGllczogdGhpcy5hYmlsaXRpZXMsIGFiaWxpdHksIHN1YmplY3R9KVxuXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRpZ2coZm91bmRBYmlsaXR5LCBcImNhblwiKVxuICAgIH1cbiAgfVxuXG4gIGZpbmRBYmlsaXR5IChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuYWJpbGl0aWVzLmZpbmQoKGFiaWxpdHlEYXRhKSA9PiB7XG4gICAgICBjb25zdCBhYmlsaXR5RGF0YVN1YmplY3QgPSBkaWdnKGFiaWxpdHlEYXRhLCBcInN1YmplY3RcIilcbiAgICAgIGNvbnN0IGFiaWxpdHlEYXRhQWJpbGl0eSA9IGRpZ2coYWJpbGl0eURhdGEsIFwiYWJpbGl0eVwiKVxuXG4gICAgICBpZiAoYWJpbGl0eURhdGFBYmlsaXR5ID09IGFiaWxpdHkpIHtcbiAgICAgICAgLy8gSWYgYWN0dWFsbHkgc2FtZSBjbGFzc1xuICAgICAgICBpZiAoYWJpbGl0eURhdGFTdWJqZWN0ID09IHN1YmplY3QpIHJldHVybiB0cnVlXG5cbiAgICAgICAgLy8gU29tZXRpbWVzIGluIGRldiB3aGVuIHVzaW5nIGxpbmtpbmcgaXQgd2lsbCBhY3R1YWxseSBiZSB0d28gZGlmZmVyZW50IGJ1dCBpZGVudGljYWwgcmVzb3VyY2UgY2xhc3Nlc1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdHlwZW9mIHN1YmplY3QgPT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAgICAgc3ViamVjdC5tb2RlbENsYXNzRGF0YSAmJlxuICAgICAgICAgIHR5cGVvZiBhYmlsaXR5RGF0YVN1YmplY3QgPT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAgICAgYWJpbGl0eURhdGFTdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhICYmXG4gICAgICAgICAgZGlnZyhzdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKSA9PSBkaWdnKGFiaWxpdHlEYXRhU3ViamVjdC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgaXNBYmlsaXR5TG9hZGVkIChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgY29uc3QgZm91bmRBYmlsaXR5ID0gdGhpcy5maW5kQWJpbGl0eShhYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgaWYgKGZvdW5kQWJpbGl0eSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgYXN5bmMgbG9hZEFiaWxpdGllcyAoYWJpbGl0aWVzKSB7XG4gICAgYXdhaXQgdGhpcy5sb2NrLnJlYWQoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuXG4gICAgICBmb3IgKGNvbnN0IGFiaWxpdHlEYXRhIG9mIGFiaWxpdGllcykge1xuICAgICAgICBjb25zdCBzdWJqZWN0ID0gYWJpbGl0eURhdGFbMF1cblxuICAgICAgICBpZiAoIXN1YmplY3QpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdWJqZWN0IGdpdmVuIGluIGFiaWxpdGllczogJHtzdWJqZWN0fSAtICR7SlNPTi5zdHJpbmdpZnkoYWJpbGl0aWVzKX1gKVxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpbGl0eURhdGFbMV0pKSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFuIGFycmF5IG9mIGFiaWxpdGllcyBidXQgZ290OiAke3R5cGVvZiBhYmlsaXR5RGF0YVsxXX06ICR7YWJpbGl0eURhdGFbMV19YClcblxuICAgICAgICBmb3IgKGNvbnN0IGFiaWxpdHkgb2YgYWJpbGl0eURhdGFbMV0pIHtcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5sb2FkQWJpbGl0eShhYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgIH0pXG4gIH1cblxuICBsb2FkQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgYWJpbGl0eSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhYmlsaXR5KVxuXG4gICAgICBpZiAodGhpcy5pc0FiaWxpdHlMb2FkZWQoYWJpbGl0eSwgc3ViamVjdCkpIHtcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3VuZEFiaWxpdHkgPSB0aGlzLmFiaWxpdGllc1RvTG9hZC5maW5kKChhYmlsaXR5VG9Mb2FkKSA9PiBkaWdnKGFiaWxpdHlUb0xvYWQsIFwiYWJpbGl0eVwiKSA9PSBhYmlsaXR5ICYmIGRpZ2coYWJpbGl0eVRvTG9hZCwgXCJzdWJqZWN0XCIpID09IHN1YmplY3QpXG5cbiAgICAgIGlmIChmb3VuZEFiaWxpdHkpIHtcbiAgICAgICAgZm91bmRBYmlsaXR5LmNhbGxiYWNrcy5wdXNoKHJlc29sdmUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFiaWxpdGllc1RvTG9hZC5wdXNoKHthYmlsaXR5LCBjYWxsYmFja3M6IFtyZXNvbHZlXSwgc3ViamVjdH0pXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkRGF0YS5wdXNoKHthYmlsaXR5LCBzdWJqZWN0fSlcblxuICAgICAgICB0aGlzLnF1ZXVlQWJpbGl0aWVzUmVxdWVzdCgpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHF1ZXVlQWJpbGl0aWVzUmVxdWVzdCAoKSB7XG4gICAgaWYgKHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLnF1ZXVlQWJpbGl0aWVzUmVxdWVzdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuc2VuZEFiaWxpdGllc1JlcXVlc3QsIDApXG4gIH1cblxuICBhc3luYyByZXNldEFiaWxpdGllcyAoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2NrLndyaXRlKCgpID0+IHtcbiAgICAgIHRoaXMuYWJpbGl0aWVzID0gW11cbiAgICB9KVxuICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvblJlc2V0QWJpbGl0aWVzXCIpXG4gIH1cblxuICBzZW5kQWJpbGl0aWVzUmVxdWVzdCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWQgPSB0aGlzLmFiaWxpdGllc1RvTG9hZFxuICAgIGNvbnN0IGFiaWxpdGllc1RvTG9hZERhdGEgPSB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGFcblxuICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkID0gW11cbiAgICB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEgPSBbXVxuXG4gICAgLy8gTG9hZCBhYmlsaXRpZXMgZnJvbSBiYWNrZW5kXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiQ2FuQ2FuOjpMb2FkQWJpbGl0aWVzXCIsIHtcbiAgICAgIHJlcXVlc3Q6IGFiaWxpdGllc1RvTG9hZERhdGFcbiAgICB9KVxuICAgIGNvbnN0IGFiaWxpdGllcyA9IGRpZ2cocmVzdWx0LCBcImFiaWxpdGllc1wiKVxuXG4gICAgLy8gU2V0IHRoZSBsb2FkZWQgYWJpbGl0aWVzXG4gICAgdGhpcy5hYmlsaXRpZXMgPSB0aGlzLmFiaWxpdGllcy5jb25jYXQoYWJpbGl0aWVzKVxuXG4gICAgLy8gQ2FsbCB0aGUgY2FsbGJhY2tzIHRoYXQgYXJlIHdhaXRpbmcgZm9yIHRoZSBhYmlsaXR5IHRvIGhhdmUgYmVlbiBsb2FkZWRcbiAgICBmb3IgKGNvbnN0IGFiaWxpdHlEYXRhIG9mIGFiaWxpdGllc1RvTG9hZCkge1xuICAgICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBhYmlsaXR5RGF0YS5jYWxsYmFja3MpIHtcbiAgICAgICAgY2FsbGJhY2soKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxZQUFZLE1BQU0sUUFBUTtBQUNqQyxPQUFPLEtBQUtDLFVBQVUsTUFBTSxZQUFZO0FBQ3hDLFNBQVFDLGlCQUFpQixRQUFPLFlBQVk7QUFDNUMsT0FBT0MsUUFBUSxNQUFNLFlBQVk7QUFFakMsTUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVqQixlQUFlLE1BQU1DLGNBQWMsQ0FBQztFQUNsQ0MsU0FBUyxHQUFHLEVBQUU7RUFDZEMsZUFBZSxHQUFHLEVBQUU7RUFDcEJDLG1CQUFtQixHQUFHLEVBQUU7RUFDeEJDLE1BQU0sR0FBRyxJQUFJVCxZQUFZLENBQUMsQ0FBQztFQUMzQlUsSUFBSSxHQUFHLElBQUlSLGlCQUFpQixDQUFDLENBQUM7RUFFOUIsT0FBT1MsT0FBT0EsQ0FBQSxFQUFJO0lBQ2hCLElBQUksQ0FBQ1AsTUFBTSxDQUFDUSxxQkFBcUIsRUFBRVIsTUFBTSxDQUFDUSxxQkFBcUIsR0FBRyxJQUFJUCxjQUFjLENBQUMsQ0FBQztJQUV0RixPQUFPRCxNQUFNLENBQUNRLHFCQUFxQjtFQUNyQztFQUVBQyxHQUFHQSxDQUFFQyxPQUFPLEVBQUVDLE9BQU8sRUFBRTtJQUNyQixJQUFJQyxZQUFZLEdBQUdmLFVBQVUsQ0FBQ2dCLFVBQVUsQ0FBQ0gsT0FBTyxDQUFDO0lBQ2pELE1BQU1JLFlBQVksR0FBRyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0gsWUFBWSxFQUFFRCxPQUFPLENBQUM7SUFFNUQsSUFB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
134
+ //# sourceMappingURL=can-can.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-can.js","names":["digg","EventEmitter","inflection","ReadersWriterLock","Services","shared","ApiMakerCanCan","abilities","abilitiesToLoad","abilitiesToLoadData","events","lock","current","currentApiMakerCanCan","can","ability","subject","abilityToUse","underscore","foundAbility","findAbility","undefined","subjectLabel","modelClassData","console","error","find","abilityData","abilityDataSubject","abilityDataAbility","isAbilityLoaded","loadAbilities","read","promises","Error","JSON","stringify","Array","isArray","promise","loadAbility","push","Promise","all","resolve","abilityToLoad","callbacks","queueAbilitiesRequest","queueAbilitiesRequestTimeout","clearTimeout","setTimeout","sendAbilitiesRequest","resetAbilities","write","emit","result","sendRequest","request","concat","callback"],"sources":["../src/can-can.js"],"sourcesContent":["import {digg} from \"diggerize\"\nimport EventEmitter from \"events\"\nimport * as inflection from \"inflection\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport Services from \"./services\"\n\nconst shared = {}\n\nexport default class ApiMakerCanCan {\n abilities = []\n abilitiesToLoad = []\n abilitiesToLoadData = []\n events = new EventEmitter()\n lock = new ReadersWriterLock()\n\n static current () {\n if (!shared.currentApiMakerCanCan) shared.currentApiMakerCanCan = new ApiMakerCanCan()\n\n return shared.currentApiMakerCanCan\n }\n\n can (ability, subject) {\n let abilityToUse = inflection.underscore(ability)\n const foundAbility = this.findAbility(abilityToUse, subject)\n\n if (foundAbility === undefined) {\n let subjectLabel = subject\n\n // Translate resource-models into class name strings\n if (typeof subject == \"function\" && subject.modelClassData) {\n subjectLabel = digg(subject.modelClassData(), \"name\")\n }\n\n console.error(`Ability not loaded ${subjectLabel}#${abilityToUse}`, {abilities: this.abilities, ability, subject})\n\n return false\n } else {\n return digg(foundAbility, \"can\")\n }\n }\n\n findAbility (ability, subject) {\n return this.abilities.find((abilityData) => {\n const abilityDataSubject = digg(abilityData, \"subject\")\n const abilityDataAbility = digg(abilityData, \"ability\")\n\n if (abilityDataAbility == ability) {\n // If actually same class\n if (abilityDataSubject == subject) return true\n\n // Sometimes in dev when using linking it will actually be two different but identical resource classes\n if (\n typeof subject == \"function\" &&\n subject.modelClassData &&\n typeof abilityDataSubject == \"function\" &&\n abilityDataSubject.modelClassData &&\n digg(subject.modelClassData(), \"name\") == digg(abilityDataSubject.modelClassData(), \"name\")\n ) {\n return true\n }\n }\n\n return false\n })\n }\n\n isAbilityLoaded (ability, subject) {\n const foundAbility = this.findAbility(ability, subject)\n\n if (foundAbility !== undefined) {\n return true\n }\n\n return false\n }\n\n async loadAbilities (abilities) {\n await this.lock.read(async () => {\n const promises = []\n\n for (const abilityData of abilities) {\n const subject = abilityData[0]\n\n if (!subject) throw new Error(`Invalid subject given in abilities: ${subject} - ${JSON.stringify(abilities)}`)\n if (!Array.isArray(abilityData[1])) throw new Error(`Expected an array of abilities but got: ${typeof abilityData[1]}: ${abilityData[1]}`)\n\n for (const ability of abilityData[1]) {\n const promise = this.loadAbility(ability, subject)\n\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n })\n }\n\n loadAbility (ability, subject) {\n return new Promise((resolve) => {\n ability = inflection.underscore(ability)\n\n if (this.isAbilityLoaded(ability, subject)) {\n resolve()\n return\n }\n\n const foundAbility = this.abilitiesToLoad.find((abilityToLoad) => digg(abilityToLoad, \"ability\") == ability && digg(abilityToLoad, \"subject\") == subject)\n\n if (foundAbility) {\n foundAbility.callbacks.push(resolve)\n } else {\n this.abilitiesToLoad.push({ability, callbacks: [resolve], subject})\n this.abilitiesToLoadData.push({ability, subject})\n\n this.queueAbilitiesRequest()\n }\n })\n }\n\n queueAbilitiesRequest () {\n if (this.queueAbilitiesRequestTimeout) {\n clearTimeout(this.queueAbilitiesRequestTimeout)\n }\n\n this.queueAbilitiesRequestTimeout = setTimeout(this.sendAbilitiesRequest, 0)\n }\n\n async resetAbilities () {\n await this.lock.write(() => {\n this.abilities = []\n })\n this.events.emit(\"onResetAbilities\")\n }\n\n sendAbilitiesRequest = async () => {\n const abilitiesToLoad = this.abilitiesToLoad\n const abilitiesToLoadData = this.abilitiesToLoadData\n\n this.abilitiesToLoad = []\n this.abilitiesToLoadData = []\n\n // Load abilities from backend\n const result = await Services.current().sendRequest(\"CanCan::LoadAbilities\", {\n request: abilitiesToLoadData\n })\n const abilities = digg(result, \"abilities\")\n\n // Set the loaded abilities\n this.abilities = this.abilities.concat(abilities)\n\n // Call the callbacks that are waiting for the ability to have been loaded\n for (const abilityData of abilitiesToLoad) {\n for (const callback of abilityData.callbacks) {\n callback()\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import { createConsumer } from "@rails/actioncable";
2
2
  export default createConsumer();
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb25zdW1lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFubmVscy1jb25zdW1lci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUNvbnN1bWVyfSBmcm9tIFwiQHJhaWxzL2FjdGlvbmNhYmxlXCJcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQ29uc3VtZXIoKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxjQUFjLFFBQU8sb0JBQW9CO0FBRWpELGVBQWVBLGNBQWMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
3
+ //# sourceMappingURL=channels-consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels-consumer.js","names":["createConsumer"],"sources":["../src/channels-consumer.js"],"sourcesContent":["import {createConsumer} from \"@rails/actioncable\"\n\nexport default createConsumer()\n"],"mappings":"AAAA,SAAQA,cAAc,QAAO,oBAAoB;AAEjD,eAAeA,cAAc,CAAC,CAAC","ignoreList":[]}
@@ -45,4 +45,4 @@ CollectionLoader.propTypes = PropTypesExact({
45
45
  selectColumns: PropTypes.object
46
46
  });
47
47
  export default memo(CollectionLoader);
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsZWN0aW9uIiwiZGlnZyIsIm1lbW8iLCJ1c2VNZW1vIiwiUHJvcFR5cGVzIiwiUHJvcFR5cGVzRXhhY3QiLCJ1c2VDb2xsZWN0aW9uIiwidXNlU2hhcGUiLCJDb2xsZWN0aW9uTG9hZGVyIiwiY29tcG9uZW50IiwicmVzdFByb3BzIiwicyIsInVzZUNvbGxlY3Rpb25SZXN1bHQiLCJjYWNoZVBhcnRzS2V5cyIsImNhY2hlUGFydHMiLCJjYWNoZVBhcnRzS2V5IiwicHVzaCIsInVwZGF0ZU1ldGEiLCJtIiwic2V0U3RhdGUiLCJwcm9wVHlwZXMiLCJhYmlsaXRpZXMiLCJvYmplY3QiLCJjb2xsZWN0aW9uIiwiaW5zdGFuY2VPZiIsImlzUmVxdWlyZWQiLCJkZWZhdWx0UGFyYW1zIiwiZ3JvdXBCeSIsImFycmF5IiwibW9kZWxDbGFzcyIsImZ1bmMiLCJub1JlY29yZHNBdmFpbGFibGVDb250ZW50Iiwibm9SZWNvcmRzRm91bmRDb250ZW50Iiwib25Nb2RlbHNMb2FkZWQiLCJwYWdpbmF0aW9uIiwiYm9vbCIsInByZWxvYWRzIiwicXVlcnlNZXRob2QiLCJxdWVyeU5hbWUiLCJzdHJpbmciLCJyYW5zYWNrIiwic2VsZWN0Iiwic2VsZWN0Q29sdW1ucyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2xsZWN0aW9uLWxvYWRlci5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbGxlY3Rpb24gZnJvbSBcIi4vY29sbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VDb2xsZWN0aW9uIGZyb20gXCIuL3VzZS1jb2xsZWN0aW9uXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IENvbGxlY3Rpb25Mb2FkZXIgPSAoe2NvbXBvbmVudCwgLi4ucmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCBzID0gdXNlU2hhcGUocmVzdFByb3BzKVxuICBjb25zdCB1c2VDb2xsZWN0aW9uUmVzdWx0ID0gdXNlQ29sbGVjdGlvbihyZXN0UHJvcHMpXG4gIGNvbnN0IGNhY2hlUGFydHNLZXlzID0gW1xuICAgIFwibW9kZWxJZHNDYWNoZVN0cmluZ1wiLFxuICAgIFwib3ZlcmFsbENvdW50XCIsXG4gICAgXCJxUGFyYW1zXCIsXG4gICAgXCJxdWVyeU5hbWVcIixcbiAgICBcInF1ZXJ5UGVyS2V5XCIsXG4gICAgXCJxdWVyeVFOYW1lXCIsXG4gICAgXCJxdWVyeVNOYW1lXCIsXG4gICAgXCJxdWVyeVBhZ2VOYW1lXCIsXG4gICAgXCJzZWFyY2hQYXJhbXNcIixcbiAgICBcInNob3dOb1JlY29yZHNBdmFpbGFibGVDb250ZW50XCIsXG4gICAgXCJzaG93Tm9SZWNvcmRzRm91bmRDb250ZW50XCJcbiAgXVxuICBjb25zdCBjYWNoZVBhcnRzID0gW11cblxuICBmb3IoY29uc3QgY2FjaGVQYXJ0c0tleSBvZiBjYWNoZVBhcnRzS2V5cykge1xuICAgIGNhY2hlUGFydHMucHVzaChkaWdnKHVzZUNvbGxlY3Rpb25SZXN1bHQsIGNhY2hlUGFydHNLZXkpKVxuICB9XG5cbiAgcy51cGRhdGVNZXRhKHtjb21wb25lbnQsIHVzZUNvbGxlY3Rpb25SZXN1bHR9KVxuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIHMubS5jb21wb25lbnQuc2V0U3RhdGUocy5tLnVzZUNvbGxlY3Rpb25SZXN1bHQpXG4gIH0sIGNhY2hlUGFydHMpXG5cbiAgcmV0dXJuIG51bGxcbn1cblxuQ29sbGVjdGlvbkxvYWRlci5wcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gIGFiaWxpdGllczogUHJvcFR5cGVzLm9iamVjdCxcbiAgY29sbGVjdGlvbjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQ29sbGVjdGlvbiksXG4gIGNvbXBvbmVudDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBkZWZhdWx0UGFyYW1zOiBQcm9wVHlwZXMub2JqZWN0LFxuICBncm91cEJ5OiBQcm9wVHlwZXMuYXJyYXksXG4gIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQ6IFByb3BUeXBlcy5mdW5jLFxuICBub1JlY29yZHNGb3VuZENvbnRlbnQ6IFByb3BUeXBlcy5mdW5jLFxuICBvbk1vZGVsc0xvYWRlZDogUHJvcFR5cGVzLmZ1bmMsXG4gIHBhZ2luYXRpb246IFByb3BUeXBlcy5ib29sLFxuICBwcmVsb2FkczogUHJvcFR5cGVzLmFycmF5LFxuICBxdWVyeU1ldGhvZDogUHJvcFR5cGVzLmZ1bmMsXG4gIHF1ZXJ5TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmFuc2FjazogUHJvcFR5cGVzLm9iamVjdCxcbiAgc2VsZWN0OiBQcm9wVHlwZXMub2JqZWN0LFxuICBzZWxlY3RDb2x1bW5zOiBQcm9wVHlwZXMub2JqZWN0XG59KVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKENvbGxlY3Rpb25Mb2FkZXIpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsU0FBUUMsT0FBTyxRQUFPLE9BQU87QUFDN0IsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxhQUFhLE1BQU0sa0JBQWtCO0FBQzVDLE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsZ0JBQWdCLEdBQUdBLENBQUM7RUFBQ0MsU0FBUztFQUFFLEdBQUdDO0FBQVMsQ0FBQyxLQUFLO0VBQ3RELE1BQU1DLENBQUMsR0FBR0osUUFBUSxDQUFDRyxTQUFTLENBQUM7RUFDN0IsTUFBTUUsbUJBQW1CLEdBQUdOLGFBQWEsQ0FBQ0ksU0FBUyxDQUFDO0VBQ3BELE1BQU1HLGNBQWMsR0FBRyxDQUNyQixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osZUFBZSxFQUNmLGNBQWMsRUFDZCwrQkFBK0IsRUFDL0IsMkJBQTJCLENBQzVCO0VBQ0QsTUFBTUMsVUFBVSxHQUFHLEVBQUU7RUFFckIsS0FBSSxNQUFNQyxhQUFhLElBQUlGLGNBQWMsRUFBRTtJQUN6Q0MsVUFBVSxDQUFDRSxJQUFJLENBQUNmLElBQUksQ0FBQ1csbUJBQW1CLEVBQUVHLGFBQWEsQ0FBQyxDQUFDO0VBQzNEO0VBRUFKLENBQUMsQ0FBQ00sVUFBVSxDQUFDO0lBQUNSLFNBQVM7SUFBRUc7RUFBbUIsQ0FBQyxDQUFDO0VBRTlDVCxPQUFPLENBQUMsTUFBTTtJQUNaUSxDQUFDLENBQUNPLENBQUMsQ0FBQ1QsU0FBUyxDQUFDVSxRQUFRLENBQUNSLENBQUMsQ0FBQ08sQ0FBQyxDQUFDTixtQkFBbUIsQ0FBQztFQUNqRCxDQUFDLEVBQUVFLFVBQVUsQ0FBQztFQUVkLE9BQU8sSUFBSTtBQUNiLENBQUM7QUFFRE4sZ0JBQWdCLENBQUNZLFNBQVMsR0FBR2YsY0FBYyxDQUFDO0VBQzFDZ0IsU0FBUyxFQUFFakIsU0FBUyxDQUFDa0IsTUFBTTtFQUMzQkMsVUFBVSxFQUFFbkIsU0FBUyxDQUFDb0IsVUFBVSxDQUFDeEIsVUFBVSxDQUFDO0VBQzVDUyxTQUFTLEVBQUVMLFNBQVMsQ0FBQ2tCLE1BQU0sQ0FBQ0csVUFBVTtFQUN0Q0MsYUFBYSxFQUFFdEIsU0FBUyxDQUFDa0IsTUFBTTtFQUMvQkssT0FBTyxFQUFFdkIsU0FBUyxDQUFDd0IsS0FBSztFQUN4QkMsVUFBVSxFQUFFekIsU0FBUyxDQUFDMEIsSUFBSSxDQUFDTCxVQUFVO0VBQ3JDTSx5QkFBeUIsRUFBRTNCLFNBQVMsQ0FBQzBCLElBQUk7RUFDekNFLHFCQUFxQixFQUFFNUIsU0FBUyxDQUFDMEIsSUFBSTtFQUNyQ0csY0FBYyxFQUFFN0IsU0FBUyxDQUFDMEIsSUFBSTtFQUM5QkksVUFBVSxFQUFFOUIsU0FBUyxDQUFDK0IsSUFBSTtFQUMxQkMsUUFBUSxFQUFFaEMsU0FBUyxDQUFDd0IsS0FBSztFQUN6QlMsV0FBVyxFQUFFakMsU0FBUyxDQUFDMEIsSUFBSTtFQUMzQlEsU0FBUyxFQUFFbEMsU0FBUyxDQUFDbUMsTUFBTTtFQUMzQkMsT0FBTyxFQUFFcEMsU0FBUyxDQUFDa0IsTUFBTTtFQUN6Qm1CLE1BQU0sRUFBRXJDLFNBQVMsQ0FBQ2tCLE1BQU07RUFDeEJvQixhQUFhLEVBQUV0QyxTQUFTLENBQUNrQjtBQUMzQixDQUFDLENBQUM7QUFFRixlQUFlcEIsSUFBSSxDQUFDTSxnQkFBZ0IsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
48
+ //# sourceMappingURL=collection-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-loader.js","names":["Collection","digg","memo","useMemo","PropTypes","PropTypesExact","useCollection","useShape","CollectionLoader","component","restProps","s","useCollectionResult","cachePartsKeys","cacheParts","cachePartsKey","push","updateMeta","m","setState","propTypes","abilities","object","collection","instanceOf","isRequired","defaultParams","groupBy","array","modelClass","func","noRecordsAvailableContent","noRecordsFoundContent","onModelsLoaded","pagination","bool","preloads","queryMethod","queryName","string","ransack","select","selectColumns"],"sources":["../src/collection-loader.jsx"],"sourcesContent":["import Collection from \"./collection\"\nimport {digg} from \"diggerize\"\nimport memo from \"set-state-compare/src/memo\"\nimport {useMemo} from \"react\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport useCollection from \"./use-collection\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst CollectionLoader = ({component, ...restProps}) => {\n const s = useShape(restProps)\n const useCollectionResult = useCollection(restProps)\n const cachePartsKeys = [\n \"modelIdsCacheString\",\n \"overallCount\",\n \"qParams\",\n \"queryName\",\n \"queryPerKey\",\n \"queryQName\",\n \"querySName\",\n \"queryPageName\",\n \"searchParams\",\n \"showNoRecordsAvailableContent\",\n \"showNoRecordsFoundContent\"\n ]\n const cacheParts = []\n\n for(const cachePartsKey of cachePartsKeys) {\n cacheParts.push(digg(useCollectionResult, cachePartsKey))\n }\n\n s.updateMeta({component, useCollectionResult})\n\n useMemo(() => {\n s.m.component.setState(s.m.useCollectionResult)\n }, cacheParts)\n\n return null\n}\n\nCollectionLoader.propTypes = PropTypesExact({\n abilities: PropTypes.object,\n collection: PropTypes.instanceOf(Collection),\n component: PropTypes.object.isRequired,\n defaultParams: PropTypes.object,\n groupBy: PropTypes.array,\n modelClass: PropTypes.func.isRequired,\n noRecordsAvailableContent: PropTypes.func,\n noRecordsFoundContent: PropTypes.func,\n onModelsLoaded: PropTypes.func,\n pagination: PropTypes.bool,\n preloads: PropTypes.array,\n queryMethod: PropTypes.func,\n queryName: PropTypes.string,\n ransack: PropTypes.object,\n select: PropTypes.object,\n selectColumns: PropTypes.object\n})\n\nexport default memo(CollectionLoader)\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,cAAc;AACrC,SAAQC,IAAI,QAAO,WAAW;AAC9B,OAAOC,IAAI,MAAM,4BAA4B;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAC7B,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,gBAAgB,GAAGA,CAAC;EAACC,SAAS;EAAE,GAAGC;AAAS,CAAC,KAAK;EACtD,MAAMC,CAAC,GAAGJ,QAAQ,CAACG,SAAS,CAAC;EAC7B,MAAME,mBAAmB,GAAGN,aAAa,CAACI,SAAS,CAAC;EACpD,MAAMG,cAAc,GAAG,CACrB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,+BAA+B,EAC/B,2BAA2B,CAC5B;EACD,MAAMC,UAAU,GAAG,EAAE;EAErB,KAAI,MAAMC,aAAa,IAAIF,cAAc,EAAE;IACzCC,UAAU,CAACE,IAAI,CAACf,IAAI,CAACW,mBAAmB,EAAEG,aAAa,CAAC,CAAC;EAC3D;EAEAJ,CAAC,CAACM,UAAU,CAAC;IAACR,SAAS;IAAEG;EAAmB,CAAC,CAAC;EAE9CT,OAAO,CAAC,MAAM;IACZQ,CAAC,CAACO,CAAC,CAACT,SAAS,CAACU,QAAQ,CAACR,CAAC,CAACO,CAAC,CAACN,mBAAmB,CAAC;EACjD,CAAC,EAAEE,UAAU,CAAC;EAEd,OAAO,IAAI;AACb,CAAC;AAEDN,gBAAgB,CAACY,SAAS,GAAGf,cAAc,CAAC;EAC1CgB,SAAS,EAAEjB,SAAS,CAACkB,MAAM;EAC3BC,UAAU,EAAEnB,SAAS,CAACoB,UAAU,CAACxB,UAAU,CAAC;EAC5CS,SAAS,EAAEL,SAAS,CAACkB,MAAM,CAACG,UAAU;EACtCC,aAAa,EAAEtB,SAAS,CAACkB,MAAM;EAC/BK,OAAO,EAAEvB,SAAS,CAACwB,KAAK;EACxBC,UAAU,EAAEzB,SAAS,CAAC0B,IAAI,CAACL,UAAU;EACrCM,yBAAyB,EAAE3B,SAAS,CAAC0B,IAAI;EACzCE,qBAAqB,EAAE5B,SAAS,CAAC0B,IAAI;EACrCG,cAAc,EAAE7B,SAAS,CAAC0B,IAAI;EAC9BI,UAAU,EAAE9B,SAAS,CAAC+B,IAAI;EAC1BC,QAAQ,EAAEhC,SAAS,CAACwB,KAAK;EACzBS,WAAW,EAAEjC,SAAS,CAAC0B,IAAI;EAC3BQ,SAAS,EAAElC,SAAS,CAACmC,MAAM;EAC3BC,OAAO,EAAEpC,SAAS,CAACkB,MAAM;EACzBmB,MAAM,EAAErC,SAAS,CAACkB,MAAM;EACxBoB,aAAa,EAAEtC,SAAS,CAACkB;AAC3B,CAAC,CAAC;AAEF,eAAepB,IAAI,CAACM,gBAAgB,CAAC","ignoreList":[]}
@@ -276,4 +276,4 @@ export default class ApiMakerCollection {
276
276
  }, {});
277
277
  }
278
278
  }
279
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbG9uZURlZXAiLCJDb21tYW5kc1Bvb2wiLCJkaWdnIiwiaW5mbGVjdGlvbiIsImluY29ycG9yYXRlIiwibW9kZWxDbGFzc1JlcXVpcmUiLCJSZXN1bHQiLCJBcGlNYWtlckNvbGxlY3Rpb24iLCJhcGlNYWtlclR5cGUiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJxdWVyeUFyZ3MiLCJhYmlsaXRpZXMiLCJvcmlnaW5hbEFiaWxpdGllcyIsIm5ld0FiaWxpdGllcyIsIm9yaWdpbmFsQWJpbGl0eU5hbWUiLCJuZXdNb2RlbE5hbWUiLCJ1bmRlcnNjb3JlIiwibmV3VmFsdWVzIiwib3JpZ2luYWxWYWx1ZXMiLCJuZXdBYmlsaXR5TmFtZSIsInB1c2giLCJfbWVyZ2UiLCJhY2Nlc3NpYmxlQnkiLCJhYmlsaXR5TmFtZSIsImNvdW50IiwicmVzcG9uc2UiLCJjbG9uZSIsIl9yZXNwb25zZSIsImRpc3RpbmN0IiwiZWFjaCIsImNhbGxiYWNrIiwiYXJyYXkiLCJ0b0FycmF5IiwibW9kZWwiLCJjYWxsIiwiZXhjZXB0Iiwia2V5cyIsImtleSIsIkVycm9yIiwiZmlyc3QiLCJtb2RlbHMiLCJncm91cEJ5IiwiYXJyYXlPZlRhYmxlc0FuZENvbHVtbnMiLCJhcnJheU9mVGFibGVzQW5kQ29sdW1uc1dpdGhMb3dlcmNhc2VDb2x1bW5zIiwibWFwIiwidGFibGVBbmRDb2x1bW4iLCJBcnJheSIsImlzQXJyYXkiLCJ0b0xvd2VyQ2FzZSIsImN1cnJlbnRHcm91cEJ5IiwibmV3R3JvdXBCeSIsImNvbmNhdCIsImlzTG9hZGVkIiwicmVmbGVjdGlvbk5hbWUiLCJyZWxhdGlvbnNoaXBzQ2FjaGUiLCJsaW1pdCIsImFtb3VudCIsInByZWxvYWRlZCIsImxvYWRlZCIsInJlbGF0aW9uc2hpcHMiLCJpc05ld1JlY29yZCIsInJlZmxlY3Rpb25OYW1lVW5kZXJzY29yZSIsInNldCIsInJlbGF0aW9uc2hpcHNMb2FkZWQiLCJ1bmlxdW5pemUiLCJPYmplY3QiLCJtb2RlbENsYXNzRGF0YSIsIm5hbWUiLCJqb2luIiwibmV3Q29sbGVjdGlvbiIsIm5ld01vZGVsIiwiZmluZCIsImZvckVhY2giLCJwcmVsb2FkIiwicHJlbG9hZFZhbHVlIiwicGFnZSIsInBhZ2VLZXkiLCJwYXJhbXMiLCJhY2Nlc3NpYmxlX2J5IiwiZ3JvdXBfYnkiLCJyYW5zYWNrIiwicSIsInBlciIsInNlYXJjaCIsInNlbGVjdCIsInNlbGVjdENvbHVtbnMiLCJzZWxlY3RfY29sdW1ucyIsInBlcktleSIsInJlc3VsdCIsIl9hZGRRdWVyeVRvTW9kZWxzIiwiY29sbGVjdGlvbiIsInNlYXJjaEtleSIsIm9yaWdpbmFsU2VsZWN0IiwibmV3U2VsZWN0Iiwib3JpZ2luYWxNb2RlbE5hbWUiLCJvcmlnaW5hbEF0dHJpYnV0ZU5hbWUiLCJuZXdBdHRyaWJ1dGVOYW1lIiwic29ydCIsInNvcnRCeSIsInMiLCJtb2RlbENsYXNzIiwibW9kZWxOYW1lIiwiY2xvbmVkUXVlcnlBcmdzIiwibmV3UXVlcnlBcmdzIiwiYWRkQ29tbWFuZCIsImNvbW1hbmQiLCJjb2xsZWN0aW9uTmFtZSIsInR5cGUiXSwic291cmNlcyI6WyIuLi9zcmMvY29sbGVjdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xvbmVEZWVwIGZyb20gXCJjbG9uZS1kZWVwXCJcbmltcG9ydCBDb21tYW5kc1Bvb2wgZnJvbSBcIi4vY29tbWFuZHMtcG9vbFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi9tb2RlbC1jbGFzcy1yZXF1aXJlXCJcbmltcG9ydCBSZXN1bHQgZnJvbSBcIi4vcmVzdWx0XCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDb2xsZWN0aW9uIHtcbiAgc3RhdGljIGFwaU1ha2VyVHlwZSA9IFwiQ29sbGVjdGlvblwiXG5cbiAgY29uc3RydWN0b3IoYXJncywgcXVlcnlBcmdzID0ge30pIHtcbiAgICB0aGlzLnF1ZXJ5QXJncyA9IHF1ZXJ5QXJnc1xuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgfVxuXG4gIGFiaWxpdGllcyhvcmlnaW5hbEFiaWxpdGllcykge1xuICAgIGNvbnN0IG5ld0FiaWxpdGllcyA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsQWJpbGl0eU5hbWUgaW4gb3JpZ2luYWxBYmlsaXRpZXMpIHtcbiAgICAgIGNvbnN0IG5ld01vZGVsTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShvcmlnaW5hbEFiaWxpdHlOYW1lKVxuICAgICAgY29uc3QgbmV3VmFsdWVzID0gW11cbiAgICAgIGNvbnN0IG9yaWdpbmFsVmFsdWVzID0gb3JpZ2luYWxBYmlsaXRpZXNbb3JpZ2luYWxBYmlsaXR5TmFtZV1cblxuICAgICAgZm9yIChjb25zdCBvcmlnaW5hbEFiaWxpdHlOYW1lIG9mIG9yaWdpbmFsVmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IG5ld0FiaWxpdHlOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsQWJpbGl0eU5hbWUpXG4gICAgICAgIG5ld1ZhbHVlcy5wdXNoKG5ld0FiaWxpdHlOYW1lKVxuICAgICAgfVxuXG4gICAgICBuZXdBYmlsaXRpZXNbbmV3TW9kZWxOYW1lXSA9IG5ld1ZhbHVlc1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7YWJpbGl0aWVzOiBuZXdBYmlsaXRpZXN9KVxuICB9XG5cbiAgYWNjZXNzaWJsZUJ5KGFiaWxpdHlOYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHthY2Nlc3NpYmxlQnk6IGluZmxlY3Rpb24udW5kZXJzY29yZShhYmlsaXR5TmFtZSl9KVxuICB9XG5cbiAgYXN5bmMgY291bnQoKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsb25lKCkuX21lcmdlKHtjb3VudDogdHJ1ZX0pLl9yZXNwb25zZSgpXG5cbiAgICByZXR1cm4gZGlnZyhyZXNwb25zZSwgXCJjb3VudFwiKVxuICB9XG5cbiAgZGlzdGluY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtkaXN0aW5jdDogdHJ1ZX0pXG4gIH1cblxuICBhc3luYyBlYWNoKGNhbGxiYWNrKSB7XG4gICAgY29uc3QgYXJyYXkgPSBhd2FpdCB0aGlzLnRvQXJyYXkoKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbCBpbiBhcnJheSkge1xuICAgICAgY2FsbGJhY2suY2FsbChtb2RlbClcbiAgICB9XG4gIH1cblxuICBleGNlcHQoLi4ua2V5cykge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIGlmIChrZXkgPT0gXCJwYWdlXCIpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMucXVlcnlBcmdzW2tleV1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIGtleTogJHtrZXl9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgYXN5bmMgZmlyc3QoKSB7XG4gICAgY29uc3QgbW9kZWxzID0gYXdhaXQgdGhpcy50b0FycmF5KClcbiAgICByZXR1cm4gbW9kZWxzWzBdXG4gIH1cblxuICBncm91cEJ5KC4uLmFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zKSB7XG4gICAgY29uc3QgYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucyA9IGFycmF5T2ZUYWJsZXNBbmRDb2x1bW5zLm1hcCgodGFibGVBbmRDb2x1bW4pID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhYmxlQW5kQ29sdW1uKSkge1xuICAgICAgICByZXR1cm4gW3RhYmxlQW5kQ29sdW1uWzBdLCB0YWJsZUFuZENvbHVtblsxXS50b0xvd2VyQ2FzZSgpXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlQW5kQ29sdW1uLnRvTG93ZXJDYXNlKClcbiAgICAgIH1cbiAgICB9KVxuICAgIGNvbnN0IGN1cnJlbnRHcm91cEJ5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSB8fCBbXVxuICAgIGNvbnN0IG5ld0dyb3VwQnkgPSBjdXJyZW50R3JvdXBCeS5jb25jYXQoYXJyYXlPZlRhYmxlc0FuZENvbHVtbnNXaXRoTG93ZXJjYXNlQ29sdW1ucylcblxuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7XG4gICAgICBncm91cEJ5OiBuZXdHcm91cEJ5XG4gICAgfSlcbiAgfVxuXG4gIGlzTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLmFyZ3MucmVmbGVjdGlvbk5hbWUgaW4gdGhpcy5hcmdzLm1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSlcbiAgICAgIHJldHVybiB0cnVlXG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGxpbWl0KGFtb3VudCkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7bGltaXQ6IGFtb3VudH0pXG4gIH1cblxuICBwcmVsb2FkZWQoKSB7XG4gICAgaWYgKCEodGhpcy5hcmdzLnJlZmxlY3Rpb25OYW1lIGluIHRoaXMuYXJncy5tb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5hcmdzLnJlZmxlY3Rpb25OYW1lfSBoYXNudCBiZWVuIGxvYWRlZCB5ZXRgKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFyZ3MubW9kZWwucmVsYXRpb25zaGlwc0NhY2hlW3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZV1cbiAgfVxuXG4gIGxvYWRlZCgpIHtcbiAgICBjb25zdCB7bW9kZWwsIHJlZmxlY3Rpb25OYW1lfSA9IHRoaXMuYXJnc1xuXG4gICAgaWYgKHJlZmxlY3Rpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHMpIHtcbiAgICAgIHJldHVybiBtb2RlbC5yZWxhdGlvbnNoaXBzW3JlZmxlY3Rpb25OYW1lXVxuICAgIH0gZWxzZSBpZiAocmVmbGVjdGlvbk5hbWUgaW4gbW9kZWwucmVsYXRpb25zaGlwc0NhY2hlKSB7XG4gICAgICByZXR1cm4gbW9kZWwucmVsYXRpb25zaGlwc0NhY2hlW3JlZmxlY3Rpb25OYW1lXVxuICAgIH0gZWxzZSBpZiAobW9kZWwuaXNOZXdSZWNvcmQoKSkge1xuICAgICAgY29uc3QgcmVmbGVjdGlvbk5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb25OYW1lKVxuXG4gICAgICAvLyBJbml0aWFsaXplIGFzIGVtcHR5IGFuZCB0cnkgYWdhaW4gdG8gcmV0dXJuIHRoZSBlbXB0eSByZXN1bHRcbiAgICAgIHRoaXMuc2V0KFtdKVxuXG4gICAgICByZXR1cm4gZGlnZyhtb2RlbC5yZWxhdGlvbnNoaXBzLCByZWZsZWN0aW9uTmFtZVVuZGVyc2NvcmUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNMb2FkZWQgPSB1bmlxdW5pemUoT2JqZWN0LmtleXMobW9kZWwucmVsYXRpb25zaGlwcykuY29uY2F0KE9iamVjdC5rZXlzKG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkpKVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cmVmbGVjdGlvbk5hbWV9IGhhc250IGJlZW4gbG9hZGVkIHlldCBvbiAke21vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX0uIExvYWRlZCB3YXM6ICR7cmVsYXRpb25zaGlwc0xvYWRlZC5qb2luKFwiLCBcIil9YClcbiAgICB9XG4gIH1cblxuICAvLyBSZXBsYWNlcyB0aGUgcmVsYXRpb25zaGlwcyB3aXRoIHRoZSBnaXZlbiBuZXcgY29sbGVjdGlvbi5cbiAgc2V0KG5ld0NvbGxlY3Rpb24pIHtcbiAgICB0aGlzLmFyZ3MubW9kZWwucmVsYXRpb25zaGlwc1t0aGlzLmFyZ3MucmVmbGVjdGlvbk5hbWVdID0gbmV3Q29sbGVjdGlvblxuICB9XG5cbiAgLy8gUHVzaGVzIGFub3RoZXIgbW9kZWwgb250byB0aGUgZ2l2ZW4gY29sbGVjdGlvbi5cbiAgcHVzaChuZXdNb2RlbCkge1xuICAgIGlmICghKHRoaXMuYXJncy5yZWZsZWN0aW9uTmFtZSBpbiB0aGlzLmFyZ3MubW9kZWwucmVsYXRpb25zaGlwcykpIHtcbiAgICAgIHRoaXMuYXJncy5tb2RlbC5yZWxhdGlvbnNoaXBzW3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZV0gPSBbXVxuICAgIH1cblxuICAgIHRoaXMuYXJncy5tb2RlbC5yZWxhdGlvbnNoaXBzW3RoaXMuYXJncy5yZWZsZWN0aW9uTmFtZV0ucHVzaChuZXdNb2RlbClcbiAgfVxuXG4gIC8vIEFycmF5IHNob3J0Y3V0c1xuICBmaW5kID0gKC4uLmFyZ3MpID0+IHRoaXMubG9hZGVkKCkuZmluZCguLi5hcmdzKVxuICBmb3JFYWNoID0gKC4uLmFyZ3MpID0+IHRoaXMubG9hZGVkKCkuZm9yRWFjaCguLi5hcmdzKVxuICBtYXAgPSAoLi4uYXJncykgPT4gdGhpcy5sb2FkZWQoKS5tYXAoLi4uYXJncylcblxuICBwcmVsb2FkKHByZWxvYWRWYWx1ZSkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7cHJlbG9hZDogcHJlbG9hZFZhbHVlfSlcbiAgfVxuXG4gIHBhZ2UocGFnZSkge1xuICAgIGlmICghcGFnZSlcbiAgICAgIHBhZ2UgPSAxXG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3BhZ2V9KVxuICB9XG5cbiAgcGFnZUtleShwYWdlS2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX21lcmdlKHtwYWdlS2V5fSlcbiAgfVxuXG4gIHBhcmFtcygpIHtcbiAgICBsZXQgcGFyYW1zID0ge31cblxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYXJhbXMpIHBhcmFtcyA9IGluY29ycG9yYXRlKHBhcmFtcywgdGhpcy5xdWVyeUFyZ3MucGFyYW1zKVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXMpIHBhcmFtcy5hYmlsaXRpZXMgPSB0aGlzLnF1ZXJ5QXJncy5hYmlsaXRpZXNcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuYWNjZXNzaWJsZUJ5KSBwYXJhbXMuYWNjZXNzaWJsZV9ieSA9IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnF1ZXJ5QXJncy5hY2Nlc3NpYmxlQnkpXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLmNvdW50KSBwYXJhbXMuY291bnQgPSB0aGlzLnF1ZXJ5QXJncy5jb3VudFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5kaXN0aW5jdCkgcGFyYW1zLmRpc3RpbmN0ID0gdGhpcy5xdWVyeUFyZ3MuZGlzdGluY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeSkgcGFyYW1zLmdyb3VwX2J5ID0gdGhpcy5xdWVyeUFyZ3MuZ3JvdXBCeVxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5yYW5zYWNrKSBwYXJhbXMucSA9IHRoaXMucXVlcnlBcmdzLnJhbnNhY2tcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MubGltaXQpIHBhcmFtcy5saW1pdCA9IHRoaXMucXVlcnlBcmdzLmxpbWl0XG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnByZWxvYWQpIHBhcmFtcy5wcmVsb2FkID0gdGhpcy5xdWVyeUFyZ3MucHJlbG9hZFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5wYWdlKSBwYXJhbXMucGFnZSA9IHRoaXMucXVlcnlBcmdzLnBhZ2VcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3MucGVyKSBwYXJhbXMucGVyID0gdGhpcy5xdWVyeUFyZ3MucGVyXG4gICAgaWYgKHRoaXMucXVlcnlBcmdzLnNlYXJjaCkgcGFyYW1zLnNlYXJjaCA9IHRoaXMucXVlcnlBcmdzLnNlYXJjaFxuICAgIGlmICh0aGlzLnF1ZXJ5QXJncy5zZWxlY3QpIHBhcmFtcy5zZWxlY3QgPSB0aGlzLnF1ZXJ5QXJncy5zZWxlY3RcbiAgICBpZiAodGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1ucykgcGFyYW1zLnNlbGVjdF9jb2x1bW5zID0gdGhpcy5xdWVyeUFyZ3Muc2VsZWN0Q29sdW1uc1xuXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG5cbiAgcGVyKHBlcikge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7cGVyfSlcbiAgfVxuXG4gIHBlcktleShwZXJLZXkpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3BlcktleX0pXG4gIH1cblxuICByYW5zYWNrKHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMpIHRoaXMuX21lcmdlKHtyYW5zYWNrOiBwYXJhbXN9KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBhc3luYyByZXN1bHQoKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLl9yZXNwb25zZSgpXG4gICAgY29uc3QgbW9kZWxzID0gZGlnZyhyZXNwb25zZSwgXCJjb2xsZWN0aW9uXCIpXG5cbiAgICB0aGlzLl9hZGRRdWVyeVRvTW9kZWxzKG1vZGVscylcblxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBSZXN1bHQoe2NvbGxlY3Rpb246IHRoaXMsIG1vZGVscywgcmVzcG9uc2V9KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgc2VhcmNoKHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMpIHRoaXMuX21lcmdlKHtzZWFyY2g6IHBhcmFtc30pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHNlYXJjaEtleShzZWFyY2hLZXkpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3NlYXJjaEtleX0pXG4gIH1cblxuICBzZWxlY3Qob3JpZ2luYWxTZWxlY3QpIHtcbiAgICBjb25zdCBuZXdTZWxlY3QgPSB7fVxuXG4gICAgZm9yIChjb25zdCBvcmlnaW5hbE1vZGVsTmFtZSBpbiBvcmlnaW5hbFNlbGVjdCkge1xuICAgICAgY29uc3QgbmV3TW9kZWxOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsTW9kZWxOYW1lKVxuICAgICAgY29uc3QgbmV3VmFsdWVzID0gW11cbiAgICAgIGNvbnN0IG9yaWdpbmFsVmFsdWVzID0gb3JpZ2luYWxTZWxlY3Rbb3JpZ2luYWxNb2RlbE5hbWVdXG5cbiAgICAgIGZvciAoY29uc3Qgb3JpZ2luYWxBdHRyaWJ1dGVOYW1lIG9mIG9yaWdpbmFsVmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IG5ld0F0dHJpYnV0ZU5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUob3JpZ2luYWxBdHRyaWJ1dGVOYW1lKVxuICAgICAgICBuZXdWYWx1ZXMucHVzaChuZXdBdHRyaWJ1dGVOYW1lKVxuICAgICAgfVxuXG4gICAgICBuZXdTZWxlY3RbbmV3TW9kZWxOYW1lXSA9IG5ld1ZhbHVlc1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7c2VsZWN0OiBuZXdTZWxlY3R9KVxuICB9XG5cbiAgc2VsZWN0Q29sdW1ucyhvcmlnaW5hbFNlbGVjdCkge1xuICAgIGNvbnN0IG5ld1NlbGVjdCA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IG9yaWdpbmFsTW9kZWxOYW1lIGluIG9yaWdpbmFsU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsTW9kZWxOYW1lKSlcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFtdXG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlcyA9IG9yaWdpbmFsU2VsZWN0W29yaWdpbmFsTW9kZWxOYW1lXVxuXG4gICAgICBmb3IgKGNvbnN0IG9yaWdpbmFsQXR0cmlidXRlTmFtZSBvZiBvcmlnaW5hbFZhbHVlcykge1xuICAgICAgICBjb25zdCBuZXdBdHRyaWJ1dGVOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG9yaWdpbmFsQXR0cmlidXRlTmFtZSlcbiAgICAgICAgbmV3VmFsdWVzLnB1c2gobmV3QXR0cmlidXRlTmFtZSlcbiAgICAgIH1cblxuICAgICAgbmV3U2VsZWN0W25ld01vZGVsTmFtZV0gPSBuZXdWYWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVyZ2Uoe3NlbGVjdENvbHVtbnM6IG5ld1NlbGVjdH0pXG4gIH1cblxuICBzb3J0KHNvcnRCeSkge1xuICAgIHJldHVybiB0aGlzLl9tZXJnZSh7cmFuc2Fjazoge3M6IHNvcnRCeX19KVxuICB9XG5cbiAgYXN5bmMgdG9BcnJheSgpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3Jlc3BvbnNlKClcbiAgICBjb25zdCBtb2RlbHMgPSBkaWdnKHJlc3BvbnNlLCBcImNvbGxlY3Rpb25cIilcblxuICAgIHRoaXMuX2FkZFF1ZXJ5VG9Nb2RlbHMobW9kZWxzKVxuXG4gICAgcmV0dXJuIG1vZGVsc1xuICB9XG5cbiAgbW9kZWxDbGFzcygpIHtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBkaWdnKHRoaXMuYXJncy5tb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuXG4gICAgcmV0dXJuIG1vZGVsQ2xhc3NSZXF1aXJlKG1vZGVsTmFtZSlcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IGNsb25lZFF1ZXJ5QXJncyA9IGNsb25lRGVlcCh0aGlzLnF1ZXJ5QXJncylcblxuICAgIHJldHVybiBuZXcgQXBpTWFrZXJDb2xsZWN0aW9uKHRoaXMuYXJncywgY2xvbmVkUXVlcnlBcmdzKVxuICB9XG5cbiAgLy8gVGhpcyBpcyBuZWVkZWQgd2hlbiByZWxvYWRpbmcgYSB2ZXJzaW9uIG9mIHRoZSBtb2RlbCB3aXRoIHRoZSBzYW1lIHNlbGVjdGVkIGF0dHJpYnV0ZXMgYW5kIHByZWxvYWRzXG4gIF9hZGRRdWVyeVRvTW9kZWxzKG1vZGVscykge1xuICAgIGZvcihjb25zdCBtb2RlbCBvZiBtb2RlbHMpIHtcbiAgICAgIG1vZGVsLmNvbGxlY3Rpb24gPSB0aGlzXG4gICAgfVxuICB9XG5cbiAgX21lcmdlKG5ld1F1ZXJ5QXJncykge1xuICAgIGluY29ycG9yYXRlKHRoaXMucXVlcnlBcmdzLCBuZXdRdWVyeUFyZ3MpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgX3Jlc3BvbnNlKCkge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NEYXRhID0gdGhpcy5hcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKVxuXG4gICAgcmV0dXJuIENvbW1hbmRzUG9vbC5hZGRDb21tYW5kKFxuICAgICAge1xuICAgICAgICBhcmdzOiB0aGlzLnBhcmFtcygpLFxuICAgICAgICBjb21tYW5kOiBgJHttb2RlbENsYXNzRGF0YS5jb2xsZWN0aW9uTmFtZX0taW5kZXhgLFxuICAgICAgICBjb2xsZWN0aW9uTmFtZTogbW9kZWxDbGFzc0RhdGEuY29sbGVjdGlvbk5hbWUsXG4gICAgICAgIHR5cGU6IFwiaW5kZXhcIlxuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLFlBQVksTUFBTSxpQkFBaUI7QUFDMUMsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxTQUFRQyxXQUFXLFFBQU8sY0FBYztBQUN4QyxPQUFPQyxpQkFBaUIsTUFBTSx1QkFBdUI7QUFDckQsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFFN0IsZUFBZSxNQUFNQyxrQkFBa0IsQ0FBQztFQUN0QyxPQUFPQyxZQUFZLEdBQUcsWUFBWTtFQUVsQ0MsV0FBV0EsQ0FBQ0MsSUFBSSxFQUFFQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDaEMsSUFBSSxDQUFDQSxTQUFTLEdBQUdBLFNBQVM7SUFDMUIsSUFBSSxDQUFDRCxJQUFJLEdBQUdBLElBQUk7RUFDbEI7RUFFQUUsU0FBU0EsQ0FBQ0MsaUJBQWlCLEVBQUU7SUFDM0IsTUFBTUMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUV2QixLQUFLLE1BQU1DLG1CQUFtQixJQUFJRixpQkFBaUIsRUFBRTtNQUNuRCxNQUFNRyxZQUFZLEdBQUdiLFVBQVUsQ0FBQ2MsVUFBVSxDQUFDRixtQkFBbUIsQ0FBQztNQUMvRCxNQUFNRyxTQUFTLEdBQUcsRUFBRTtNQUNwQixNQUFNQyxjQUFjLEdBQUdOLGlC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
279
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","names":["cloneDeep","CommandsPool","digg","inflection","incorporate","modelClassRequire","Result","ApiMakerCollection","apiMakerType","constructor","args","queryArgs","abilities","originalAbilities","newAbilities","originalAbilityName","newModelName","underscore","newValues","originalValues","newAbilityName","push","_merge","accessibleBy","abilityName","count","response","clone","_response","distinct","each","callback","array","toArray","model","call","except","keys","key","Error","first","models","groupBy","arrayOfTablesAndColumns","arrayOfTablesAndColumnsWithLowercaseColumns","map","tableAndColumn","Array","isArray","toLowerCase","currentGroupBy","newGroupBy","concat","isLoaded","reflectionName","relationshipsCache","limit","amount","preloaded","loaded","relationships","isNewRecord","reflectionNameUnderscore","set","relationshipsLoaded","uniqunize","Object","modelClassData","name","join","newCollection","newModel","find","forEach","preload","preloadValue","page","pageKey","params","accessible_by","group_by","ransack","q","per","search","select","selectColumns","select_columns","perKey","result","_addQueryToModels","collection","searchKey","originalSelect","newSelect","originalModelName","originalAttributeName","newAttributeName","sort","sortBy","s","modelClass","modelName","clonedQueryArgs","newQueryArgs","addCommand","command","collectionName","type"],"sources":["../src/collection.js"],"sourcesContent":["import cloneDeep from \"clone-deep\"\nimport CommandsPool from \"./commands-pool\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport {incorporate} from \"incorporator\"\nimport modelClassRequire from \"./model-class-require\"\nimport Result from \"./result\"\n\nexport default class ApiMakerCollection {\n static apiMakerType = \"Collection\"\n\n constructor(args, queryArgs = {}) {\n this.queryArgs = queryArgs\n this.args = args\n }\n\n abilities(originalAbilities) {\n const newAbilities = {}\n\n for (const originalAbilityName in originalAbilities) {\n const newModelName = inflection.underscore(originalAbilityName)\n const newValues = []\n const originalValues = originalAbilities[originalAbilityName]\n\n for (const originalAbilityName of originalValues) {\n const newAbilityName = inflection.underscore(originalAbilityName)\n newValues.push(newAbilityName)\n }\n\n newAbilities[newModelName] = newValues\n }\n\n return this._merge({abilities: newAbilities})\n }\n\n accessibleBy(abilityName) {\n return this._merge({accessibleBy: inflection.underscore(abilityName)})\n }\n\n async count() {\n const response = await this.clone()._merge({count: true})._response()\n\n return digg(response, \"count\")\n }\n\n distinct() {\n return this._merge({distinct: true})\n }\n\n async each(callback) {\n const array = await this.toArray()\n\n for (const model in array) {\n callback.call(model)\n }\n }\n\n except(...keys) {\n for (const key of keys) {\n if (key == \"page\") {\n delete this.queryArgs[key]\n } else {\n throw new Error(`Unhandled key: ${key}`)\n }\n }\n\n return this\n }\n\n async first() {\n const models = await this.toArray()\n return models[0]\n }\n\n groupBy(...arrayOfTablesAndColumns) {\n const arrayOfTablesAndColumnsWithLowercaseColumns = arrayOfTablesAndColumns.map((tableAndColumn) => {\n if (Array.isArray(tableAndColumn)) {\n return [tableAndColumn[0], tableAndColumn[1].toLowerCase()]\n } else {\n return tableAndColumn.toLowerCase()\n }\n })\n const currentGroupBy = this.queryArgs.groupBy || []\n const newGroupBy = currentGroupBy.concat(arrayOfTablesAndColumnsWithLowercaseColumns)\n\n return this._merge({\n groupBy: newGroupBy\n })\n }\n\n isLoaded() {\n if (this.args.reflectionName in this.args.model.relationshipsCache)\n return true\n\n return false\n }\n\n limit(amount) {\n return this._merge({limit: amount})\n }\n\n preloaded() {\n if (!(this.args.reflectionName in this.args.model.relationshipsCache)) {\n throw new Error(`${this.args.reflectionName} hasnt been loaded yet`)\n }\n\n return this.args.model.relationshipsCache[this.args.reflectionName]\n }\n\n loaded() {\n const {model, reflectionName} = this.args\n\n if (reflectionName in model.relationships) {\n return model.relationships[reflectionName]\n } else if (reflectionName in model.relationshipsCache) {\n return model.relationshipsCache[reflectionName]\n } else if (model.isNewRecord()) {\n const reflectionNameUnderscore = inflection.underscore(reflectionName)\n\n // Initialize as empty and try again to return the empty result\n this.set([])\n\n return digg(model.relationships, reflectionNameUnderscore)\n } else {\n const relationshipsLoaded = uniqunize(Object.keys(model.relationships).concat(Object.keys(model.relationshipsCache)))\n\n throw new Error(`${reflectionName} hasnt been loaded yet on ${model.modelClassData().name}. Loaded was: ${relationshipsLoaded.join(\", \")}`)\n }\n }\n\n // Replaces the relationships with the given new collection.\n set(newCollection) {\n this.args.model.relationships[this.args.reflectionName] = newCollection\n }\n\n // Pushes another model onto the given collection.\n push(newModel) {\n if (!(this.args.reflectionName in this.args.model.relationships)) {\n this.args.model.relationships[this.args.reflectionName] = []\n }\n\n this.args.model.relationships[this.args.reflectionName].push(newModel)\n }\n\n // Array shortcuts\n find = (...args) => this.loaded().find(...args)\n forEach = (...args) => this.loaded().forEach(...args)\n map = (...args) => this.loaded().map(...args)\n\n preload(preloadValue) {\n return this._merge({preload: preloadValue})\n }\n\n page(page) {\n if (!page)\n page = 1\n\n return this._merge({page})\n }\n\n pageKey(pageKey) {\n return this._merge({pageKey})\n }\n\n params() {\n let params = {}\n\n if (this.queryArgs.params) params = incorporate(params, this.queryArgs.params)\n if (this.queryArgs.abilities) params.abilities = this.queryArgs.abilities\n if (this.queryArgs.accessibleBy) params.accessible_by = inflection.underscore(this.queryArgs.accessibleBy)\n if (this.queryArgs.count) params.count = this.queryArgs.count\n if (this.queryArgs.distinct) params.distinct = this.queryArgs.distinct\n if (this.queryArgs.groupBy) params.group_by = this.queryArgs.groupBy\n if (this.queryArgs.ransack) params.q = this.queryArgs.ransack\n if (this.queryArgs.limit) params.limit = this.queryArgs.limit\n if (this.queryArgs.preload) params.preload = this.queryArgs.preload\n if (this.queryArgs.page) params.page = this.queryArgs.page\n if (this.queryArgs.per) params.per = this.queryArgs.per\n if (this.queryArgs.search) params.search = this.queryArgs.search\n if (this.queryArgs.select) params.select = this.queryArgs.select\n if (this.queryArgs.selectColumns) params.select_columns = this.queryArgs.selectColumns\n\n return params\n }\n\n per(per) {\n return this._merge({per})\n }\n\n perKey(perKey) {\n return this._merge({perKey})\n }\n\n ransack(params) {\n if (params) this._merge({ransack: params})\n return this\n }\n\n async result() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n const result = new Result({collection: this, models, response})\n\n return result\n }\n\n search(params) {\n if (params) this._merge({search: params})\n return this\n }\n\n searchKey(searchKey) {\n return this._merge({searchKey})\n }\n\n select(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(originalModelName)\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({select: newSelect})\n }\n\n selectColumns(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(inflection.underscore(originalModelName))\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({selectColumns: newSelect})\n }\n\n sort(sortBy) {\n return this._merge({ransack: {s: sortBy}})\n }\n\n async toArray() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n return models\n }\n\n modelClass() {\n const modelName = digg(this.args.modelClass.modelClassData(), \"name\")\n\n return modelClassRequire(modelName)\n }\n\n clone() {\n const clonedQueryArgs = cloneDeep(this.queryArgs)\n\n return new ApiMakerCollection(this.args, clonedQueryArgs)\n }\n\n // This is needed when reloading a version of the model with the same selected attributes and preloads\n _addQueryToModels(models) {\n for(const model of models) {\n model.collection = this\n }\n }\n\n _merge(newQueryArgs) {\n incorporate(this.queryArgs, newQueryArgs)\n\n return this\n }\n\n _response() {\n const modelClassData = this.args.modelClass.modelClassData()\n\n return CommandsPool.addCommand(\n {\n args: this.params(),\n command: `${modelClassData.collectionName}-index`,\n collectionName: modelClassData.collectionName,\n type: \"index\"\n },\n {}\n )\n }\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,SAAQC,IAAI,QAAO,WAAW;AAC9B,OAAO,KAAKC,UAAU,MAAM,YAAY;AACxC,SAAQC,WAAW,QAAO,cAAc;AACxC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,MAAM,MAAM,UAAU;AAE7B,eAAe,MAAMC,kBAAkB,CAAC;EACtC,OAAOC,YAAY,GAAG,YAAY;EAElCC,WAAWA,CAACC,IAAI,EAAEC,SAAS,GAAG,CAAC,CAAC,EAAE;IAChC,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACD,IAAI,GAAGA,IAAI;EAClB;EAEAE,SAASA,CAACC,iBAAiB,EAAE;IAC3B,MAAMC,YAAY,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAMC,mBAAmB,IAAIF,iBAAiB,EAAE;MACnD,MAAMG,YAAY,GAAGb,UAAU,CAACc,UAAU,CAACF,mBAAmB,CAAC;MAC/D,MAAMG,SAAS,GAAG,EAAE;MACpB,MAAMC,cAAc,GAAGN,iBAAiB,CAACE,mBAAmB,CAAC;MAE7D,KAAK,MAAMA,mBAAmB,IAAII,cAAc,EAAE;QAChD,MAAMC,cAAc,GAAGjB,UAAU,CAACc,UAAU,CAACF,mBAAmB,CAAC;QACjEG,SAAS,CAACG,IAAI,CAACD,cAAc,CAAC;MAChC;MAEAN,YAAY,CAACE,YAAY,CAAC,GAAGE,SAAS;IACxC;IAEA,OAAO,IAAI,CAACI,MAAM,CAAC;MAACV,SAAS,EAAEE;IAAY,CAAC,CAAC;EAC/C;EAEAS,YAAYA,CAACC,WAAW,EAAE;IACxB,OAAO,IAAI,CAACF,MAAM,CAAC;MAACC,YAAY,EAAEpB,UAAU,CAACc,UAAU,CAACO,WAAW;IAAC,CAAC,CAAC;EACxE;EAEA,MAAMC,KAAKA,CAAA,EAAG;IACZ,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,KAAK,CAAC,CAAC,CAACL,MAAM,CAAC;MAACG,KAAK,EAAE;IAAI,CAAC,CAAC,CAACG,SAAS,CAAC,CAAC;IAErE,OAAO1B,IAAI,CAACwB,QAAQ,EAAE,OAAO,CAAC;EAChC;EAEAG,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACP,MAAM,CAAC;MAACO,QAAQ,EAAE;IAAI,CAAC,CAAC;EACtC;EAEA,MAAMC,IAAIA,CAACC,QAAQ,EAAE;IACnB,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,OAAO,CAAC,CAAC;IAElC,KAAK,MAAMC,KAAK,IAAIF,KAAK,EAAE;MACzBD,QAAQ,CAACI,IAAI,CAACD,KAAK,CAAC;IACtB;EACF;EAEAE,MAAMA,CAAC,GAAGC,IAAI,EAAE;IACd,KAAK,MAAMC,GAAG,IAAID,IAAI,EAAE;MACtB,IAAIC,GAAG,IAAI,MAAM,EAAE;QACjB,OAAO,IAAI,CAAC3B,SAAS,CAAC2B,GAAG,CAAC;MAC5B,CAAC,MAAM;QACL,MAAM,IAAIC,KAAK,CAAC,kBAAkBD,GAAG,EAAE,CAAC;MAC1C;IACF;IAEA,OAAO,IAAI;EACb;EAEA,MAAME,KAAKA,CAAA,EAAG;IACZ,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACR,OAAO,CAAC,CAAC;IACnC,OAAOQ,MAAM,CAAC,CAAC,CAAC;EAClB;EAEAC,OAAOA,CAAC,GAAGC,uBAAuB,EAAE;IAClC,MAAMC,2CAA2C,GAAGD,uBAAuB,CAACE,GAAG,CAAEC,cAAc,IAAK;MAClG,IAAIC,KAAK,CAACC,OAAO,CAACF,cAAc,CAAC,EAAE;QACjC,OAAO,CAACA,cAAc,CAAC,CAAC,CAAC,EAAEA,cAAc,CAAC,CAAC,CAAC,CAACG,WAAW,CAAC,CAAC,CAAC;MAC7D,CAAC,MAAM;QACL,OAAOH,cAAc,CAACG,WAAW,CAAC,CAAC;MACrC;IACF,CAAC,CAAC;IACF,MAAMC,cAAc,GAAG,IAAI,CAACvC,SAAS,CAAC+B,OAAO,IAAI,EAAE;IACnD,MAAMS,UAAU,GAAGD,cAAc,CAACE,MAAM,CAACR,2CAA2C,CAAC;IAErF,OAAO,IAAI,CAACtB,MAAM,CAAC;MACjBoB,OAAO,EAAES;IACX,CAAC,CAAC;EACJ;EAEAE,QAAQA,CAAA,EAAG;IACT,IAAI,IAAI,CAAC3C,IAAI,CAAC4C,cAAc,IAAI,IAAI,CAAC5C,IAAI,CAACwB,KAAK,CAACqB,kBAAkB,EAChE,OAAO,IAAI;IAEb,OAAO,KAAK;EACd;EAEAC,KAAKA,CAACC,MAAM,EAAE;IACZ,OAAO,IAAI,CAACnC,MAAM,CAAC;MAACkC,KAAK,EAAEC;IAAM,CAAC,CAAC;EACrC;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,EAAE,IAAI,CAAChD,IAAI,CAAC4C,cAAc,IAAI,IAAI,CAAC5C,IAAI,CAACwB,KAAK,CAACqB,kBAAkB,CAAC,EAAE;MACrE,MAAM,IAAIhB,KAAK,CAAC,GAAG,IAAI,CAAC7B,IAAI,CAAC4C,cAAc,wBAAwB,CAAC;IACtE;IAEA,OAAO,IAAI,CAAC5C,IAAI,CAACwB,KAAK,CAACqB,kBAAkB,CAAC,IAAI,CAAC7C,IAAI,CAAC4C,cAAc,CAAC;EACrE;EAEAK,MAAMA,CAAA,EAAG;IACP,MAAM;MAACzB,KAAK;MAAEoB;IAAc,CAAC,GAAG,IAAI,CAAC5C,IAAI;IAEzC,IAAI4C,cAAc,IAAIpB,KAAK,CAAC0B,aAAa,EAAE;MACzC,OAAO1B,KAAK,CAAC0B,aAAa,CAACN,cAAc,CAAC;IAC5C,CAAC,MAAM,IAAIA,cAAc,IAAIpB,KAAK,CAACqB,kBAAkB,EAAE;MACrD,OAAOrB,KAAK,CAACqB,kBAAkB,CAACD,cAAc,CAAC;IACjD,CAAC,MAAM,IAAIpB,KAAK,CAAC2B,WAAW,CAAC,CAAC,EAAE;MAC9B,MAAMC,wBAAwB,GAAG3D,UAAU,CAACc,UAAU,CAACqC,cAAc,CAAC;;MAEtE;MACA,IAAI,CAACS,GAAG,CAAC,EAAE,CAAC;MAEZ,OAAO7D,IAAI,CAACgC,KAAK,CAAC0B,aAAa,EAAEE,wBAAwB,CAAC;IAC5D,CAAC,MAAM;MACL,MAAME,mBAAmB,GAAGC,SAAS,CAACC,MAAM,CAAC7B,IAAI,CAACH,KAAK,CAAC0B,aAAa,CAAC,CAACR,MAAM,CAACc,MAAM,CAAC7B,IAAI,CAACH,KAAK,CAACqB,kBAAkB,CAAC,CAAC,CAAC;MAErH,MAAM,IAAIhB,KAAK,CAAC,GAAGe,cAAc,6BAA6BpB,KAAK,CAACiC,cAAc,CAAC,CAAC,CAACC,IAAI,iBAAiBJ,mBAAmB,CAACK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7I;EACF;;EAEA;EACAN,GAAGA,CAACO,aAAa,EAAE;IACjB,IAAI,CAAC5D,IAAI,CAACwB,KAAK,CAAC0B,aAAa,CAAC,IAAI,CAAClD,IAAI,CAAC4C,cAAc,CAAC,GAAGgB,aAAa;EACzE;;EAEA;EACAjD,IAAIA,CAACkD,QAAQ,EAAE;IACb,IAAI,EAAE,IAAI,CAAC7D,IAAI,CAAC4C,cAAc,IAAI,IAAI,CAAC5C,IAAI,CAACwB,KAAK,CAAC0B,aAAa,CAAC,EAAE;MAChE,IAAI,CAAClD,IAAI,CAACwB,KAAK,CAAC0B,aAAa,CAAC,IAAI,CAAClD,IAAI,CAAC4C,cAAc,CAAC,GAAG,EAAE;IAC9D;IAEA,IAAI,CAAC5C,IAAI,CAACwB,KAAK,CAAC0B,aAAa,CAAC,IAAI,CAAClD,IAAI,CAAC4C,cAAc,CAAC,CAACjC,IAAI,CAACkD,QAAQ,CAAC;EACxE;;EAEA;EACAC,IAAI,GAAGA,CAAC,GAAG9D,IAAI,KAAK,IAAI,CAACiD,MAAM,CAAC,CAAC,CAACa,IAAI,CAAC,GAAG9D,IAAI,CAAC;EAC/C+D,OAAO,GAAGA,CAAC,GAAG/D,IAAI,KAAK,IAAI,CAACiD,MAAM,CAAC,CAAC,CAACc,OAAO,CAAC,GAAG/D,IAAI,CAAC;EACrDmC,GAAG,GAAGA,CAAC,GAAGnC,IAAI,KAAK,IAAI,CAACiD,MAAM,CAAC,CAAC,CAACd,GAAG,CAAC,GAAGnC,IAAI,CAAC;EAE7CgE,OAAOA,CAACC,YAAY,EAAE;IACpB,OAAO,IAAI,CAACrD,MAAM,CAAC;MAACoD,OAAO,EAAEC;IAAY,CAAC,CAAC;EAC7C;EAEAC,IAAIA,CAACA,IAAI,EAAE;IACT,IAAI,CAACA,IAAI,EACPA,IAAI,GAAG,CAAC;IAEV,OAAO,IAAI,CAACtD,MAAM,CAAC;MAACsD;IAAI,CAAC,CAAC;EAC5B;EAEAC,OAAOA,CAACA,OAAO,EAAE;IACf,OAAO,IAAI,CAACvD,MAAM,CAAC;MAACuD;IAAO,CAAC,CAAC;EAC/B;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAIA,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,IAAI,CAACnE,SAAS,CAACmE,MAAM,EAAEA,MAAM,GAAG1E,WAAW,CAAC0E,MAAM,EAAE,IAAI,CAACnE,SAAS,CAACmE,MAAM,CAAC;IAC9E,IAAI,IAAI,CAACnE,SAAS,CAACC,SAAS,EAAEkE,MAAM,CAAClE,SAAS,GAAG,IAAI,CAACD,SAAS,CAACC,SAAS;IACzE,IAAI,IAAI,CAACD,SAAS,CAACY,YAAY,EAAEuD,MAAM,CAACC,aAAa,GAAG5E,UAAU,CAACc,UAAU,CAAC,IAAI,CAACN,SAAS,CAACY,YAAY,CAAC;IAC1G,IAAI,IAAI,CAACZ,SAAS,CAACc,KAAK,EAAEqD,MAAM,CAACrD,KAAK,GAAG,IAAI,CAACd,SAAS,CAACc,KAAK;IAC7D,IAAI,IAAI,CAACd,SAAS,CAACkB,QAAQ,EAAEiD,MAAM,CAACjD,QAAQ,GAAG,IAAI,CAAClB,SAAS,CAACkB,QAAQ;IACtE,IAAI,IAAI,CAAClB,SAAS,CAAC+B,OAAO,EAAEoC,MAAM,CAACE,QAAQ,GAAG,IAAI,CAACrE,SAAS,CAAC+B,OAAO;IACpE,IAAI,IAAI,CAAC/B,SAAS,CAACsE,OAAO,EAAEH,MAAM,CAACI,CAAC,GAAG,IAAI,CAACvE,SAAS,CAACsE,OAAO;IAC7D,IAAI,IAAI,CAACtE,SAAS,CAAC6C,KAAK,EAAEsB,MAAM,CAACtB,KAAK,GAAG,IAAI,CAAC7C,SAAS,CAAC6C,KAAK;IAC7D,IAAI,IAAI,CAAC7C,SAAS,CAAC+D,OAAO,EAAEI,MAAM,CAACJ,OAAO,GAAG,IAAI,CAAC/D,SAAS,CAAC+D,OAAO;IACnE,IAAI,IAAI,CAAC/D,SAAS,CAACiE,IAAI,EAAEE,MAAM,CAACF,IAAI,GAAG,IAAI,CAACjE,SAAS,CAACiE,IAAI;IAC1D,IAAI,IAAI,CAACjE,SAAS,CAACwE,GAAG,EAAEL,MAAM,CAACK,GAAG,GAAG,IAAI,CAACxE,SAAS,CAACwE,GAAG;IACvD,IAAI,IAAI,CAACxE,SAAS,CAACyE,MAAM,EAAEN,MAAM,CAACM,MAAM,GAAG,IAAI,CAACzE,SAAS,CAACyE,MAAM;IAChE,IAAI,IAAI,CAACzE,SAAS,CAAC0E,MAAM,EAAEP,MAAM,CAACO,MAAM,GAAG,IAAI,CAAC1E,SAAS,CAAC0E,MAAM;IAChE,IAAI,IAAI,CAAC1E,SAAS,CAAC2E,aAAa,EAAER,MAAM,CAACS,cAAc,GAAG,IAAI,CAAC5E,SAAS,CAAC2E,aAAa;IAEtF,OAAOR,MAAM;EACf;EAEAK,GAAGA,CAACA,GAAG,EAAE;IACP,OAAO,IAAI,CAAC7D,MAAM,CAAC;MAAC6D;IAAG,CAAC,CAAC;EAC3B;EAEAK,MAAMA,CAACA,MAAM,EAAE;IACb,OAAO,IAAI,CAAClE,MAAM,CAAC;MAACkE;IAAM,CAAC,CAAC;EAC9B;EAEAP,OAAOA,CAACH,MAAM,EAAE;IACd,IAAIA,MAAM,EAAE,IAAI,CAACxD,MAAM,CAAC;MAAC2D,OAAO,EAAEH;IAAM,CAAC,CAAC;IAC1C,OAAO,IAAI;EACb;EAEA,MAAMW,MAAMA,CAAA,EAAG;IACb,MAAM/D,QAAQ,GAAG,MAAM,IAAI,CAACE,SAAS,CAAC,CAAC;IACvC,MAAMa,MAAM,GAAGvC,IAAI,CAACwB,QAAQ,EAAE,YAAY,CAAC;IAE3C,IAAI,CAACgE,iBAAiB,CAACjD,MAAM,CAAC;IAE9B,MAAMgD,MAAM,GAAG,IAAInF,MAAM,CAAC;MAACqF,UAAU,EAAE,IAAI;MAAElD,MAAM;MAAEf;IAAQ,CAAC,CAAC;IAE/D,OAAO+D,MAAM;EACf;EAEAL,MAAMA,CAACN,MAAM,EAAE;IACb,IAAIA,MAAM,EAAE,IAAI,CAACxD,MAAM,CAAC;MAAC8D,MAAM,EAAEN;IAAM,CAAC,CAAC;IACzC,OAAO,IAAI;EACb;EAEAc,SAASA,CAACA,SAAS,EAAE;IACnB,OAAO,IAAI,CAACtE,MAAM,CAAC;MAACsE;IAAS,CAAC,CAAC;EACjC;EAEAP,MAAMA,CAACQ,cAAc,EAAE;IACrB,MAAMC,SAAS,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAMC,iBAAiB,IAAIF,cAAc,EAAE;MAC9C,MAAM7E,YAAY,GAAGb,UAAU,CAACc,UAAU,CAAC8E,iBAAiB,CAAC;MAC7D,MAAM7E,SAAS,GAAG,EAAE;MACpB,MAAMC,cAAc,GAAG0E,cAAc,CAACE,iBAAiB,CAAC;MAExD,KAAK,MAAMC,qBAAqB,IAAI7E,cAAc,EAAE;QAClD,MAAM8E,gBAAgB,GAAG9F,UAAU,CAACc,UAAU,CAAC+E,qBAAqB,CAAC;QACrE9E,SAAS,CAACG,IAAI,CAAC4E,gBAAgB,CAAC;MAClC;MAEAH,SAAS,CAAC9E,YAAY,CAAC,GAAGE,SAAS;IACrC;IAEA,OAAO,IAAI,CAACI,MAAM,CAAC;MAAC+D,MAAM,EAAES;IAAS,CAAC,CAAC;EACzC;EAEAR,aAAaA,CAACO,cAAc,EAAE;IAC5B,MAAMC,SAAS,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAMC,iBAAiB,IAAIF,cAAc,EAAE;MAC9C,MAAM7E,YAAY,GAAGb,UAAU,CAACc,UAAU,CAACd,UAAU,CAACc,UAAU,CAAC8E,iBAAiB,CAAC,CAAC;MACpF,MAAM7E,SAAS,GAAG,EAAE;MACpB,MAAMC,cAAc,GAAG0E,cAAc,CAACE,iBAAiB,CAAC;MAExD,KAAK,MAAMC,qBAAqB,IAAI7E,cAAc,EAAE;QAClD,MAAM8E,gBAAgB,GAAG9F,UAAU,CAACc,UAAU,CAAC+E,qBAAqB,CAAC;QACrE9E,SAAS,CAACG,IAAI,CAAC4E,gBAAgB,CAAC;MAClC;MAEAH,SAAS,CAAC9E,YAAY,CAAC,GAAGE,SAAS;IACrC;IAEA,OAAO,IAAI,CAACI,MAAM,CAAC;MAACgE,aAAa,EAAEQ;IAAS,CAAC,CAAC;EAChD;EAEAI,IAAIA,CAACC,MAAM,EAAE;IACX,OAAO,IAAI,CAAC7E,MAAM,CAAC;MAAC2D,OAAO,EAAE;QAACmB,CAAC,EAAED;MAAM;IAAC,CAAC,CAAC;EAC5C;EAEA,MAAMlE,OAAOA,CAAA,EAAG;IACd,MAAMP,QAAQ,GAAG,MAAM,IAAI,CAACE,SAAS,CAAC,CAAC;IACvC,MAAMa,MAAM,GAAGvC,IAAI,CAACwB,QAAQ,EAAE,YAAY,CAAC;IAE3C,IAAI,CAACgE,iBAAiB,CAACjD,MAAM,CAAC;IAE9B,OAAOA,MAAM;EACf;EAEA4D,UAAUA,CAAA,EAAG;IACX,MAAMC,SAAS,GAAGpG,IAAI,CAAC,IAAI,CAACQ,IAAI,CAAC2F,UAAU,CAAClC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAErE,OAAO9D,iBAAiB,CAACiG,SAAS,CAAC;EACrC;EAEA3E,KAAKA,CAAA,EAAG;IACN,MAAM4E,eAAe,GAAGvG,SAAS,CAAC,IAAI,CAACW,SAAS,CAAC;IAEjD,OAAO,IAAIJ,kBAAkB,CAAC,IAAI,CAACG,IAAI,EAAE6F,eAAe,CAAC;EAC3D;;EAEA;EACAb,iBAAiBA,CAACjD,MAAM,EAAE;IACxB,KAAI,MAAMP,KAAK,IAAIO,MAAM,EAAE;MACzBP,KAAK,CAACyD,UAAU,GAAG,IAAI;IACzB;EACF;EAEArE,MAAMA,CAACkF,YAAY,EAAE;IACnBpG,WAAW,CAAC,IAAI,CAACO,SAAS,EAAE6F,YAAY,CAAC;IAEzC,OAAO,IAAI;EACb;EAEA5E,SAASA,CAAA,EAAG;IACV,MAAMuC,cAAc,GAAG,IAAI,CAACzD,IAAI,CAAC2F,UAAU,CAAClC,cAAc,CAAC,CAAC;IAE5D,OAAOlE,YAAY,CAACwG,UAAU,CAC5B;MACE/F,IAAI,EAAE,IAAI,CAACoE,MAAM,CAAC,CAAC;MACnB4B,OAAO,EAAE,GAAGvC,cAAc,CAACwC,cAAc,QAAQ;MACjDA,cAAc,EAAExC,cAAc,CAACwC,cAAc;MAC7CC,IAAI,EAAE;IACR,CAAC,EACD,CAAC,CACH,CAAC;EACH;AACF","ignoreList":[]}
@@ -78,4 +78,4 @@ export default class ApiMakerCommandSubmitData {
78
78
  return newObject;
79
79
  }
80
80
  }
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvYmplY3RUb0Zvcm1EYXRhIiwiQXBpTWFrZXJDb21tYW5kU3VibWl0RGF0YSIsImNvbnN0cnVjdG9yIiwiZGF0YSIsImZpbGVzQ291bnQiLCJqc29uRGF0YSIsInRyYXZlcnNlT2JqZWN0IiwiZ2V0RmlsZXNDb3VudCIsImdldEpzb25EYXRhIiwiZ2V0UmF3RGF0YSIsInJhd0RhdGEiLCJnZXRGb3JtRGF0YSIsIm9iamVjdEZvckZvcm1EYXRhIiwianNvbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJmb3JtRGF0YSIsInNlcmlhbGl6ZSIsImNvbnZlcnREeW5hbWljIiwidmFsdWUiLCJ0eXBlIiwiQXJyYXkiLCJpc0FycmF5IiwidHJhdmVyc2VBcnJheSIsIm5hbWUiLCJzaG91bGRTa2lwIiwib2JqZWN0IiwiRmlsZSIsImlzT2JqZWN0IiwiYXJyYXkiLCJuZXdBcnJheSIsInB1c2giLCJuZXdPYmplY3QiLCJrZXkiXSwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZC1zdWJtaXQtZGF0YS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2JqZWN0VG9Gb3JtRGF0YSBmcm9tIFwib2JqZWN0LXRvLWZvcm1kYXRhXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDb21tYW5kU3VibWl0RGF0YSB7XG4gIGNvbnN0cnVjdG9yIChkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YVxuICAgIHRoaXMuZmlsZXNDb3VudCA9IDBcbiAgICB0aGlzLmpzb25EYXRhID0gdGhpcy50cmF2ZXJzZU9iamVjdCh0aGlzLmRhdGEsIFwianNvblwiKVxuICB9XG5cbiAgZ2V0RmlsZXNDb3VudCA9ICgpID0+IHRoaXMuZmlsZXNDb3VudFxuICBnZXRKc29uRGF0YSA9ICgpID0+IHRoaXMuanNvbkRhdGFcblxuICBnZXRSYXdEYXRhICgpIHtcbiAgICBpZiAoIXRoaXMucmF3RGF0YSkge1xuICAgICAgdGhpcy5yYXdEYXRhID0gdGhpcy50cmF2ZXJzZU9iamVjdCh0aGlzLmRhdGEsIFwicmF3XCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmF3RGF0YVxuICB9XG5cbiAgZ2V0Rm9ybURhdGEgKCkge1xuICAgIGNvbnN0IG9iamVjdEZvckZvcm1EYXRhID0gdGhpcy5nZXRSYXdEYXRhKCkgfHwge31cblxuICAgIG9iamVjdEZvckZvcm1EYXRhLmpzb24gPSBKU09OLnN0cmluZ2lmeSh0aGlzLmdldEpzb25EYXRhKCkpXG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG9iamVjdFRvRm9ybURhdGEuc2VyaWFsaXplKG9iamVjdEZvckZvcm1EYXRhKVxuXG4gICAgcmV0dXJuIGZvcm1EYXRhXG4gIH1cblxuICBjb252ZXJ0RHluYW1pYyAodmFsdWUsIHR5cGUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYXZlcnNlQXJyYXkodmFsdWUsIHR5cGUpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lID09IFwiT2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYXZlcnNlT2JqZWN0KHZhbHVlLCB0eXBlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzaG91bGRTa2lwIChvYmplY3QsIHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PSBcImpzb25cIiAmJiBvYmplY3QgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICB0aGlzLmZpbGVzQ291bnQgKz0gMVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PSBcInJhd1wiICYmICFBcnJheS5pc0FycmF5KG9iamVjdCkgJiYgIXRoaXMuaXNPYmplY3Qob2JqZWN0KSAmJiAhKG9iamVjdCBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaXNPYmplY3QgKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgPT0gXCJPYmplY3RcIikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHRyYXZlcnNlQXJyYXkgKGFycmF5LCB0eXBlKSB7XG4gICAgY29uc3QgbmV3QXJyYXkgPSBbXVxuXG4gICAgZm9yIChjb25zdCB2YWx1ZSBvZiBhcnJheSkge1xuICAgICAgaWYgKHRoaXMuc2hvdWxkU2tpcCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIG5ld0FycmF5LnB1c2godGhpcy5jb252ZXJ0RHluYW1pYyh2YWx1ZSwgdHlwZSkpXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIG5ld0FycmF5LnB1c2godGhpcy5jb252ZXJ0RHluYW1pYyh2YWx1ZSwgdHlwZSkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdBcnJheS5wdXNoKHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdBcnJheVxuICB9XG5cbiAgdHJhdmVyc2VPYmplY3QgKG9iamVjdCwgdHlwZSkge1xuICAgIGNvbnN0IG5ld09iamVjdCA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV1cblxuICAgICAgaWYgKHRoaXMuc2hvdWxkU2tpcCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIG5ld09iamVjdFtrZXldID0gdGhpcy5jb252ZXJ0RHluYW1pYyh2YWx1ZSwgdHlwZSlcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgbmV3T2JqZWN0W2tleV0gPSB0aGlzLmNvbnZlcnREeW5hbWljKHZhbHVlLCB0eXBlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3T2JqZWN0W2tleV0gPSB2YWx1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdPYmplY3RcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxnQkFBZ0IsTUFBTSxvQkFBb0I7QUFFakQsZUFBZSxNQUFNQyx5QkFBeUIsQ0FBQztFQUM3Q0MsV0FBV0EsQ0FBRUMsSUFBSSxFQUFFO0lBQ2pCLElBQUksQ0FBQ0EsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHLENBQUM7SUFDbkIsSUFBSSxDQUFDQyxRQUFRLEdBQUcsSUFBSSxDQUFDQyxjQUFjLENBQUMsSUFBSSxDQUFDSCxJQUFJLEVBQUUsTUFBTSxDQUFDO0VBQ3hEO0VBRUFJLGFBQWEsR0FBR0EsQ0FBQSxLQUFNLElBQUksQ0FBQ0gsVUFBVTtFQUNyQ0ksV0FBVyxHQUFHQSxDQUFBLEtBQU0sSUFBSSxDQUFDSCxRQUFRO0VBRWpDSSxVQUFVQSxDQUFBLEVBQUk7SUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUU7TUFDakIsSUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDSixjQUFjLENBQUMsSUFBSSxDQUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQ3REO0lBRUEsT0FBTyxJQUFJLENBQUNPLE9BQU87RUFDckI7RUFFQUMsV0FBV0EsQ0FBQSxFQUFJO0lBQ2IsTUFBTUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDSCxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqREcsaUJBQWlCLENBQUNDLElBQUksR0FBR0MsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSSxDQUFDUCxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBRTNELE1BQU1RLFFBQVEsR0FBR2hCLGdCQUFnQixDQUFDaUIsU0FBUyxDQUFDTCxpQkFBaUIsQ0FBQztJQUU5RCxPQUFPSSxRQUFRO0VBQ2pCO0VBRUFFLGNBQWNBLENBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFO0lBQzNCLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSCxLQUFLLENBQUMsRUFBRTtNQUN4QixPQUFPLElBQUksQ0FBQ0ksYUFBYSxDQUFDSixLQUFLLEVBQUVDLElBQUksQ0FBQztJQUN4QyxDQUFDLE1BQU0sSUFBSSxPQUFPRCxLQUFLLElBQUksUUFBUSxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLENBQUNqQixXQUFXLENBQUNzQixJQUFJLElBQUksUUFBUSxFQUFFO01BQzNGLE9BQU8sSUFBSSxDQUFDbEIsY0FBYyxDQUFDYSxLQUFLLEVBQUVDLElBQUksQ0FBQztJQUN6QyxDQUFDLE1BQU07TUFDTCxPQUFPRCxLQUFLO0lBQ2Q7RUFDRjtFQUVBTSxVQUFVQSxDQUFFQyxNQUFNLEVBQUVOLElBQUksRUFBRTtJQUN4QixJQUFJQSxJQUFJLElBQUksTUFBTSxJQUFJTSxNQUFNLFlBQVlDLElBQUksRUFBRTtNQUM1QyxJQUFJLENBQUN2QixVQUFVLElBQUksQ0FBQztNQUNwQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQUlnQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQ0UsUUFBUSxDQUFDRixNQUFNLENBQUMsSUFBSSxFQUFFQSxNQUFNLFlBQVlDLElBQUksQ0FBQyxFQUFFO01BQ2xHLE9BQU8sSUFBSTtJQUNiO0lBRUEsT0FBTyxLQUFLO0VBQ2Q7RUFFQUMsUUFBUUEsQ0FBRVQsS0FBSyxFQUFFO0lBQ2YsSUFBSSxPQUFPQSxLQUFLLElBQUksUUFBUSxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLENBQUNqQixXQUFXLENBQUNzQixJQUFJLElBQUksUUFBUSxFQUFFO01BQ3BGLE9BQU8sSUFBSTtJQUNiO0lBRUEsT0FBTyxLQUFLO0VBQ2Q7RUFFQUQsYUFBYUEsQ0FBRU0sS0FBSyxFQUFFVCxJQUFJLEVBQUU7SUFDMUIsTUFBTVUsUUFBUSxHQUFHLEVBQUU7SUFFbkIsS0FBSyxNQUFNWCxLQUFLLElBQUlVLEtBQUssRUFBRTtNQUN6QixJQUFJLElBQUksQ0FBQ0osVUFBVSxDQUFDTixLQUFLLEVBQUVDLElBQUksQ0FBQyxFQUFFO1FBQ2hDO01BQ0Y7TUFFQSxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUU7UUFDeEJXLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQ2IsY0FBYyxDQUFDQyxLQUFLLEVBQUVDLElBQUksQ0FBQyxDQUFDO01BQ2pELENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQ1EsUUFBUSxDQUFDVCxLQUFLLENBQUMsRUFBRTtRQUMvQlcsUUFBUSxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDYixjQUFjLENBQUNDLEtBQUssRUFBRUMsSUFBSSxDQUFDLENBQUM7TUFDakQsQ0FBQyxNQUFNO1FBQ0xVLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDWixLQUFLLENBQUM7TUFDdEI7SUFDRjtJQUVBLE9BQU9XLFFBQVE7RUFDakI7RUFFQXhCLGNBQWNBLENBQUVvQixNQUFNLEVBQUVOLElBQUksRUFBRTtJQUM1QixNQUFNWSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXBCLEtBQUssTUFBTUMsR0FBRyxJQUFJUCxNQUFNLEVBQUU7TUFDeEIsTUFBTVAsS0FBSyxHQUFHTyxNQUFNLENBQUNPLEdBQUcsQ0FBQztNQUV6QixJQUFJLElBQUksQ0FBQ1IsVUFBVSxDQUFDTixLQUFLLEVBQUVDLElBQUksQ0FBQyxFQUFFO1FBQ2hDO01BQ0Y7TUFFQSxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUU7UUFDeEJhLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDZixjQUFjLENBQUNDLEtBQUssRUFBRUMsSUFBSSxDQUFDO01BQ25ELENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQ1EsUUFBUSxDQUFDVCxLQUFLLENBQUMsRUFBRTtRQUMvQmEsU0FBUyxDQUFDQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUNmLGNBQWMsQ0FBQ0MsS0FBSyxFQUFFQyxJQUFJLENBQUM7TUFDbkQsQ0FBQyxNQUFNO1FBQ0xZLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUdkLEtBQUs7TUFDeEI7SUFDRjtJQUVBLE9BQU9hLFNBQVM7RUFDbEI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
81
+ //# sourceMappingURL=command-submit-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-submit-data.js","names":["objectToFormData","ApiMakerCommandSubmitData","constructor","data","filesCount","jsonData","traverseObject","getFilesCount","getJsonData","getRawData","rawData","getFormData","objectForFormData","json","JSON","stringify","formData","serialize","convertDynamic","value","type","Array","isArray","traverseArray","name","shouldSkip","object","File","isObject","array","newArray","push","newObject","key"],"sources":["../src/command-submit-data.js"],"sourcesContent":["import objectToFormData from \"object-to-formdata\"\n\nexport default class ApiMakerCommandSubmitData {\n constructor (data) {\n this.data = data\n this.filesCount = 0\n this.jsonData = this.traverseObject(this.data, \"json\")\n }\n\n getFilesCount = () => this.filesCount\n getJsonData = () => this.jsonData\n\n getRawData () {\n if (!this.rawData) {\n this.rawData = this.traverseObject(this.data, \"raw\")\n }\n\n return this.rawData\n }\n\n getFormData () {\n const objectForFormData = this.getRawData() || {}\n\n objectForFormData.json = JSON.stringify(this.getJsonData())\n\n const formData = objectToFormData.serialize(objectForFormData)\n\n return formData\n }\n\n convertDynamic (value, type) {\n if (Array.isArray(value)) {\n return this.traverseArray(value, type)\n } else if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return this.traverseObject(value, type)\n } else {\n return value\n }\n }\n\n shouldSkip (object, type) {\n if (type == \"json\" && object instanceof File) {\n this.filesCount += 1\n return true\n }\n\n if (type == \"raw\" && !Array.isArray(object) && !this.isObject(object) && !(object instanceof File)) {\n return true\n }\n\n return false\n }\n\n isObject (value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n }\n\n traverseArray (array, type) {\n const newArray = []\n\n for (const value of array) {\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else if (this.isObject(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else {\n newArray.push(value)\n }\n }\n\n return newArray\n }\n\n traverseObject (object, type) {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else if (this.isObject(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else {\n newObject[key] = value\n }\n }\n\n return newObject\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -192,4 +192,4 @@ export default class ApiMakerCommandsPool {
192
192
  }
193
193
  flushRunLast = new RunLast(this.flush);
194
194
  }
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBcGkiLCJDb21tYW5kU3VibWl0RGF0YSIsIkN1c3RvbUVycm9yIiwiRGVzdHJveUVycm9yIiwiRGVzZXJpYWxpemVyIiwiZGlnIiwiZGlnZyIsImV2ZW50cyIsIkZvcm1EYXRhT2JqZWN0aXplciIsIlJ1bkxhc3QiLCJTZXJpYWxpemVyIiwiU2Vzc2lvblN0YXR1c1VwZGF0ZXIiLCJWYWxpZGF0aW9uRXJyb3IiLCJWYWxpZGF0aW9uRXJyb3JzIiwic2hhcmVkIiwiQXBpTWFrZXJDb21tYW5kc1Bvb2wiLCJhZGRDb21tYW5kIiwiZGF0YSIsImFyZ3MiLCJwb29sIiwiaW5zdGFudCIsImN1cnJlbnQiLCJwcm9taXNlUmVzdWx0IiwiZmx1c2hSdW5MYXN0IiwicnVuIiwicXVldWUiLCJjdXJyZW50QXBpTWFrZXJDb21tYW5kc1Bvb2wiLCJmbHVzaCIsImNvbnN0cnVjdG9yIiwiZmx1c2hDb3VudCIsInBvb2xEYXRhIiwiY3VycmVudElkIiwiZ2xvYmFsUmVxdWVzdERhdGEiLCJzdGFjayIsIkVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJpZCIsImNvbW1hbmRUeXBlIiwidHlwZSIsImNvbW1hbmROYW1lIiwiY29tbWFuZCIsImNvbGxlY3Rpb25OYW1lIiwibm9kZU5hbWUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwidG9PYmplY3QiLCJzZXJpYWxpemUiLCJwcmltYXJ5X2tleSIsInByaW1hcnlLZXkiLCJjb21tYW5kc0NvdW50IiwiT2JqZWN0Iiwia2V5cyIsInNlbmRSZXF1ZXN0IiwiY29tbWFuZFN1Ym1pdERhdGEiLCJ1cmwiLCJyZXNwb25zZSIsImkiLCJnZXRGaWxlc0NvdW50IiwicmVxdWVzdExvY2FsIiwicGF0aCIsIm1ldGhvZCIsInJhd0RhdGEiLCJnZXRGb3JtRGF0YSIsImdldEpzb25EYXRhIiwic3VjY2VzcyIsImNvbnNvbGUiLCJsb2ciLCJ1cGRhdGVTZXNzaW9uU3RhdHVzIiwiY3VycmVudFBvb2wiLCJjdXJyZW50UG9vbERhdGEiLCJzdWJtaXREYXRhIiwibGVuZ3RoIiwiZ2xvYmFsIiwiY29tbWFuZElkIiwicmVzcG9uc2VzIiwiY29tbWFuZFJlc3BvbnNlIiwiY29tbWFuZFJlc3BvbnNlRGF0YSIsInBhcnNlIiwiY29tbWFuZERhdGEiLCJwYXJzZUludCIsInJlc3BvbnNlVHlwZSIsImJ1Z1JlcG9ydFVybCIsImVycm9yIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJoYW5kbGVGYWlsZWRSZXNwb25zZSIsImVycm9yX3R5cGUiLCJ2YWxpZGF0aW9uRXJyb3JzIiwibW9kZWwiLCJlbWl0IiwiZXJyb3JNZXNzYWdlIiwiZXJyb3JzIiwiaXNBY3RpdmUiXSwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMtcG9vbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBpIGZyb20gXCIuL2FwaVwiXG5pbXBvcnQgQ29tbWFuZFN1Ym1pdERhdGEgZnJvbSBcIi4vY29tbWFuZC1zdWJtaXQtZGF0YVwiXG5pbXBvcnQgQ3VzdG9tRXJyb3IgZnJvbSBcIi4vY3VzdG9tLWVycm9yXCJcbmltcG9ydCBEZXN0cm95RXJyb3IgZnJvbSBcIi4vZGVzdHJveS1lcnJvclwiXG5pbXBvcnQgRGVzZXJpYWxpemVyIGZyb20gXCIuL2Rlc2VyaWFsaXplclwiXG5pbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50c1wiXG5pbXBvcnQgRm9ybURhdGFPYmplY3RpemVyIGZyb20gXCJmb3JtLWRhdGEtb2JqZWN0aXplclwiXG5pbXBvcnQgUnVuTGFzdCBmcm9tIFwiLi9ydW4tbGFzdFwiXG5pbXBvcnQgU2VyaWFsaXplciBmcm9tIFwiLi9zZXJpYWxpemVyXCJcbmltcG9ydCBTZXNzaW9uU3RhdHVzVXBkYXRlciBmcm9tIFwiLi9zZXNzaW9uLXN0YXR1cy11cGRhdGVyXCJcbmltcG9ydCBWYWxpZGF0aW9uRXJyb3IgZnJvbSBcIi4vdmFsaWRhdGlvbi1lcnJvclwiXG5pbXBvcnQge1ZhbGlkYXRpb25FcnJvcnN9IGZyb20gXCIuL3ZhbGlkYXRpb24tZXJyb3JzXCJcblxuY29uc3Qgc2hhcmVkID0ge31cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDb21tYW5kc1Bvb2wge1xuICBzdGF0aWMgYWRkQ29tbWFuZChkYXRhLCBhcmdzID0ge30pIHtcbiAgICBsZXQgcG9vbFxuXG4gICAgaWYgKGFyZ3MuaW5zdGFudCkge1xuICAgICAgcG9vbCA9IG5ldyBBcGlNYWtlckNvbW1hbmRzUG9vbCgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvb2wgPSBBcGlNYWtlckNvbW1hbmRzUG9vbC5jdXJyZW50KClcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlUmVzdWx0ID0gcG9vbC5hZGRDb21tYW5kKGRhdGEpXG5cbiAgICBpZiAoYXJncy5pbnN0YW50KSB7XG4gICAgICBwb29sLmZsdXNoUnVuTGFzdC5ydW4oKVxuICAgIH0gZWxzZSB7XG4gICAgICBwb29sLmZsdXNoUnVuTGFzdC5xdWV1ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb21pc2VSZXN1bHRcbiAgfVxuXG4gIHN0YXRpYyBjdXJyZW50KCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNvbW1hbmRzUG9vbCkgc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNvbW1hbmRzUG9vbCA9IG5ldyBBcGlNYWtlckNvbW1hbmRzUG9vbCgpXG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNvbW1hbmRzUG9vbFxuICB9XG5cbiAgc3RhdGljIGZsdXNoKCkge1xuICAgIEFwaU1ha2VyQ29tbWFuZHNQb29sLmN1cnJlbnQoKS5mbHVzaCgpXG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZsdXNoQ291bnQgPSAwXG4gICAgdGhpcy5wb29sID0ge31cbiAgICB0aGlzLnBvb2xEYXRhID0ge31cbiAgICB0aGlzLmN1cnJlbnRJZCA9IDFcbiAgICB0aGlzLmdsb2JhbFJlcXVlc3REYXRhID0ge31cbiAgfVxuXG4gIGFkZENvbW1hbmQoZGF0YSkge1xuICAgIGNvbnN0IHN0YWNrID0gRXJyb3IoKS5zdGFja1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5jdXJyZW50SWRcbiAgICAgIHRoaXMuY3VycmVudElkICs9IDFcblxuICAgICAgY29uc3QgY29tbWFuZFR5cGUgPSBkYXRhLnR5cGVcbiAgICAgIGNvbnN0IGNvbW1hbmROYW1lID0gZGF0YS5jb21tYW5kXG4gICAgICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGRhdGEuY29sbGVjdGlvbk5hbWVcblxuICAgICAgdGhpcy5wb29sW2lkXSA9IHtyZXNvbHZlLCByZWplY3QsIHN0YWNrfVxuXG4gICAgICBpZiAoIXRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdKSB0aGlzLnBvb2xEYXRhW2NvbW1hbmRUeXBlXSA9IHt9XG4gICAgICBpZiAoIXRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdW2NvbGxlY3Rpb25OYW1lXSkgdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdID0ge31cbiAgICAgIGlmICghdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdW2NvbW1hbmROYW1lXSkgdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdW2NvbW1hbmROYW1lXSA9IHt9XG5cbiAgICAgIGxldCBhcmdzXG5cbiAgICAgIGlmIChkYXRhLmFyZ3M/Lm5vZGVOYW1lID09IFwiRk9STVwiKSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGRhdGEuYXJncylcblxuICAgICAgICBhcmdzID0gRm9ybURhdGFPYmplY3RpemVyLnRvT2JqZWN0KGZvcm1EYXRhKVxuICAgICAgfSBlbHNlIGlmIChkYXRhLmFyZ3MgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICBhcmdzID0gRm9ybURhdGFPYmplY3RpemVyLnRvT2JqZWN0KGRhdGEuYXJncylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFyZ3MgPSBTZXJpYWxpemVyLnNlcmlhbGl6ZShkYXRhLmFyZ3MpXG4gICAgICB9XG5cbiAgICAgIHRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdW2NvbGxlY3Rpb25OYW1lXVtjb21tYW5kTmFtZV1baWRdID0ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBwcmltYXJ5X2tleTogZGF0YS5wcmltYXJ5S2V5LFxuICAgICAgICBpZFxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBjb21tYW5kc0NvdW50KCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBvb2wpXG4gIH1cblxuICBhc3luYyBzZW5kUmVxdWVzdCh7Y29tbWFuZFN1Ym1pdERhdGEsIHVybH0pIHtcbiAgICBsZXQgcmVzcG9uc2VcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgaSsrKSB7XG4gICAgICBpZiAoY29tbWFuZFN1Ym1pdERhdGEuZ2V0RmlsZXNDb3VudCgpID4gMCkge1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IEFwaS5yZXF1ZXN0TG9jYWwoe3BhdGg6IHVybCwgbWV0aG9kOiBcIlBPU1RcIiwgcmF3RGF0YTogY29tbWFuZFN1Ym1pdERhdGEuZ2V0Rm9ybURhdGEoKX0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IEFwaS5yZXF1ZXN0TG9jYWwoe3BhdGg6IHVybCwgbWV0aG9kOiBcIlBPU1RcIiwgZGF0YTogY29tbWFuZFN1Ym1pdERhdGEuZ2V0SnNvbkRhdGEoKX0pXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzID09PSBmYWxzZSAmJiByZXNwb25zZS50eXBlID09IFwiaW52YWxpZF9hdXRoZW50aWNpdHlfdG9rZW5cIikge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkludmFsaWQgYXV0aGVudGljaXR5IHRva2VuIC0gdHJ5IGFnYWluXCIpXG4gICAgICAgIGF3YWl0IFNlc3Npb25TdGF0dXNVcGRhdGVyLmN1cnJlbnQoKS51cGRhdGVTZXNzaW9uU3RhdHVzKClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRudCBzdWNjZXNzZnVsbHkgZXhlY3V0ZSByZXF1ZXN0XCIpXG4gIH1cblxuICBmbHVzaCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGhpcy5jb21tYW5kc0NvdW50KCkgPT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFBvb2wgPSB0aGlzLnBvb2xcbiAgICBjb25zdCBjdXJyZW50UG9vbERhdGEgPSB0aGlzLnBvb2xEYXRhXG5cbiAgICB0aGlzLnBvb2wgPSB7fVxuICAgIHRoaXMucG9vbERhdGEgPSB7fVxuICAgIHRoaXMuZmx1c2hDb3VudCsrXG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3VibWl0RGF0YSA9IHtwb29sOiBjdXJyZW50UG9vbERhdGF9XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmdsb2JhbFJlcXVlc3REYXRhKS5sZW5ndGggPiAwKVxuICAgICAgICBzdWJtaXREYXRhLmdsb2JhbCA9IHRoaXMuZ2xvYmFsUmVxdWVzdERhdGFcblxuICAgICAgY29uc3QgY29tbWFuZFN1Ym1pdERhdGEgPSBuZXcgQ29tbWFuZFN1Ym1pdERhdGEoc3VibWl0RGF0YSlcbiAgICAgIGNvbnN0IHVybCA9IFwiL2FwaV9tYWtlci9jb21tYW5kc1wiXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qoe2NvbW1hbmRTdWJtaXREYXRhLCB1cmx9KVxuXG4gICAgICBmb3IgKGNvbnN0IGNvbW1hbmRJZCBpbiByZXNwb25zZS5yZXNwb25zZXMpIHtcbiAgICAgICAgY29uc3QgY29tbWFuZFJlc3BvbnNlID0gcmVzcG9uc2UucmVzcG9uc2VzW2NvbW1hbmRJZF1cbiAgICAgICAgY29uc3QgY29tbWFuZFJlc3BvbnNlRGF0YSA9IERlc2VyaWFsaXplci5wYXJzZShjb21tYW5kUmVzcG9uc2UuZGF0YSlcbiAgICAgICAgY29uc3QgY29tbWFuZERhdGEgPSBjdXJyZW50UG9vbFtwYXJzZUludChjb21tYW5kSWQsIDEwKV1cbiAgICAgICAgY29uc3QgcmVzcG9uc2VUeXBlID0gY29tbWFuZFJlc3BvbnNlLnR5cGVcblxuICAgICAgICBpZiAoY29tbWFuZFJlc3BvbnNlRGF0YSAmJiB0eXBlb2YgY29tbWFuZFJlc3BvbnNlRGF0YSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgY29uc3QgYnVnUmVwb3J0VXJsID0gZGlnKGNvbW1hbmRSZXNwb25zZURhdGEsIFwiYnVnX3JlcG9ydF91cmxcIilcblxuICAgICAgICAgIGlmIChidWdSZXBvcnRVcmwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBCdWcgcmVwb3J0IFVSTDogJHtidWdSZXBvcnRVcmx9YClcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09IFwic3VjY2Vzc1wiKSB7XG4gICAgICAgICAgY29tbWFuZERhdGEucmVzb2x2ZShjb21tYW5kUmVzcG9uc2VEYXRhKVxuICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlVHlwZSA9PSBcImVycm9yXCIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBDdXN0b21FcnJvcihcIkNvbW1hbmQgZXJyb3JcIiwge3Jlc3BvbnNlOiBjb21tYW5kUmVzcG9uc2VEYXRhfSlcblxuICAgICAgICAgIGVycm9yLnN0YWNrICs9IFwiXFxuXCJcbiAgICAgICAgICBlcnJvci5zdGFjayArPSBjb21tYW5kRGF0YS5zdGFjay5zcGxpdChcIlxcblwiKS5zbGljZSgxKS5qb2luKFwiXFxuXCIpXG5cbiAgICAgICAgICBjb21tYW5kRGF0YS5yZWplY3QoZXJyb3IpXG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2VUeXBlID09IFwiZmFpbGVkXCIpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUZhaWxlZFJlc3BvbnNlKGNvbW1hbmREYXRhLCBjb21tYW5kUmVzcG9uc2VEYXRhKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHJlc3BvbnNlIHR5cGU6ICR7cmVzcG9uc2VUeXBlfWApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5mbHVzaENvdW50LS1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVGYWlsZWRSZXNwb25zZShjb21tYW5kRGF0YSwgY29tbWFuZFJlc3BvbnNlRGF0YSkge1xuICAgIGxldCBlcnJvclxuXG4gICAgaWYgKGNvbW1hbmRSZXNwb25zZURhdGEuZXJyb3JfdHlwZSA9PSBcImRlc3Ryb3lfZXJyb3JcIikge1xuICAgICAgZXJyb3IgPSBuZXcgRGVzdHJveUVycm9yKGBEZXN0cm95IGZhaWxlZGAsIHtyZXNwb25zZTogY29tbWFuZFJlc3BvbnNlRGF0YX0pXG4gICAgfSBlbHNlIGlmIChjb21tYW5kUmVzcG9uc2VEYXRhLmVycm9yX3R5cGUgPT0gXCJ2YWxpZGF0aW9uX2Vycm9yXCIpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnMgPSBuZXcgVmFsaWRhdGlvbkVycm9ycyh7XG4gICAgICAgIG1vZGVsOiBkaWdnKGNvbW1hbmRSZXNwb25zZURhdGEsIFwibW9kZWxcIiksXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnM6IGRpZ2coY29tbWFuZFJlc3BvbnNlRGF0YSwgXCJ2YWxpZGF0aW9uX2Vycm9yc1wiKVxuICAgICAgfSlcbiAgICAgIGVycm9yID0gbmV3IFZhbGlkYXRpb25FcnJvcih2YWxpZGF0aW9uRXJyb3JzLCB7cmVzcG9uc2U6IGNvbW1hbmRSZXNwb25zZURhdGF9KVxuXG4gICAgICBldmVudHMuZW1pdChcIm9uVmFsaWRhdGlvbkVycm9yc1wiLCB2YWxpZGF0aW9uRXJyb3JzKVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZXJyb3JNZXNzYWdlXG5cbiAgICAgIGlmICghY29tbWFuZFJlc3BvbnNlRGF0YS5lcnJvcnMpIHsgZXJyb3JNZXNzYWdlID0gXCJDb21tYW5kIGZhaWxlZFwiIH1cblxuICAgICAgZXJyb3IgPSBuZXcgQ3VzdG9tRXJyb3IoZXJyb3JNZXNzYWdlLCB7cmVzcG9uc2U6IGNvbW1hbmRSZXNwb25zZURhdGF9KVxuICAgIH1cblxuICAgIGNvbW1hbmREYXRhLnJlamVjdChlcnJvcilcbiAgfVxuXG4gIGlzQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLmNvbW1hbmRzQ291bnQoKSA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmx1c2hDb3VudCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmbHVzaFJ1bkxhc3QgPSBuZXcgUnVuTGFzdCh0aGlzLmZsdXNoKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxHQUFHLE1BQU0sT0FBTztBQUN2QixPQUFPQyxpQkFBaUIsTUFBTSx1QkFBdUI7QUFDckQsT0FBT0MsV0FBVyxNQUFNLGdCQUFnQjtBQUN4QyxPQUFPQyxZQUFZLE1BQU0saUJBQWlCO0FBQzFDLE9BQU9DLFlBQVksTUFBTSxnQkFBZ0I7QUFDekMsU0FBUUMsR0FBRyxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNuQyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxrQkFBa0IsTUFBTSxzQkFBc0I7QUFDckQsT0FBT0MsT0FBTyxNQUFNLFlBQVk7QUFDaEMsT0FBT0MsVUFBVSxNQUFNLGNBQWM7QUFDckMsT0FBT0Msb0JBQW9CLE1BQU0sMEJBQTBCO0FBQzNELE9BQU9DLGVBQWUsTUFBTSxvQkFBb0I7QUFDaEQsU0FBUUMsZ0JBQWdCLFFBQU8scUJBQXFCO0FBRXBELE1BQU1DLE1BQU0sR0FBRyxD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
195
+ //# sourceMappingURL=commands-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-pool.js","names":["Api","CommandSubmitData","CustomError","DestroyError","Deserializer","dig","digg","events","FormDataObjectizer","RunLast","Serializer","SessionStatusUpdater","ValidationError","ValidationErrors","shared","ApiMakerCommandsPool","addCommand","data","args","pool","instant","current","promiseResult","flushRunLast","run","queue","currentApiMakerCommandsPool","flush","constructor","flushCount","poolData","currentId","globalRequestData","stack","Error","Promise","resolve","reject","id","commandType","type","commandName","command","collectionName","nodeName","formData","FormData","toObject","serialize","primary_key","primaryKey","commandsCount","Object","keys","sendRequest","commandSubmitData","url","response","i","getFilesCount","requestLocal","path","method","rawData","getFormData","getJsonData","success","console","log","updateSessionStatus","currentPool","currentPoolData","submitData","length","global","commandId","responses","commandResponse","commandResponseData","parse","commandData","parseInt","responseType","bugReportUrl","error","split","slice","join","handleFailedResponse","error_type","validationErrors","model","emit","errorMessage","errors","isActive"],"sources":["../src/commands-pool.js"],"sourcesContent":["import Api from \"./api\"\nimport CommandSubmitData from \"./command-submit-data\"\nimport CustomError from \"./custom-error\"\nimport DestroyError from \"./destroy-error\"\nimport Deserializer from \"./deserializer\"\nimport {dig, digg} from \"diggerize\"\nimport events from \"./events\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport RunLast from \"./run-last\"\nimport Serializer from \"./serializer\"\nimport SessionStatusUpdater from \"./session-status-updater\"\nimport ValidationError from \"./validation-error\"\nimport {ValidationErrors} from \"./validation-errors\"\n\nconst shared = {}\n\nexport default class ApiMakerCommandsPool {\n static addCommand(data, args = {}) {\n let pool\n\n if (args.instant) {\n pool = new ApiMakerCommandsPool()\n } else {\n pool = ApiMakerCommandsPool.current()\n }\n\n const promiseResult = pool.addCommand(data)\n\n if (args.instant) {\n pool.flushRunLast.run()\n } else {\n pool.flushRunLast.queue()\n }\n\n return promiseResult\n }\n\n static current() {\n if (!shared.currentApiMakerCommandsPool) shared.currentApiMakerCommandsPool = new ApiMakerCommandsPool()\n\n return shared.currentApiMakerCommandsPool\n }\n\n static flush() {\n ApiMakerCommandsPool.current().flush()\n }\n\n constructor() {\n this.flushCount = 0\n this.pool = {}\n this.poolData = {}\n this.currentId = 1\n this.globalRequestData = {}\n }\n\n addCommand(data) {\n const stack = Error().stack\n\n return new Promise((resolve, reject) => {\n const id = this.currentId\n this.currentId += 1\n\n const commandType = data.type\n const commandName = data.command\n const collectionName = data.collectionName\n\n this.pool[id] = {resolve, reject, stack}\n\n if (!this.poolData[commandType]) this.poolData[commandType] = {}\n if (!this.poolData[commandType][collectionName]) this.poolData[commandType][collectionName] = {}\n if (!this.poolData[commandType][collectionName][commandName]) this.poolData[commandType][collectionName][commandName] = {}\n\n let args\n\n if (data.args?.nodeName == \"FORM\") {\n const formData = new FormData(data.args)\n\n args = FormDataObjectizer.toObject(formData)\n } else if (data.args instanceof FormData) {\n args = FormDataObjectizer.toObject(data.args)\n } else {\n args = Serializer.serialize(data.args)\n }\n\n this.poolData[commandType][collectionName][commandName][id] = {\n args,\n primary_key: data.primaryKey,\n id\n }\n })\n }\n\n commandsCount() {\n return Object.keys(this.pool)\n }\n\n async sendRequest({commandSubmitData, url}) {\n let response\n\n for (let i = 0; i < 3; i++) {\n if (commandSubmitData.getFilesCount() > 0) {\n response = await Api.requestLocal({path: url, method: \"POST\", rawData: commandSubmitData.getFormData()})\n } else {\n response = await Api.requestLocal({path: url, method: \"POST\", data: commandSubmitData.getJsonData()})\n }\n\n if (response.success === false && response.type == \"invalid_authenticity_token\") {\n console.log(\"Invalid authenticity token - try again\")\n await SessionStatusUpdater.current().updateSessionStatus()\n continue\n }\n\n return response\n }\n\n throw new Error(\"Couldnt successfully execute request\")\n }\n\n flush = async () => {\n if (this.commandsCount() == 0) {\n return\n }\n\n const currentPool = this.pool\n const currentPoolData = this.poolData\n\n this.pool = {}\n this.poolData = {}\n this.flushCount++\n\n try {\n const submitData = {pool: currentPoolData}\n\n if (Object.keys(this.globalRequestData).length > 0)\n submitData.global = this.globalRequestData\n\n const commandSubmitData = new CommandSubmitData(submitData)\n const url = \"/api_maker/commands\"\n const response = await this.sendRequest({commandSubmitData, url})\n\n for (const commandId in response.responses) {\n const commandResponse = response.responses[commandId]\n const commandResponseData = Deserializer.parse(commandResponse.data)\n const commandData = currentPool[parseInt(commandId, 10)]\n const responseType = commandResponse.type\n\n if (commandResponseData && typeof commandResponseData == \"object\") {\n const bugReportUrl = dig(commandResponseData, \"bug_report_url\")\n\n if (bugReportUrl) {\n console.log(`Bug report URL: ${bugReportUrl}`)\n }\n }\n\n if (responseType == \"success\") {\n commandData.resolve(commandResponseData)\n } else if (responseType == \"error\") {\n const error = new CustomError(\"Command error\", {response: commandResponseData})\n\n error.stack += \"\\n\"\n error.stack += commandData.stack.split(\"\\n\").slice(1).join(\"\\n\")\n\n commandData.reject(error)\n } else if (responseType == \"failed\") {\n this.handleFailedResponse(commandData, commandResponseData)\n } else {\n throw new Error(`Unhandled response type: ${responseType}`)\n }\n }\n } finally {\n this.flushCount--\n }\n }\n\n handleFailedResponse(commandData, commandResponseData) {\n let error\n\n if (commandResponseData.error_type == \"destroy_error\") {\n error = new DestroyError(`Destroy failed`, {response: commandResponseData})\n } else if (commandResponseData.error_type == \"validation_error\") {\n const validationErrors = new ValidationErrors({\n model: digg(commandResponseData, \"model\"),\n validationErrors: digg(commandResponseData, \"validation_errors\")\n })\n error = new ValidationError(validationErrors, {response: commandResponseData})\n\n events.emit(\"onValidationErrors\", validationErrors)\n } else {\n let errorMessage\n\n if (!commandResponseData.errors) { errorMessage = \"Command failed\" }\n\n error = new CustomError(errorMessage, {response: commandResponseData})\n }\n\n commandData.reject(error)\n }\n\n isActive() {\n if (this.commandsCount() > 0) {\n return true\n }\n\n if (this.flushCount > 0) {\n return true\n }\n\n return false\n }\n\n flushRunLast = new RunLast(this.flush)\n}\n"],"mappings":"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","ignoreList":[]}
package/build/compose.js CHANGED
@@ -6,4 +6,4 @@ export default function apiMakerCompose(wrappedComponentClass, ...funcs) {
6
6
  }
7
7
  return currentComponentClass;
8
8
  }
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcGlNYWtlckNvbXBvc2UiLCJ3cmFwcGVkQ29tcG9uZW50Q2xhc3MiLCJmdW5jcyIsIkVycm9yIiwiY3VycmVudENvbXBvbmVudENsYXNzIiwiZnVuYyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb3NlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFwaU1ha2VyQ29tcG9zZSh3cmFwcGVkQ29tcG9uZW50Q2xhc3MsIC4uLmZ1bmNzKSB7XG4gIGlmICghd3JhcHBlZENvbXBvbmVudENsYXNzKSB0aHJvdyBuZXcgRXJyb3IoXCJObyAnd3JhcHBlZENvbXBvbmVudENsYXNzJyBnaXZlblwiKVxuXG4gIGxldCBjdXJyZW50Q29tcG9uZW50Q2xhc3MgPSB3cmFwcGVkQ29tcG9uZW50Q2xhc3NcblxuICBmb3IgKGNvbnN0IGZ1bmMgb2YgZnVuY3MpIHtcbiAgICBjdXJyZW50Q29tcG9uZW50Q2xhc3MgPSBmdW5jKGN1cnJlbnRDb21wb25lbnRDbGFzcylcbiAgfVxuXG4gIHJldHVybiBjdXJyZW50Q29tcG9uZW50Q2xhc3Ncbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxTQUFTQSxlQUFlQSxDQUFDQyxxQkFBcUIsRUFBRSxHQUFHQyxLQUFLLEVBQUU7RUFDdkUsSUFBSSxDQUFDRCxxQkFBcUIsRUFBRSxNQUFNLElBQUlFLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQztFQUUvRSxJQUFJQyxxQkFBcUIsR0FBR0gscUJBQXFCO0VBRWpELEtBQUssTUFBTUksSUFBSSxJQUFJSCxLQUFLLEVBQUU7SUFDeEJFLHFCQUFxQixHQUFHQyxJQUFJLENBQUNELHFCQUFxQixDQUFDO0VBQ3JEO0VBRUEsT0FBT0EscUJBQXFCO0FBQzlCIiwiaWdub3JlTGlzdCI6W119
9
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","names":["apiMakerCompose","wrappedComponentClass","funcs","Error","currentComponentClass","func"],"sources":["../src/compose.js"],"sourcesContent":["export default function apiMakerCompose(wrappedComponentClass, ...funcs) {\n if (!wrappedComponentClass) throw new Error(\"No 'wrappedComponentClass' given\")\n\n let currentComponentClass = wrappedComponentClass\n\n for (const func of funcs) {\n currentComponentClass = func(currentComponentClass)\n }\n\n return currentComponentClass\n}\n"],"mappings":"AAAA,eAAe,SAASA,eAAeA,CAACC,qBAAqB,EAAE,GAAGC,KAAK,EAAE;EACvE,IAAI,CAACD,qBAAqB,EAAE,MAAM,IAAIE,KAAK,CAAC,kCAAkC,CAAC;EAE/E,IAAIC,qBAAqB,GAAGH,qBAAqB;EAEjD,KAAK,MAAMI,IAAI,IAAIH,KAAK,EAAE;IACxBE,qBAAqB,GAAGC,IAAI,CAACD,qBAAqB,CAAC;EACrD;EAEA,OAAOA,qBAAqB;AAC9B","ignoreList":[]}
package/build/config.js CHANGED
@@ -50,4 +50,4 @@ for (const accessorName in accessors) {
50
50
  }
51
51
  const apiMakerConfig = new ApiMakerConfig();
52
52
  export default apiMakerConfig;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiYWNjZXNzb3JzIiwiYnJlYWtQb2ludHMiLCJkZWZhdWx0IiwicmVxdWlyZWQiLCJjdXJyZW5jaWVzQ29sbGVjdGlvbiIsImhpc3RvcnkiLCJob3N0IiwiaTE4biIsIm1vZGFsIiwicm91dGVzIiwicm91dGVEZWZpbml0aW9ucyIsIkFwaU1ha2VyQ29uZmlnIiwiY29uc3RydWN0b3IiLCJnbG9iYWxUaGlzIiwiYXBpTWFrZXJDb25maWdHbG9iYWwiLCJnbG9iYWwiLCJhY2Nlc3Nvck5hbWUiLCJhY2Nlc3NvckRhdGEiLCJjYW1lbGl6ZWRBY2Nlc3NvciIsImNhbWVsaXplIiwicHJvdG90eXBlIiwibmV3VmFsdWUiLCJhcmdzIiwiRXJyb3IiLCJ2YWx1ZSIsImFwaU1ha2VyQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuY29uc3QgYWNjZXNzb3JzID0ge1xuICBicmVha1BvaW50czoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIFtcInh4bFwiLCAxNDAwXSxcbiAgICAgIFtcInhsXCIsIDEyMDBdLFxuICAgICAgW1wibGdcIiwgOTkyXSxcbiAgICAgIFtcIm1kXCIsIDc2OF0sXG4gICAgICBbXCJzbVwiLCA1NzZdLFxuICAgICAgW1wieHNcIiwgMF1cbiAgICBdLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH0sXG4gIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiB7cmVxdWlyZWQ6IHRydWV9LFxuICBoaXN0b3J5OiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgaG9zdDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIGkxOG46IHtyZXF1aXJlZDogZmFsc2V9LFxuICBtb2RhbDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHJvdXRlczoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHJvdXRlRGVmaW5pdGlvbnM6IHtyZXF1aXJlZDogZmFsc2V9XG59XG5cbmNsYXNzIEFwaU1ha2VyQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsKSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsID0ge31cblxuICAgIHRoaXMuZ2xvYmFsID0gZ2xvYmFsVGhpcy5hcGlNYWtlckNvbmZpZ0dsb2JhbFxuICB9XG59XG5cbmZvciAoY29uc3QgYWNjZXNzb3JOYW1lIGluIGFjY2Vzc29ycykge1xuICBjb25zdCBhY2Nlc3NvckRhdGEgPSBhY2Nlc3NvcnNbYWNjZXNzb3JOYW1lXVxuICBjb25zdCBjYW1lbGl6ZWRBY2Nlc3NvciA9IGluZmxlY3Rpb24uY2FtZWxpemUoYWNjZXNzb3JOYW1lKVxuXG4gIEFwaU1ha2VyQ29uZmlnLnByb3RvdHlwZVtgc2V0JHtjYW1lbGl6ZWRBY2Nlc3Nvcn1gXSA9IGZ1bmN0aW9uIChuZXdWYWx1ZSkgeyB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdID0gbmV3VmFsdWUgfVxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYGdldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5nbG9iYWxbYWNjZXNzb3JOYW1lXSkge1xuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5kZWZhdWx0KSByZXR1cm4gYWNjZXNzb3JEYXRhLmRlZmF1bHRcbiAgICAgIGlmIChhY2Nlc3NvckRhdGEucmVxdWlyZWQpIHRocm93IG5ldyBFcnJvcihgJHthY2Nlc3Nvck5hbWV9IGhhc24ndCBiZWVuIHNldGApXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHZhbHVlKC4uLmFyZ3MpXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5jb25zdCBhcGlNYWtlckNvbmZpZyA9IG5ldyBBcGlNYWtlckNvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyQ29uZmlnXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsVUFBVSxNQUFNLFlBQVk7QUFFeEMsTUFBTUMsU0FBUyxHQUFHO0VBQ2hCQyxXQUFXLEVBQUU7SUFDWEMsT0FBTyxFQUFFLENBQ1AsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQ2IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQ1osQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ1Y7SUFDREMsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNEQyxvQkFBb0IsRUFBRTtJQUFDRCxRQUFRLEVBQUU7RUFBSSxDQUFDO0VBQ3RDRSxPQUFPLEVBQUU7SUFBQ0YsUUFBUSxFQUFFO0VBQUssQ0FBQztFQUMxQkcsSUFBSSxFQUFFO0lBQUNILFFBQVEsRUFBRTtFQUFLLENBQUM7RUFDdkJJLElBQUksRUFBRTtJQUFDSixRQUFRLEVBQUU7RUFBSyxDQUFDO0VBQ3ZCSyxLQUFLLEVBQUU7SUFBQ0wsUUFBUSxFQUFFO0VBQUssQ0FBQztFQUN4Qk0sTUFBTSxFQUFFO0lBQUNOLFFBQVEsRUFBRTtFQUFLLENBQUM7RUFDekJPLGdCQUFnQixFQUFFO0lBQUNQLFFBQVEsRUFBRTtFQUFLO0FBQ3BDLENBQUM7QUFFRCxNQUFNUSxjQUFjLENBQUM7RUFDbkJDLFdBQVdBLENBQUEsRUFBRztJQUNaLElBQUksQ0FBQ0MsVUFBVSxDQUFDQyxvQkFBb0IsRUFBRUQsVUFBVSxDQUFDQyxvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFFMUUsSUFBSSxDQUFDQyxNQUFNLEdBQUdGLFVBQVUsQ0FBQ0Msb0JBQW9CO0VBQy9DO0FBQ0Y7QUFFQSxLQUFLLE1BQU1FLFlBQVksSUFBSWhCLFNBQVMsRUFBRTtFQUNwQyxNQUFNaUIsWUFBWSxHQUFHakIsU0FBUyxDQUFDZ0IsWUFBWSxDQUFDO0VBQzVDLE1BQU1FLGlCQUFpQixHQUFHbkIsVUFBVSxDQUFDb0IsUUFBUSxDQUFDSCxZQUFZLENBQUM7RUFFM0RMLGNBQWMsQ0FBQ1MsU0FBUyxDQUFDLE1BQU1GLGlCQUFpQixFQUFFLENBQUMsR0FBRyxVQUFVRyxRQUFRLEVBQUU7SUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLEdBQUdLLFFBQVE7RUFBQyxDQUFDO0VBQ2xIVixjQUFjLENBQUNTLFNBQVMsQ0FBQyxNQUFNRixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsVUFBVSxHQUFHSSxJQUFJLEVBQUU7SUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQ1AsTUFBTSxDQUFDQyxZQUFZLENBQUMsRUFBRTtNQUM5QixJQUFJQyxZQUFZLENBQUNmLE9BQU8sRUFBRSxPQUFPZSxZQUFZLENBQUNmLE9BQU87TUFDckQsSUFBSWUsWUFBWSxDQUFDZCxRQUFRLEVBQUUsTUFBTSxJQUFJb0IsS0FBSyxDQUFDLEdBQUdQLFlBQVksa0JBQWtCLENBQUM7SUFDL0U7SUFFQSxNQUFNUSxLQUFLLEdBQUcsSUFBSSxDQUFDVCxNQUFNLENBQUNDLFlBQVksQ0FBQztJQUV2QyxJQUFJLE9BQU9RLEtBQUssSUFBSSxVQUFVLEVBQUUsT0FBT0EsS0FBSyxDQUFDLEdBQUdGLElBQUksQ0FBQztJQUVyRCxPQUFPRSxLQUFLO0VBQ2QsQ0FBQztBQUNIO0FBRUEsTUFBTUMsY0FBYyxHQUFHLElBQUlkLGNBQWMsQ0FBQyxDQUFDO0FBRTNDLGVBQWVjLGNBQWMiLCJpZ25vcmVMaXN0IjpbXX0=
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","names":["inflection","accessors","breakPoints","default","required","currenciesCollection","history","host","i18n","modal","routes","routeDefinitions","ApiMakerConfig","constructor","globalThis","apiMakerConfigGlobal","global","accessorName","accessorData","camelizedAccessor","camelize","prototype","newValue","args","Error","value","apiMakerConfig"],"sources":["../src/config.js"],"sourcesContent":["import * as inflection from \"inflection\"\n\nconst accessors = {\n breakPoints: {\n default: [\n [\"xxl\", 1400],\n [\"xl\", 1200],\n [\"lg\", 992],\n [\"md\", 768],\n [\"sm\", 576],\n [\"xs\", 0]\n ],\n required: true\n },\n currenciesCollection: {required: true},\n history: {required: false},\n host: {required: false},\n i18n: {required: false},\n modal: {required: false},\n routes: {required: false},\n routeDefinitions: {required: false}\n}\n\nclass ApiMakerConfig {\n constructor() {\n if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}\n\n this.global = globalThis.apiMakerConfigGlobal\n }\n}\n\nfor (const accessorName in accessors) {\n const accessorData = accessors[accessorName]\n const camelizedAccessor = inflection.camelize(accessorName)\n\n ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }\n ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {\n if (!this.global[accessorName]) {\n if (accessorData.default) return accessorData.default\n if (accessorData.required) throw new Error(`${accessorName} hasn't been set`)\n }\n\n const value = this.global[accessorName]\n\n if (typeof value == \"function\") return value(...args)\n\n return value\n }\n}\n\nconst apiMakerConfig = new ApiMakerConfig()\n\nexport default apiMakerConfig\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,YAAY;AAExC,MAAMC,SAAS,GAAG;EAChBC,WAAW,EAAE;IACXC,OAAO,EAAE,CACP,CAAC,KAAK,EAAE,IAAI,CAAC,EACb,CAAC,IAAI,EAAE,IAAI,CAAC,EACZ,CAAC,IAAI,EAAE,GAAG,CAAC,EACX,CAAC,IAAI,EAAE,GAAG,CAAC,EACX,CAAC,IAAI,EAAE,GAAG,CAAC,EACX,CAAC,IAAI,EAAE,CAAC,CAAC,CACV;IACDC,QAAQ,EAAE;EACZ,CAAC;EACDC,oBAAoB,EAAE;IAACD,QAAQ,EAAE;EAAI,CAAC;EACtCE,OAAO,EAAE;IAACF,QAAQ,EAAE;EAAK,CAAC;EAC1BG,IAAI,EAAE;IAACH,QAAQ,EAAE;EAAK,CAAC;EACvBI,IAAI,EAAE;IAACJ,QAAQ,EAAE;EAAK,CAAC;EACvBK,KAAK,EAAE;IAACL,QAAQ,EAAE;EAAK,CAAC;EACxBM,MAAM,EAAE;IAACN,QAAQ,EAAE;EAAK,CAAC;EACzBO,gBAAgB,EAAE;IAACP,QAAQ,EAAE;EAAK;AACpC,CAAC;AAED,MAAMQ,cAAc,CAAC;EACnBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,UAAU,CAACC,oBAAoB,EAAED,UAAU,CAACC,oBAAoB,GAAG,CAAC,CAAC;IAE1E,IAAI,CAACC,MAAM,GAAGF,UAAU,CAACC,oBAAoB;EAC/C;AACF;AAEA,KAAK,MAAME,YAAY,IAAIhB,SAAS,EAAE;EACpC,MAAMiB,YAAY,GAAGjB,SAAS,CAACgB,YAAY,CAAC;EAC5C,MAAME,iBAAiB,GAAGnB,UAAU,CAACoB,QAAQ,CAACH,YAAY,CAAC;EAE3DL,cAAc,CAACS,SAAS,CAAC,MAAMF,iBAAiB,EAAE,CAAC,GAAG,UAAUG,QAAQ,EAAE;IAAE,IAAI,CAACN,MAAM,CAACC,YAAY,CAAC,GAAGK,QAAQ;EAAC,CAAC;EAClHV,cAAc,CAACS,SAAS,CAAC,MAAMF,iBAAiB,EAAE,CAAC,GAAG,UAAU,GAAGI,IAAI,EAAE;IACvE,IAAI,CAAC,IAAI,CAACP,MAAM,CAACC,YAAY,CAAC,EAAE;MAC9B,IAAIC,YAAY,CAACf,OAAO,EAAE,OAAOe,YAAY,CAACf,OAAO;MACrD,IAAIe,YAAY,CAACd,QAAQ,EAAE,MAAM,IAAIoB,KAAK,CAAC,GAAGP,YAAY,kBAAkB,CAAC;IAC/E;IAEA,MAAMQ,KAAK,GAAG,IAAI,CAACT,MAAM,CAACC,YAAY,CAAC;IAEvC,IAAI,OAAOQ,KAAK,IAAI,UAAU,EAAE,OAAOA,KAAK,CAAC,GAAGF,IAAI,CAAC;IAErD,OAAOE,KAAK;EACd,CAAC;AACH;AAEA,MAAMC,cAAc,GAAG,IAAId,cAAc,CAAC,CAAC;AAE3C,eAAec,cAAc","ignoreList":[]}
@@ -2,4 +2,4 @@ import BaseError from "./base-error";
2
2
  class CustomError extends BaseError {}
3
3
  CustomError.apiMakerType = "CustomError";
4
4
  export default CustomError;
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlRXJyb3IiLCJDdXN0b21FcnJvciIsImFwaU1ha2VyVHlwZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b20tZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VFcnJvciBmcm9tIFwiLi9iYXNlLWVycm9yXCJcblxuY2xhc3MgQ3VzdG9tRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige31cblxuQ3VzdG9tRXJyb3IuYXBpTWFrZXJUeXBlID0gXCJDdXN0b21FcnJvclwiXG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbUVycm9yXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVMsTUFBTSxjQUFjO0FBRXBDLE1BQU1DLFdBQVcsU0FBU0QsU0FBUyxDQUFDO0FBRXBDQyxXQUFXLENBQUNDLFlBQVksR0FBRyxhQUFhO0FBRXhDLGVBQWVELFdBQVciLCJpZ25vcmVMaXN0IjpbXX0=
5
+ //# sourceMappingURL=custom-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-error.js","names":["BaseError","CustomError","apiMakerType"],"sources":["../src/custom-error.js"],"sourcesContent":["import BaseError from \"./base-error\"\n\nclass CustomError extends BaseError {}\n\nCustomError.apiMakerType = \"CustomError\"\n\nexport default CustomError\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,cAAc;AAEpC,MAAMC,WAAW,SAASD,SAAS,CAAC;AAEpCC,WAAW,CAACC,YAAY,GAAG,aAAa;AAExC,eAAeD,WAAW","ignoreList":[]}
@@ -7,4 +7,4 @@ export default function dataSetToAttributes(dataSet) {
7
7
  }
8
8
  return result;
9
9
  }
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiZGF0YVNldFRvQXR0cmlidXRlcyIsImRhdGFTZXQiLCJyZXN1bHQiLCJrZXkiLCJkYXNoZXJpemVkS2V5IiwiZGFzaGVyaXplIiwidW5kZXJzY29yZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhLXNldC10by1hdHRyaWJ1dGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkYXRhU2V0VG9BdHRyaWJ1dGVzKGRhdGFTZXQpIHtcbiAgY29uc3QgcmVzdWx0ID0ge31cblxuICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhU2V0KSB7XG4gICAgY29uc3QgZGFzaGVyaXplZEtleSA9IGBkYXRhLSR7aW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKGtleSkpfWBcblxuICAgIHJlc3VsdFtkYXNoZXJpemVkS2V5XSA9IGRhdGFTZXRba2V5XVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLFVBQVUsTUFBTSxZQUFZO0FBRXhDLGVBQWUsU0FBU0MsbUJBQW1CQSxDQUFDQyxPQUFPLEVBQUU7RUFDbkQsTUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQztFQUVqQixLQUFLLE1BQU1DLEdBQUcsSUFBSUYsT0FBTyxFQUFFO0lBQ3pCLE1BQU1HLGFBQWEsR0FBRyxRQUFRTCxVQUFVLENBQUNNLFNBQVMsQ0FBQ04sVUFBVSxDQUFDTyxVQUFVLENBQUNILEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFFaEZELE1BQU0sQ0FBQ0UsYUFBYSxDQUFDLEdBQUdILE9BQU8sQ0FBQ0UsR0FBRyxDQUFDO0VBQ3RDO0VBRUEsT0FBT0QsTUFBTTtBQUNmIiwiaWdub3JlTGlzdCI6W119
10
+ //# sourceMappingURL=data-set-to-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-set-to-attributes.js","names":["inflection","dataSetToAttributes","dataSet","result","key","dasherizedKey","dasherize","underscore"],"sources":["../src/data-set-to-attributes.js"],"sourcesContent":["import * as inflection from \"inflection\"\n\nexport default function dataSetToAttributes(dataSet) {\n const result = {}\n\n for (const key in dataSet) {\n const dasherizedKey = `data-${inflection.dasherize(inflection.underscore(key))}`\n\n result[dasherizedKey] = dataSet[key]\n }\n\n return result\n}\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,YAAY;AAExC,eAAe,SAASC,mBAAmBA,CAACC,OAAO,EAAE;EACnD,MAAMC,MAAM,GAAG,CAAC,CAAC;EAEjB,KAAK,MAAMC,GAAG,IAAIF,OAAO,EAAE;IACzB,MAAMG,aAAa,GAAG,QAAQL,UAAU,CAACM,SAAS,CAACN,UAAU,CAACO,UAAU,CAACH,GAAG,CAAC,CAAC,EAAE;IAEhFD,MAAM,CAACE,aAAa,CAAC,GAAGH,OAAO,CAACE,GAAG,CAAC;EACtC;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}