@kaspernj/api-maker 1.0.2159 → 1.0.2161

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 (529) hide show
  1. package/build/api.d.ts +46 -34
  2. package/build/api.d.ts.map +1 -1
  3. package/build/api.js +32 -25
  4. package/build/attribute-not-loaded-error.d.ts.map +1 -1
  5. package/build/attribute-not-loaded-error.js +2 -1
  6. package/build/base-error.d.ts +49 -60
  7. package/build/base-error.d.ts.map +1 -1
  8. package/build/base-error.js +3 -2
  9. package/build/base-model/column.d.ts +2 -2
  10. package/build/base-model/column.d.ts.map +1 -1
  11. package/build/base-model/column.js +3 -2
  12. package/build/base-model/reflection.d.ts +8 -3
  13. package/build/base-model/reflection.d.ts.map +1 -1
  14. package/build/base-model/reflection.js +8 -3
  15. package/build/base-model/scope.d.ts +1 -1
  16. package/build/base-model/scope.d.ts.map +1 -1
  17. package/build/base-model/scope.js +3 -2
  18. package/build/base-model.d.ts +3801 -117
  19. package/build/base-model.d.ts.map +1 -1
  20. package/build/base-model.js +271 -143
  21. package/build/bootstrap/attribute-row.d.ts +14 -1
  22. package/build/bootstrap/attribute-row.d.ts.map +1 -1
  23. package/build/bootstrap/attribute-row.js +23 -5
  24. package/build/bootstrap/attribute-rows.d.ts +10 -1
  25. package/build/bootstrap/attribute-rows.d.ts.map +1 -1
  26. package/build/bootstrap/attribute-rows.js +14 -5
  27. package/build/bootstrap/card.d.ts +19 -1
  28. package/build/bootstrap/card.d.ts.map +1 -1
  29. package/build/bootstrap/card.js +33 -13
  30. package/build/bootstrap/checkbox.d.ts +18 -1
  31. package/build/bootstrap/checkbox.d.ts.map +1 -1
  32. package/build/bootstrap/checkbox.js +23 -3
  33. package/build/bootstrap/checkboxes.d.ts +33 -1
  34. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  35. package/build/bootstrap/checkboxes.js +50 -17
  36. package/build/bootstrap/index.js +2 -1
  37. package/build/bootstrap/input.d.ts +24 -0
  38. package/build/bootstrap/input.d.ts.map +1 -1
  39. package/build/bootstrap/input.js +27 -2
  40. package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
  41. package/build/bootstrap/invalid-feedback.js +2 -1
  42. package/build/bootstrap/paginate.d.ts +7 -1
  43. package/build/bootstrap/paginate.d.ts.map +1 -1
  44. package/build/bootstrap/paginate.js +9 -4
  45. package/build/bootstrap/radio-buttons.js +2 -1
  46. package/build/bootstrap/select.js +2 -1
  47. package/build/bootstrap/sort-link.d.ts +12 -1
  48. package/build/bootstrap/sort-link.d.ts.map +1 -1
  49. package/build/bootstrap/sort-link.js +19 -10
  50. package/build/cable-connection-pool.d.ts +201 -24
  51. package/build/cable-connection-pool.d.ts.map +1 -1
  52. package/build/cable-connection-pool.js +76 -16
  53. package/build/cable-subscription-pool.d.ts +186 -20
  54. package/build/cable-subscription-pool.d.ts.map +1 -1
  55. package/build/cable-subscription-pool.js +61 -22
  56. package/build/cable-subscription.d.ts.map +1 -1
  57. package/build/cable-subscription.js +3 -2
  58. package/build/cache-key-generator.d.ts +194 -20
  59. package/build/cache-key-generator.d.ts.map +1 -1
  60. package/build/cache-key-generator.js +63 -12
  61. package/build/can-can.d.ts +146 -29
  62. package/build/can-can.d.ts.map +1 -1
  63. package/build/can-can.js +105 -19
  64. package/build/channels-consumer.d.ts +23 -1
  65. package/build/channels-consumer.d.ts.map +1 -1
  66. package/build/channels-consumer.js +26 -8
  67. package/build/collection-loader.d.ts +4 -1
  68. package/build/collection-loader.js +2 -1
  69. package/build/collection.d.ts +361 -370
  70. package/build/collection.d.ts.map +1 -1
  71. package/build/collection.js +59 -19
  72. package/build/command-execution.d.ts +50 -26
  73. package/build/command-execution.d.ts.map +1 -1
  74. package/build/command-execution.js +31 -13
  75. package/build/command-submit-data.d.ts +50 -37
  76. package/build/command-submit-data.d.ts.map +1 -1
  77. package/build/command-submit-data.js +35 -22
  78. package/build/commands-pool.d.ts +65 -27
  79. package/build/commands-pool.d.ts.map +1 -1
  80. package/build/commands-pool.js +67 -20
  81. package/build/compose.d.ts +8 -2
  82. package/build/compose.d.ts.map +1 -1
  83. package/build/compose.js +9 -2
  84. package/build/config.d.ts +31 -15
  85. package/build/config.d.ts.map +1 -1
  86. package/build/config.js +60 -23
  87. package/build/custom-error.d.ts.map +1 -1
  88. package/build/custom-error.js +2 -1
  89. package/build/data-set-to-attributes.d.ts +14 -2
  90. package/build/data-set-to-attributes.d.ts.map +1 -1
  91. package/build/data-set-to-attributes.js +12 -3
  92. package/build/deserializer.d.ts +116 -2
  93. package/build/deserializer.d.ts.map +1 -1
  94. package/build/deserializer.js +13 -2
  95. package/build/destroy-error.d.ts.map +1 -1
  96. package/build/destroy-error.js +2 -1
  97. package/build/devise.d.ts +638 -39
  98. package/build/devise.d.ts.map +1 -1
  99. package/build/devise.js +97 -28
  100. package/build/draggable-sort/controller.d.ts +126 -35
  101. package/build/draggable-sort/controller.d.ts.map +1 -1
  102. package/build/draggable-sort/controller.js +100 -28
  103. package/build/draggable-sort/index.d.ts +57 -1
  104. package/build/draggable-sort/index.d.ts.map +1 -1
  105. package/build/draggable-sort/index.js +71 -3
  106. package/build/draggable-sort/item.d.ts +56 -1
  107. package/build/draggable-sort/item.d.ts.map +1 -1
  108. package/build/draggable-sort/item.js +98 -10
  109. package/build/error-logger.d.ts +30 -14
  110. package/build/error-logger.d.ts.map +1 -1
  111. package/build/error-logger.js +22 -11
  112. package/build/event-connection.d.ts.map +1 -1
  113. package/build/event-connection.js +3 -2
  114. package/build/event-emitter-listener.d.ts.map +1 -1
  115. package/build/event-emitter-listener.js +2 -1
  116. package/build/event-model-class.d.ts.map +1 -1
  117. package/build/event-model-class.js +2 -1
  118. package/build/events.d.ts.map +1 -1
  119. package/build/events.js +2 -1
  120. package/build/form.d.ts +24 -1
  121. package/build/form.d.ts.map +1 -1
  122. package/build/form.js +16 -4
  123. package/build/history-expo.d.ts +6 -2
  124. package/build/history-expo.d.ts.map +1 -1
  125. package/build/history-expo.js +5 -2
  126. package/build/history-react-native.d.ts +6 -2
  127. package/build/history-react-native.d.ts.map +1 -1
  128. package/build/history-react-native.js +5 -2
  129. package/build/history.js +2 -1
  130. package/build/index.d.ts.map +1 -1
  131. package/build/index.js +2 -1
  132. package/build/inputs/attachment.d.ts +13 -1
  133. package/build/inputs/attachment.d.ts.map +1 -1
  134. package/build/inputs/attachment.js +22 -8
  135. package/build/inputs/auto-submit.d.ts +41 -13
  136. package/build/inputs/auto-submit.d.ts.map +1 -1
  137. package/build/inputs/auto-submit.js +16 -4
  138. package/build/inputs/checkbox.d.ts +17 -1
  139. package/build/inputs/checkbox.d.ts.map +1 -1
  140. package/build/inputs/checkbox.js +25 -11
  141. package/build/inputs/checkboxes.d.ts +16 -0
  142. package/build/inputs/checkboxes.d.ts.map +1 -1
  143. package/build/inputs/checkboxes.js +20 -4
  144. package/build/inputs/id-for-component.d.ts +21 -2
  145. package/build/inputs/id-for-component.d.ts.map +1 -1
  146. package/build/inputs/id-for-component.js +9 -2
  147. package/build/inputs/input-wrapper.d.ts.map +1 -1
  148. package/build/inputs/input-wrapper.js +2 -1
  149. package/build/inputs/input.d.ts +38 -1
  150. package/build/inputs/input.d.ts.map +1 -1
  151. package/build/inputs/input.js +29 -10
  152. package/build/inputs/money.d.ts +4 -1
  153. package/build/inputs/money.d.ts.map +1 -1
  154. package/build/inputs/money.js +6 -3
  155. package/build/inputs/name-for-component.d.ts +21 -2
  156. package/build/inputs/name-for-component.d.ts.map +1 -1
  157. package/build/inputs/name-for-component.js +9 -2
  158. package/build/inputs/select.d.ts +35 -1
  159. package/build/inputs/select.d.ts.map +1 -1
  160. package/build/inputs/select.js +21 -4
  161. package/build/instance-of-class-name.d.ts +7 -2
  162. package/build/instance-of-class-name.d.ts.map +1 -1
  163. package/build/instance-of-class-name.js +8 -4
  164. package/build/is-expo.d.ts.map +1 -1
  165. package/build/is-expo.js +2 -1
  166. package/build/key-value-store.d.ts +24 -14
  167. package/build/key-value-store.d.ts.map +1 -1
  168. package/build/key-value-store.js +22 -12
  169. package/build/link.d.ts +32 -1
  170. package/build/link.d.ts.map +1 -1
  171. package/build/link.js +76 -30
  172. package/build/logger.d.ts +10 -6
  173. package/build/logger.d.ts.map +1 -1
  174. package/build/logger.js +7 -4
  175. package/build/merge-styles.d.ts +10 -2
  176. package/build/merge-styles.d.ts.map +1 -1
  177. package/build/merge-styles.js +10 -3
  178. package/build/modal.d.ts +4 -1
  179. package/build/modal.d.ts.map +1 -1
  180. package/build/modal.js +6 -4
  181. package/build/model-class-require.d.ts +4 -2
  182. package/build/model-class-require.d.ts.map +1 -1
  183. package/build/model-class-require.js +4 -2
  184. package/build/model-events.d.ts +139 -346
  185. package/build/model-events.d.ts.map +1 -1
  186. package/build/model-events.js +21 -9
  187. package/build/model-name.d.ts +21 -7
  188. package/build/model-name.d.ts.map +1 -1
  189. package/build/model-name.js +12 -2
  190. package/build/model-prop-type.d.ts +533 -26
  191. package/build/model-prop-type.d.ts.map +1 -1
  192. package/build/model-prop-type.js +69 -11
  193. package/build/model-recipes-loader.d.ts +7 -3
  194. package/build/model-recipes-loader.d.ts.map +1 -1
  195. package/build/model-recipes-loader.js +4 -2
  196. package/build/model-recipes-model-loader.d.ts +189 -1493
  197. package/build/model-recipes-model-loader.d.ts.map +1 -1
  198. package/build/model-recipes-model-loader.js +119 -17
  199. package/build/models-response-reader.d.ts +600 -195
  200. package/build/models-response-reader.d.ts.map +1 -1
  201. package/build/models-response-reader.js +12 -4
  202. package/build/models.d.ts +438 -1
  203. package/build/models.d.ts.map +1 -1
  204. package/build/models.js +2 -1
  205. package/build/money-formatter.d.ts +25 -31
  206. package/build/money-formatter.d.ts.map +1 -1
  207. package/build/money-formatter.js +11 -8
  208. package/build/not-loaded-error.d.ts.map +1 -1
  209. package/build/not-loaded-error.js +2 -1
  210. package/build/params.d.ts +25 -17
  211. package/build/params.d.ts.map +1 -1
  212. package/build/params.js +19 -15
  213. package/build/preloaded.d.ts +61 -64
  214. package/build/preloaded.d.ts.map +1 -1
  215. package/build/preloaded.js +10 -4
  216. package/build/reset-realtime-runtime-state.d.ts.map +1 -1
  217. package/build/reset-realtime-runtime-state.js +2 -1
  218. package/build/resize-observer.d.ts +1 -1
  219. package/build/resize-observer.d.ts.map +1 -1
  220. package/build/resize-observer.js +2 -1
  221. package/build/rest-props-validator.d.ts +2 -2
  222. package/build/rest-props-validator.d.ts.map +1 -1
  223. package/build/rest-props-validator.js +3 -2
  224. package/build/result.d.ts +142 -175
  225. package/build/result.d.ts.map +1 -1
  226. package/build/result.js +3 -2
  227. package/build/router/route.d.ts +51 -1
  228. package/build/router/route.d.ts.map +1 -1
  229. package/build/router/route.js +48 -12
  230. package/build/router/switch.d.ts +38 -2
  231. package/build/router/switch.d.ts.map +1 -1
  232. package/build/router/switch.js +34 -13
  233. package/build/router.d.ts +21 -1
  234. package/build/router.d.ts.map +1 -1
  235. package/build/router.js +15 -4
  236. package/build/routes-native.d.ts +13 -13
  237. package/build/routes-native.d.ts.map +1 -1
  238. package/build/routes-native.js +23 -11
  239. package/build/routes.d.ts +17 -9
  240. package/build/routes.d.ts.map +1 -1
  241. package/build/routes.js +7 -2
  242. package/build/run-last.d.ts.map +1 -1
  243. package/build/run-last.js +2 -1
  244. package/build/serializer.d.ts +44 -12
  245. package/build/serializer.d.ts.map +1 -1
  246. package/build/serializer.js +36 -7
  247. package/build/services.d.ts +29 -4
  248. package/build/services.d.ts.map +1 -1
  249. package/build/services.js +16 -4
  250. package/build/session-status-updater.d.ts +73 -25
  251. package/build/session-status-updater.d.ts.map +1 -1
  252. package/build/session-status-updater.js +52 -14
  253. package/build/source-maps-loader.d.ts +88 -33
  254. package/build/source-maps-loader.d.ts.map +1 -1
  255. package/build/source-maps-loader.js +74 -18
  256. package/build/super-admin/config-reader.d.ts.map +1 -1
  257. package/build/super-admin/config-reader.js +11 -16
  258. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +12 -1
  259. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  260. package/build/super-admin/edit-page/edit-attribute-checkbox.js +22 -8
  261. package/build/super-admin/edit-page/edit-attribute-content.d.ts +10 -1
  262. package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
  263. package/build/super-admin/edit-page/edit-attribute-content.js +20 -9
  264. package/build/super-admin/edit-page/edit-attribute-input.d.ts +10 -1
  265. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  266. package/build/super-admin/edit-page/edit-attribute-input.js +13 -4
  267. package/build/super-admin/edit-page/edit-attribute.d.ts +8 -1
  268. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  269. package/build/super-admin/edit-page/edit-attribute.js +11 -4
  270. package/build/super-admin/edit-page.d.ts +7 -1
  271. package/build/super-admin/edit-page.d.ts.map +1 -1
  272. package/build/super-admin/edit-page.js +11 -5
  273. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  274. package/build/super-admin/has-edit-config.js +2 -1
  275. package/build/super-admin/index-page.d.ts +6 -1
  276. package/build/super-admin/index-page.d.ts.map +1 -1
  277. package/build/super-admin/index-page.js +9 -4
  278. package/build/super-admin/index.d.ts +6 -1
  279. package/build/super-admin/index.d.ts.map +1 -1
  280. package/build/super-admin/index.js +16 -10
  281. package/build/super-admin/layout/header/index.d.ts +6 -1
  282. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  283. package/build/super-admin/layout/header/index.js +18 -12
  284. package/build/super-admin/layout/index.d.ts +26 -1
  285. package/build/super-admin/layout/index.d.ts.map +1 -1
  286. package/build/super-admin/layout/index.js +41 -7
  287. package/build/super-admin/layout/menu/index.d.ts +4 -1
  288. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  289. package/build/super-admin/layout/menu/index.js +13 -7
  290. package/build/super-admin/layout/menu/menu-content.d.ts +4 -1
  291. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  292. package/build/super-admin/layout/menu/menu-content.js +6 -4
  293. package/build/super-admin/layout/menu/menu-item.d.ts +11 -1
  294. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  295. package/build/super-admin/layout/menu/menu-item.js +19 -9
  296. package/build/super-admin/layout/no-access.d.ts +4 -1
  297. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  298. package/build/super-admin/layout/no-access.js +7 -5
  299. package/build/super-admin/model-class-table.d.ts +6 -1
  300. package/build/super-admin/model-class-table.d.ts.map +1 -1
  301. package/build/super-admin/model-class-table.js +9 -4
  302. package/build/super-admin/models.d.ts.map +1 -1
  303. package/build/super-admin/models.js +2 -1
  304. package/build/super-admin/show-nav.d.ts +4 -1
  305. package/build/super-admin/show-nav.d.ts.map +1 -1
  306. package/build/super-admin/show-nav.js +6 -4
  307. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +18 -1
  308. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  309. package/build/super-admin/show-page/belongs-to-attribute-row.js +14 -5
  310. package/build/super-admin/show-page/index.d.ts +6 -1
  311. package/build/super-admin/show-page/index.d.ts.map +1 -1
  312. package/build/super-admin/show-page/index.js +11 -5
  313. package/build/super-admin/show-reflection-actions.d.ts +8 -1
  314. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  315. package/build/super-admin/show-reflection-actions.js +11 -4
  316. package/build/super-admin/show-reflection-link.d.ts +6 -1
  317. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  318. package/build/super-admin/show-reflection-link.js +12 -5
  319. package/build/super-admin/show-reflection-page.d.ts +7 -1
  320. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  321. package/build/super-admin/show-reflection-page.js +10 -4
  322. package/build/table/column-content.d.ts +155 -19
  323. package/build/table/column-content.d.ts.map +1 -1
  324. package/build/table/column-content.js +55 -12
  325. package/build/table/column-identifier.d.ts +11 -2
  326. package/build/table/column-identifier.d.ts.map +1 -1
  327. package/build/table/column-identifier.js +7 -2
  328. package/build/table/column-visible.d.ts +11 -2
  329. package/build/table/column-visible.d.ts.map +1 -1
  330. package/build/table/column-visible.js +8 -2
  331. package/build/table/components/column.d.ts +4 -1
  332. package/build/table/components/column.d.ts.map +1 -1
  333. package/build/table/components/column.js +6 -4
  334. package/build/table/components/flat-list.d.ts +4 -1
  335. package/build/table/components/flat-list.d.ts.map +1 -1
  336. package/build/table/components/flat-list.js +6 -4
  337. package/build/table/components/header.d.ts +4 -1
  338. package/build/table/components/header.d.ts.map +1 -1
  339. package/build/table/components/header.js +6 -4
  340. package/build/table/components/row.d.ts +4 -1
  341. package/build/table/components/row.d.ts.map +1 -1
  342. package/build/table/components/row.js +6 -4
  343. package/build/table/filters/attribute-element.d.ts +4 -1
  344. package/build/table/filters/attribute-element.d.ts.map +1 -1
  345. package/build/table/filters/attribute-element.js +7 -7
  346. package/build/table/filters/filter-form.d.ts +60 -1
  347. package/build/table/filters/filter-form.d.ts.map +1 -1
  348. package/build/table/filters/filter-form.js +89 -28
  349. package/build/table/filters/filter.d.ts +4 -1
  350. package/build/table/filters/filter.d.ts.map +1 -1
  351. package/build/table/filters/filter.js +6 -4
  352. package/build/table/filters/index.d.ts +129 -1
  353. package/build/table/filters/index.d.ts.map +1 -1
  354. package/build/table/filters/index.js +26 -9
  355. package/build/table/filters/load-search-modal.d.ts +132 -1
  356. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  357. package/build/table/filters/load-search-modal.js +32 -10
  358. package/build/table/filters/reflection-element.d.ts +4 -1
  359. package/build/table/filters/reflection-element.d.ts.map +1 -1
  360. package/build/table/filters/reflection-element.js +6 -4
  361. package/build/table/filters/save-search-modal.d.ts +136 -1
  362. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  363. package/build/table/filters/save-search-modal.js +39 -6
  364. package/build/table/filters/scope-element.d.ts +8 -1
  365. package/build/table/filters/scope-element.d.ts.map +1 -1
  366. package/build/table/filters/scope-element.js +13 -8
  367. package/build/table/header-column-content.d.ts +9 -1
  368. package/build/table/header-column-content.d.ts.map +1 -1
  369. package/build/table/header-column-content.js +12 -4
  370. package/build/table/header-column.d.ts +52 -1
  371. package/build/table/header-column.d.ts.map +1 -1
  372. package/build/table/header-column.js +39 -10
  373. package/build/table/header-select.d.ts +20 -1
  374. package/build/table/header-select.d.ts.map +1 -1
  375. package/build/table/header-select.js +27 -8
  376. package/build/table/model-callback-args.d.ts +116 -3
  377. package/build/table/model-callback-args.d.ts.map +1 -1
  378. package/build/table/model-callback-args.js +10 -3
  379. package/build/table/model-column.d.ts +138 -1
  380. package/build/table/model-column.d.ts.map +1 -1
  381. package/build/table/model-column.js +27 -4
  382. package/build/table/model-row.d.ts +21 -1
  383. package/build/table/model-row.d.ts.map +1 -1
  384. package/build/table/model-row.js +24 -4
  385. package/build/table/select-calculator.d.ts +37 -2
  386. package/build/table/select-calculator.d.ts.map +1 -1
  387. package/build/table/select-calculator.js +29 -6
  388. package/build/table/settings/column-row.d.ts +8 -1
  389. package/build/table/settings/column-row.d.ts.map +1 -1
  390. package/build/table/settings/column-row.js +13 -12
  391. package/build/table/settings/download-action.d.ts +7 -1
  392. package/build/table/settings/download-action.d.ts.map +1 -1
  393. package/build/table/settings/download-action.js +10 -4
  394. package/build/table/settings/index.d.ts +7 -1
  395. package/build/table/settings/index.d.ts.map +1 -1
  396. package/build/table/settings/index.js +10 -4
  397. package/build/table/should-render-loading-content.d.ts +2 -2
  398. package/build/table/should-render-loading-content.d.ts.map +1 -1
  399. package/build/table/should-render-loading-content.js +3 -2
  400. package/build/table/table-settings.d.ts +236 -43
  401. package/build/table/table-settings.d.ts.map +1 -1
  402. package/build/table/table-settings.js +105 -21
  403. package/build/table/table.d.ts +273 -1
  404. package/build/table/table.d.ts.map +1 -1
  405. package/build/table/table.js +210 -53
  406. package/build/table/use-sorting.d.ts +10 -8
  407. package/build/table/use-sorting.d.ts.map +1 -1
  408. package/build/table/use-sorting.js +16 -8
  409. package/build/table/widths.d.ts +55 -8
  410. package/build/table/widths.d.ts.map +1 -1
  411. package/build/table/widths.js +25 -2
  412. package/build/table/worker-plugins-check-all-checkbox.d.ts +20 -1
  413. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  414. package/build/table/worker-plugins-check-all-checkbox.js +29 -9
  415. package/build/table/worker-plugins-checkbox.d.ts +7 -1
  416. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  417. package/build/table/worker-plugins-checkbox.js +14 -8
  418. package/build/translated-attributes.d.ts +7 -2
  419. package/build/translated-attributes.d.ts.map +1 -1
  420. package/build/translated-attributes.js +8 -2
  421. package/build/translated-collections.d.ts +11 -2
  422. package/build/translated-collections.d.ts.map +1 -1
  423. package/build/translated-collections.js +9 -3
  424. package/build/updated-attribute.d.ts.map +1 -1
  425. package/build/updated-attribute.js +2 -1
  426. package/build/url-encode.d.ts.map +1 -1
  427. package/build/url-encode.js +2 -1
  428. package/build/use-can-can.d.ts +8 -0
  429. package/build/use-can-can.d.ts.map +1 -1
  430. package/build/use-can-can.js +39 -13
  431. package/build/use-collection.d.ts +174 -117
  432. package/build/use-collection.d.ts.map +1 -1
  433. package/build/use-collection.js +133 -51
  434. package/build/use-created-event.d.ts +120 -11
  435. package/build/use-created-event.d.ts.map +1 -1
  436. package/build/use-created-event.js +10 -7
  437. package/build/use-current-user-context.d.ts +2 -2
  438. package/build/use-current-user-context.d.ts.map +1 -1
  439. package/build/use-current-user-context.js +3 -2
  440. package/build/use-current-user.d.ts +86 -70
  441. package/build/use-current-user.d.ts.map +1 -1
  442. package/build/use-current-user.js +36 -8
  443. package/build/use-destroyed-event.d.ts +117 -8
  444. package/build/use-destroyed-event.d.ts.map +1 -1
  445. package/build/use-destroyed-event.js +29 -22
  446. package/build/use-input.d.ts +74 -12
  447. package/build/use-input.d.ts.map +1 -1
  448. package/build/use-input.js +33 -5
  449. package/build/use-model-class-event.d.ts +124 -10
  450. package/build/use-model-class-event.d.ts.map +1 -1
  451. package/build/use-model-class-event.js +26 -16
  452. package/build/use-model-event.d.ts +121 -8
  453. package/build/use-model-event.d.ts.map +1 -1
  454. package/build/use-model-event.js +24 -19
  455. package/build/use-model.d.ts +165 -243
  456. package/build/use-model.d.ts.map +1 -1
  457. package/build/use-model.js +94 -35
  458. package/build/use-resize-observer.d.ts.map +1 -1
  459. package/build/use-resize-observer.js +2 -1
  460. package/build/use-router.d.ts.map +1 -1
  461. package/build/use-router.js +2 -1
  462. package/build/use-screen-layout.d.ts +7 -2
  463. package/build/use-screen-layout.d.ts.map +1 -1
  464. package/build/use-screen-layout.js +8 -5
  465. package/build/use-shape.js +2 -1
  466. package/build/use-styles.d.ts +11 -5
  467. package/build/use-styles.d.ts.map +1 -1
  468. package/build/use-styles.js +16 -9
  469. package/build/use-updated-event.d.ts +66 -182
  470. package/build/use-updated-event.d.ts.map +1 -1
  471. package/build/use-updated-event.js +22 -18
  472. package/build/use-validation-errors.d.ts.map +1 -1
  473. package/build/use-validation-errors.js +2 -1
  474. package/build/utils/button.d.ts +16 -1
  475. package/build/utils/button.d.ts.map +1 -1
  476. package/build/utils/button.js +27 -8
  477. package/build/utils/card.d.ts +11 -1
  478. package/build/utils/card.d.ts.map +1 -1
  479. package/build/utils/card.js +13 -2
  480. package/build/utils/checkbox.d.ts +14 -1
  481. package/build/utils/checkbox.d.ts.map +1 -1
  482. package/build/utils/checkbox.js +22 -9
  483. package/build/utils/checkboxes.d.ts +27 -1
  484. package/build/utils/checkboxes.d.ts.map +1 -1
  485. package/build/utils/checkboxes.js +44 -17
  486. package/build/utils/default-style.d.ts +11 -4
  487. package/build/utils/default-style.d.ts.map +1 -1
  488. package/build/utils/default-style.js +12 -4
  489. package/build/utils/header.d.ts +6 -1
  490. package/build/utils/header.d.ts.map +1 -1
  491. package/build/utils/header.js +4 -2
  492. package/build/utils/icon.d.ts +9 -7
  493. package/build/utils/icon.d.ts.map +1 -1
  494. package/build/utils/icon.js +12 -11
  495. package/build/utils/invalid-feedback.d.ts +6 -1
  496. package/build/utils/invalid-feedback.d.ts.map +1 -1
  497. package/build/utils/invalid-feedback.js +8 -2
  498. package/build/utils/modal.d.ts +4 -1
  499. package/build/utils/modal.d.ts.map +1 -1
  500. package/build/utils/modal.js +11 -9
  501. package/build/utils/text.d.ts +9 -1
  502. package/build/utils/text.d.ts.map +1 -1
  503. package/build/utils/text.js +9 -2
  504. package/build/validation-error.d.ts +5 -2
  505. package/build/validation-error.d.ts.map +1 -1
  506. package/build/validation-error.js +5 -2
  507. package/build/validation-errors.d.ts +57 -15
  508. package/build/validation-errors.d.ts.map +1 -1
  509. package/build/validation-errors.js +37 -8
  510. package/build/websocket-request-client.d.ts +61 -15
  511. package/build/websocket-request-client.d.ts.map +1 -1
  512. package/build/websocket-request-client.js +35 -9
  513. package/build/with-api-maker.d.ts +2 -1
  514. package/build/with-api-maker.d.ts.map +1 -1
  515. package/build/with-api-maker.js +2 -1
  516. package/build/with-collection.d.ts +2 -1
  517. package/build/with-collection.d.ts.map +1 -1
  518. package/build/with-collection.js +2 -1
  519. package/build/with-current-user.d.ts.map +1 -1
  520. package/build/with-current-user.js +2 -1
  521. package/build/with-model.d.ts +2 -1
  522. package/build/with-model.d.ts.map +1 -1
  523. package/build/with-model.js +2 -1
  524. package/build/with-router.d.ts.map +1 -1
  525. package/build/with-router.js +2 -1
  526. package/package.json +6 -5
  527. package/build/base-component.d.ts +0 -4
  528. package/build/base-component.d.ts.map +0 -1
  529. package/build/base-component.js +0 -4
@@ -1,10 +1,10 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable react/jsx-max-depth, sort-imports */
3
4
  import React, { createContext, useContext, useEffect, useLayoutEffect, useMemo } from "react";
4
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
5
+ import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
5
6
  import Switch, { CurrentSwitchContext } from "./switch";
6
7
  import { arrayDifferent, simpleObjectDifferent } from "set-state-compare/build/diff-utils.js";
7
- import BaseComponent from "../base-component";
8
8
  import PropTypes from "prop-types";
9
9
  import memo from "set-state-compare/build/memo.js";
10
10
  import propTypesExact from "prop-types-exact";
@@ -14,7 +14,29 @@ const ParamsContext = createContext({});
14
14
  const RequireComponentContext = createContext(null);
15
15
  const RouteContext = createContext(null);
16
16
  const useParams = () => useContext(ParamsContext);
17
- const Route = memo(shapeComponent(class Route extends BaseComponent {
17
+ /** @typedef {{params: Record<string, string>}} RouteMatch */
18
+ /** @typedef {React.ComponentType<{match: RouteMatch}>} RouteComponent */
19
+ /** @typedef {{routeDefinition: {component: string}}} RequireComponentArgs */
20
+ /** @typedef {(args: RequireComponentArgs) => RouteComponent | Promise<RouteComponent | null> | null} RequireComponent */
21
+ /**
22
+ * @typedef {object} Props
23
+ * @property {React.ReactNode} [children]
24
+ * @property {string} [component]
25
+ * @property {string} [componentPath]
26
+ * @property {boolean} [exact]
27
+ * @property {boolean} [fallback]
28
+ * @property {boolean} [includeInPath]
29
+ * @property {Function} [onMatch]
30
+ * @property {string|RegExp} [path]
31
+ */
32
+ /**
33
+ * @typedef {object} State
34
+ * @property {RouteComponent | null} Component
35
+ * @property {boolean | null} componentNotFound
36
+ * @property {number} lastMatchUpdate
37
+ * @property {boolean} matches
38
+ */
39
+ const Route = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class Route extends ShapeComponent {
18
40
  static defaultProps = {
19
41
  exact: false,
20
42
  fallback: false,
@@ -24,18 +46,28 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
24
46
  children: PropTypes.any,
25
47
  component: PropTypes.string,
26
48
  componentPath: PropTypes.string,
27
- exact: PropTypes.bool.isRequired,
28
- fallback: PropTypes.bool.isRequired,
29
- includeInPath: PropTypes.bool.isRequired,
49
+ exact: PropTypes.bool,
50
+ fallback: PropTypes.bool,
51
+ includeInPath: PropTypes.bool,
30
52
  onMatch: PropTypes.func,
31
53
  path: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)])
32
54
  });
55
+ /** @type {RouteMatch | null} */
33
56
  match = null;
34
57
  loadComponentRequestId = 0;
58
+ /** @type {Array<string>} */
35
59
  componentPathParts = [];
36
60
  lastMatchUpdate = 0;
61
+ /** @type {Record<string, string> | null} */
37
62
  newParams = null;
63
+ /** @type {Array<string> | null} */
38
64
  pathParts = null;
65
+ state = {
66
+ Component: null,
67
+ componentNotFound: null,
68
+ lastMatchUpdate: 0,
69
+ matches: false
70
+ };
39
71
  setup() {
40
72
  const { t } = useI18n({ namespace: "js.api_maker.router.route" });
41
73
  const { path } = this.props;
@@ -45,9 +77,9 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
45
77
  this.debug = false;
46
78
  this.log(() => ({ givenRoute }));
47
79
  this.t = t;
48
- this.requireComponent = useContext(RequireComponentContext);
49
- this.currentParams = useContext(ParamsContext);
50
- this.currentPath = useContext(CurrentPathContext);
80
+ this.requireComponent = /** @type {RequireComponent | null} */ (useContext(RequireComponentContext));
81
+ this.currentParams = /** @type {Record<string, string>} */ (useContext(ParamsContext));
82
+ this.currentPath = /** @type {Array<string>} */ (useContext(CurrentPathContext));
51
83
  this.switchGroup = switchGroup;
52
84
  this.routeParts = useMemo(() => givenRoute?.split("/"), [path, givenRoute]);
53
85
  this.pathParts = useMemo(() => path?.split("/"), [path]);
@@ -62,7 +94,6 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
62
94
  }
63
95
  return this.routeParts.slice(this.pathParts.length, this.routeParts.length);
64
96
  }, [givenRoute].concat(this.pathParts));
65
- this.useStates({ Component: null, componentNotFound: null, lastMatchUpdate: 0, matches: false });
66
97
  useLayoutEffect(() => {
67
98
  this.loadMatches();
68
99
  }, [givenRoute, path, pathsMatched]);
@@ -155,7 +186,9 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
155
186
  }
156
187
  updateRouteMatchState({ componentPathParts, match, matches, newParams }) {
157
188
  const routeDataChanged = this.routeDataChanged({ componentPathParts, match, newParams });
158
- this.setInstance({ componentPathParts, match, newParams });
189
+ this.componentPathParts = componentPathParts;
190
+ this.match = match;
191
+ this.newParams = newParams;
159
192
  if (routeDataChanged || this.s.matches != matches) {
160
193
  this.setState({
161
194
  lastMatchUpdate: routeDataChanged ? this.lastMatchUpdate += 1 : this.s.lastMatchUpdate,
@@ -189,8 +222,11 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
189
222
  const requestId = this.loadComponentRequestId + 1;
190
223
  this.loadComponentRequestId = requestId;
191
224
  const actualComponentPath = this.props.componentPath || this.tt.componentPathParts.join("/");
225
+ /** @type {RouteComponent | null} */
192
226
  let Component;
193
227
  this.log(() => ["loadComponent", { componentPath: this.props.componentPath, componentPathParts: this.componentPathParts, actualComponentPath }]);
228
+ if (!this.tt.requireComponent)
229
+ throw new Error("No 'requireComponent' available in route context");
194
230
  try {
195
231
  const componentImport = await this.tt.requireComponent({ routeDefinition: { component: actualComponentPath } });
196
232
  Component = componentImport;
@@ -232,4 +268,4 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
232
268
  }));
233
269
  export { RequireComponentContext, RouteContext, Switch, useParams };
234
270
  export default Route;
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDM0YsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sTUFBTSxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxVQUFVLENBQUE7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFBO0FBQzNGLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1QyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDdkMsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBTSxTQUFRLGFBQWE7SUFDakUsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRSxLQUFL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LElBQUksRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLGFBQy9DLFNBQVMsSUFBSSxLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3hDLFFBQVEsSUFDRixHQUNjLEdBQ0gsR0FDSSxDQUMvQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUE7QUFDakUsZUFBZSxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbWF4LWRlcHRoLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge2NyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU3dpdGNoLCB7Q3VycmVudFN3aXRjaENvbnRleHR9IGZyb20gXCIuL3N3aXRjaFwiXG5pbXBvcnQge2FycmF5RGlmZmVyZW50LCBzaW1wbGVPYmplY3REaWZmZXJlbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9kaWZmLXV0aWxzLmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9idWlsZC9zcmMvdXNlLWkxOG4uanNcIlxuXG5jb25zdCBDdXJyZW50UGF0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0KFtdKVxuY29uc3QgUGFyYW1zQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30pXG5jb25zdCBSZXF1aXJlQ29tcG9uZW50Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IFJvdXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IHVzZVBhcmFtcyA9ICgpID0+IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcblxuY29uc3QgUm91dGUgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFJvdXRlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXhhY3Q6IGZhbHNlLFxuICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICBpbmNsdWRlSW5QYXRoOiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICAgIGNvbXBvbmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb21wb25lbnRQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGV4YWN0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGZhbGxiYWNrOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGluY2x1ZGVJblBhdGg6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25NYXRjaDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGF0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLmluc3RhbmNlT2YoUmVnRXhwKV0pXG4gIH0pXG5cbiAgbWF0Y2ggPSBudWxsXG4gIGxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSAwXG4gIGNvbXBvbmVudFBhdGhQYXJ0cyA9IFtdXG4gIGxhc3RNYXRjaFVwZGF0ZSA9IDBcbiAgbmV3UGFyYW1zID0gbnVsbFxuICBwYXRoUGFydHMgPSBudWxsXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gdXNlQ29udGV4dChSZXF1aXJlQ29tcG9uZW50Q29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KVxuICAgIHRoaXMuc3dpdGNoR3JvdXAgPSBzd2l0Y2hHcm91cFxuICAgIHRoaXMucm91dGVQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gZ2l2ZW5Sb3V0ZT8uc3BsaXQoXCIvXCIpLCBbcGF0aCwgZ2l2ZW5Sb3V0ZV0pXG4gICAgdGhpcy5wYXRoUGFydHMgPSB1c2VNZW1vKCgpID0+IHBhdGg/LnNwbGl0KFwiL1wiKSwgW3BhdGhdKVxuXG4gICAgdGhpcy5uZXdSb3V0ZVBhcnRzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgaWYgKGdpdmVuUm91dGUgPT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzLnNsaWNlKHRoaXMucGF0aFBhcnRzLmxlbmd0aCwgdGhpcy5yb3V0ZVBhcnRzLmxlbmd0aClcbiAgICAgIH0sXG4gICAgICBbZ2l2ZW5Sb3V0ZV0uY29uY2F0KHRoaXMucGF0aFBhcnRzKVxuICAgIClcblxuICAgIHRoaXMudXNlU3RhdGVzKHtDb21wb25lbnQ6IG51bGwsIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLCBsYXN0TWF0Y2hVcGRhdGU6IDAsIG1hdGNoZXM6IGZhbHNlfSlcblxuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRNYXRjaGVzKClcbiAgICB9LCBbZ2l2ZW5Sb3V0ZSwgcGF0aCwgcGF0aHNNYXRjaGVkXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNTd2l0Y2hNYXRjaCgpICYmICF0aGlzLnMuQ29tcG9uZW50ICYmIHRoaXMucy5tYXRjaGVzKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uTWF0Y2gpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLm9uTWF0Y2goKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnByb3BzLmNoaWxkcmVuICYmICh0aGlzLnByb3BzLnBhdGggfHwgdGhpcy5wcm9wcy5jb21wb25lbnQgfHwgdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoKSkge1xuICAgICAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCArPSAxXG4gICAgICB9XG4gICAgfSwgW3BhdGgsIHBhdGhTaG93biwgdGhpcy5zLm1hdGNoZXNdKVxuICB9XG5cbiAgaGFzU3dpdGNoTWF0Y2ggPSAoKSA9PiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duICYmIHRoaXMuc3dpdGNoR3JvdXAucy5wYXRoU2hvd24gPT0gdGhpcy5wYXRoSWQoKVxuXG4gIHBhdGhJZCgpIHtcbiAgICBjb25zdCB7ZmFsbGJhY2t9ID0gdGhpcy5wXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGxldCBwYXRoSWRcblxuICAgIGlmIChmYWxsYmFjaykge1xuICAgICAgcGF0aElkID0gXCJbRkFMTEJBQ0tdXCJcbiAgICB9IGVsc2UgaWYgKHBhdGgpIHtcbiAgICAgIHBhdGhJZCA9IHBhdGhcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aElkID0gXCJbUEFUSC1FTVBUWV1cIlxuICAgIH1cblxuICAgIHJldHVybiBwYXRoSWRcbiAgfVxuXG4gIGxvYWRNYXRjaGVzKCkge1xuICAgIGNvbnN0IHtuZXdSb3V0ZVBhcnRzLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZXhhY3QsIGluY2x1ZGVJblBhdGgsIGZhbGxiYWNrfSA9IHRoaXMucFxuXG4gICAgbGV0IG1hdGNoZXMgPSB0cnVlXG4gICAgY29uc3QgcGFyYW1zID0ge31cbiAgICBjb25zdCBjb21wb25lbnRQYXRoUGFydHMgPSBbLi4udGhpcy5jdXJyZW50UGF0aF1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiU3RhcnQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKV0pXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5wYXRoUGFydHMpIHtcbiAgICAgIGNvbnN0IHBhdGhQYXJ0ID0gdGhpcy5wYXRoUGFydHNbcGF0aFBhcnRJbmRleF1cbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQYXRoUGFydCA9IHQoYHJvdXRlcy4ke3BhdGhQYXJ0fWAsIHtkZWZhdWx0VmFsdWU6IHBhdGhQYXJ0fSlcblxuICAgICAgaWYgKCEocGF0aFBhcnRJbmRleCBpbiB0aGlzLnJvdXRlUGFydHMpKSB7XG4gICAgICAgIHRoaXMubG9nKCgpID0+IGBObyBtYXRjaCBmb3I6ICR7cGF0aFBhcnRJbmRleH1gKVxuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgcm91dGVQYXJ0ID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMucm91dGVQYXJ0c1twYXRoUGFydEluZGV4XSlcblxuICAgICAgaWYgKHBhdGhQYXJ0LnN0YXJ0c1dpdGgoXCI6XCIpICYmIHJvdXRlUGFydCkge1xuICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXRoUGFydC5zbGljZSgxLCBwYXRoUGFydC5sZW5ndGgpXG5cbiAgICAgICAgcGFyYW1zW3BhcmFtTmFtZV0gPSByb3V0ZVBhcnRcbiAgICAgIH0gZWxzZSBpZiAodHJhbnNsYXRlZFBhdGhQYXJ0ICE9IHJvdXRlUGFydCkge1xuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSBpZiAoIWNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKHBhdGhQYXJ0KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGFjdCAmJiBuZXdSb3V0ZVBhcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9nKCgpID0+IFtcIkV4YWN0IGFuZCBtb3JlIHJvdXRlIHBhcnRzXCIsIHtuZXdSb3V0ZVBhcnRzLCBwYXRoUGFydHM6IHRoaXMucGF0aFBhcnRzLCByb3V0ZVBhcnRzOiB0aGlzLnJvdXRlUGFydHN9XSlcbiAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcyAmJiBwYXRoKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5yb3V0ZVBhcnRzLmxlbmd0aCA9PSAwKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSWQgPSB0aGlzLnBhdGhJZCgpXG5cbiAgICBpZiAoIW1hdGNoZXMgJiYgZmFsbGJhY2spIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJFbmQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKSwge21hdGNoZXN9XSlcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBpZiAoY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2goY29tcG9uZW50KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdQYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRQYXJhbXMsIHBhcmFtcykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItb2JqZWN0LXNwcmVhZFxuXG4gICAgICB0aGlzLnVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaDoge3BhcmFtc30sIG1hdGNoZXMsIG5ld1BhcmFtc30pXG4gICAgICB0aGlzLnN3aXRjaEdyb3VwPy5zZXRQYXRoTWF0Y2hlZChtYXRjaElkLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzOiBudWxsLCBtYXRjaDogbnVsbCwgbWF0Y2hlcywgbmV3UGFyYW1zOiBudWxsfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJvdXRlTWF0Y2hTdGF0ZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbWF0Y2hlcywgbmV3UGFyYW1zfSkge1xuICAgIGNvbnN0IHJvdXRlRGF0YUNoYW5nZWQgPSB0aGlzLnJvdXRlRGF0YUNoYW5nZWQoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtc30pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KVxuICAgIGlmIChyb3V0ZURhdGFDaGFuZ2VkIHx8IHRoaXMucy5tYXRjaGVzICE9IG1hdGNoZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBsYXN0TWF0Y2hVcGRhdGU6IHJvdXRlRGF0YUNoYW5nZWQgPyB0aGlzLmxhc3RNYXRjaFVwZGF0ZSArPSAxIDogdGhpcy5zLmxhc3RNYXRjaFVwZGF0ZSxcbiAgICAgICAgbWF0Y2hlc1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG4gICAgbGV0IENvbXBvbmVudFxuXG4gICAgdGhpcy5sb2coKCkgPT4gW1wibG9hZENvbXBvbmVudFwiLCB7Y29tcG9uZW50UGF0aDogdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoLCBjb21wb25lbnRQYXRoUGFydHM6IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzLCBhY3R1YWxDb21wb25lbnRQYXRofV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kOiAhQ29tcG9uZW50fSlcbiAgfVxuXG4gIGxvZyhjYWxsYmFja0FyZ3MpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgbGV0IGFyZ3MgPSBjYWxsYmFja0FyZ3MoKVxuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIGFyZ3MgPSBbYXJnc11cblxuICAgICAgY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtcywgbmV3Um91dGVQYXJ0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NoaWxkcmVuLCBjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kLCBtYXRjaGVzfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFtYXRjaGVzIHx8ICF0aGlzLmhhc1N3aXRjaE1hdGNoKCkpIHtcbiAgICAgIC8vIFJvdXRlIGlzbid0IG1hdGNoaW5nIGFuZCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgYXQgYWxsLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgIWNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBSb3V0ZSBpcyBtYXRjaGluZyBidXQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge1wiTG9hZGluZyBcIn1cbiAgICAgICAgICB7Y29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCBjb21wb25lbnRQYXRoUGFydHMuam9pbihcIi9cIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiBjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIGlmIHRoZSBjb21wb25lbnQgY291bGRuJ3QgYmUgZm91bmQuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb21wb25lbnRQYXRoUGFydHN9PlxuICAgICAgICA8Um91dGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdSb3V0ZVBhcnRzLmpvaW4oXCIvXCIpfT5cbiAgICAgICAgICA8UGFyYW1zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3UGFyYW1zfT5cbiAgICAgICAgICAgIDxTd2l0Y2ggbmFtZT17YHJvdXRlLWdyb3VwLSR7cGF0aH1gfSBzaW5nbGU9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge0NvbXBvbmVudCAmJiA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz59XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvUGFyYW1zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Sb3V0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0N1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQge1JlcXVpcmVDb21wb25lbnRDb250ZXh0LCBSb3V0ZUNvbnRleHQsIFN3aXRjaCwgdXNlUGFyYW1zfVxuZXhwb3J0IGRlZmF1bHQgUm91dGVcbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixzREFBc0Q7QUFDdEQsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxNQUFNLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUE7QUFDM0YsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFDekUsNkVBQTZFO0FBQzdFLHlIQUF5SDtBQUV6SDs7Ozs7Ozs7OztHQVVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxN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QUVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCw0REFBNEQ7WUFDNUQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxrQkFBa0IsWUFDcEQsS0FBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUNuRCxLQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFNBQVMsWUFDdEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssYUFDL0MsU0FBUyxJQUFJLEtBQUMsU0FBUyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDeEMsUUFBUSxJQUNGLEdBQ2MsR0FDSCxHQUNJLENBQy9CLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsQ0FBQTtBQUNqRSxlQUFlLEtBQUssQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTd2l0Y2gsIHtDdXJyZW50U3dpdGNoQ29udGV4dH0gZnJvbSBcIi4vc3dpdGNoXCJcbmltcG9ydCB7YXJyYXlEaWZmZXJlbnQsIHNpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPn19IFJvdXRlTWF0Y2ggKi9cbi8qKiBAdHlwZWRlZiB7UmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlTWF0Y2h9Pn0gUm91dGVDb21wb25lbnQgKi9cbi8qKiBAdHlwZWRlZiB7e3JvdXRlRGVmaW5pdGlvbjoge2NvbXBvbmVudDogc3RyaW5nfX19IFJlcXVpcmVDb21wb25lbnRBcmdzICovXG4vKiogQHR5cGVkZWYgeyhhcmdzOiBSZXF1aXJlQ29tcG9uZW50QXJncykgPT4gUm91dGVDb21wb25lbnQgfCBQcm9taXNlPFJvdXRlQ29tcG9uZW50IHwgbnVsbD4gfCBudWxsfSBSZXF1aXJlQ29tcG9uZW50ICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbXBvbmVudF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY29tcG9uZW50UGF0aF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2V4YWN0XVxuICogQHByb3BlcnR5IHtib29sZWFufSBbZmFsbGJhY2tdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtpbmNsdWRlSW5QYXRoXVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uTWF0Y2hdXG4gKiBAcHJvcGVydHkge3N0cmluZ3xSZWdFeHB9IFtwYXRoXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gQ29tcG9uZW50XG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBudWxsfSBjb21wb25lbnROb3RGb3VuZFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RNYXRjaFVwZGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBtYXRjaGVzXG4gKi9cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBSb3V0ZSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBleGFjdDogZmFsc2UsXG4gICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgIGluY2x1ZGVJblBhdGg6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgY29tcG9uZW50OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbXBvbmVudFBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXhhY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGZhbGxiYWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbk1hdGNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwYXRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZWdFeHApXSlcbiAgfSlcblxuICAvKiogQHR5cGUge1JvdXRlTWF0Y2ggfCBudWxsfSAqL1xuICBtYXRjaCA9IG51bGxcblxuICBsb2FkQ29tcG9uZW50UmVxdWVzdElkID0gMFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29tcG9uZW50UGF0aFBhcnRzID0gW11cblxuICBsYXN0TWF0Y2hVcGRhdGUgPSAwXG5cbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbH0gKi9cbiAgbmV3UGFyYW1zID0gbnVsbFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPiB8IG51bGx9ICovXG4gIHBhdGhQYXJ0cyA9IG51bGxcbiAgc3RhdGUgPSB7XG4gICAgQ29tcG9uZW50OiBudWxsLFxuICAgIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLFxuICAgIGxhc3RNYXRjaFVwZGF0ZTogMCxcbiAgICBtYXRjaGVzOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gLyoqIEB0eXBlIHtSZXF1aXJlQ29tcG9uZW50IHwgbnVsbH0gKi8gKHVzZUNvbnRleHQoUmVxdWlyZUNvbXBvbmVudENvbnRleHQpKVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dCkpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KSlcbiAgICB0aGlzLnN3aXRjaEdyb3VwID0gc3dpdGNoR3JvdXBcbiAgICB0aGlzLnJvdXRlUGFydHMgPSB1c2VNZW1vKCgpID0+IGdpdmVuUm91dGU/LnNwbGl0KFwiL1wiKSwgW3BhdGgsIGdpdmVuUm91dGVdKVxuICAgIHRoaXMucGF0aFBhcnRzID0gdXNlTWVtbygoKSA9PiBwYXRoPy5zcGxpdChcIi9cIiksIFtwYXRoXSlcblxuICAgIHRoaXMubmV3Um91dGVQYXJ0cyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgIGlmIChnaXZlblJvdXRlID09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBbXVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0cy5zbGljZSh0aGlzLnBhdGhQYXJ0cy5sZW5ndGgsIHRoaXMucm91dGVQYXJ0cy5sZW5ndGgpXG4gICAgICB9LFxuICAgICAgW2dpdmVuUm91dGVdLmNvbmNhdCh0aGlzLnBhdGhQYXJ0cylcbiAgICApXG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTWF0Y2hlcygpXG4gICAgfSwgW2dpdmVuUm91dGUsIHBhdGgsIHBhdGhzTWF0Y2hlZF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzU3dpdGNoTWF0Y2goKSAmJiAhdGhpcy5zLkNvbXBvbmVudCAmJiB0aGlzLnMubWF0Y2hlcykge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbk1hdGNoKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vbk1hdGNoKClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5jaGlsZHJlbiAmJiAodGhpcy5wcm9wcy5wYXRoIHx8IHRoaXMucHJvcHMuY29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCkpIHtcbiAgICAgICAgICB0aGlzLmxvYWRDb21wb25lbnQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKz0gMVxuICAgICAgfVxuICAgIH0sIFtwYXRoLCBwYXRoU2hvd24sIHRoaXMucy5tYXRjaGVzXSlcbiAgfVxuXG4gIGhhc1N3aXRjaE1hdGNoID0gKCkgPT4gdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biAmJiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duID09IHRoaXMucGF0aElkKClcblxuICBwYXRoSWQoKSB7XG4gICAgY29uc3Qge2ZhbGxiYWNrfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBsZXQgcGF0aElkXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIHBhdGhJZCA9IFwiW0ZBTExCQUNLXVwiXG4gICAgfSBlbHNlIGlmIChwYXRoKSB7XG4gICAgICBwYXRoSWQgPSBwYXRoXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGhJZCA9IFwiW1BBVEgtRU1QVFldXCJcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aElkXG4gIH1cblxuICBsb2FkTWF0Y2hlcygpIHtcbiAgICBjb25zdCB7bmV3Um91dGVQYXJ0cywgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2V4YWN0LCBpbmNsdWRlSW5QYXRoLCBmYWxsYmFja30gPSB0aGlzLnBcblxuICAgIGxldCBtYXRjaGVzID0gdHJ1ZVxuICAgIGNvbnN0IHBhcmFtcyA9IHt9XG4gICAgY29uc3QgY29tcG9uZW50UGF0aFBhcnRzID0gWy4uLnRoaXMuY3VycmVudFBhdGhdXG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIlN0YXJ0IGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyldKVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydEluZGV4IGluIHRoaXMucGF0aFBhcnRzKSB7XG4gICAgICBjb25zdCBwYXRoUGFydCA9IHRoaXMucGF0aFBhcnRzW3BhdGhQYXJ0SW5kZXhdXG4gICAgICBjb25zdCB0cmFuc2xhdGVkUGF0aFBhcnQgPSB0KGByb3V0ZXMuJHtwYXRoUGFydH1gLCB7ZGVmYXVsdFZhbHVlOiBwYXRoUGFydH0pXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5yb3V0ZVBhcnRzKSkge1xuICAgICAgICB0aGlzLmxvZygoKSA9PiBgTm8gbWF0Y2ggZm9yOiAke3BhdGhQYXJ0SW5kZXh9YClcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvdXRlUGFydCA9IGRlY29kZVVSSUNvbXBvbmVudCh0aGlzLnJvdXRlUGFydHNbcGF0aFBhcnRJbmRleF0pXG5cbiAgICAgIGlmIChwYXRoUGFydC5zdGFydHNXaXRoKFwiOlwiKSAmJiByb3V0ZVBhcnQpIHtcbiAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGF0aFBhcnQuc2xpY2UoMSwgcGF0aFBhcnQubGVuZ3RoKVxuXG4gICAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gcm91dGVQYXJ0XG4gICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0ZWRQYXRoUGFydCAhPSByb3V0ZVBhcnQpIHtcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2UgaWYgKCFjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChwYXRoUGFydClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXhhY3QgJiYgbmV3Um91dGVQYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvZygoKSA9PiBbXCJFeGFjdCBhbmQgbW9yZSByb3V0ZSBwYXJ0c1wiLCB7bmV3Um91dGVQYXJ0cywgcGF0aFBhcnRzOiB0aGlzLnBhdGhQYXJ0cywgcm91dGVQYXJ0czogdGhpcy5yb3V0ZVBhcnRzfV0pXG4gICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICB9IGVsc2UgaWYgKG1hdGNoZXMgJiYgcGF0aCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHRoaXMucm91dGVQYXJ0cy5sZW5ndGggPT0gMCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaElkID0gdGhpcy5wYXRoSWQoKVxuXG4gICAgaWYgKCFtYXRjaGVzICYmIGZhbGxiYWNrKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiRW5kIGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyksIHttYXRjaGVzfV0pXG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgaWYgKGNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKGNvbXBvbmVudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3UGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50UGFyYW1zLCBwYXJhbXMpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcblxuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2g6IHtwYXJhbXN9LCBtYXRjaGVzLCBuZXdQYXJhbXN9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0czogbnVsbCwgbWF0Y2g6IG51bGwsIG1hdGNoZXMsIG5ld1BhcmFtczogbnVsbH0pXG4gICAgICB0aGlzLnN3aXRjaEdyb3VwPy5zZXRQYXRoTWF0Y2hlZChtYXRjaElkLCBmYWxzZSlcbiAgICB9XG4gIH1cblxuICB1cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG1hdGNoZXMsIG5ld1BhcmFtc30pIHtcbiAgICBjb25zdCByb3V0ZURhdGFDaGFuZ2VkID0gdGhpcy5yb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KVxuXG4gICAgdGhpcy5jb21wb25lbnRQYXRoUGFydHMgPSBjb21wb25lbnRQYXRoUGFydHNcbiAgICB0aGlzLm1hdGNoID0gbWF0Y2hcbiAgICB0aGlzLm5ld1BhcmFtcyA9IG5ld1BhcmFtc1xuICAgIGlmIChyb3V0ZURhdGFDaGFuZ2VkIHx8IHRoaXMucy5tYXRjaGVzICE9IG1hdGNoZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBsYXN0TWF0Y2hVcGRhdGU6IHJvdXRlRGF0YUNoYW5nZWQgPyB0aGlzLmxhc3RNYXRjaFVwZGF0ZSArPSAxIDogdGhpcy5zLmxhc3RNYXRjaFVwZGF0ZSxcbiAgICAgICAgbWF0Y2hlc1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG5cbiAgICAvKiogQHR5cGUge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gKi9cbiAgICBsZXQgQ29tcG9uZW50XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbXCJsb2FkQ29tcG9uZW50XCIsIHtjb21wb25lbnRQYXRoOiB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgsIGNvbXBvbmVudFBhdGhQYXJ0czogdGhpcy5jb21wb25lbnRQYXRoUGFydHMsIGFjdHVhbENvbXBvbmVudFBhdGh9XSlcbiAgICBpZiAoIXRoaXMudHQucmVxdWlyZUNvbXBvbmVudCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3JlcXVpcmVDb21wb25lbnQnIGF2YWlsYWJsZSBpbiByb3V0ZSBjb250ZXh0XCIpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kOiAhQ29tcG9uZW50fSlcbiAgfVxuXG4gIGxvZyhjYWxsYmFja0FyZ3MpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgbGV0IGFyZ3MgPSBjYWxsYmFja0FyZ3MoKVxuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIGFyZ3MgPSBbYXJnc11cblxuICAgICAgY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtcywgbmV3Um91dGVQYXJ0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NoaWxkcmVuLCBjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kLCBtYXRjaGVzfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFtYXRjaGVzIHx8ICF0aGlzLmhhc1N3aXRjaE1hdGNoKCkpIHtcbiAgICAgIC8vIFJvdXRlIGlzbid0IG1hdGNoaW5nIGFuZCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgYXQgYWxsLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgIWNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBSb3V0ZSBpcyBtYXRjaGluZyBidXQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge1wiTG9hZGluZyBcIn1cbiAgICAgICAgICB7Y29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCBjb21wb25lbnRQYXRoUGFydHMuam9pbihcIi9cIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiBjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIGlmIHRoZSBjb21wb25lbnQgY291bGRuJ3QgYmUgZm91bmQuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb21wb25lbnRQYXRoUGFydHN9PlxuICAgICAgICA8Um91dGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdSb3V0ZVBhcnRzLmpvaW4oXCIvXCIpfT5cbiAgICAgICAgICA8UGFyYW1zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3UGFyYW1zfT5cbiAgICAgICAgICAgIDxTd2l0Y2ggbmFtZT17YHJvdXRlLWdyb3VwLSR7cGF0aH1gfSBzaW5nbGU9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge0NvbXBvbmVudCAmJiA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz59XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvUGFyYW1zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Sb3V0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0N1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQge1JlcXVpcmVDb21wb25lbnRDb250ZXh0LCBSb3V0ZUNvbnRleHQsIFN3aXRjaCwgdXNlUGFyYW1zfVxuZXhwb3J0IGRlZmF1bHQgUm91dGVcbiJdfQ==
@@ -1,5 +1,41 @@
1
1
  export default Switch;
2
- export const CurrentSwitchContext: React.Context<any>;
3
- declare const Switch: any;
2
+ export type CurrentSwitchContextValue = {
3
+ pathShown: string | undefined;
4
+ pathsMatched: Record<string, boolean>;
5
+ switchGroup: {
6
+ s: State;
7
+ setPathMatched: (path: string, matched: boolean) => void;
8
+ } | null;
9
+ };
10
+ export type Props = {
11
+ children?: React.ReactNode;
12
+ name?: string;
13
+ single?: boolean;
14
+ };
15
+ export type State = {
16
+ lastUpdate: number;
17
+ pathShown: string | undefined;
18
+ pathsMatched: Record<string, boolean>;
19
+ };
20
+ /**
21
+ * @typedef {object} CurrentSwitchContextValue
22
+ * @property {string | undefined} pathShown
23
+ * @property {Record<string, boolean>} pathsMatched
24
+ * @property {{s: State, setPathMatched: (path: string, matched: boolean) => void} | null} switchGroup
25
+ */
26
+ export const CurrentSwitchContext: React.Context<CurrentSwitchContextValue>;
27
+ /**
28
+ * @typedef {object} Props
29
+ * @property {React.ReactNode} [children]
30
+ * @property {string} [name]
31
+ * @property {boolean} [single]
32
+ */
33
+ /**
34
+ * @typedef {object} State
35
+ * @property {number} lastUpdate
36
+ * @property {string | undefined} pathShown
37
+ * @property {Record<string, boolean>} pathsMatched
38
+ */
39
+ declare const Switch: React.NamedExoticComponent<Record<string, any>>;
4
40
  import React from "react";
5
41
  //# sourceMappingURL=switch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";AAQA,sDAAmE;AAEnE,0BA+DG;kBAxEgC,OAAO"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";;eAUc,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACvB;QAAC,CAAC,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;KAAC,GAAG,IAAI;;;eAW3E,KAAK,CAAC,SAAS;WACf,MAAM;aACN,OAAO;;;gBAIP,MAAM;eACN,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;AAvBrC;;;;;GAKG;AAEH,4EAIG;AAEH;;;;;GAKG;AACH;;;;;GAKG;AACH,sEA8DG;kBA7FgC,OAAO"}
@@ -1,13 +1,35 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable sort-imports */
3
4
  import React, { createContext } from "react";
4
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
5
- import BaseComponent from "../base-component";
5
+ import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
6
6
  import PropTypes from "prop-types";
7
7
  import memo from "set-state-compare/build/memo.js";
8
8
  import propTypesExact from "prop-types-exact";
9
- const CurrentSwitchContext = createContext(/** @type {any} */ ({}));
10
- const Switch = memo(shapeComponent(class Switch extends BaseComponent {
9
+ /**
10
+ * @typedef {object} CurrentSwitchContextValue
11
+ * @property {string | undefined} pathShown
12
+ * @property {Record<string, boolean>} pathsMatched
13
+ * @property {{s: State, setPathMatched: (path: string, matched: boolean) => void} | null} switchGroup
14
+ */
15
+ const CurrentSwitchContext = createContext(/** @type {CurrentSwitchContextValue} */ ({
16
+ pathShown: undefined,
17
+ pathsMatched: {},
18
+ switchGroup: null
19
+ }));
20
+ /**
21
+ * @typedef {object} Props
22
+ * @property {React.ReactNode} [children]
23
+ * @property {string} [name]
24
+ * @property {boolean} [single]
25
+ */
26
+ /**
27
+ * @typedef {object} State
28
+ * @property {number} lastUpdate
29
+ * @property {string | undefined} pathShown
30
+ * @property {Record<string, boolean>} pathsMatched
31
+ */
32
+ const Switch = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class Switch extends ShapeComponent {
11
33
  static defaultProps = {
12
34
  name: "[no name]",
13
35
  single: true
@@ -18,16 +40,15 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
18
40
  single: PropTypes.bool
19
41
  });
20
42
  pathsMatchedKeys = [];
21
- setup() {
22
- this.useStates({
23
- lastUpdate: new Date(),
24
- pathShown: undefined,
25
- pathsMatched: {}
26
- });
27
- }
43
+ state = {
44
+ lastUpdate: Date.now(),
45
+ pathShown: undefined,
46
+ pathsMatched: {}
47
+ };
48
+ setup() { }
28
49
  render() {
29
50
  const { pathShown, pathsMatched } = this.s;
30
- return (_jsx(CurrentSwitchContext.Provider, { value: { pathShown, pathsMatched, switchGroup: this }, children: this.props.children }));
51
+ return (_jsx(CurrentSwitchContext.Provider, { value: /** @type {CurrentSwitchContextValue} */ ({ pathShown, pathsMatched, switchGroup: this }), children: this.props.children }));
31
52
  }
32
53
  pathShown(pathsMatched) {
33
54
  for (const pathMatched of this.tt.pathsMatchedKeys) {
@@ -58,4 +79,4 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
58
79
  }));
59
80
  export { CurrentSwitchContext };
60
81
  export default Switch;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLEVBQUMsYUFBYSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzFDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFFN0MsTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRW5FLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxNQUFPLFNBQVEsYUFBYTtJQUNuRSxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRztRQUN2QixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJO0tBQ3ZCLENBQUMsQ0FBQTtJQUVGLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtJQUVyQixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRTtZQUN0QixTQUFTLEVBQUUsU0FBUztZQUNwQixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUV4QyxPQUFPLENBQ0wsS0FBQyxvQkFBb0IsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLFlBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUNVLENBQ2pDLENBQUE7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLFlBQVk7UUFDcEIsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkQsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBRS9DLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sV0FBVyxDQUFBO1lBQ3BCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTztRQUMxQixNQUFNLEVBQUMsZ0JBQWdCLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ2xDLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRTdCLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzdDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU87WUFBRSxPQUFNO1FBRXpDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0IsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFBO1FBRWhELGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUE7UUFFL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO1lBQzFDLFlBQVksRUFBRSxlQUFlO1NBQzlCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQTtBQUVILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxDQUFBO0FBQzdCLGVBQWUsTUFBTSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0fSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG5jb25zdCBDdXJyZW50U3dpdGNoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoLyoqIEB0eXBlIHthbnl9ICovICh7fSkpXG5cbmNvbnN0IFN3aXRjaCA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU3dpdGNoIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbmFtZTogXCJbbm8gbmFtZV1cIixcbiAgICBzaW5nbGU6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaW5nbGU6IFByb3BUeXBlcy5ib29sXG4gIH0pXG5cbiAgcGF0aHNNYXRjaGVkS2V5cyA9IFtdXG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgbGFzdFVwZGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIHBhdGhTaG93bjogdW5kZWZpbmVkLFxuICAgICAgcGF0aHNNYXRjaGVkOiB7fVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3BhdGhTaG93biwgcGF0aHNNYXRjaGVkfSA9IHRoaXMuc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDdXJyZW50U3dpdGNoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17e3BhdGhTaG93biwgcGF0aHNNYXRjaGVkLCBzd2l0Y2hHcm91cDogdGhpc319PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgcGF0aFNob3duKHBhdGhzTWF0Y2hlZCkge1xuICAgIGZvciAoY29uc3QgcGF0aE1hdGNoZWQgb2YgdGhpcy50dC5wYXRoc01hdGNoZWRLZXlzKSB7XG4gICAgICBjb25zdCBpc1BhdGhNYXRjaGVkID0gcGF0aHNNYXRjaGVkW3BhdGhNYXRjaGVkXVxuXG4gICAgICBpZiAoaXNQYXRoTWF0Y2hlZCkge1xuICAgICAgICByZXR1cm4gcGF0aE1hdGNoZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXRoTWF0Y2hlZChwYXRoLCBtYXRjaGVkKSB7XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZEtleXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcIk5vICdwYXRoJyBnaXZlblwiKVxuICAgIGlmIChwYXRoc01hdGNoZWRbcGF0aF0gPT0gbWF0Y2hlZCkgcmV0dXJuXG5cbiAgICBpZiAoIXBhdGhzTWF0Y2hlZEtleXMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHBhdGhzTWF0Y2hlZEtleXMucHVzaChwYXRoKVxuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhdGhzTWF0Y2hlZCA9IHsuLi50aGlzLnMucGF0aHNNYXRjaGVkfVxuXG4gICAgbmV3UGF0aHNNYXRjaGVkW3BhdGhdID0gbWF0Y2hlZFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBsYXN0VXBkYXRlOiBNYXRoLnJhbmRvbSgpICsgbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICBwYXRoU2hvd246IHRoaXMucGF0aFNob3duKG5ld1BhdGhzTWF0Y2hlZCksXG4gICAgICBwYXRoc01hdGNoZWQ6IG5ld1BhdGhzTWF0Y2hlZFxuICAgIH0pXG4gIH1cbn0pKVxuXG5leHBvcnQge0N1cnJlbnRTd2l0Y2hDb250ZXh0fVxuZXhwb3J0IGRlZmF1bHQgU3dpdGNoXG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3Qzs7Ozs7R0FLRztBQUVILE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDbkYsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQyxDQUFDLENBQUE7QUFFSDs7Ozs7R0FLRztBQUNIOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLE1BQU8sU0FBUSxjQUFjO0lBQ3BILE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLEtBQUssR0FBRztRQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFlBQVksRUFBRSxFQUFFO0tBQ2pCLENBQUE7SUFFRCxLQUFLLEtBQUksQ0FBQztJQUVWLE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLENBQUMsWUFDMUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ1UsQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsWUFBWTtRQUNwQixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFL0MsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzFCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTztZQUFFLE9BQU07UUFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUE7UUFFaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUUvQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDMUMsWUFBWSxFQUFFLGVBQWU7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLENBQUE7QUFDN0IsZUFBZSxNQUFNLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDdXJyZW50U3dpdGNoQ29udGV4dFZhbHVlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqIEBwcm9wZXJ0eSB7e3M6IFN0YXRlLCBzZXRQYXRoTWF0Y2hlZDogKHBhdGg6IHN0cmluZywgbWF0Y2hlZDogYm9vbGVhbikgPT4gdm9pZH0gfCBudWxsfSBzd2l0Y2hHcm91cFxuICovXG5cbmNvbnN0IEN1cnJlbnRTd2l0Y2hDb250ZXh0ID0gY3JlYXRlQ29udGV4dCgvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7XG4gIHBhdGhTaG93bjogdW5kZWZpbmVkLFxuICBwYXRoc01hdGNoZWQ6IHt9LFxuICBzd2l0Y2hHcm91cDogbnVsbFxufSkpXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtzaW5nbGVdXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXN0VXBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqL1xuY29uc3QgU3dpdGNoID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbmFtZTogXCJbbm8gbmFtZV1cIixcbiAgICBzaW5nbGU6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaW5nbGU6IFByb3BUeXBlcy5ib29sXG4gIH0pXG5cbiAgcGF0aHNNYXRjaGVkS2V5cyA9IFtdXG4gIHN0YXRlID0ge1xuICAgIGxhc3RVcGRhdGU6IERhdGUubm93KCksXG4gICAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gICAgcGF0aHNNYXRjaGVkOiB7fVxuICB9XG5cbiAgc2V0dXAoKSB7fVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cGF0aFNob3duLCBwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXsvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7cGF0aFNob3duLCBwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwOiB0aGlzfSl9PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgcGF0aFNob3duKHBhdGhzTWF0Y2hlZCkge1xuICAgIGZvciAoY29uc3QgcGF0aE1hdGNoZWQgb2YgdGhpcy50dC5wYXRoc01hdGNoZWRLZXlzKSB7XG4gICAgICBjb25zdCBpc1BhdGhNYXRjaGVkID0gcGF0aHNNYXRjaGVkW3BhdGhNYXRjaGVkXVxuXG4gICAgICBpZiAoaXNQYXRoTWF0Y2hlZCkge1xuICAgICAgICByZXR1cm4gcGF0aE1hdGNoZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXRoTWF0Y2hlZChwYXRoLCBtYXRjaGVkKSB7XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZEtleXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcIk5vICdwYXRoJyBnaXZlblwiKVxuICAgIGlmIChwYXRoc01hdGNoZWRbcGF0aF0gPT0gbWF0Y2hlZCkgcmV0dXJuXG5cbiAgICBpZiAoIXBhdGhzTWF0Y2hlZEtleXMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHBhdGhzTWF0Y2hlZEtleXMucHVzaChwYXRoKVxuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhdGhzTWF0Y2hlZCA9IHsuLi50aGlzLnMucGF0aHNNYXRjaGVkfVxuXG4gICAgbmV3UGF0aHNNYXRjaGVkW3BhdGhdID0gbWF0Y2hlZFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBsYXN0VXBkYXRlOiBNYXRoLnJhbmRvbSgpICsgbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICBwYXRoU2hvd246IHRoaXMucGF0aFNob3duKG5ld1BhdGhzTWF0Y2hlZCksXG4gICAgICBwYXRoc01hdGNoZWQ6IG5ld1BhdGhzTWF0Y2hlZFxuICAgIH0pXG4gIH1cbn0pKVxuXG5leHBvcnQge0N1cnJlbnRTd2l0Y2hDb250ZXh0fVxuZXhwb3J0IGRlZmF1bHQgU3dpdGNoXG4iXX0=
package/build/router.d.ts CHANGED
@@ -1,4 +1,24 @@
1
- declare const _default: React.MemoExoticComponent<(arg0: Record<string, any>) => any>;
1
+ declare const _default: React.NamedExoticComponent<Record<string, any>>;
2
2
  export default _default;
3
+ export type RouterMatch = {
4
+ params: Record<string, string>;
5
+ parsedRouteDefinition?: object;
6
+ matchingRoute?: object;
7
+ };
8
+ export type Props = {
9
+ history?: object;
10
+ locales: Array<string>;
11
+ notFoundComponent?: React.ComponentType<{
12
+ match: RouterMatch;
13
+ }>;
14
+ requireComponent: (args: {
15
+ routeDefinition: object;
16
+ }) => React.ComponentType<{
17
+ match: RouterMatch;
18
+ }>;
19
+ routeDefinitions?: object;
20
+ routes?: object;
21
+ };
22
+ export type State = Record<string, never>;
3
23
  import React from "react";
4
24
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;kBACoC,OAAO"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;0BASc;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAC;;cAGxF,MAAM;aACN,KAAK,CAAC,MAAM,CAAC;wBACb,KAAK,CAAC,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAC,CAAC;sBACzC,CAAC,IAAI,EAAE;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,CAAC,aAAa,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAC,CAAC;uBAC9E,MAAM;aACN,MAAM;;oBAEN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;kBAjBC,OAAO"}
package/build/router.js CHANGED
@@ -1,13 +1,24 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable sort-imports */
3
4
  import React, { Suspense, memo } from "react";
4
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
5
- import BaseComponent from "./base-component";
5
+ import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
6
6
  import PropTypes from "prop-types";
7
7
  import propTypesExact from "prop-types-exact";
8
8
  import usePath from "on-location-changed/build/use-path.js";
9
9
  import useRouter from "./use-router";
10
- export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
10
+ /** @typedef {{params: Record<string, string>, parsedRouteDefinition?: object, matchingRoute?: object}} RouterMatch */
11
+ /**
12
+ * @typedef {object} Props
13
+ * @property {object} [history]
14
+ * @property {Array<string>} locales
15
+ * @property {React.ComponentType<{match: RouterMatch}>} [notFoundComponent]
16
+ * @property {(args: {routeDefinition: object}) => React.ComponentType<{match: RouterMatch}>} requireComponent
17
+ * @property {object} [routeDefinitions]
18
+ * @property {object} [routes]
19
+ */
20
+ /** @typedef {Record<string, never>} State */
21
+ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class ApiMakerRouter extends ShapeComponent {
11
22
  static propTypes = propTypesExact({
12
23
  history: PropTypes.object,
13
24
  locales: PropTypes.array.isRequired,
@@ -34,4 +45,4 @@ export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
34
45
  return (_jsx(Suspense, { fallback: _jsx("div", {}), children: _jsx(Component, { match: match }) }));
35
46
  }
36
47
  }));
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUM1QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxPQUFPLE1BQU0sdUNBQXVDLENBQUE7QUFDM0QsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFBO0FBRXBDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGNBQWUsU0FBUSxhQUFhO0lBQzNFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6QixPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ25DLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxXQUFXO1FBQ3hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNsQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUFBO0lBRUYsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLE1BQU0sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMzRixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFFN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtnQkFFM0MsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxlQUFPLFlBQ3pCLEtBQUMsaUJBQWlCLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxHQUMxQixDQUNaLENBQUE7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sQ0FDTCxLQUFDLFFBQVEsSUFBQyxRQUFRLEVBQUUsZUFBTyxZQUN6QixLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEdBQ2xCLENBQ1osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7U3VzcGVuc2UsIG1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1wYXRoLmpzXCJcbmltcG9ydCB1c2VSb3V0ZXIgZnJvbSBcIi4vdXNlLXJvdXRlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJSb3V0ZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBoaXN0b3J5OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvY2FsZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIG5vdEZvdW5kQ29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gICAgcmVxdWlyZUNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByb3V0ZURlZmluaXRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHJvdXRlczogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBwYXRoID0gdXNlUGF0aCgpXG4gICAgY29uc3Qge2xvY2FsZXMsIG5vdEZvdW5kQ29tcG9uZW50LCByZXF1aXJlQ29tcG9uZW50LCByb3V0ZURlZmluaXRpb25zLCByb3V0ZXN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHttYXRjaH0gPSB1c2VSb3V0ZXIoe2xvY2FsZXMsIHBhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9uc30pXG4gICAgY29uc3Qge21hdGNoaW5nUm91dGV9ID0gbWF0Y2hcblxuICAgIGlmICghbWF0Y2hpbmdSb3V0ZSkge1xuICAgICAgaWYgKG5vdEZvdW5kQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IE5vdEZvdW5kQ29tcG9uZW50ID0gbm90Rm91bmRDb21wb25lbnRcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgICAgICA8Tm90Rm91bmRDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgQ29tcG9uZW50ID0gcmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiBtYXRjaGluZ1JvdXRlLnBhcnNlZFJvdXRlRGVmaW5pdGlvbi5yb3V0ZURlZmluaXRpb259KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgIDxDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cbn0pKVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osaUNBQWlDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFFcEMsc0hBQXNIO0FBQ3RIOzs7Ozs7OztHQVFHO0FBQ0gsNkNBQTZDO0FBQzdDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLGNBQWUsU0FBUSxjQUFjO0lBQzVILE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6QixPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ25DLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxXQUFXO1FBQ3hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNsQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUFBO0lBRUYsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLE1BQU0sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMzRixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFFN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtnQkFFM0MsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxlQUFPLFlBQ3pCLEtBQUMsaUJBQWlCLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxHQUMxQixDQUNaLENBQUE7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sQ0FDTCxLQUFDLFFBQVEsSUFBQyxRQUFRLEVBQUUsZUFBTyxZQUN6QixLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEdBQ2xCLENBQ1osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtTdXNwZW5zZSwgbWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1wYXRoLmpzXCJcbmltcG9ydCB1c2VSb3V0ZXIgZnJvbSBcIi4vdXNlLXJvdXRlclwiXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgcGFyc2VkUm91dGVEZWZpbml0aW9uPzogb2JqZWN0LCBtYXRjaGluZ1JvdXRlPzogb2JqZWN0fX0gUm91dGVyTWF0Y2ggKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbaGlzdG9yeV1cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8c3RyaW5nPn0gbG9jYWxlc1xuICogQHByb3BlcnR5IHtSZWFjdC5Db21wb25lbnRUeXBlPHttYXRjaDogUm91dGVyTWF0Y2h9Pn0gW25vdEZvdW5kQ29tcG9uZW50XVxuICogQHByb3BlcnR5IHsoYXJnczoge3JvdXRlRGVmaW5pdGlvbjogb2JqZWN0fSkgPT4gUmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlck1hdGNofT59IHJlcXVpcmVDb21wb25lbnRcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcm91dGVEZWZpbml0aW9uc11cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcm91dGVzXVxuICovXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIG5ldmVyPn0gU3RhdGUgKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJSb3V0ZXIgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgaGlzdG9yeTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsb2NhbGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBub3RGb3VuZENvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAgIHJlcXVpcmVDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcm91dGVEZWZpbml0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICByb3V0ZXM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcGF0aCA9IHVzZVBhdGgoKVxuICAgIGNvbnN0IHtsb2NhbGVzLCBub3RGb3VuZENvbXBvbmVudCwgcmVxdWlyZUNvbXBvbmVudCwgcm91dGVEZWZpbml0aW9ucywgcm91dGVzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bWF0Y2h9ID0gdXNlUm91dGVyKHtsb2NhbGVzLCBwYXRoLCByb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbnN9KVxuICAgIGNvbnN0IHttYXRjaGluZ1JvdXRlfSA9IG1hdGNoXG5cbiAgICBpZiAoIW1hdGNoaW5nUm91dGUpIHtcbiAgICAgIGlmIChub3RGb3VuZENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBOb3RGb3VuZENvbXBvbmVudCA9IG5vdEZvdW5kQ29tcG9uZW50XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICAgICAgPE5vdEZvdW5kQ29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgICAgICA8L1N1c3BlbnNlPlxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IENvbXBvbmVudCA9IHJlcXVpcmVDb21wb25lbnQoe3JvdXRlRGVmaW5pdGlvbjogbWF0Y2hpbmdSb3V0ZS5wYXJzZWRSb3V0ZURlZmluaXRpb24ucm91dGVEZWZpbml0aW9ufSlcblxuICAgIHJldHVybiAoXG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgIDwvU3VzcGVuc2U+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
@@ -1,7 +1,3 @@
1
- /** @typedef {{type: "pathPart", name: string} | {type: "variable", count: number}} PathPart */
2
- /** @typedef {{args: Array<unknown>, localizedRoutes?: Record<string, PathPart[]>, pathParts?: PathPart[], url?: boolean}} TranslateRouteArgs */
3
- /** @typedef {{host?: string, port?: number|string, protocol?: string, translatedRoute: string}} HostRouteArgs */
4
- /** @typedef {{locale?: string, host?: string, port?: number|string, protocol?: string} & Record<string, unknown>} RouteOptions */
5
1
  /**
6
2
  * Builds paths and URLs from route definitions for native usage.
7
3
  */
@@ -15,12 +11,12 @@ export default class ApiMakerRoutesNative {
15
11
  routeTranslationParts: {};
16
12
  /**
17
13
  * @param {object} routeDefinitions
18
- * @param {{localized?: boolean}=} routeDefinitionArgs
14
+ * @param {{localized?: boolean}} [routeDefinitionArgs]
19
15
  * @returns {void}
20
16
  */
21
17
  loadRouteDefinitions(routeDefinitions: object, routeDefinitionArgs?: {
22
18
  localized?: boolean;
23
- } | undefined): void;
19
+ }): void;
24
20
  /**
25
21
  * @param {object} i18n
26
22
  * @returns {void}
@@ -45,12 +41,10 @@ export type PathPart = {
45
41
  type: "variable";
46
42
  count: number;
47
43
  };
48
- export type TranslateRouteArgs = {
49
- args: Array<unknown>;
50
- localizedRoutes?: Record<string, PathPart[]>;
51
- pathParts?: PathPart[];
52
- url?: boolean;
53
- };
44
+ export type RoutePathArgument = string | number | boolean;
45
+ export type RouteQueryPrimitive = string | number | boolean | null | undefined;
46
+ export type RouteQueryValue = RouteQueryPrimitive | RouteQueryPrimitive[] | object;
47
+ export type RouteQueryParams = Record<string, RouteQueryValue>;
54
48
  export type HostRouteArgs = {
55
49
  host?: string;
56
50
  port?: number | string;
@@ -62,5 +56,11 @@ export type RouteOptions = {
62
56
  host?: string;
63
57
  port?: number | string;
64
58
  protocol?: string;
65
- } & Record<string, unknown>;
59
+ } & RouteQueryParams;
60
+ export type TranslateRouteArgs = {
61
+ args: Array<RoutePathArgument | RouteOptions>;
62
+ localizedRoutes?: Record<string, PathPart[]>;
63
+ pathParts?: PathPart[];
64
+ url?: boolean;
65
+ };
66
66
  //# sourceMappingURL=routes-native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AAKA,+FAA+F;AAC/F,gJAAgJ;AAChJ,iHAAiH;AACjH,kIAAkI;AAElI;;GAEG;AACH;IACE,iDAAiD;IACjD,2BADY;QAAC,SAAS,EAAE,MAAM,MAAM,CAAA;KAAC,EAKpC;IAHC,iBAF4B,MAAM,CAER;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC;;;;OAIG;IACH,uCAJW,MAAM,wBACN;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,YAAC,GACpB,IAAI,CAyDhB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,IAAI,CAiBhB;IAdC,UAAgB;IAgBlB;;;OAGG;IACH,0DAHW,kBAAkB,GAChB,MAAM,CAgElB;IAED;;;OAGG;IACH,0DAHW,aAAa,GACX,MAAM,CA8BlB;CACF;uBAxMa;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC;iCACpE;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAC;4BAC3G;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC;2BACjF;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC"}
1
+ {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AA4BA;;GAEG;AACH;IACE,iDAAiD;IACjD,2BADY;QAAC,SAAS,EAAE,MAAM,MAAM,CAAA;KAAC,EAKpC;IAHC,iBAF4B,MAAM,CAER;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC;;;;OAIG;IACH,uCAJW,MAAM,wBACN;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,GACnB,IAAI,CAyDhB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,IAAI,CAiBhB;IAdC,UAAgB;IAgBlB;;;OAGG;IACH,0DAHW,kBAAkB,GAChB,MAAM,CA0DlB;IAED;;;OAGG;IACH,0DAHW,aAAa,GACX,MAAM,CA8BlB;CACF;uBAnNa;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC;gCACpE,MAAM,GAAG,MAAM,GAAG,OAAO;kCACzB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS;8BAC5C,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,MAAM;+BACpD,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;4BAC/B;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC;2BACjF;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,gBAAgB;;UAG5F,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAAC;sBACvC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,EAAE;UACV,OAAO"}