@kaspernj/api-maker 1.0.2060 → 1.0.2062

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 (408) hide show
  1. package/build/api.d.ts.map +1 -1
  2. package/build/api.js +44 -51
  3. package/build/attribute-not-loaded-error.d.ts.map +1 -1
  4. package/build/attribute-not-loaded-error.js +2 -4
  5. package/build/base-component.d.ts.map +1 -1
  6. package/build/base-component.js +3 -5
  7. package/build/base-error.d.ts.map +1 -1
  8. package/build/base-error.js +11 -16
  9. package/build/base-model/attribute.d.ts.map +1 -1
  10. package/build/base-model/attribute.js +4 -9
  11. package/build/base-model/column.d.ts.map +1 -1
  12. package/build/base-model/column.js +2 -4
  13. package/build/base-model/reflection.d.ts.map +1 -1
  14. package/build/base-model/reflection.js +10 -48
  15. package/build/base-model/scope.d.ts.map +1 -1
  16. package/build/base-model/scope.js +5 -40
  17. package/build/base-model.js +85 -122
  18. package/build/bootstrap/attribute-row.d.ts.map +1 -1
  19. package/build/bootstrap/attribute-row.js +93 -126
  20. package/build/bootstrap/attribute-rows.d.ts.map +1 -1
  21. package/build/bootstrap/attribute-rows.js +21 -28
  22. package/build/bootstrap/card.d.ts.map +1 -1
  23. package/build/bootstrap/card.js +101 -120
  24. package/build/bootstrap/checkbox.d.ts.map +1 -1
  25. package/build/bootstrap/checkbox.js +64 -60
  26. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  27. package/build/bootstrap/checkboxes.js +124 -155
  28. package/build/bootstrap/index.d.ts +0 -1
  29. package/build/bootstrap/index.d.ts.map +1 -1
  30. package/build/bootstrap/index.js +1 -2
  31. package/build/bootstrap/input.d.ts +1 -1
  32. package/build/bootstrap/input.d.ts.map +1 -1
  33. package/build/bootstrap/input.js +108 -88
  34. package/build/bootstrap/invalid-feedback.d.ts +1 -1
  35. package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
  36. package/build/bootstrap/invalid-feedback.js +13 -17
  37. package/build/bootstrap/paginate.d.ts.map +1 -1
  38. package/build/bootstrap/paginate.js +132 -136
  39. package/build/bootstrap/radio-buttons.d.ts +1 -1
  40. package/build/bootstrap/radio-buttons.d.ts.map +1 -1
  41. package/build/bootstrap/radio-buttons.js +40 -34
  42. package/build/bootstrap/select.d.ts +1 -1
  43. package/build/bootstrap/select.d.ts.map +1 -1
  44. package/build/bootstrap/select.js +48 -35
  45. package/build/bootstrap/sort-link.d.ts.map +1 -1
  46. package/build/bootstrap/sort-link.js +75 -112
  47. package/build/cable-connection-pool.d.ts.map +1 -1
  48. package/build/cable-connection-pool.js +30 -37
  49. package/build/cable-subscription-pool.d.ts.map +1 -1
  50. package/build/cable-subscription-pool.js +65 -103
  51. package/build/cable-subscription.d.ts +1 -2
  52. package/build/cable-subscription.d.ts.map +1 -1
  53. package/build/cable-subscription.js +6 -11
  54. package/build/cache-key-generator.d.ts.map +1 -1
  55. package/build/cache-key-generator.js +5 -10
  56. package/build/can-can.d.ts +1 -2
  57. package/build/can-can.d.ts.map +1 -1
  58. package/build/can-can.js +37 -77
  59. package/build/channels-consumer.d.ts.map +1 -1
  60. package/build/channels-consumer.js +5 -9
  61. package/build/collection-loader.d.ts.map +1 -1
  62. package/build/collection-loader.js +31 -35
  63. package/build/collection.d.ts.map +1 -1
  64. package/build/collection.js +20 -58
  65. package/build/command-submit-data.d.ts +1 -1
  66. package/build/command-submit-data.d.ts.map +1 -1
  67. package/build/command-submit-data.js +8 -13
  68. package/build/commands-pool.d.ts.map +1 -1
  69. package/build/commands-pool.js +77 -82
  70. package/build/compose.d.ts.map +1 -1
  71. package/build/compose.js +2 -4
  72. package/build/config.d.ts +2 -3
  73. package/build/config.d.ts.map +1 -1
  74. package/build/config.js +5 -39
  75. package/build/custom-error.d.ts.map +1 -1
  76. package/build/custom-error.js +4 -8
  77. package/build/data-set-to-attributes.d.ts.map +1 -1
  78. package/build/data-set-to-attributes.js +3 -38
  79. package/build/deserializer.d.ts.map +1 -1
  80. package/build/deserializer.js +18 -56
  81. package/build/destroy-error.d.ts.map +1 -1
  82. package/build/destroy-error.js +4 -8
  83. package/build/devise.d.ts +1 -1
  84. package/build/devise.d.ts.map +1 -1
  85. package/build/devise.js +17 -55
  86. package/build/draggable-sort/controller.d.ts.map +1 -1
  87. package/build/draggable-sort/controller.js +79 -81
  88. package/build/draggable-sort/index.d.ts.map +1 -1
  89. package/build/draggable-sort/index.js +68 -109
  90. package/build/draggable-sort/item.d.ts.map +1 -1
  91. package/build/draggable-sort/item.js +132 -173
  92. package/build/error-logger.d.ts.map +1 -1
  93. package/build/error-logger.js +9 -14
  94. package/build/error-messages.d.ts.map +1 -1
  95. package/build/error-messages.js +5 -7
  96. package/build/event-connection.d.ts.map +1 -1
  97. package/build/event-connection.js +16 -21
  98. package/build/event-emitter-listener.d.ts.map +1 -1
  99. package/build/event-emitter-listener.js +4 -8
  100. package/build/event-model-class.d.ts.map +1 -1
  101. package/build/event-model-class.js +13 -21
  102. package/build/events.d.ts +1 -2
  103. package/build/events.d.ts.map +1 -1
  104. package/build/events.js +4 -5
  105. package/build/form.d.ts +2 -2
  106. package/build/form.d.ts.map +1 -1
  107. package/build/form.js +54 -96
  108. package/build/history-expo.d.ts.map +1 -1
  109. package/build/history-expo.js +6 -10
  110. package/build/history-react-native.d.ts.map +1 -1
  111. package/build/history-react-native.js +9 -13
  112. package/build/history.d.ts +1 -1
  113. package/build/history.d.ts.map +1 -1
  114. package/build/history.js +3 -4
  115. package/build/index.d.ts.map +1 -1
  116. package/build/index.js +2 -4
  117. package/build/inputs/attachment.d.ts.map +1 -1
  118. package/build/inputs/attachment.js +84 -83
  119. package/build/inputs/auto-submit.d.ts.map +1 -1
  120. package/build/inputs/auto-submit.js +6 -41
  121. package/build/inputs/checkbox.d.ts.map +1 -1
  122. package/build/inputs/checkbox.js +81 -121
  123. package/build/inputs/checkboxes.d.ts +1 -1
  124. package/build/inputs/checkboxes.d.ts.map +1 -1
  125. package/build/inputs/checkboxes.js +83 -112
  126. package/build/inputs/id-for-component.d.ts.map +1 -1
  127. package/build/inputs/id-for-component.js +3 -38
  128. package/build/inputs/input-wrapper.d.ts +1 -1
  129. package/build/inputs/input-wrapper.d.ts.map +1 -1
  130. package/build/inputs/input-wrapper.js +6 -11
  131. package/build/inputs/input.d.ts +1 -1
  132. package/build/inputs/input.d.ts.map +1 -1
  133. package/build/inputs/input.js +160 -199
  134. package/build/inputs/money.d.ts.map +1 -1
  135. package/build/inputs/money.js +129 -162
  136. package/build/inputs/name-for-component.d.ts.map +1 -1
  137. package/build/inputs/name-for-component.js +3 -38
  138. package/build/inputs/select.d.ts +1 -1
  139. package/build/inputs/select.d.ts.map +1 -1
  140. package/build/inputs/select.js +74 -77
  141. package/build/instance-of-class-name.d.ts.map +1 -1
  142. package/build/instance-of-class-name.js +5 -6
  143. package/build/is-expo.d.ts.map +1 -1
  144. package/build/is-expo.js +6 -7
  145. package/build/key-value-store.d.ts.map +1 -1
  146. package/build/key-value-store.js +4 -9
  147. package/build/link.d.ts.map +1 -1
  148. package/build/link.js +53 -63
  149. package/build/logger.d.ts.map +1 -1
  150. package/build/logger.js +4 -6
  151. package/build/merge-styles.d.ts.map +1 -1
  152. package/build/merge-styles.js +4 -6
  153. package/build/modal.d.ts.map +1 -1
  154. package/build/modal.js +24 -24
  155. package/build/model-class-require.d.ts.map +1 -1
  156. package/build/model-class-require.js +4 -39
  157. package/build/model-events.d.ts.map +1 -1
  158. package/build/model-events.js +14 -19
  159. package/build/model-name.d.ts.map +1 -1
  160. package/build/model-name.js +7 -45
  161. package/build/model-prop-type.d.ts.map +1 -1
  162. package/build/model-prop-type.js +9 -14
  163. package/build/model-recipes-loader.d.ts.map +1 -1
  164. package/build/model-recipes-loader.js +8 -13
  165. package/build/model-recipes-model-loader.d.ts +1 -1
  166. package/build/model-recipes-model-loader.d.ts.map +1 -1
  167. package/build/model-recipes-model-loader.js +18 -56
  168. package/build/models-response-reader.d.ts.map +1 -1
  169. package/build/models-response-reader.js +7 -45
  170. package/build/models.d.ts.map +1 -1
  171. package/build/models.js +5 -9
  172. package/build/money-formatter.d.ts +2 -2
  173. package/build/money-formatter.d.ts.map +1 -1
  174. package/build/money-formatter.js +13 -18
  175. package/build/not-loaded-error.d.ts.map +1 -1
  176. package/build/not-loaded-error.js +2 -4
  177. package/build/params.d.ts.map +1 -1
  178. package/build/params.js +13 -18
  179. package/build/preloaded.d.ts.map +1 -1
  180. package/build/preloaded.js +5 -43
  181. package/build/resize-observer.d.ts.map +1 -1
  182. package/build/resize-observer.js +6 -10
  183. package/build/rest-props-validator.d.ts.map +1 -1
  184. package/build/rest-props-validator.js +2 -3
  185. package/build/result.d.ts.map +1 -1
  186. package/build/result.js +2 -4
  187. package/build/router/route.d.ts +3 -3
  188. package/build/router/route.d.ts.map +1 -1
  189. package/build/router/route.js +188 -224
  190. package/build/router/switch.d.ts +1 -1
  191. package/build/router/switch.d.ts.map +1 -1
  192. package/build/router/switch.js +57 -99
  193. package/build/router.d.ts +1 -1
  194. package/build/router.d.ts.map +1 -1
  195. package/build/router.js +37 -73
  196. package/build/routes-native.d.ts.map +1 -1
  197. package/build/routes-native.js +15 -53
  198. package/build/routes.d.ts.map +1 -1
  199. package/build/routes.js +13 -48
  200. package/build/run-last.d.ts.map +1 -1
  201. package/build/run-last.js +11 -13
  202. package/build/serializer.d.ts.map +1 -1
  203. package/build/serializer.js +5 -7
  204. package/build/services.d.ts.map +1 -1
  205. package/build/services.js +4 -9
  206. package/build/session-status-updater.d.ts.map +1 -1
  207. package/build/session-status-updater.js +21 -59
  208. package/build/source-maps-loader.d.ts +37 -0
  209. package/build/source-maps-loader.d.ts.map +1 -0
  210. package/build/source-maps-loader.js +12 -50
  211. package/build/super-admin/config-reader.d.ts +2 -2
  212. package/build/super-admin/config-reader.d.ts.map +1 -1
  213. package/build/super-admin/config-reader.js +9 -44
  214. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  215. package/build/super-admin/edit-page/edit-attribute-checkbox.js +53 -94
  216. package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
  217. package/build/super-admin/edit-page/edit-attribute-content.js +47 -56
  218. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  219. package/build/super-admin/edit-page/edit-attribute-input.js +60 -98
  220. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  221. package/build/super-admin/edit-page/edit-attribute.js +45 -79
  222. package/build/super-admin/edit-page.d.ts.map +1 -1
  223. package/build/super-admin/edit-page.js +95 -128
  224. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  225. package/build/super-admin/has-edit-config.js +4 -8
  226. package/build/super-admin/index-page.d.ts.map +1 -1
  227. package/build/super-admin/index-page.js +19 -24
  228. package/build/super-admin/index.d.ts.map +1 -1
  229. package/build/super-admin/index.js +101 -115
  230. package/build/super-admin/layout/header/index.d.ts +25 -1
  231. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  232. package/build/super-admin/layout/header/index.js +116 -142
  233. package/build/super-admin/layout/index.d.ts.map +1 -1
  234. package/build/super-admin/layout/index.js +88 -111
  235. package/build/super-admin/layout/menu/index.d.ts +4 -1
  236. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  237. package/build/super-admin/layout/menu/index.js +113 -132
  238. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  239. package/build/super-admin/layout/menu/menu-content.js +26 -64
  240. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  241. package/build/super-admin/layout/menu/menu-item.js +55 -62
  242. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  243. package/build/super-admin/layout/no-access.js +16 -19
  244. package/build/super-admin/model-class-table.d.ts.map +1 -1
  245. package/build/super-admin/model-class-table.js +45 -88
  246. package/build/super-admin/models.d.ts.map +1 -1
  247. package/build/super-admin/models.js +3 -37
  248. package/build/super-admin/show-nav.d.ts.map +1 -1
  249. package/build/super-admin/show-nav.js +37 -66
  250. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  251. package/build/super-admin/show-page/belongs-to-attribute-row.js +20 -51
  252. package/build/super-admin/show-page/index.d.ts.map +1 -1
  253. package/build/super-admin/show-page/index.js +102 -137
  254. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  255. package/build/super-admin/show-reflection-actions.js +42 -78
  256. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  257. package/build/super-admin/show-reflection-link.js +23 -27
  258. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  259. package/build/super-admin/show-reflection-page.js +36 -73
  260. package/build/table/column-content.d.ts.map +1 -1
  261. package/build/table/column-content.js +58 -97
  262. package/build/table/column-identifier.d.ts.map +1 -1
  263. package/build/table/column-identifier.js +2 -4
  264. package/build/table/column-visible.d.ts.map +1 -1
  265. package/build/table/column-visible.js +2 -4
  266. package/build/table/components/column.d.ts.map +1 -1
  267. package/build/table/components/column.js +8 -13
  268. package/build/table/components/flat-list.d.ts.map +1 -1
  269. package/build/table/components/flat-list.js +8 -13
  270. package/build/table/components/header.d.ts.map +1 -1
  271. package/build/table/components/header.js +10 -15
  272. package/build/table/components/row.d.ts.map +1 -1
  273. package/build/table/components/row.js +10 -15
  274. package/build/table/filters/attribute-element.d.ts.map +1 -1
  275. package/build/table/filters/attribute-element.js +38 -44
  276. package/build/table/filters/filter-form.d.ts.map +1 -1
  277. package/build/table/filters/filter-form.js +315 -312
  278. package/build/table/filters/filter.d.ts.map +1 -1
  279. package/build/table/filters/filter.js +54 -54
  280. package/build/table/filters/index.d.ts.map +1 -1
  281. package/build/table/filters/index.js +114 -106
  282. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  283. package/build/table/filters/load-search-modal.js +95 -114
  284. package/build/table/filters/reflection-element.d.ts.map +1 -1
  285. package/build/table/filters/reflection-element.js +30 -36
  286. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  287. package/build/table/filters/save-search-modal.js +46 -46
  288. package/build/table/filters/scope-element.d.ts.map +1 -1
  289. package/build/table/filters/scope-element.js +32 -38
  290. package/build/table/header-column-content.d.ts.map +1 -1
  291. package/build/table/header-column-content.js +37 -39
  292. package/build/table/header-column.d.ts.map +1 -1
  293. package/build/table/header-column.js +92 -131
  294. package/build/table/header-select.d.ts.map +1 -1
  295. package/build/table/header-select.js +57 -54
  296. package/build/table/model-callback-args.d.ts.map +1 -1
  297. package/build/table/model-callback-args.js +3 -38
  298. package/build/table/model-column.d.ts.map +1 -1
  299. package/build/table/model-column.js +67 -98
  300. package/build/table/model-row.d.ts.map +1 -1
  301. package/build/table/model-row.js +89 -115
  302. package/build/table/select-calculator.d.ts.map +1 -1
  303. package/build/table/select-calculator.js +13 -51
  304. package/build/table/settings/column-row.d.ts.map +1 -1
  305. package/build/table/settings/column-row.js +70 -106
  306. package/build/table/settings/download-action.d.ts.map +1 -1
  307. package/build/table/settings/download-action.js +58 -48
  308. package/build/table/settings/index.d.ts.map +1 -1
  309. package/build/table/settings/index.js +52 -80
  310. package/build/table/table-settings.d.ts.map +1 -1
  311. package/build/table/table-settings.js +169 -207
  312. package/build/table/table.d.ts.map +1 -1
  313. package/build/table/table.js +639 -616
  314. package/build/table/use-sorting.d.ts.map +1 -1
  315. package/build/table/use-sorting.js +6 -11
  316. package/build/table/widths.d.ts.map +1 -1
  317. package/build/table/widths.js +9 -11
  318. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  319. package/build/table/worker-plugins-check-all-checkbox.js +74 -117
  320. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  321. package/build/table/worker-plugins-checkbox.js +72 -115
  322. package/build/translated-attributes.d.ts.map +1 -1
  323. package/build/translated-attributes.js +2 -4
  324. package/build/translated-collections.d.ts.map +1 -1
  325. package/build/translated-collections.js +8 -13
  326. package/build/updated-attribute.d.ts.map +1 -1
  327. package/build/updated-attribute.js +16 -21
  328. package/build/url-encode.d.ts.map +1 -1
  329. package/build/url-encode.js +4 -9
  330. package/build/use-breakpoint.d.ts.map +1 -1
  331. package/build/use-breakpoint.js +20 -58
  332. package/build/use-can-can.d.ts.map +1 -1
  333. package/build/use-can-can.js +15 -20
  334. package/build/use-collection.d.ts +4 -4
  335. package/build/use-collection.d.ts.map +1 -1
  336. package/build/use-collection.js +33 -70
  337. package/build/use-created-event.d.ts.map +1 -1
  338. package/build/use-created-event.js +22 -26
  339. package/build/use-current-user-context.d.ts +1 -1
  340. package/build/use-current-user-context.d.ts.map +1 -1
  341. package/build/use-current-user-context.js +37 -73
  342. package/build/use-current-user.d.ts +1 -2
  343. package/build/use-current-user.d.ts.map +1 -1
  344. package/build/use-current-user.js +11 -16
  345. package/build/use-destroyed-event.d.ts.map +1 -1
  346. package/build/use-destroyed-event.js +13 -17
  347. package/build/use-event-emitter.d.ts.map +1 -1
  348. package/build/use-event-emitter.js +7 -12
  349. package/build/use-event-listener.d.ts.map +1 -1
  350. package/build/use-event-listener.js +7 -11
  351. package/build/use-input.d.ts.map +1 -1
  352. package/build/use-input.js +28 -32
  353. package/build/use-model-event.d.ts.map +1 -1
  354. package/build/use-model-event.js +13 -17
  355. package/build/use-model.d.ts.map +1 -1
  356. package/build/use-model.js +27 -64
  357. package/build/use-resize-observer.d.ts.map +1 -1
  358. package/build/use-resize-observer.js +8 -12
  359. package/build/use-router.d.ts +5 -2
  360. package/build/use-router.d.ts.map +1 -1
  361. package/build/use-router.js +24 -61
  362. package/build/use-screen-layout.d.ts.map +1 -1
  363. package/build/use-screen-layout.js +11 -15
  364. package/build/use-styles.d.ts +1 -1
  365. package/build/use-styles.d.ts.map +1 -1
  366. package/build/use-styles.js +13 -51
  367. package/build/use-updated-event.d.ts.map +1 -1
  368. package/build/use-updated-event.js +13 -17
  369. package/build/use-validation-errors.d.ts.map +1 -1
  370. package/build/use-validation-errors.js +9 -13
  371. package/build/utils/button.d.ts.map +1 -1
  372. package/build/utils/button.js +93 -95
  373. package/build/utils/card.d.ts.map +1 -1
  374. package/build/utils/card.js +38 -70
  375. package/build/utils/checkbox.d.ts.map +1 -1
  376. package/build/utils/checkbox.js +56 -92
  377. package/build/utils/checkboxes.d.ts.map +1 -1
  378. package/build/utils/checkboxes.js +111 -150
  379. package/build/utils/default-style.d.ts +7 -3
  380. package/build/utils/default-style.d.ts.map +1 -1
  381. package/build/utils/default-style.js +16 -55
  382. package/build/utils/header.d.ts.map +1 -1
  383. package/build/utils/header.js +6 -11
  384. package/build/utils/icon.d.ts.map +1 -1
  385. package/build/utils/icon.js +22 -60
  386. package/build/utils/invalid-feedback.d.ts.map +1 -1
  387. package/build/utils/invalid-feedback.js +17 -22
  388. package/build/utils/modal.d.ts.map +1 -1
  389. package/build/utils/modal.js +30 -63
  390. package/build/utils/text.d.ts.map +1 -1
  391. package/build/utils/text.js +10 -13
  392. package/build/validation-error.d.ts.map +1 -1
  393. package/build/validation-error.js +24 -62
  394. package/build/validation-errors.d.ts.map +1 -1
  395. package/build/validation-errors.js +24 -63
  396. package/build/with-api-maker.d.ts.map +1 -1
  397. package/build/with-api-maker.js +13 -51
  398. package/build/with-collection.d.ts.map +1 -1
  399. package/build/with-collection.js +11 -49
  400. package/build/with-current-user.d.ts +1 -1
  401. package/build/with-current-user.d.ts.map +1 -1
  402. package/build/with-current-user.js +6 -11
  403. package/build/with-model.d.ts.map +1 -1
  404. package/build/with-model.js +8 -13
  405. package/build/with-router.d.ts +1 -1
  406. package/build/with-router.d.ts.map +1 -1
  407. package/build/with-router.js +6 -11
  408. package/package.json +4 -2
@@ -1,12 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = require("react"); // eslint-disable-line sort-imports
7
- const debounce_1 = __importDefault(require("debounce"));
8
- const model_events_js_1 = __importDefault(require("./model-events.js"));
9
- const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
1
+ import { useCallback, useLayoutEffect, useMemo } from "react"; // eslint-disable-line sort-imports
2
+ import debounceFunction from "debounce";
3
+ import ModelEvents from "./model-events.js";
4
+ import useShape from "set-state-compare/build/use-shape.js";
10
5
  /**
11
6
  * @param {object} model
12
7
  * @param {function} onDestroyed
@@ -21,17 +16,17 @@ const apiMakerUseDestroyedEvent = (model, onDestroyed, props) => {
21
16
  if (Object.keys(restProps).length > 0) {
22
17
  throw new Error(`Unknown props given to useDestroyedEvent: ${Object.keys(restProps).join(", ")}`);
23
18
  }
24
- const s = (0, use_shape_js_1.default)({ active, debounce, model, onDestroyed }); // eslint-disable-line react-hooks/rules-of-hooks
25
- const debounceCallback = (0, react_1.useMemo)(() => {
19
+ const s = useShape({ active, debounce, model, onDestroyed }); // eslint-disable-line react-hooks/rules-of-hooks
20
+ const debounceCallback = useMemo(() => {
26
21
  if (typeof debounce == "number") {
27
- return (0, debounce_1.default)(s.p.onDestroyed, debounce);
22
+ return debounceFunction(s.p.onDestroyed, debounce);
28
23
  }
29
24
  else {
30
- return (0, debounce_1.default)(s.p.onDestroyed);
25
+ return debounceFunction(s.p.onDestroyed);
31
26
  }
32
27
  }, [debounce]); // eslint-disable-line react-hooks/exhaustive-deps
33
28
  s.updateMeta({ debounceCallback });
34
- const onDestroyedCallback = (0, react_1.useCallback)((...args) => {
29
+ const onDestroyedCallback = useCallback((...args) => {
35
30
  if (!s.p.active) {
36
31
  return;
37
32
  }
@@ -42,10 +37,10 @@ const apiMakerUseDestroyedEvent = (model, onDestroyed, props) => {
42
37
  s.p.onDestroyed(...args);
43
38
  }
44
39
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
45
- (0, react_1.useLayoutEffect)(() => {
40
+ useLayoutEffect(() => {
46
41
  let connectDestroyed, onConnectedListener;
47
42
  if (model) {
48
- connectDestroyed = model_events_js_1.default.connectDestroyed(model, onDestroyedCallback);
43
+ connectDestroyed = ModelEvents.connectDestroyed(model, onDestroyedCallback);
49
44
  if (onConnected) {
50
45
  onConnectedListener = connectDestroyed.events.addListener("connected", onConnected);
51
46
  }
@@ -60,4 +55,5 @@ const apiMakerUseDestroyedEvent = (model, onDestroyed, props) => {
60
55
  };
61
56
  }, [model?.id()]);
62
57
  };
63
- exports.default = apiMakerUseDestroyedEvent;
58
+ export default apiMakerUseDestroyedEvent;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRlc3Ryb3llZC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLWRlc3Ryb3llZC1ldmVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUEsQ0FBQyxtQ0FBbUM7QUFDL0YsT0FBTyxnQkFBZ0IsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxRQUFRLE1BQU0sc0NBQXNDLENBQUE7QUFFM0Q7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUM5RCxNQUFNLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsU0FBUyxFQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQTtJQUV4RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuRyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQSxDQUFDLGlEQUFpRDtJQUU1RyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDcEMsSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBLENBQUMsa0RBQWtEO0lBRWpFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7SUFFaEMsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ2xELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU07UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDMUIsQ0FBQztJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQSxDQUFDLGtEQUFrRDtJQUV6RCxlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUE7UUFFekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtZQUUzRSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNyRixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO2dCQUN4QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNsRSxDQUFDO1lBRUQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxlQUFlLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IGRlYm91bmNlRnVuY3Rpb24gZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBtb2RlbFxuICogQHBhcmFtIHtmdW5jdGlvbn0gb25EZXN0cm95ZWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtib29sZWFufSBwcm9wcy5hY3RpdmVcbiAqIEBwYXJhbSB7bnVtYmVyfSBwcm9wcy5kZWJvdW5jZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gcHJvcHMub25Db25uZWN0ZWRcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBhcGlNYWtlclVzZURlc3Ryb3llZEV2ZW50ID0gKG1vZGVsLCBvbkRlc3Ryb3llZCwgcHJvcHMpID0+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICBjb25zdCB7YWN0aXZlID0gdHJ1ZSwgZGVib3VuY2UsIG9uQ29ubmVjdGVkLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHMgfHwge31cblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIHVzZURlc3Ryb3llZEV2ZW50OiAke09iamVjdC5rZXlzKHJlc3RQcm9wcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUoe2FjdGl2ZSwgZGVib3VuY2UsIG1vZGVsLCBvbkRlc3Ryb3llZH0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcblxuICBjb25zdCBkZWJvdW5jZUNhbGxiYWNrID0gdXNlTWVtbygoKSA9PiB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICBpZiAodHlwZW9mIGRlYm91bmNlID09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vbkRlc3Ryb3llZCwgZGVib3VuY2UpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vbkRlc3Ryb3llZClcbiAgICB9XG4gIH0sIFtkZWJvdW5jZV0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cbiAgcy51cGRhdGVNZXRhKHtkZWJvdW5jZUNhbGxiYWNrfSlcblxuICBjb25zdCBvbkRlc3Ryb3llZENhbGxiYWNrID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIGlmICghcy5wLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHMucC5kZWJvdW5jZSkge1xuICAgICAgcy5tLmRlYm91bmNlQ2FsbGJhY2soLi4uYXJncylcbiAgICB9IGVsc2Uge1xuICAgICAgcy5wLm9uRGVzdHJveWVkKC4uLmFyZ3MpXG4gICAgfVxuICB9LCBbXSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4geyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgbGV0IGNvbm5lY3REZXN0cm95ZWQsIG9uQ29ubmVjdGVkTGlzdGVuZXJcblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgY29ubmVjdERlc3Ryb3llZCA9IE1vZGVsRXZlbnRzLmNvbm5lY3REZXN0cm95ZWQobW9kZWwsIG9uRGVzdHJveWVkQ2FsbGJhY2spXG5cbiAgICAgIGlmIChvbkNvbm5lY3RlZCkge1xuICAgICAgICBvbkNvbm5lY3RlZExpc3RlbmVyID0gY29ubmVjdERlc3Ryb3llZC5ldmVudHMuYWRkTGlzdGVuZXIoXCJjb25uZWN0ZWRcIiwgb25Db25uZWN0ZWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvbkNvbm5lY3RlZExpc3RlbmVyKSB7XG4gICAgICAgIGNvbm5lY3REZXN0cm95ZWQuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKFwiY29ubmVjdGVkXCIsIG9uQ29ubmVjdGVkKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29ubmVjdERlc3Ryb3llZCkge1xuICAgICAgICBjb25uZWN0RGVzdHJveWVkLnVuc3Vic2NyaWJlKClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFttb2RlbD8uaWQoKV0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyVXNlRGVzdHJveWVkRXZlbnRcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-emitter.d.ts","sourceRoot":"","sources":["../src/use-event-emitter.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wDALW,MAAM,SACN,MAAM,uBAEL,IAAI,CAqBf"}
1
+ {"version":3,"file":"use-event-emitter.d.ts","sourceRoot":"/src/","sources":["use-event-emitter.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wDALW,MAAM,SACN,MAAM,uBAEL,IAAI,CAqBf"}
@@ -1,22 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = ApiMakerUseEventEmitter;
7
- const use_env_sense_js_1 = __importDefault(require("env-sense/build/use-env-sense.js"));
8
- const react_1 = require("react");
1
+ import useEnvSense from "env-sense/build/use-env-sense.js";
2
+ import { useEffect, useLayoutEffect, useMemo } from "react";
9
3
  /**
10
4
  * @param {object} events
11
5
  * @param {string} event
12
6
  * @param {function} onCalled
13
7
  * @return {void}
14
8
  */
15
- function ApiMakerUseEventEmitter(events, event, onCalled) {
16
- const { isServer } = (0, use_env_sense_js_1.default)();
17
- const useWorkingEffect = isServer ? react_1.useEffect : react_1.useLayoutEffect;
9
+ export default function ApiMakerUseEventEmitter(events, event, onCalled) {
10
+ const { isServer } = useEnvSense();
11
+ const useWorkingEffect = isServer ? useEffect : useLayoutEffect;
18
12
  // useMemo to instantly connect
19
- (0, react_1.useMemo)(() => {
13
+ useMemo(() => {
20
14
  if (events) {
21
15
  events.addListener(event, onCalled);
22
16
  }
@@ -30,3 +24,4 @@ function ApiMakerUseEventEmitter(events, event, onCalled) {
30
24
  }
31
25
  }, [events, event, onCalled]);
32
26
  }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWV2ZW50LWVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1ldmVudC1lbWl0dGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLGtDQUFrQyxDQUFBO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUV6RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsdUJBQXVCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRO0lBQ3JFLE1BQU0sRUFBQyxRQUFRLEVBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQTtJQUNoQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUE7SUFFL0QsK0JBQStCO0lBQy9CLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDckMsQ0FBQztJQUNILENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUU3QiwwREFBMEQ7SUFDMUQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1FBQ3BCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLEdBQUcsRUFBRTtnQkFDVixNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QyxDQUFDLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXNlRW52U2Vuc2UgZnJvbSBcImVudi1zZW5zZS9idWlsZC91c2UtZW52LXNlbnNlLmpzXCJcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGV2ZW50c1xuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNhbGxlZFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBpTWFrZXJVc2VFdmVudEVtaXR0ZXIoZXZlbnRzLCBldmVudCwgb25DYWxsZWQpIHtcbiAgY29uc3Qge2lzU2VydmVyfSA9IHVzZUVudlNlbnNlKClcbiAgY29uc3QgdXNlV29ya2luZ0VmZmVjdCA9IGlzU2VydmVyID8gdXNlRWZmZWN0IDogdXNlTGF5b3V0RWZmZWN0XG5cbiAgLy8gdXNlTWVtbyB0byBpbnN0YW50bHkgY29ubmVjdFxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzKSB7XG4gICAgICBldmVudHMuYWRkTGlzdGVuZXIoZXZlbnQsIG9uQ2FsbGVkKVxuICAgIH1cbiAgfSwgW2V2ZW50cywgZXZlbnQsIG9uQ2FsbGVkXSlcblxuICAvLyB1c2VMYXlvdXRFZmZlY3QgdG8gZGlzY29ubmVjdCB3aGVuIHVubW91bnRlZCBvciBjaGFuZ2VkXG4gIHVzZVdvcmtpbmdFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudHMpIHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGV2ZW50cy5yZW1vdmVMaXN0ZW5lcihldmVudCwgb25DYWxsZWQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbZXZlbnRzLCBldmVudCwgb25DYWxsZWRdKVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-listener.d.ts","sourceRoot":"","sources":["../src/use-event-listener.js"],"names":[],"mappings":";AAGA;;;;;GAKG;AACH,kDALW,MAAM,SACN,MAAM,uBAEJ,IAAI,CAmBhB"}
1
+ {"version":3,"file":"use-event-listener.d.ts","sourceRoot":"/src/","sources":["use-event-listener.js"],"names":[],"mappings":";AAGA;;;;;GAKG;AACH,kDALW,MAAM,SACN,MAAM,uBAEJ,IAAI,CAmBhB"}
@@ -1,10 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const use_env_sense_js_1 = __importDefault(require("env-sense/build/use-env-sense.js"));
7
- const react_1 = require("react");
1
+ import useEnvSense from "env-sense/build/use-env-sense.js";
2
+ import { useCallback, useEffect, useLayoutEffect } from "react";
8
3
  /**
9
4
  * @param {object} target
10
5
  * @param {string} event
@@ -12,9 +7,9 @@ const react_1 = require("react");
12
7
  * @returns {void}
13
8
  */
14
9
  const ApiMakerUseEventListener = (target, event, onCalled) => {
15
- const { isServer } = (0, use_env_sense_js_1.default)();
16
- const useWorkingEffect = isServer ? react_1.useEffect : react_1.useLayoutEffect;
17
- const onCalledCallback = (0, react_1.useCallback)((...args) => {
10
+ const { isServer } = useEnvSense();
11
+ const useWorkingEffect = isServer ? useEffect : useLayoutEffect;
12
+ const onCalledCallback = useCallback((...args) => {
18
13
  onCalled.apply(null, args);
19
14
  }, [target, event, onCalled]);
20
15
  useWorkingEffect(() => {
@@ -29,4 +24,5 @@ const ApiMakerUseEventListener = (target, event, onCalled) => {
29
24
  }
30
25
  }, [target, event, onCalled]);
31
26
  };
32
- exports.default = ApiMakerUseEventListener;
27
+ export default ApiMakerUseEventListener;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWV2ZW50LWxpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtZXZlbnQtbGlzdGVuZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sa0NBQWtDLENBQUE7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBRTdEOzs7OztHQUtHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDM0QsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQTtJQUMvRCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7UUFDL0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDNUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBRTdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtRQUNwQixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBRXRFLE9BQU8sR0FBRyxFQUFFO2dCQUNWLElBQUksYUFBYSxFQUFFLE1BQU07b0JBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFBLENBQUMsdUNBQXVDO2dCQUN6RixJQUFJLE1BQU0sQ0FBQyxtQkFBbUI7b0JBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBLENBQUMscUNBQXFDO1lBQzNILENBQUMsQ0FBQTtRQUNILENBQUM7SUFDSCxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDL0IsQ0FBQyxDQUFBO0FBRUQsZUFBZSx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VFbnZTZW5zZSBmcm9tIFwiZW52LXNlbnNlL2J1aWxkL3VzZS1lbnYtc2Vuc2UuanNcIlxuaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHRhcmdldFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNhbGxlZFxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmNvbnN0IEFwaU1ha2VyVXNlRXZlbnRMaXN0ZW5lciA9ICh0YXJnZXQsIGV2ZW50LCBvbkNhbGxlZCkgPT4ge1xuICBjb25zdCB7aXNTZXJ2ZXJ9ID0gdXNlRW52U2Vuc2UoKVxuICBjb25zdCB1c2VXb3JraW5nRWZmZWN0ID0gaXNTZXJ2ZXIgPyB1c2VFZmZlY3QgOiB1c2VMYXlvdXRFZmZlY3RcbiAgY29uc3Qgb25DYWxsZWRDYWxsYmFjayA9IHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgb25DYWxsZWQuYXBwbHkobnVsbCwgYXJncylcbiAgfSwgW3RhcmdldCwgZXZlbnQsIG9uQ2FsbGVkXSlcblxuICB1c2VXb3JraW5nRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBjb25zdCBldmVudExpc3RlbmVyID0gdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIG9uQ2FsbGVkQ2FsbGJhY2spXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChldmVudExpc3RlbmVyPy5yZW1vdmUpIGV2ZW50TGlzdGVuZXIucmVtb3ZlKCkgLy8gVGhpcyBpcyBob3cgaXRzIGRvbmUgaW4gRXhwbyArIEplc3QuXG4gICAgICAgIGlmICh0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcikgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIG9uQ2FsbGVkQ2FsbGJhY2spIC8vIFRoaXMgaXMgdGhlIFwib2xkXCIgd2F5IGluIGJyb3dzZXJzLlxuICAgICAgfVxuICAgIH1cbiAgfSwgW3RhcmdldCwgZXZlbnQsIG9uQ2FsbGVkXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBpTWFrZXJVc2VFdmVudExpc3RlbmVyXG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"use-input.d.ts","sourceRoot":"","sources":["../src/use-input.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;GAWG;AACH,2EAVG;IAAqB,KAAK,EAC1B;QAA2B,QAAQ,EAA3B,MAAM;QACa,IAAI,EAAvB,MAAM;QACa,UAAU,EACrC;YAAsC,IAAI,EAAlC,MAAM;YACwB,WAAW,EAAzC,MAAM;SACd;KAAA;IAAqB,cAAc,EACnC;QAAoC,IAAI,EAAhC,MAAM;KACd;CAAA,GAAU;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAsJxE"}
1
+ {"version":3,"file":"use-input.d.ts","sourceRoot":"/src/","sources":["use-input.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;GAWG;AACH,2EAVG;IAAqB,KAAK,EAC1B;QAA2B,QAAQ,EAA3B,MAAM;QACa,IAAI,EAAvB,MAAM;QACa,UAAU,EACrC;YAAsC,IAAI,EAAlC,MAAM;YACwB,WAAW,EAAzC,MAAM;SACd;KAAA;IAAqB,cAAc,EACnC;QAAoC,IAAI,EAAhC,MAAM;KACd;CAAA,GAAU;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAsJxE"}
@@ -1,15 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const diggerize_1 = require("diggerize");
7
- const react_1 = require("react");
8
- const id_for_component_js_1 = __importDefault(require("./inputs/id-for-component.js"));
9
- const name_for_component_js_1 = __importDefault(require("./inputs/name-for-component.js"));
10
- const strftime_1 = __importDefault(require("strftime"));
11
- const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
12
- const use_validation_errors_js_1 = __importDefault(require("./use-validation-errors.js"));
1
+ import { dig, digg } from "diggerize";
2
+ import { useCallback, useEffect, useMemo, useRef } from "react";
3
+ import idForComponent from "./inputs/id-for-component.js";
4
+ import nameForComponent from "./inputs/name-for-component.js";
5
+ import strftime from "strftime";
6
+ import useShape from "set-state-compare/build/use-shape.js";
7
+ import useValidationErrors from "./use-validation-errors.js";
13
8
  /**
14
9
  * @param {object} args
15
10
  * @param {object} args.props
@@ -27,18 +22,18 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
27
22
  if (useInputRestPropsKeys.length > 0) {
28
23
  throw new Error(`Unknown props given to useInput: ${useInputRestPropsKeys.join(", ")}`);
29
24
  }
30
- const s = (0, use_shape_js_1.default)(props);
31
- const backupRef = (0, react_1.useRef)();
25
+ const s = useShape(props);
26
+ const backupRef = useRef();
32
27
  s.useStates({
33
28
  form: undefined
34
29
  });
35
- (0, react_1.useEffect)(() => {
30
+ useEffect(() => {
36
31
  setForm();
37
32
  }, [s.props.inputRef?.current]);
38
33
  s.meta.fakeComponent = { props };
39
34
  s.meta.isCheckbox = props.type == "checkbox" || wrapperOptions?.type == "checkbox";
40
35
  s.meta.isSelect = wrapperOptions?.type == "select";
41
- const formatValue = (0, react_1.useCallback)((value) => {
36
+ const formatValue = useCallback((value) => {
42
37
  const { formatValue } = s.props;
43
38
  if (formatValue) {
44
39
  return formatValue(value);
@@ -46,15 +41,15 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
46
41
  else if (value instanceof Date && !isNaN(value.getTime())) {
47
42
  // We need to use a certain format for datetime-local
48
43
  if (inputType() == "datetime-local") {
49
- return (0, strftime_1.default)("%Y-%m-%dT%H:%M:%S", value);
44
+ return strftime("%Y-%m-%dT%H:%M:%S", value);
50
45
  }
51
46
  else if (inputType() == "date") {
52
- return (0, strftime_1.default)("%Y-%m-%d", value);
47
+ return strftime("%Y-%m-%d", value);
53
48
  }
54
49
  }
55
50
  return value;
56
51
  }, []);
57
- const inputDefaultChecked = (0, react_1.useCallback)(() => {
52
+ const inputDefaultChecked = useCallback(() => {
58
53
  if ("defaultChecked" in s.props) {
59
54
  return s.props.defaultChecked;
60
55
  }
@@ -64,19 +59,19 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
64
59
  return s.props.model[s.props.attribute]();
65
60
  }
66
61
  }, []);
67
- const inputDefaultValue = (0, react_1.useCallback)(() => {
62
+ const inputDefaultValue = useCallback(() => {
68
63
  if ("defaultValue" in s.props) {
69
64
  return formatValue(s.props.defaultValue);
70
65
  }
71
66
  else if (s.props.model && s.props.attribute) {
72
67
  if (!s.props.model[s.props.attribute]) {
73
- throw new Error(`No such attribute defined on resource: ${(0, diggerize_1.digg)(s.props.model.modelClassData(), "name")}#${s.props.attribute}`);
68
+ throw new Error(`No such attribute defined on resource: ${digg(s.props.model.modelClassData(), "name")}#${s.props.attribute}`);
74
69
  }
75
70
  return formatValue(s.props.model[s.props.attribute]());
76
71
  }
77
72
  }, []);
78
- const inputRef = (0, react_1.useCallback)(() => s.props.inputRef || backupRef);
79
- const inputType = (0, react_1.useCallback)(() => {
73
+ const inputRef = useCallback(() => s.props.inputRef || backupRef);
74
+ const inputType = useCallback(() => {
80
75
  if ("type" in s.props) {
81
76
  return s.props.type;
82
77
  }
@@ -87,7 +82,7 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
87
82
  return "text";
88
83
  }
89
84
  }, []);
90
- const label = (0, react_1.useCallback)(() => {
85
+ const label = useCallback(() => {
91
86
  if ("label" in s.props) {
92
87
  return s.props.label;
93
88
  }
@@ -95,17 +90,17 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
95
90
  return s.props.model.modelClass().humanAttributeName(s.props.attribute);
96
91
  }
97
92
  }, []);
98
- const setForm = (0, react_1.useCallback)(() => {
93
+ const setForm = useCallback(() => {
99
94
  const inputElement = inputRef().current;
100
95
  let form;
101
96
  if (inputElement)
102
- form = (0, diggerize_1.dig)(inputElement, "form");
97
+ form = dig(inputElement, "form");
103
98
  if (form && form != s.s.form)
104
99
  s.set({ form });
105
100
  }, []);
106
- const getId = (0, react_1.useCallback)(() => (0, id_for_component_js_1.default)(s.m.fakeComponent), []);
107
- const getName = (0, react_1.useCallback)(() => (0, name_for_component_js_1.default)(s.m.fakeComponent), []);
108
- const getInputProps = (0, react_1.useCallback)(() => {
101
+ const getId = useCallback(() => idForComponent(s.m.fakeComponent), []);
102
+ const getName = useCallback(() => nameForComponent(s.m.fakeComponent), []);
103
+ const getInputProps = useCallback(() => {
109
104
  const givenInputProps = s.props.inputProps || {};
110
105
  const inputProps = Object.assign({
111
106
  id: getId(),
@@ -131,12 +126,12 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
131
126
  const { inputProps: oldInputProps, wrapperOpts: oldWrapperOpts, ...restProps } = props;
132
127
  const type = inputType();
133
128
  s.meta.inputProps = getInputProps();
134
- s.meta.inputNameWithoutId = (0, react_1.useMemo)(() => s.m.inputProps.name?.replace(/\[(.+)_id\]$/, "[$1]"), [s.m.inputProps.name]);
129
+ s.meta.inputNameWithoutId = useMemo(() => s.m.inputProps.name?.replace(/\[(.+)_id\]$/, "[$1]"), [s.m.inputProps.name]);
135
130
  if (!s.m.inputProps.ref)
136
131
  throw new Error("No input ref?");
137
132
  if (!s.m.isSelect)
138
133
  s.m.inputProps.type = type;
139
- const { validationErrors } = (0, use_validation_errors_js_1.default)((validationError) => validationError.inputName &&
134
+ const { validationErrors } = useValidationErrors((validationError) => validationError.inputName &&
140
135
  s.m.inputProps.name &&
141
136
  (validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId));
142
137
  const wrapperOpts = {
@@ -150,4 +145,5 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
150
145
  restProps
151
146
  };
152
147
  };
153
- exports.default = useInput;
148
+ export default useInput;
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWlucHV0LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtaW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUM3RCxPQUFPLGNBQWMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RCxPQUFPLGdCQUFnQixNQUFNLGdDQUFnQyxDQUFBO0FBQzdELE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMzRCxPQUFPLG1CQUFtQixNQUFNLDRCQUE0QixDQUFBO0FBRTVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsRUFBQyxFQUFFLEVBQUU7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFNUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBRTFCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFFRixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBRS9CLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUMsS0FBSyxFQUFDLENBQUE7SUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLElBQUksY0FBYyxFQUFFLElBQUksSUFBSSxVQUFVLENBQUE7SUFDbEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUE7SUFFbEQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFFN0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixDQUFDO2FBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUQscURBQXFEO1lBQ3JELElBQUksU0FBUyxFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLFNBQVMsRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxPQUFPLFFBQVEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDcEMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUMzQyxJQUFJLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFBO1FBQy9CLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFFNUQsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7UUFDM0MsQ0FBQztJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUN6QyxJQUFJLGNBQWMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMxQyxDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDaEksQ0FBQztZQUVELE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3hELENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUE7SUFFakUsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUNqQyxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQTtRQUNyQixDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFCLE9BQU8sVUFBVSxDQUFBO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUM3QixJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQTtRQUN0QixDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN6RSxDQUFDO0lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUE7UUFFdkMsSUFBSSxJQUFJLENBQUE7UUFFUixJQUFJLFlBQVk7WUFBRSxJQUFJLEdBQUcsR0FBRyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7SUFDN0MsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3RFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRTFFLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7UUFDckMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFBO1FBQ2hELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzlCO1lBQ0UsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUNYLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDZixHQUFHLEVBQUUsUUFBUSxFQUFFO1NBQ2hCLEVBQ0QsZUFBZSxDQUNoQixDQUFBO1FBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25CLElBQUksU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekIsVUFBVSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQTtZQUN0QyxDQUFDO1lBRUQsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxVQUFVLENBQUMsY0FBYyxHQUFHLG1CQUFtQixFQUFFLENBQUE7WUFDbkQsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQTtRQUNsQyxDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtRQUMvQyxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUE7SUFDbkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sTUFBTSxFQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQTtJQUNwRixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQTtJQUV4QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFdEgsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUc7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ3pELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBRTdDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLG1CQUFtQixDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDakUsZUFBZSxDQUFDLFNBQVM7UUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSTtRQUNuQixDQUFDLGVBQWUsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUM1RyxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUssRUFBRTtLQUNmLENBQUE7SUFFRCxPQUFPO1FBQ0wsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMxQixXQUFXO1FBQ1gsU0FBUztLQUNWLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLFFBQVEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnLCBkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGlkRm9yQ29tcG9uZW50IGZyb20gXCIuL2lucHV0cy9pZC1mb3ItY29tcG9uZW50LmpzXCJcbmltcG9ydCBuYW1lRm9yQ29tcG9uZW50IGZyb20gXCIuL2lucHV0cy9uYW1lLWZvci1jb21wb25lbnQuanNcIlxuaW1wb3J0IHN0cmZ0aW1lIGZyb20gXCJzdHJmdGltZVwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5pbXBvcnQgdXNlVmFsaWRhdGlvbkVycm9ycyBmcm9tIFwiLi91c2UtdmFsaWRhdGlvbi1lcnJvcnMuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncy5wcm9wc1xuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MucHJvcHMuaW5wdXRSZWZcbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnByb3BzLnR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLnByb3BzLmlucHV0UHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnByb3BzLmlucHV0UHJvcHMubmFtZVxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MucHJvcHMuaW5wdXRQcm9wcy53cmFwcGVyT3B0c1xuICogQHBhcmFtIHtvYmplY3R9IGFyZ3Mud3JhcHBlck9wdGlvbnNcbiAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLndyYXBwZXJPcHRpb25zLnR5cGVcbiAqIEByZXR1cm5zIHt7aW5wdXRQcm9wczogb2JqZWN0LCB3cmFwcGVyT3B0czogb2JqZWN0LCByZXN0UHJvcHM6IG9iamVjdH19XG4gKi9cbmNvbnN0IHVzZUlucHV0ID0gKHtwcm9wcywgd3JhcHBlck9wdGlvbnMsIC4uLnVzZUlucHV0UmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCB1c2VJbnB1dFJlc3RQcm9wc0tleXMgPSBPYmplY3Qua2V5cyh1c2VJbnB1dFJlc3RQcm9wcylcblxuICBpZiAodXNlSW5wdXRSZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlSW5wdXQ6ICR7dXNlSW5wdXRSZXN0UHJvcHNLZXlzLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBiYWNrdXBSZWYgPSB1c2VSZWYoKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBmb3JtOiB1bmRlZmluZWRcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZvcm0oKVxuICB9LCBbcy5wcm9wcy5pbnB1dFJlZj8uY3VycmVudF0pXG5cbiAgcy5tZXRhLmZha2VDb21wb25lbnQgPSB7cHJvcHN9XG4gIHMubWV0YS5pc0NoZWNrYm94ID0gcHJvcHMudHlwZSA9PSBcImNoZWNrYm94XCIgfHwgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJjaGVja2JveFwiXG4gIHMubWV0YS5pc1NlbGVjdCA9IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCJcblxuICBjb25zdCBmb3JtYXRWYWx1ZSA9IHVzZUNhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZX0gPSBzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkXCIsIHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRDaGVja2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcblxuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdFZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLmRlZmF1bHRWYWx1ZSlcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubW9kZWwgJiYgcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZSBkZWZpbmVkIG9uIHJlc291cmNlOiAke2RpZ2cocy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKCkpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZUNhbGxiYWNrKCgpID0+IHMucHJvcHMuaW5wdXRSZWYgfHwgYmFja3VwUmVmKVxuXG4gIGNvbnN0IGlucHV0VHlwZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJ0eXBlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMudHlwZVxuICAgIH0gZWxzZSBpZiAocy5tLmlzQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwidGV4dFwiXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsYWJlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJsYWJlbFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmxhYmVsXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKCkuaHVtYW5BdHRyaWJ1dGVOYW1lKHMucHJvcHMuYXR0cmlidXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Rm9ybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCBmb3JtXG5cbiAgICBpZiAoaW5wdXRFbGVtZW50KSBmb3JtID0gZGlnKGlucHV0RWxlbWVudCwgXCJmb3JtXCIpXG4gICAgaWYgKGZvcm0gJiYgZm9ybSAhPSBzLnMuZm9ybSkgcy5zZXQoe2Zvcm19KVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRJZCA9IHVzZUNhbGxiYWNrKCgpID0+IGlkRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG4gIGNvbnN0IGdldE5hbWUgPSB1c2VDYWxsYmFjaygoKSA9PiBuYW1lRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSAmJlxuICAgICAgcy5tLmlucHV0UHJvcHMubmFtZSAmJlxuICAgICAgKHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0UHJvcHMubmFtZSB8fCB2YWxpZGF0aW9uRXJyb3IuaW5wdXROYW1lID09IHMubS5pbnB1dE5hbWVXaXRob3V0SWQpXG4gIClcblxuICBjb25zdCB3cmFwcGVyT3B0cyA9IHtcbiAgICBlcnJvcnM6IHZhbGlkYXRpb25FcnJvcnMsXG4gICAgZm9ybTogcy5zLmZvcm0sXG4gICAgbGFiZWw6IGxhYmVsKClcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaW5wdXRQcm9wczogcy5tLmlucHV0UHJvcHMsXG4gICAgd3JhcHBlck9wdHMsXG4gICAgcmVzdFByb3BzXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSW5wdXRcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"use-model-event.d.ts","sourceRoot":"","sources":["../src/use-model-event.js"],"names":[],"mappings":";AAKA;;;;;;;;;GASG;AACH,8CATW,OAAO,iBAAiB,EAAE,OAAO,SACjC,MAAM,+BAGd;IAAsB,MAAM,EAApB,MAAM;IACQ,QAAQ,EAAtB,MAAM;IACU,WAAW;CACnC,GAAS,IAAI,CAsDf"}
1
+ {"version":3,"file":"use-model-event.d.ts","sourceRoot":"/src/","sources":["use-model-event.js"],"names":[],"mappings":";AAKA;;;;;;;;;GASG;AACH,8CATW,OAAO,iBAAiB,EAAE,OAAO,SACjC,MAAM,+BAGd;IAAsB,MAAM,EAApB,MAAM;IACQ,QAAQ,EAAtB,MAAM;IACU,WAAW;CACnC,GAAS,IAAI,CAsDf"}
@@ -1,12 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = require("react");
7
- const debounce_1 = __importDefault(require("debounce"));
8
- const model_events_js_1 = __importDefault(require("./model-events.js"));
9
- const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
1
+ import { useCallback, useLayoutEffect, useMemo } from "react";
2
+ import debounceFunction from "debounce";
3
+ import ModelEvents from "./model-events.js";
4
+ import useShape from "set-state-compare/build/use-shape.js";
10
5
  /**
11
6
  * @param {import("./base-model.js").default} model
12
7
  * @param {string} event
@@ -22,17 +17,17 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
22
17
  if (Object.keys(restProps).length > 0) {
23
18
  throw new Error(`Unknown props given to apiMakerUseModelEvent: ${Object.keys(restProps).join(", ")}`);
24
19
  }
25
- const s = (0, use_shape_js_1.default)({ active, debounce, model, onCallback });
26
- const debounceCallback = (0, react_1.useMemo)(() => {
20
+ const s = useShape({ active, debounce, model, onCallback });
21
+ const debounceCallback = useMemo(() => {
27
22
  if (typeof debounce == "number") {
28
- return (0, debounce_1.default)(s.p.onCallback, debounce);
23
+ return debounceFunction(s.p.onCallback, debounce);
29
24
  }
30
25
  else {
31
- return (0, debounce_1.default)(s.p.onCallback);
26
+ return debounceFunction(s.p.onCallback);
32
27
  }
33
28
  }, [debounce]);
34
29
  s.updateMeta({ debounceCallback });
35
- const onCallbackCallback = (0, react_1.useCallback)((...args) => {
30
+ const onCallbackCallback = useCallback((...args) => {
36
31
  if (!s.p.active) {
37
32
  return;
38
33
  }
@@ -43,10 +38,10 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
43
38
  s.p.onCallback(...args);
44
39
  }
45
40
  }, []);
46
- (0, react_1.useLayoutEffect)(() => {
41
+ useLayoutEffect(() => {
47
42
  let connectEvent, onConnectedListener;
48
43
  if (model) {
49
- connectEvent = model_events_js_1.default.connect(model, event, onCallbackCallback);
44
+ connectEvent = ModelEvents.connect(model, event, onCallbackCallback);
50
45
  if (onConnected) {
51
46
  onConnectedListener = connectEvent.events.addListener("connected", onConnected);
52
47
  }
@@ -61,4 +56,5 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
61
56
  };
62
57
  }, [model?.id()]);
63
58
  };
64
- exports.default = apiMakerUseModelEvent;
59
+ export default apiMakerUseModelEvent;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNELE9BQU8sZ0JBQWdCLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sUUFBUSxNQUFNLHNDQUFzQyxDQUFBO0FBRTNEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNoRSxNQUFNLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsU0FBUyxFQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQTtJQUV4RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN2RyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQTtJQUV6RCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDcEMsSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ25ELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBRWQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFDLGdCQUFnQixFQUFDLENBQUMsQ0FBQTtJQUVoQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7UUFDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sZUFBZSxDQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLFlBQVksRUFBRSxtQkFBbUIsQ0FBQTtRQUVyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsWUFBWSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1lBRXBFLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNqRixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO2dCQUN4QixZQUFZLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDOUQsQ0FBQztZQUVELElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxlQUFlLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGRlYm91bmNlRnVuY3Rpb24gZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uQ2FsbGJhY2tcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtvYmplY3R9IHByb3BzLmFjdGl2ZVxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLmRlYm91bmNlXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBwcm9wcy5vbkNvbm5lY3RlZFxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuY29uc3QgYXBpTWFrZXJVc2VNb2RlbEV2ZW50ID0gKG1vZGVsLCBldmVudCwgb25DYWxsYmFjaywgcHJvcHMpID0+IHtcbiAgY29uc3Qge2FjdGl2ZSA9IHRydWUsIGRlYm91bmNlLCBvbkNvbm5lY3RlZCwgLi4ucmVzdFByb3BzfSA9IHByb3BzIHx8IHt9XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3RQcm9wcykubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwcm9wcyBnaXZlbiB0byBhcGlNYWtlclVzZU1vZGVsRXZlbnQ6ICR7T2JqZWN0LmtleXMocmVzdFByb3BzKS5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZSh7YWN0aXZlLCBkZWJvdW5jZSwgbW9kZWwsIG9uQ2FsbGJhY2t9KVxuXG4gIGNvbnN0IGRlYm91bmNlQ2FsbGJhY2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRlYm91bmNlID09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vbkNhbGxiYWNrLCBkZWJvdW5jZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24ocy5wLm9uQ2FsbGJhY2spXG4gICAgfVxuICB9LCBbZGVib3VuY2VdKVxuXG4gIHMudXBkYXRlTWV0YSh7ZGVib3VuY2VDYWxsYmFja30pXG5cbiAgY29uc3Qgb25DYWxsYmFja0NhbGxiYWNrID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAoIXMucC5hY3RpdmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChzLnAuZGVib3VuY2UpIHtcbiAgICAgIHMubS5kZWJvdW5jZUNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfSBlbHNlIHtcbiAgICAgIHMucC5vbkNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjb25uZWN0RXZlbnQsIG9uQ29ubmVjdGVkTGlzdGVuZXJcblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgY29ubmVjdEV2ZW50ID0gTW9kZWxFdmVudHMuY29ubmVjdChtb2RlbCwgZXZlbnQsIG9uQ2FsbGJhY2tDYWxsYmFjaylcblxuICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgIG9uQ29ubmVjdGVkTGlzdGVuZXIgPSBjb25uZWN0RXZlbnQuZXZlbnRzLmFkZExpc3RlbmVyKFwiY29ubmVjdGVkXCIsIG9uQ29ubmVjdGVkKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob25Db25uZWN0ZWRMaXN0ZW5lcikge1xuICAgICAgICBjb25uZWN0RXZlbnQuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKFwiY29ubmVjdGVkXCIsIG9uQ29ubmVjdGVkKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29ubmVjdEV2ZW50KSB7XG4gICAgICAgIGNvbm5lY3RFdmVudC51bnN1YnNjcmliZSgpXG4gICAgICB9XG4gICAgfVxuICB9LCBbbW9kZWw/LmlkKCldKVxufVxuXG5leHBvcnQgZGVmYXVsdCBhcGlNYWtlclVzZU1vZGVsRXZlbnRcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"use-model.d.ts","sourceRoot":"","sources":["../src/use-model.js"],"names":[],"mappings":";;eASc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,MAAM,MAAM,GAAC,MAAM;gBACnB,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;;;AAPzE;;;;;;;;;GASG;AAEH;;;GAGG;AACH,yCAHW,WAAS,MAAM,YACf,MAAM,IAAG,CAAS,IAAsD,EAAtD;IAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,OAAO,CAAA;CAAC,KAAG,YAAY,CAAA;;;;EAqLjG"}
1
+ {"version":3,"file":"use-model.d.ts","sourceRoot":"/src/","sources":["use-model.js"],"names":[],"mappings":";;eASc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,MAAM,MAAM,GAAC,MAAM;gBACnB,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;;;AAPzE;;;;;;;;;GASG;AAEH;;;GAGG;AACH,yCAHW,WAAS,MAAM,YACf,MAAM,IAAG,CAAS,IAAsD,EAAtD;IAAC,UAAU,EAAE,cAAc,iBAAiB,EAAE,OAAO,CAAA;CAAC,KAAG,YAAY,CAAA;;;;EAqLjG"}
@@ -1,47 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const react_1 = require("react");
40
- const devise_js_1 = __importDefault(require("./devise.js"));
41
- const inflection = __importStar(require("inflection"));
42
- const model_events_js_1 = __importDefault(require("./model-events.js"));
43
- const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
44
- const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
1
+ import { useCallback, useLayoutEffect, useMemo } from "react";
2
+ import Devise from "./devise.js";
3
+ import * as inflection from "inflection";
4
+ import ModelEvents from "./model-events.js";
5
+ import useQueryParams from "on-location-changed/build/use-query-params.js";
6
+ import useShape from "set-state-compare/build/use-shape.js";
45
7
  /**
46
8
  * @typedef {object} useModelArgs
47
9
  * @property {(arg: object) => function} [callback]
@@ -57,7 +19,7 @@ const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shap
57
19
  * @param {object | function({modelClass: typeof import("./base-model.js").default}): useModelArgs} [argsArg]
58
20
  */
59
21
  const useModel = (modelClassArg, argsArg = {}) => {
60
- const queryParams = (0, use_query_params_js_1.default)();
22
+ const queryParams = useQueryParams();
61
23
  let args, modelClass;
62
24
  if (typeof argsArg == "function") {
63
25
  args = argsArg({ modelClass });
@@ -65,7 +27,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
65
27
  else {
66
28
  args = argsArg;
67
29
  }
68
- const s = (0, use_shape_js_1.default)(args);
30
+ const s = useShape(args);
69
31
  s.useStates({
70
32
  model: undefined,
71
33
  notFound: undefined
@@ -94,7 +56,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
94
56
  }
95
57
  const modelVariableName = inflection.camelize(modelClass.modelClassData().name, true);
96
58
  const cacheArgs = [modelId];
97
- const loadExistingModel = (0, react_1.useCallback)(async () => {
59
+ const loadExistingModel = useCallback(async () => {
98
60
  let query;
99
61
  if (s.m.modelId) {
100
62
  query = modelClass.ransack({ id_eq: s.m.modelId });
@@ -114,7 +76,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
114
76
  const model = await query.first();
115
77
  s.set({ model, notFound: !model });
116
78
  }, []);
117
- const loadNewModel = (0, react_1.useCallback)(async () => {
79
+ const loadNewModel = useCallback(async () => {
118
80
  const ModelClass = modelClass;
119
81
  const paramKey = ModelClass.modelName().paramKey();
120
82
  const modelDataFromParams = s.m.queryParams[paramKey] || {};
@@ -129,7 +91,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
129
91
  });
130
92
  s.set({ model });
131
93
  }, []);
132
- const loadModel = (0, react_1.useCallback)(async () => {
94
+ const loadModel = useCallback(async () => {
133
95
  if (!s.m.active) {
134
96
  // Not active - don't do anything
135
97
  }
@@ -140,23 +102,23 @@ const useModel = (modelClassArg, argsArg = {}) => {
140
102
  return await loadExistingModel();
141
103
  }
142
104
  }, []);
143
- const onDestroyed = (0, react_1.useCallback)(({ model }) => {
105
+ const onDestroyed = useCallback(({ model }) => {
144
106
  const forwardArgs = { model };
145
107
  forwardArgs[s.m.modelVariableName] = model;
146
108
  s.p.onDestroyed(forwardArgs);
147
109
  }, []);
148
- const onSignedIn = (0, react_1.useCallback)(() => {
110
+ const onSignedIn = useCallback(() => {
149
111
  loadModel();
150
112
  }, []);
151
- const onSignedOut = (0, react_1.useCallback)(() => {
113
+ const onSignedOut = useCallback(() => {
152
114
  loadModel();
153
115
  }, []);
154
116
  if (args.cacheArgs) {
155
117
  cacheArgs.push(...args.cacheArgs);
156
118
  }
157
119
  s.updateMeta({ args, modelId, modelVariableName, queryParams });
158
- (0, react_1.useMemo)(() => { loadModel(); }, cacheArgs);
159
- (0, react_1.useLayoutEffect)(() => {
120
+ useMemo(() => { loadModel(); }, cacheArgs);
121
+ useLayoutEffect(() => {
160
122
  let reloadModelCallback;
161
123
  if (args.events) {
162
124
  reloadModelCallback = args.events.addListener("reloadModel", loadModel);
@@ -167,27 +129,27 @@ const useModel = (modelClassArg, argsArg = {}) => {
167
129
  }
168
130
  };
169
131
  }, [args.events]);
170
- (0, react_1.useLayoutEffect)(() => {
132
+ useLayoutEffect(() => {
171
133
  let connectUpdated;
172
134
  if (s.s.model && args.eventUpdated) {
173
- connectUpdated = model_events_js_1.default.connectUpdated(s.s.model, loadModel);
135
+ connectUpdated = ModelEvents.connectUpdated(s.s.model, loadModel);
174
136
  }
175
137
  return () => {
176
138
  connectUpdated?.unsubscribe();
177
139
  };
178
140
  }, [args.eventUpdated, s.s.model?.id()]);
179
- (0, react_1.useLayoutEffect)(() => {
180
- devise_js_1.default.events().addListener("onDeviseSignIn", onSignedIn);
181
- devise_js_1.default.events().addListener("onDeviseSignOut", onSignedOut);
141
+ useLayoutEffect(() => {
142
+ Devise.events().addListener("onDeviseSignIn", onSignedIn);
143
+ Devise.events().addListener("onDeviseSignOut", onSignedOut);
182
144
  return () => {
183
- devise_js_1.default.events().removeListener("onDeviseSignIn", onSignedIn);
184
- devise_js_1.default.events().removeListener("onDeviseSignOut", onSignedOut);
145
+ Devise.events().removeListener("onDeviseSignIn", onSignedIn);
146
+ Devise.events().removeListener("onDeviseSignOut", onSignedOut);
185
147
  };
186
148
  });
187
- (0, react_1.useLayoutEffect)(() => {
149
+ useLayoutEffect(() => {
188
150
  let connectDestroyed;
189
151
  if (s.s.model && args.onDestroyed) {
190
- connectDestroyed = model_events_js_1.default.connectDestroyed(s.s.model, onDestroyed);
152
+ connectDestroyed = ModelEvents.connectDestroyed(s.s.model, onDestroyed);
191
153
  }
192
154
  return () => {
193
155
  connectDestroyed?.unsubscribe();
@@ -203,4 +165,5 @@ const useModel = (modelClassArg, argsArg = {}) => {
203
165
  result[`${modelVariableName}NotFound`] = s.s.notFound;
204
166
  return result;
205
167
  };
206
- exports.default = useModel;
168
+ export default useModel;
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLGNBQWMsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMxRSxPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUUzRDs7Ozs7Ozs7O0dBU0c7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFFBQVEsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDL0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUE7SUFDcEMsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFBO0lBRXBCLElBQUksT0FBTyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDOUIsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLEdBQUcsT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNWLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFFBQVEsRUFBRSxTQUFTO0tBQ3BCLENBQUMsQ0FBQTtJQUVGLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtJQUN2QixD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50cy5qc1wiXG5pbXBvcnQgdXNlUXVlcnlQYXJhbXMgZnJvbSBcIm9uLWxvY2F0aW9uLWNoYW5nZWQvYnVpbGQvdXNlLXF1ZXJ5LXBhcmFtcy5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gdXNlTW9kZWxBcmdzXG4gKiBAcHJvcGVydHkgeyhhcmc6IG9iamVjdCkgPT4gZnVuY3Rpb259IFtjYWxsYmFja11cbiAqIEBwcm9wZXJ0eSB7KGFyZzogb2JqZWN0KSA9PiBvYmplY3R9IFthcmdzXVxuICogQHByb3BlcnR5IHsoKSA9PiBudW1iZXJ8c3RyaW5nfSBbbG9hZEJ5UXVlcnlQYXJhbV1cbiAqIEBwcm9wZXJ0eSB7YW55W119IFtjYWNoZUFyZ3NdXG4gKiBAcHJvcGVydHkge3twYXJhbXM6IG9iamVjdH19IFttYXRjaF1cbiAqIEBwcm9wZXJ0eSB7KGN0eDogeyBtb2RlbDogaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHQgfSkgPT4gdm9pZH0gW29uRGVzdHJveWVkXVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0gW3F1ZXJ5XVxuICovXG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbnxvYmplY3R9IG1vZGVsQ2xhc3NBcmdcbiAqIEBwYXJhbSB7b2JqZWN0IHwgZnVuY3Rpb24oe21vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0pOiB1c2VNb2RlbEFyZ3N9IFthcmdzQXJnXVxuICovXG5jb25zdCB1c2VNb2RlbCA9IChtb2RlbENsYXNzQXJnLCBhcmdzQXJnID0ge30pID0+IHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG4gIGxldCBhcmdzLCBtb2RlbENsYXNzXG5cbiAgaWYgKHR5cGVvZiBhcmdzQXJnID09IFwiZnVuY3Rpb25cIikge1xuICAgIGFyZ3MgPSBhcmdzQXJnKHttb2RlbENsYXNzfSlcbiAgfSBlbHNlIHtcbiAgICBhcmdzID0gYXJnc0FyZ1xuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKGFyZ3MpXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIG1vZGVsOiB1bmRlZmluZWQsXG4gICAgbm90Rm91bmQ6IHVuZGVmaW5lZFxuICB9KVxuXG4gIGlmIChcImFjdGl2ZVwiIGluIHMucHJvcHMgJiYgIXMucHJvcHMuYWN0aXZlKSB7XG4gICAgcy5tZXRhLmFjdGl2ZSA9IGZhbHNlXG4gIH0gZWxzZSB7XG4gICAgcy5tZXRhLmFjdGl2ZSA9IHRydWVcbiAgfVxuXG4gIGlmICh0eXBlb2YgbW9kZWxDbGFzc0FyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NBcmcuY2FsbGJhY2soe3F1ZXJ5UGFyYW1zfSlcbiAgfSBlbHNlIHtcbiAgICBtb2RlbENsYXNzID0gbW9kZWxDbGFzc0FyZ1xuICB9XG5cbiAgY29uc3QgcGFyYW1zVmFyaWFibGVOYW1lID0gYCR7bW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5wYXJhbUtleSgpfV9pZGBcbiAgbGV0IG1vZGVsSWRcblxuICBpZiAoYXJncy5sb2FkQnlRdWVyeVBhcmFtKSB7XG4gICAgbW9kZWxJZCA9IGFyZ3MubG9hZEJ5UXVlcnlQYXJhbSh7cXVlcnlQYXJhbXN9KVxuICB9IGVsc2UgaWYgKCFhcmdzLnF1ZXJ5KSB7XG4gICAgaWYgKCFhcmdzLm1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoXCJCb3RoICdsb2FkQnlRdWVyeVBhcmFtJyBhbmQgJ21hdGNoJyB3YXNuJ3QgZ2l2ZW5cIilcblxuICAgIG1vZGVsSWQgPSBhcmdzLm1hdGNoLnBhcmFtc1twYXJhbXNWYXJpYWJsZU5hbWVdIHx8IGFyZ3MubWF0Y2gucGFyYW1zLmlkXG4gIH1cblxuICBjb25zdCBtb2RlbFZhcmlhYmxlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIHRydWUpXG4gIGNvbnN0IGNhY2hlQXJncyA9IFttb2RlbElkXVxuXG4gIGNvbnN0IGxvYWRFeGlzdGluZ01vZGVsID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGxldCBxdWVyeVxuXG4gICAgaWYgKHMubS5tb2RlbElkKSB7XG4gICAgICBxdWVyeSA9IG1vZGVsQ2xhc3MucmFuc2Fjayh7aWRfZXE6IHMubS5tb2RlbElkfSlcbiAgICB9IGVsc2UgaWYgKHMubS5hcmdzLnF1ZXJ5KSB7XG4gICAgICBxdWVyeSA9IHMubS5hcmdzLnF1ZXJ5LmNsb25lKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbCBJRCB3YXMgZ2l2ZW46ICR7cy5tLm1vZGVsSWR9IGJ5ICcke3BhcmFtc1ZhcmlhYmxlTmFtZX0nIGluIHF1ZXJ5IHBhcmFtczogJHtPYmplY3Qua2V5cyhzLnByb3BzLm1hdGNoLnBhcmFtcykuam9pbihcIiwgXCIpfWApXG4gICAgfVxuXG4gICAgaWYgKHMucHJvcHMuYWJpbGl0aWVzKSBxdWVyeS5hYmlsaXRpZXMocy5wLmFiaWxpdGllcylcbiAgICBpZiAocy5wcm9wcy5wcmVsb2FkKSBxdWVyeS5wcmVsb2FkKHMucC5wcmVsb2FkKVxuICAgIGlmIChzLnByb3BzLnNlbGVjdCkgcXVlcnkuc2VsZWN0KHMucC5zZWxlY3QpXG5cbiAgICBjb25zdCBtb2RlbCA9IGF3YWl0IHF1ZXJ5LmZpcnN0KClcblxuICAgIHMuc2V0KHttb2RlbCwgbm90Rm91bmQ6ICFtb2RlbH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxvYWROZXdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuICAgIGNvbnN0IHBhcmFtS2V5ID0gTW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5wYXJhbUtleSgpXG4gICAgY29uc3QgbW9kZWxEYXRhRnJvbVBhcmFtcyA9IHMubS5xdWVyeVBhcmFtc1twYXJhbUtleV0gfHwge31cblxuICAgIGxldCBkZWZhdWx0cyA9IHt9XG5cbiAgICBpZiAocy5wcm9wcy5uZXdJZk5vSWQ/LmRlZmF1bHRzKSB7XG4gICAgICBkZWZhdWx0cyA9IGF3YWl0IHMucHJvcHMubmV3SWZOb0lkLmRlZmF1bHRzKClcbiAgICB9XG5cbiAgICBjb25zdCBtb2RlbERhdGEgPSBPYmplY3QuYXNzaWduKGRlZmF1bHRzLCBzLnByb3BzLm5ld0F0dHJpYnV0ZXMsIG1vZGVsRGF0YUZyb21QYXJhbXMpXG4gICAgY29uc3QgbW9kZWwgPSBuZXcgTW9kZWxDbGFzcyh7XG4gICAgICBpc05ld1JlY29yZDogdHJ1ZSxcbiAgICAgIGRhdGE6IHthOiBtb2RlbERhdGF9XG4gICAgfSlcblxuICAgIHMuc2V0KHttb2RlbH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxvYWRNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBpZiAoIXMubS5hY3RpdmUpIHtcbiAgICAgIC8vIE5vdCBhY3RpdmUgLSBkb24ndCBkbyBhbnl0aGluZ1xuICAgIH0gZWxzZSBpZiAocy5wcm9wcy5uZXdJZk5vSWQgJiYgIXMubS5tb2RlbElkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgbG9hZE5ld01vZGVsKClcbiAgICB9IGVsc2UgaWYgKCFzLnByb3BzLm9wdGlvbmFsIHx8IHMubS5tb2RlbElkIHx8IHMubS5hcmdzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbG9hZEV4aXN0aW5nTW9kZWwoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgb25EZXN0cm95ZWQgPSB1c2VDYWxsYmFjaygoe21vZGVsfSkgPT4ge1xuICAgIGNvbnN0IGZvcndhcmRBcmdzID0ge21vZGVsfVxuXG4gICAgZm9yd2FyZEFyZ3Nbcy5tLm1vZGVsVmFyaWFibGVOYW1lXSA9IG1vZGVsXG5cbiAgICBzLnAub25EZXN0cm95ZWQoZm9yd2FyZEFyZ3MpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uU2lnbmVkSW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgY29uc3Qgb25TaWduZWRPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgaWYgKGFyZ3MuY2FjaGVBcmdzKSB7XG4gICAgY2FjaGVBcmdzLnB1c2goLi4uYXJncy5jYWNoZUFyZ3MpXG4gIH1cblxuICBzLnVwZGF0ZU1ldGEoe2FyZ3MsIG1vZGVsSWQsIG1vZGVsVmFyaWFibGVOYW1lLCBxdWVyeVBhcmFtc30pXG5cbiAgdXNlTWVtbyhcbiAgICAoKSA9PiB7IGxvYWRNb2RlbCgpIH0sXG4gICAgY2FjaGVBcmdzXG4gIClcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZWxvYWRNb2RlbENhbGxiYWNrXG5cbiAgICBpZiAoYXJncy5ldmVudHMpIHtcbiAgICAgIHJlbG9hZE1vZGVsQ2FsbGJhY2sgPSBhcmdzLmV2ZW50cy5hZGRMaXN0ZW5lcihcInJlbG9hZE1vZGVsXCIsIGxvYWRNb2RlbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlbG9hZE1vZGVsQ2FsbGJhY2spIHtcbiAgICAgICAgYXJncy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJyZWxvYWRNb2RlbFwiLCBsb2FkTW9kZWwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJncy5ldmVudHNdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNvbm5lY3RVcGRhdGVkXG5cbiAgICBpZiAocy5zLm1vZGVsICYmIGFyZ3MuZXZlbnRVcGRhdGVkKSB7XG4gICAgICBjb25uZWN0VXBkYXRlZCA9IE1vZGVsRXZlbnRzLmNvbm5lY3RVcGRhdGVkKHMucy5tb2RlbCwgbG9hZE1vZGVsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0VXBkYXRlZD8udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfSwgW2FyZ3MuZXZlbnRVcGRhdGVkLCBzLnMubW9kZWw/LmlkKCldKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgRGV2aXNlLmV2ZW50cygpLmFkZExpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICBEZXZpc2UuZXZlbnRzKCkuYWRkTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25PdXRcIiwgb25TaWduZWRPdXQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgRGV2aXNlLmV2ZW50cygpLnJlbW92ZUxpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICAgIERldmlzZS5ldmVudHMoKS5yZW1vdmVMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbk91dFwiLCBvblNpZ25lZE91dClcbiAgICB9XG4gIH0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdERlc3Ryb3llZFxuXG4gICAgaWYgKHMucy5tb2RlbCAmJiBhcmdzLm9uRGVzdHJveWVkKSB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkID0gTW9kZWxFdmVudHMuY29ubmVjdERlc3Ryb3llZChzLnMubW9kZWwsIG9uRGVzdHJveWVkKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9LCBbYXJncy5vbkRlc3Ryb3llZCwgcy5zLm1vZGVsPy5pZCgpXSlcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgbW9kZWw6IHMucy5tb2RlbCxcbiAgICBtb2RlbElkLFxuICAgIG5vdEZvdW5kOiBzLnMubm90Rm91bmRcbiAgfVxuXG4gIHJlc3VsdFttb2RlbFZhcmlhYmxlTmFtZV0gPSBzLnMubW9kZWxcbiAgcmVzdWx0W2Ake21vZGVsVmFyaWFibGVOYW1lfUlkYF0gPSBtb2RlbElkXG4gIHJlc3VsdFtgJHttb2RlbFZhcmlhYmxlTmFtZX1Ob3RGb3VuZGBdID0gcy5zLm5vdEZvdW5kXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VNb2RlbFxuIl19