@kaspernj/api-maker 1.0.2160 → 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 (524) 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 +12 -0
  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 +8 -0
  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 +17 -0
  28. package/build/bootstrap/card.d.ts.map +1 -1
  29. package/build/bootstrap/card.js +30 -10
  30. package/build/bootstrap/checkbox.d.ts +16 -0
  31. package/build/bootstrap/checkbox.d.ts.map +1 -1
  32. package/build/bootstrap/checkbox.js +20 -2
  33. package/build/bootstrap/checkboxes.d.ts +31 -0
  34. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  35. package/build/bootstrap/checkboxes.js +35 -3
  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 +5 -0
  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 +10 -0
  48. package/build/bootstrap/sort-link.d.ts.map +1 -1
  49. package/build/bootstrap/sort-link.js +15 -4
  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.js +2 -1
  68. package/build/collection.d.ts +361 -370
  69. package/build/collection.d.ts.map +1 -1
  70. package/build/collection.js +59 -19
  71. package/build/command-execution.d.ts +50 -26
  72. package/build/command-execution.d.ts.map +1 -1
  73. package/build/command-execution.js +31 -13
  74. package/build/command-submit-data.d.ts +50 -37
  75. package/build/command-submit-data.d.ts.map +1 -1
  76. package/build/command-submit-data.js +35 -22
  77. package/build/commands-pool.d.ts +65 -27
  78. package/build/commands-pool.d.ts.map +1 -1
  79. package/build/commands-pool.js +67 -20
  80. package/build/compose.d.ts +8 -2
  81. package/build/compose.d.ts.map +1 -1
  82. package/build/compose.js +9 -2
  83. package/build/config.d.ts +31 -15
  84. package/build/config.d.ts.map +1 -1
  85. package/build/config.js +60 -23
  86. package/build/custom-error.d.ts.map +1 -1
  87. package/build/custom-error.js +2 -1
  88. package/build/data-set-to-attributes.d.ts +14 -2
  89. package/build/data-set-to-attributes.d.ts.map +1 -1
  90. package/build/data-set-to-attributes.js +12 -3
  91. package/build/deserializer.d.ts +116 -2
  92. package/build/deserializer.d.ts.map +1 -1
  93. package/build/deserializer.js +13 -2
  94. package/build/destroy-error.d.ts.map +1 -1
  95. package/build/destroy-error.js +2 -1
  96. package/build/devise.d.ts +638 -39
  97. package/build/devise.d.ts.map +1 -1
  98. package/build/devise.js +97 -28
  99. package/build/draggable-sort/controller.d.ts +126 -35
  100. package/build/draggable-sort/controller.d.ts.map +1 -1
  101. package/build/draggable-sort/controller.js +100 -28
  102. package/build/draggable-sort/index.d.ts +55 -0
  103. package/build/draggable-sort/index.d.ts.map +1 -1
  104. package/build/draggable-sort/index.js +71 -3
  105. package/build/draggable-sort/item.d.ts +54 -0
  106. package/build/draggable-sort/item.d.ts.map +1 -1
  107. package/build/draggable-sort/item.js +94 -6
  108. package/build/error-logger.d.ts +30 -14
  109. package/build/error-logger.d.ts.map +1 -1
  110. package/build/error-logger.js +22 -11
  111. package/build/event-connection.d.ts.map +1 -1
  112. package/build/event-connection.js +3 -2
  113. package/build/event-emitter-listener.d.ts.map +1 -1
  114. package/build/event-emitter-listener.js +2 -1
  115. package/build/event-model-class.d.ts.map +1 -1
  116. package/build/event-model-class.js +2 -1
  117. package/build/events.d.ts.map +1 -1
  118. package/build/events.js +2 -1
  119. package/build/form.d.ts +23 -0
  120. package/build/form.d.ts.map +1 -1
  121. package/build/form.js +16 -4
  122. package/build/history-expo.d.ts +6 -2
  123. package/build/history-expo.d.ts.map +1 -1
  124. package/build/history-expo.js +5 -2
  125. package/build/history-react-native.d.ts +6 -2
  126. package/build/history-react-native.d.ts.map +1 -1
  127. package/build/history-react-native.js +5 -2
  128. package/build/history.js +2 -1
  129. package/build/index.d.ts.map +1 -1
  130. package/build/index.js +2 -1
  131. package/build/inputs/attachment.d.ts +11 -0
  132. package/build/inputs/attachment.d.ts.map +1 -1
  133. package/build/inputs/attachment.js +17 -4
  134. package/build/inputs/auto-submit.d.ts +41 -13
  135. package/build/inputs/auto-submit.d.ts.map +1 -1
  136. package/build/inputs/auto-submit.js +16 -4
  137. package/build/inputs/checkbox.d.ts +15 -0
  138. package/build/inputs/checkbox.d.ts.map +1 -1
  139. package/build/inputs/checkbox.js +22 -6
  140. package/build/inputs/checkboxes.d.ts +16 -0
  141. package/build/inputs/checkboxes.d.ts.map +1 -1
  142. package/build/inputs/checkboxes.js +20 -4
  143. package/build/inputs/id-for-component.d.ts +21 -2
  144. package/build/inputs/id-for-component.d.ts.map +1 -1
  145. package/build/inputs/id-for-component.js +9 -2
  146. package/build/inputs/input-wrapper.d.ts.map +1 -1
  147. package/build/inputs/input-wrapper.js +2 -1
  148. package/build/inputs/input.d.ts +36 -0
  149. package/build/inputs/input.d.ts.map +1 -1
  150. package/build/inputs/input.js +26 -7
  151. package/build/inputs/money.d.ts +2 -0
  152. package/build/inputs/money.d.ts.map +1 -1
  153. package/build/inputs/money.js +6 -3
  154. package/build/inputs/name-for-component.d.ts +21 -2
  155. package/build/inputs/name-for-component.d.ts.map +1 -1
  156. package/build/inputs/name-for-component.js +9 -2
  157. package/build/inputs/select.d.ts +33 -0
  158. package/build/inputs/select.d.ts.map +1 -1
  159. package/build/inputs/select.js +21 -4
  160. package/build/instance-of-class-name.d.ts +7 -2
  161. package/build/instance-of-class-name.d.ts.map +1 -1
  162. package/build/instance-of-class-name.js +8 -4
  163. package/build/is-expo.d.ts.map +1 -1
  164. package/build/is-expo.js +2 -1
  165. package/build/key-value-store.d.ts +24 -14
  166. package/build/key-value-store.d.ts.map +1 -1
  167. package/build/key-value-store.js +22 -12
  168. package/build/link.d.ts +30 -0
  169. package/build/link.d.ts.map +1 -1
  170. package/build/link.js +76 -30
  171. package/build/logger.d.ts +10 -6
  172. package/build/logger.d.ts.map +1 -1
  173. package/build/logger.js +7 -4
  174. package/build/merge-styles.d.ts +10 -2
  175. package/build/merge-styles.d.ts.map +1 -1
  176. package/build/merge-styles.js +10 -3
  177. package/build/modal.d.ts +2 -0
  178. package/build/modal.d.ts.map +1 -1
  179. package/build/modal.js +6 -4
  180. package/build/model-class-require.d.ts +4 -2
  181. package/build/model-class-require.d.ts.map +1 -1
  182. package/build/model-class-require.js +4 -2
  183. package/build/model-events.d.ts +139 -346
  184. package/build/model-events.d.ts.map +1 -1
  185. package/build/model-events.js +21 -9
  186. package/build/model-name.d.ts +21 -7
  187. package/build/model-name.d.ts.map +1 -1
  188. package/build/model-name.js +12 -2
  189. package/build/model-prop-type.d.ts +533 -26
  190. package/build/model-prop-type.d.ts.map +1 -1
  191. package/build/model-prop-type.js +69 -11
  192. package/build/model-recipes-loader.d.ts +7 -3
  193. package/build/model-recipes-loader.d.ts.map +1 -1
  194. package/build/model-recipes-loader.js +4 -2
  195. package/build/model-recipes-model-loader.d.ts +189 -1493
  196. package/build/model-recipes-model-loader.d.ts.map +1 -1
  197. package/build/model-recipes-model-loader.js +119 -17
  198. package/build/models-response-reader.d.ts +600 -195
  199. package/build/models-response-reader.d.ts.map +1 -1
  200. package/build/models-response-reader.js +12 -4
  201. package/build/models.d.ts +438 -1
  202. package/build/models.d.ts.map +1 -1
  203. package/build/models.js +2 -1
  204. package/build/money-formatter.d.ts +25 -31
  205. package/build/money-formatter.d.ts.map +1 -1
  206. package/build/money-formatter.js +11 -8
  207. package/build/not-loaded-error.d.ts.map +1 -1
  208. package/build/not-loaded-error.js +2 -1
  209. package/build/params.d.ts +25 -17
  210. package/build/params.d.ts.map +1 -1
  211. package/build/params.js +19 -15
  212. package/build/preloaded.d.ts +61 -64
  213. package/build/preloaded.d.ts.map +1 -1
  214. package/build/preloaded.js +10 -4
  215. package/build/reset-realtime-runtime-state.d.ts.map +1 -1
  216. package/build/reset-realtime-runtime-state.js +2 -1
  217. package/build/resize-observer.d.ts.map +1 -1
  218. package/build/resize-observer.js +2 -1
  219. package/build/rest-props-validator.d.ts +2 -2
  220. package/build/rest-props-validator.d.ts.map +1 -1
  221. package/build/rest-props-validator.js +3 -2
  222. package/build/result.d.ts +142 -175
  223. package/build/result.d.ts.map +1 -1
  224. package/build/result.js +3 -2
  225. package/build/router/route.d.ts +50 -0
  226. package/build/router/route.d.ts.map +1 -1
  227. package/build/router/route.js +39 -10
  228. package/build/router/switch.d.ts +37 -1
  229. package/build/router/switch.d.ts.map +1 -1
  230. package/build/router/switch.js +29 -7
  231. package/build/router.d.ts +20 -0
  232. package/build/router.d.ts.map +1 -1
  233. package/build/router.js +15 -4
  234. package/build/routes-native.d.ts +13 -13
  235. package/build/routes-native.d.ts.map +1 -1
  236. package/build/routes-native.js +23 -11
  237. package/build/routes.d.ts +17 -9
  238. package/build/routes.d.ts.map +1 -1
  239. package/build/routes.js +7 -2
  240. package/build/run-last.d.ts.map +1 -1
  241. package/build/run-last.js +2 -1
  242. package/build/serializer.d.ts +44 -12
  243. package/build/serializer.d.ts.map +1 -1
  244. package/build/serializer.js +36 -7
  245. package/build/services.d.ts +29 -4
  246. package/build/services.d.ts.map +1 -1
  247. package/build/services.js +16 -4
  248. package/build/session-status-updater.d.ts +73 -25
  249. package/build/session-status-updater.d.ts.map +1 -1
  250. package/build/session-status-updater.js +52 -14
  251. package/build/source-maps-loader.d.ts +88 -33
  252. package/build/source-maps-loader.d.ts.map +1 -1
  253. package/build/source-maps-loader.js +74 -18
  254. package/build/super-admin/config-reader.d.ts.map +1 -1
  255. package/build/super-admin/config-reader.js +11 -16
  256. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +10 -0
  257. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  258. package/build/super-admin/edit-page/edit-attribute-checkbox.js +16 -4
  259. package/build/super-admin/edit-page/edit-attribute-content.d.ts +9 -0
  260. package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
  261. package/build/super-admin/edit-page/edit-attribute-content.js +15 -4
  262. package/build/super-admin/edit-page/edit-attribute-input.d.ts +8 -0
  263. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  264. package/build/super-admin/edit-page/edit-attribute-input.js +13 -4
  265. package/build/super-admin/edit-page/edit-attribute.d.ts +6 -0
  266. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  267. package/build/super-admin/edit-page/edit-attribute.js +11 -4
  268. package/build/super-admin/edit-page.d.ts +5 -0
  269. package/build/super-admin/edit-page.d.ts.map +1 -1
  270. package/build/super-admin/edit-page.js +11 -5
  271. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  272. package/build/super-admin/has-edit-config.js +2 -1
  273. package/build/super-admin/index-page.d.ts +4 -0
  274. package/build/super-admin/index-page.d.ts.map +1 -1
  275. package/build/super-admin/index-page.js +9 -4
  276. package/build/super-admin/index.d.ts +4 -0
  277. package/build/super-admin/index.d.ts.map +1 -1
  278. package/build/super-admin/index.js +12 -6
  279. package/build/super-admin/layout/header/index.d.ts +4 -0
  280. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  281. package/build/super-admin/layout/header/index.js +13 -8
  282. package/build/super-admin/layout/index.d.ts +24 -0
  283. package/build/super-admin/layout/index.d.ts.map +1 -1
  284. package/build/super-admin/layout/index.js +33 -5
  285. package/build/super-admin/layout/menu/index.d.ts +2 -0
  286. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  287. package/build/super-admin/layout/menu/index.js +8 -6
  288. package/build/super-admin/layout/menu/menu-content.d.ts +2 -0
  289. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  290. package/build/super-admin/layout/menu/menu-content.js +6 -4
  291. package/build/super-admin/layout/menu/menu-item.d.ts +9 -0
  292. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  293. package/build/super-admin/layout/menu/menu-item.js +15 -4
  294. package/build/super-admin/layout/no-access.d.ts +2 -0
  295. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  296. package/build/super-admin/layout/no-access.js +7 -5
  297. package/build/super-admin/model-class-table.d.ts +4 -0
  298. package/build/super-admin/model-class-table.d.ts.map +1 -1
  299. package/build/super-admin/model-class-table.js +9 -4
  300. package/build/super-admin/models.d.ts.map +1 -1
  301. package/build/super-admin/models.js +2 -1
  302. package/build/super-admin/show-nav.d.ts +2 -0
  303. package/build/super-admin/show-nav.d.ts.map +1 -1
  304. package/build/super-admin/show-nav.js +6 -4
  305. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +17 -1
  306. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  307. package/build/super-admin/show-page/belongs-to-attribute-row.js +14 -5
  308. package/build/super-admin/show-page/index.d.ts +4 -0
  309. package/build/super-admin/show-page/index.d.ts.map +1 -1
  310. package/build/super-admin/show-page/index.js +9 -4
  311. package/build/super-admin/show-reflection-actions.d.ts +6 -0
  312. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  313. package/build/super-admin/show-reflection-actions.js +11 -4
  314. package/build/super-admin/show-reflection-link.d.ts +4 -0
  315. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  316. package/build/super-admin/show-reflection-link.js +9 -4
  317. package/build/super-admin/show-reflection-page.d.ts +5 -0
  318. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  319. package/build/super-admin/show-reflection-page.js +10 -4
  320. package/build/table/column-content.d.ts +155 -19
  321. package/build/table/column-content.d.ts.map +1 -1
  322. package/build/table/column-content.js +55 -12
  323. package/build/table/column-identifier.d.ts +11 -2
  324. package/build/table/column-identifier.d.ts.map +1 -1
  325. package/build/table/column-identifier.js +7 -2
  326. package/build/table/column-visible.d.ts +11 -2
  327. package/build/table/column-visible.d.ts.map +1 -1
  328. package/build/table/column-visible.js +8 -2
  329. package/build/table/components/column.d.ts +2 -0
  330. package/build/table/components/column.d.ts.map +1 -1
  331. package/build/table/components/column.js +6 -4
  332. package/build/table/components/flat-list.d.ts +2 -0
  333. package/build/table/components/flat-list.d.ts.map +1 -1
  334. package/build/table/components/flat-list.js +6 -4
  335. package/build/table/components/header.d.ts +2 -0
  336. package/build/table/components/header.d.ts.map +1 -1
  337. package/build/table/components/header.js +6 -4
  338. package/build/table/components/row.d.ts +2 -0
  339. package/build/table/components/row.d.ts.map +1 -1
  340. package/build/table/components/row.js +6 -4
  341. package/build/table/filters/attribute-element.d.ts +2 -0
  342. package/build/table/filters/attribute-element.d.ts.map +1 -1
  343. package/build/table/filters/attribute-element.js +7 -7
  344. package/build/table/filters/filter-form.d.ts +58 -0
  345. package/build/table/filters/filter-form.d.ts.map +1 -1
  346. package/build/table/filters/filter-form.js +72 -9
  347. package/build/table/filters/filter.d.ts +2 -0
  348. package/build/table/filters/filter.d.ts.map +1 -1
  349. package/build/table/filters/filter.js +6 -4
  350. package/build/table/filters/index.d.ts +127 -0
  351. package/build/table/filters/index.d.ts.map +1 -1
  352. package/build/table/filters/index.js +21 -4
  353. package/build/table/filters/load-search-modal.d.ts +130 -0
  354. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  355. package/build/table/filters/load-search-modal.js +28 -6
  356. package/build/table/filters/reflection-element.d.ts +2 -0
  357. package/build/table/filters/reflection-element.d.ts.map +1 -1
  358. package/build/table/filters/reflection-element.js +6 -4
  359. package/build/table/filters/save-search-modal.d.ts +134 -0
  360. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  361. package/build/table/filters/save-search-modal.js +36 -5
  362. package/build/table/filters/scope-element.d.ts +6 -0
  363. package/build/table/filters/scope-element.d.ts.map +1 -1
  364. package/build/table/filters/scope-element.js +13 -8
  365. package/build/table/header-column-content.d.ts +7 -0
  366. package/build/table/header-column-content.d.ts.map +1 -1
  367. package/build/table/header-column-content.js +12 -4
  368. package/build/table/header-column.d.ts +50 -0
  369. package/build/table/header-column.d.ts.map +1 -1
  370. package/build/table/header-column.js +32 -5
  371. package/build/table/header-select.d.ts +18 -0
  372. package/build/table/header-select.d.ts.map +1 -1
  373. package/build/table/header-select.js +19 -4
  374. package/build/table/model-callback-args.d.ts +116 -3
  375. package/build/table/model-callback-args.d.ts.map +1 -1
  376. package/build/table/model-callback-args.js +10 -3
  377. package/build/table/model-column.d.ts +136 -0
  378. package/build/table/model-column.d.ts.map +1 -1
  379. package/build/table/model-column.js +27 -4
  380. package/build/table/model-row.d.ts +19 -0
  381. package/build/table/model-row.d.ts.map +1 -1
  382. package/build/table/model-row.js +24 -4
  383. package/build/table/select-calculator.d.ts +37 -2
  384. package/build/table/select-calculator.d.ts.map +1 -1
  385. package/build/table/select-calculator.js +29 -6
  386. package/build/table/settings/column-row.d.ts +6 -0
  387. package/build/table/settings/column-row.d.ts.map +1 -1
  388. package/build/table/settings/column-row.js +13 -12
  389. package/build/table/settings/download-action.d.ts +5 -0
  390. package/build/table/settings/download-action.d.ts.map +1 -1
  391. package/build/table/settings/download-action.js +10 -4
  392. package/build/table/settings/index.d.ts +5 -0
  393. package/build/table/settings/index.d.ts.map +1 -1
  394. package/build/table/settings/index.js +10 -4
  395. package/build/table/should-render-loading-content.d.ts +2 -2
  396. package/build/table/should-render-loading-content.d.ts.map +1 -1
  397. package/build/table/should-render-loading-content.js +3 -2
  398. package/build/table/table-settings.d.ts +236 -43
  399. package/build/table/table-settings.d.ts.map +1 -1
  400. package/build/table/table-settings.js +104 -20
  401. package/build/table/table.d.ts +271 -0
  402. package/build/table/table.d.ts.map +1 -1
  403. package/build/table/table.js +167 -16
  404. package/build/table/use-sorting.d.ts +10 -8
  405. package/build/table/use-sorting.d.ts.map +1 -1
  406. package/build/table/use-sorting.js +16 -8
  407. package/build/table/widths.d.ts +55 -8
  408. package/build/table/widths.d.ts.map +1 -1
  409. package/build/table/widths.js +25 -2
  410. package/build/table/worker-plugins-check-all-checkbox.d.ts +18 -0
  411. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  412. package/build/table/worker-plugins-check-all-checkbox.js +25 -5
  413. package/build/table/worker-plugins-checkbox.d.ts +5 -0
  414. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  415. package/build/table/worker-plugins-checkbox.js +10 -4
  416. package/build/translated-attributes.d.ts +7 -2
  417. package/build/translated-attributes.d.ts.map +1 -1
  418. package/build/translated-attributes.js +8 -2
  419. package/build/translated-collections.d.ts +11 -2
  420. package/build/translated-collections.d.ts.map +1 -1
  421. package/build/translated-collections.js +9 -3
  422. package/build/updated-attribute.d.ts.map +1 -1
  423. package/build/updated-attribute.js +2 -1
  424. package/build/url-encode.d.ts.map +1 -1
  425. package/build/url-encode.js +2 -1
  426. package/build/use-can-can.d.ts +2 -2
  427. package/build/use-can-can.d.ts.map +1 -1
  428. package/build/use-can-can.js +27 -12
  429. package/build/use-collection.d.ts +167 -121
  430. package/build/use-collection.d.ts.map +1 -1
  431. package/build/use-collection.js +113 -44
  432. package/build/use-created-event.d.ts +120 -11
  433. package/build/use-created-event.d.ts.map +1 -1
  434. package/build/use-created-event.js +10 -7
  435. package/build/use-current-user-context.d.ts +2 -2
  436. package/build/use-current-user-context.d.ts.map +1 -1
  437. package/build/use-current-user-context.js +3 -2
  438. package/build/use-current-user.d.ts +86 -70
  439. package/build/use-current-user.d.ts.map +1 -1
  440. package/build/use-current-user.js +36 -8
  441. package/build/use-destroyed-event.d.ts +117 -8
  442. package/build/use-destroyed-event.d.ts.map +1 -1
  443. package/build/use-destroyed-event.js +29 -22
  444. package/build/use-input.d.ts +74 -12
  445. package/build/use-input.d.ts.map +1 -1
  446. package/build/use-input.js +33 -5
  447. package/build/use-model-class-event.d.ts +124 -10
  448. package/build/use-model-class-event.d.ts.map +1 -1
  449. package/build/use-model-class-event.js +26 -16
  450. package/build/use-model-event.d.ts +121 -8
  451. package/build/use-model-event.d.ts.map +1 -1
  452. package/build/use-model-event.js +24 -19
  453. package/build/use-model.d.ts +162 -244
  454. package/build/use-model.d.ts.map +1 -1
  455. package/build/use-model.js +85 -32
  456. package/build/use-resize-observer.d.ts.map +1 -1
  457. package/build/use-resize-observer.js +2 -1
  458. package/build/use-router.d.ts.map +1 -1
  459. package/build/use-router.js +2 -1
  460. package/build/use-screen-layout.d.ts +7 -2
  461. package/build/use-screen-layout.d.ts.map +1 -1
  462. package/build/use-screen-layout.js +8 -5
  463. package/build/use-shape.js +2 -1
  464. package/build/use-styles.d.ts +11 -5
  465. package/build/use-styles.d.ts.map +1 -1
  466. package/build/use-styles.js +16 -9
  467. package/build/use-updated-event.d.ts +66 -182
  468. package/build/use-updated-event.d.ts.map +1 -1
  469. package/build/use-updated-event.js +22 -18
  470. package/build/use-validation-errors.d.ts.map +1 -1
  471. package/build/use-validation-errors.js +2 -1
  472. package/build/utils/button.d.ts +14 -0
  473. package/build/utils/button.d.ts.map +1 -1
  474. package/build/utils/button.js +24 -7
  475. package/build/utils/card.d.ts +9 -0
  476. package/build/utils/card.d.ts.map +1 -1
  477. package/build/utils/card.js +13 -2
  478. package/build/utils/checkbox.d.ts +12 -0
  479. package/build/utils/checkbox.d.ts.map +1 -1
  480. package/build/utils/checkbox.js +18 -4
  481. package/build/utils/checkboxes.d.ts +25 -0
  482. package/build/utils/checkboxes.d.ts.map +1 -1
  483. package/build/utils/checkboxes.js +29 -3
  484. package/build/utils/default-style.d.ts +10 -4
  485. package/build/utils/default-style.d.ts.map +1 -1
  486. package/build/utils/default-style.js +12 -4
  487. package/build/utils/header.d.ts +6 -1
  488. package/build/utils/header.d.ts.map +1 -1
  489. package/build/utils/header.js +4 -2
  490. package/build/utils/icon.d.ts +7 -6
  491. package/build/utils/icon.d.ts.map +1 -1
  492. package/build/utils/icon.js +12 -11
  493. package/build/utils/invalid-feedback.d.ts +4 -0
  494. package/build/utils/invalid-feedback.d.ts.map +1 -1
  495. package/build/utils/invalid-feedback.js +8 -2
  496. package/build/utils/modal.d.ts +2 -0
  497. package/build/utils/modal.d.ts.map +1 -1
  498. package/build/utils/modal.js +9 -7
  499. package/build/utils/text.d.ts +8 -1
  500. package/build/utils/text.d.ts.map +1 -1
  501. package/build/utils/text.js +9 -2
  502. package/build/validation-error.d.ts +5 -2
  503. package/build/validation-error.d.ts.map +1 -1
  504. package/build/validation-error.js +5 -2
  505. package/build/validation-errors.d.ts +57 -15
  506. package/build/validation-errors.d.ts.map +1 -1
  507. package/build/validation-errors.js +37 -8
  508. package/build/websocket-request-client.d.ts +61 -15
  509. package/build/websocket-request-client.d.ts.map +1 -1
  510. package/build/websocket-request-client.js +35 -9
  511. package/build/with-api-maker.d.ts.map +1 -1
  512. package/build/with-api-maker.js +2 -1
  513. package/build/with-collection.d.ts.map +1 -1
  514. package/build/with-collection.js +2 -1
  515. package/build/with-current-user.d.ts.map +1 -1
  516. package/build/with-current-user.js +2 -1
  517. package/build/with-model.d.ts.map +1 -1
  518. package/build/with-model.js +2 -1
  519. package/build/with-router.d.ts.map +1 -1
  520. package/build/with-router.js +2 -1
  521. package/package.json +4 -3
  522. package/build/base-component.d.ts +0 -5
  523. package/build/base-component.d.ts.map +0 -1
  524. package/build/base-component.js +0 -4
package/build/link.js CHANGED
@@ -1,14 +1,31 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable sort-imports */
3
4
  import { Platform, Pressable, StyleSheet } from "react-native";
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 React from "react";
8
8
  import dataSetToAttributes from "./data-set-to-attributes.js";
9
9
  import memo from "set-state-compare/build/memo.js";
10
10
  import { useApiMaker } from "./with-api-maker";
11
- export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
11
+ /** @typedef {{pressed?: boolean, focused?: boolean, hovered?: boolean}} LinkStyleState */
12
+ /**
13
+ * @typedef {Partial<import("react-native").ViewStyle & import("react").CSSProperties> &
14
+ * {paddingHorizontal?: number|string, paddingVertical?: number|string}} ResolvedStyle
15
+ */
16
+ /** @typedef {import("react-native").StyleProp<import("react-native").ViewStyle>} NativeLinkStyle */
17
+ /** @typedef {NativeLinkStyle | ((state: LinkStyleState) => NativeLinkStyle)} PressableLinkStyle */
18
+ /** @typedef {import("react").CSSProperties | PressableLinkStyle} LinkStyle */
19
+ /** @typedef {{paddingHorizontal?: number|string, paddingVertical?: number|string, style?: LinkStyle, usePressable?: boolean}} LinkStyleArgs */
20
+ /** @typedef {{paddingBottom?: number|string, paddingLeft?: number|string, paddingRight?: number|string, paddingTop?: number|string}} PaddingOverrides */
21
+ /**
22
+ * @typedef {object} Props
23
+ * @property {number|string} [paddingHorizontal]
24
+ * @property {number|string} [paddingVertical]
25
+ * @property {boolean} [usePressable]
26
+ */
27
+ /** @typedef {Record<string, never>} State */
28
+ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class ApiMakerLink extends ShapeComponent {
12
29
  static propTypes = {
13
30
  paddingHorizontal: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
14
31
  paddingVertical: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
@@ -21,18 +38,26 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
21
38
  const { dataSet, to, onClick, onPress, paddingHorizontal, paddingVertical, style, testID, usePressable, ...restProps } = this.props;
22
39
  const linkStyle = this.linkStyle({ paddingHorizontal, paddingVertical, style, usePressable });
23
40
  if (Platform.OS == "web" && !usePressable) {
24
- return (_jsx("a", { ...dataSetToAttributes(Object.assign({ testid: testID }, dataSet)), href: to || "#", onClick: this.tt.onLinkClicked, style: linkStyle, ...restProps }));
41
+ return (_jsx("a", { ...dataSetToAttributes(Object.assign({ testid: testID }, dataSet)), href: to || "#", onClick: this.tt.onLinkClicked, style: /** @type {import("react").CSSProperties} */ (linkStyle), ...restProps }));
25
42
  }
26
- return (_jsx(Pressable, { dataSet: dataSet, onPress: this.tt.onPress, style: linkStyle, testID: testID, ...restProps }));
43
+ return (_jsx(Pressable, { dataSet: dataSet, onPress: this.tt.onPress, style: /** @type {PressableLinkStyle} */ (linkStyle), testID: testID, ...restProps }));
27
44
  }
28
- /** Returns a cached style with padding props applied. */
45
+ /**
46
+ * Returns a cached style with padding props applied.
47
+ * @param {LinkStyleArgs} root0
48
+ * @returns {LinkStyle}
49
+ */
29
50
  linkStyle({ paddingHorizontal, paddingVertical, style, usePressable }) {
30
51
  if (Platform.OS == "web" && !usePressable) {
31
52
  return this.linkStyleForAnchor({ paddingHorizontal, paddingVertical, style });
32
53
  }
33
54
  return this.linkStyleForPressable({ paddingHorizontal, paddingVertical, style });
34
55
  }
35
- /** Returns the anchor style with padding props applied. */
56
+ /**
57
+ * Returns the anchor style with padding props applied.
58
+ * @param {LinkStyleArgs} root0
59
+ * @returns {import("react").CSSProperties}
60
+ */
36
61
  linkStyleForAnchor({ paddingHorizontal, paddingVertical, style }) {
37
62
  return this.cache("linkStyleForAnchor", () => {
38
63
  const resolvedStyle = this.resolveStyleForAnchor(style);
@@ -45,22 +70,26 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
45
70
  return { ...nextStyle, ...overrides };
46
71
  }, [paddingHorizontal, paddingVertical, style]);
47
72
  }
48
- /** Returns a Pressable-compatible style with padding props applied. */
73
+ /**
74
+ * Returns a Pressable-compatible style with padding props applied.
75
+ * @param {LinkStyleArgs} root0
76
+ * @returns {PressableLinkStyle}
77
+ */
49
78
  linkStyleForPressable({ paddingHorizontal, paddingVertical, style }) {
50
- return this.cache("linkStyleForPressable", () => {
79
+ return /** @type {PressableLinkStyle} */ (this.cache("linkStyleForPressable", () => {
51
80
  if (typeof style == "function") {
52
- return (state) => {
81
+ return /** @type {PressableLinkStyle} */ ((/** @type {LinkStyleState} */ state) => {
53
82
  const resolvedStyle = style(state);
54
83
  const overrides = this.paddingOverridesFromStyle({ paddingHorizontal, paddingVertical, style: resolvedStyle });
55
84
  if (!overrides)
56
85
  return resolvedStyle;
57
86
  if (Array.isArray(resolvedStyle))
58
- return [...resolvedStyle, overrides];
87
+ return /** @type {NativeLinkStyle} */ ([...resolvedStyle, overrides]);
59
88
  if (resolvedStyle && typeof resolvedStyle == "object") {
60
- return { ...this.stripPaddingShorthand(resolvedStyle), ...overrides };
89
+ return /** @type {NativeLinkStyle} */ ({ ...this.stripPaddingShorthand(resolvedStyle), ...overrides });
61
90
  }
62
- return [resolvedStyle, overrides];
63
- };
91
+ return /** @type {NativeLinkStyle} */ ([resolvedStyle, overrides]);
92
+ });
64
93
  }
65
94
  const overrides = this.paddingOverridesFromStyle({ paddingHorizontal, paddingVertical, style });
66
95
  if (!overrides)
@@ -68,27 +97,35 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
68
97
  if (!style)
69
98
  return overrides;
70
99
  if (Array.isArray(style))
71
- return [...style, overrides];
100
+ return /** @type {NativeLinkStyle} */ ([...style, overrides]);
72
101
  if (typeof style == "object") {
73
- return { ...this.stripPaddingShorthand(style), ...overrides };
102
+ return /** @type {NativeLinkStyle} */ ({ ...this.stripPaddingShorthand(style), ...overrides });
74
103
  }
75
- return [style, overrides];
76
- }, [paddingHorizontal, paddingVertical, style]);
104
+ return /** @type {NativeLinkStyle} */ ([style, overrides]);
105
+ }, [paddingHorizontal, paddingVertical, style]));
77
106
  }
78
- /** Resolves a style object for anchor rendering. */
107
+ /**
108
+ * Resolves a style object for anchor rendering.
109
+ * @param {LinkStyle | undefined} style
110
+ * @returns {ResolvedStyle}
111
+ */
79
112
  resolveStyleForAnchor(style) {
80
113
  if (typeof style == "function") {
81
- return StyleSheet.flatten(style({ pressed: false, focused: false, hovered: false })) || {};
114
+ return /** @type {ResolvedStyle} */ (StyleSheet.flatten(style({ pressed: false, focused: false, hovered: false })) || {});
82
115
  }
83
116
  if (Array.isArray(style))
84
- return StyleSheet.flatten(style) || {};
85
- return style || {};
117
+ return /** @type {ResolvedStyle} */ (StyleSheet.flatten(style) || {});
118
+ return /** @type {ResolvedStyle} */ (style || {});
86
119
  }
87
- /** Returns padding overrides based on the resolved style. */
120
+ /**
121
+ * Returns padding overrides based on the resolved style.
122
+ * @param {LinkStyleArgs} root0
123
+ * @returns {PaddingOverrides | null}
124
+ */
88
125
  paddingOverridesFromStyle({ paddingHorizontal, paddingVertical, style }) {
89
- const styleObject = StyleSheet.flatten(style) || {};
90
- const stylePaddingHorizontal = styleObject.paddingHorizontal;
91
- const stylePaddingVertical = styleObject.paddingVertical;
126
+ const styleObject = /** @type {ResolvedStyle} */ (StyleSheet.flatten(style) || {});
127
+ const stylePaddingHorizontal = /** @type {number | string | undefined} */ (styleObject.paddingHorizontal);
128
+ const stylePaddingVertical = /** @type {number | string | undefined} */ (styleObject.paddingVertical);
92
129
  const paddingHorizontalDefined = this.isDefined(paddingHorizontal);
93
130
  const paddingVerticalDefined = this.isDefined(paddingVertical);
94
131
  const stylePaddingHorizontalDefined = this.isDefined(stylePaddingHorizontal);
@@ -114,14 +151,23 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
114
151
  }
115
152
  return overrides;
116
153
  }
117
- /** Removes padding shorthand values from a style object. */
154
+ /**
155
+ * Removes padding shorthand values from a style object.
156
+ * @param {ResolvedStyle | import("react-native").ViewStyle | import("react").CSSProperties} style
157
+ * @returns {ResolvedStyle}
158
+ */
118
159
  stripPaddingShorthand(style) {
119
- const nextStyle = { ...style };
160
+ const nextStyle = /** @type {ResolvedStyle} */ ({ ...style });
120
161
  delete nextStyle.paddingHorizontal;
121
162
  delete nextStyle.paddingVertical;
122
163
  return nextStyle;
123
164
  }
124
- /** Returns true when a value is neither null nor undefined. */
165
+ /**
166
+ * Returns true when a value is neither null nor undefined.
167
+ * @template T
168
+ * @param {T | null | undefined} value
169
+ * @returns {value is T}
170
+ */
125
171
  isDefined(value) {
126
172
  return value !== null && value !== undefined;
127
173
  }
@@ -161,4 +207,4 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
161
207
  history.push(this.props.to);
162
208
  }
163
209
  }));
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibGluay5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQzVDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxtQkFBbUIsTUFBTSw2QkFBNkIsQ0FBQTtBQUM3RCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFNUMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sWUFBYSxTQUFRLGFBQWE7SUFDekUsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixpQkFBaUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxZQUFZLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDN0IsQ0FBQTtJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFT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QUFDLENBQUE7SUFFRCxRQUFRLEdBQUcsR0FBRyxFQUFFO1FBQ2QsNkdBQTZHO1FBQzdHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ1AsQ0FBQyxDQUFBO0lBRUQsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRWpELElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFBO1FBRXZGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM3QixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7UGxhdGZvcm0sIFByZXNzYWJsZSwgU3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgZGF0YVNldFRvQXR0cmlidXRlcyBmcm9tIFwiLi9kYXRhLXNldC10by1hdHRyaWJ1dGVzLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7dXNlQXBpTWFrZXJ9IGZyb20gXCIuL3dpdGgtYXBpLW1ha2VyXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckxpbmsgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBwYWRkaW5nSG9yaXpvbnRhbDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIHBhZGRpbmdWZXJ0aWNhbDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIHVzZVByZXNzYWJsZTogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuYXBpTWFrZXIgPSB1c2VBcGlNYWtlcigpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXQsIHRvLCBvbkNsaWNrLCBvblByZXNzLCBwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZSwgdGVzdElELCB1c2VQcmVzc2FibGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgbGlua1N0eWxlID0gdGhpcy5saW5rU3R5bGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlLCB1c2VQcmVzc2FibGV9KVxuXG4gICAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIgJiYgIXVzZVByZXNzYWJsZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGFcbiAgICAgICAgICB7Li4uZGF0YVNldFRvQXR0cmlidXRlcyhPYmplY3QuYXNzaWduKHt0ZXN0aWQ6IHRlc3RJRH0sIGRhdGFTZXQpKX0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItb2JqZWN0LXNwcmVhZFxuICAgICAgICAgIGhyZWY9e3RvIHx8IFwiI1wifVxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25MaW5rQ2xpY2tlZH1cbiAgICAgICAgICBzdHlsZT17bGlua1N0eWxlfVxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmVzc2FibGUgZGF0YVNldD17ZGF0YVNldH0gb25QcmVzcz17dGhpcy50dC5vblByZXNzfSBzdHlsZT17bGlua1N0eWxlfSB0ZXN0SUQ9e3Rlc3RJRH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICApXG4gIH1cblxuICAvKiogUmV0dXJucyBhIGNhY2hlZCBzdHlsZSB3aXRoIHBhZGRpbmcgcHJvcHMgYXBwbGllZC4gKi9cbiAgbGlua1N0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZSwgdXNlUHJlc3NhYmxlfSkge1xuICAgIGlmIChQbGF0Zm9ybS5PUyA9PSBcIndlYlwiICYmICF1c2VQcmVzc2FibGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpbmtTdHlsZUZvckFuY2hvcih7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGV9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxpbmtTdHlsZUZvclByZXNzYWJsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGV9KVxuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGFuY2hvciBzdHlsZSB3aXRoIHBhZGRpbmcgcHJvcHMgYXBwbGllZC4gKi9cbiAgbGlua1N0eWxlRm9yQW5jaG9yKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZShcImxpbmtTdHlsZUZvckFuY2hvclwiLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXNvbHZlZFN0eWxlID0gdGhpcy5yZXNvbHZlU3R5bGVGb3JBbmNob3Ioc3R5bGUpXG4gICAgICBjb25zdCBvdmVycmlkZXMgPSB0aGlzLnBhZGRpbmdPdmVycmlkZXNGcm9tU3R5bGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlOiByZXNvbHZlZFN0eWxlfSlcblxuICAgICAgaWYgKCFvdmVycmlkZXMpIHJldHVybiByZXNvbHZlZFN0eWxlXG5cbiAgICAgIGNvbnN0IG5leHRTdHlsZSA9IHsuLi5yZXNvbHZlZFN0eWxlfVxuXG4gICAgICBkZWxldGUgbmV4dFN0eWxlLnBhZGRpbmdIb3Jpem9udGFsXG4gICAgICBkZWxldGUgbmV4dFN0eWxlLnBhZGRpbmdWZXJ0aWNhbFxuXG4gICAgICByZXR1cm4gey4uLm5leHRTdHlsZSwgLi4ub3ZlcnJpZGVzfVxuICAgIH0sIFtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZV0pXG4gIH1cblxuICAvKiogUmV0dXJucyBhIFByZXNzYWJsZS1jb21wYXRpYmxlIHN0eWxlIHdpdGggcGFkZGluZyBwcm9wcyBhcHBsaWVkLiAqL1xuICBsaW5rU3R5bGVGb3JQcmVzc2FibGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlKFwibGlua1N0eWxlRm9yUHJlc3NhYmxlXCIsICgpID0+IHtcbiAgICAgIGlmICh0eXBlb2Ygc3R5bGUgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiAoc3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZFN0eWxlID0gc3R5bGUoc3RhdGUpXG4gICAgICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZTogcmVzb2x2ZWRTdHlsZX0pXG5cbiAgICAgICAgICBpZiAoIW92ZXJyaWRlcykgcmV0dXJuIHJlc29sdmVkU3R5bGVcblxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc29sdmVkU3R5bGUpKSByZXR1cm4gWy4uLnJlc29sdmVkU3R5bGUsIG92ZXJyaWRlc11cblxuICAgICAgICAgIGlmIChyZXNvbHZlZFN0eWxlICYmIHR5cGVvZiByZXNvbHZlZFN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiB7Li4udGhpcy5zdHJpcFBhZGRpbmdTaG9ydGhhbmQocmVzb2x2ZWRTdHlsZSksIC4uLm92ZXJyaWRlc31cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW3Jlc29sdmVkU3R5bGUsIG92ZXJyaWRlc11cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvdmVycmlkZXMgPSB0aGlzLnBhZGRpbmdPdmVycmlkZXNGcm9tU3R5bGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcblxuICAgICAgaWYgKCFvdmVycmlkZXMpIHJldHVybiBzdHlsZVxuXG4gICAgICBpZiAoIXN0eWxlKSByZXR1cm4gb3ZlcnJpZGVzXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHN0eWxlKSkgcmV0dXJuIFsuLi5zdHlsZSwgb3ZlcnJpZGVzXVxuXG4gICAgICBpZiAodHlwZW9mIHN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHsuLi50aGlzLnN0cmlwUGFkZGluZ1Nob3J0aGFuZChzdHlsZSksIC4uLm92ZXJyaWRlc31cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFtzdHlsZSwgb3ZlcnJpZGVzXVxuICAgIH0sIFtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZV0pXG4gIH1cblxuICAvKiogUmVzb2x2ZXMgYSBzdHlsZSBvYmplY3QgZm9yIGFuY2hvciByZW5kZXJpbmcuICovXG4gIHJlc29sdmVTdHlsZUZvckFuY2hvcihzdHlsZSkge1xuICAgIGlmICh0eXBlb2Ygc3R5bGUgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKHtwcmVzc2VkOiBmYWxzZSwgZm9jdXNlZDogZmFsc2UsIGhvdmVyZWQ6IGZhbHNlfSkpIHx8IHt9XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc3R5bGUpKSByZXR1cm4gU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKSB8fCB7fVxuXG4gICAgcmV0dXJuIHN0eWxlIHx8IHt9XG4gIH1cblxuICAvKiogUmV0dXJucyBwYWRkaW5nIG92ZXJyaWRlcyBiYXNlZCBvbiB0aGUgcmVzb2x2ZWQgc3R5bGUuICovXG4gIHBhZGRpbmdPdmVycmlkZXNGcm9tU3R5bGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSkge1xuICAgIGNvbnN0IHN0eWxlT2JqZWN0ID0gU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKSB8fCB7fVxuICAgIGNvbnN0IHN0eWxlUGFkZGluZ0hvcml6b250YWwgPSBzdHlsZU9iamVjdC5wYWRkaW5nSG9yaXpvbnRhbFxuICAgIGNvbnN0IHN0eWxlUGFkZGluZ1ZlcnRpY2FsID0gc3R5bGVPYmplY3QucGFkZGluZ1ZlcnRpY2FsXG4gICAgY29uc3QgcGFkZGluZ0hvcml6b250YWxEZWZpbmVkID0gdGhpcy5pc0RlZmluZWQocGFkZGluZ0hvcml6b250YWwpXG4gICAgY29uc3QgcGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHBhZGRpbmdWZXJ0aWNhbClcbiAgICBjb25zdCBzdHlsZVBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHN0eWxlUGFkZGluZ0hvcml6b250YWwpXG4gICAgY29uc3Qgc3R5bGVQYWRkaW5nVmVydGljYWxEZWZpbmVkID0gdGhpcy5pc0RlZmluZWQoc3R5bGVQYWRkaW5nVmVydGljYWwpXG4gICAgY29uc3QgaGFzUGFkZGluZ0hvcml6b250YWwgPSBwYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgfHwgc3R5bGVQYWRkaW5nSG9yaXpvbnRhbERlZmluZWRcbiAgICBjb25zdCBoYXNQYWRkaW5nVmVydGljYWwgPSBwYWRkaW5nVmVydGljYWxEZWZpbmVkIHx8IHN0eWxlUGFkZGluZ1ZlcnRpY2FsRGVmaW5lZFxuXG4gICAgaWYgKCFoYXNQYWRkaW5nSG9yaXpvbnRhbCAmJiAhaGFzUGFkZGluZ1ZlcnRpY2FsKSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgcmVzb2x2ZWRQYWRkaW5nSG9yaXpvbnRhbCA9IHBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZCA/IHBhZGRpbmdIb3Jpem9udGFsIDogc3R5bGVQYWRkaW5nSG9yaXpvbnRhbFxuICAgIGNvbnN0IHJlc29sdmVkUGFkZGluZ1ZlcnRpY2FsID0gcGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCA/IHBhZGRpbmdWZXJ0aWNhbCA6IHN0eWxlUGFkZGluZ1ZlcnRpY2FsXG4gICAgY29uc3Qgb3ZlcnJpZGVzID0ge31cblxuICAgIGlmICh0aGlzLmlzRGVmaW5lZChyZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsKSkge1xuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nTGVmdCkpIG92ZXJyaWRlcy5wYWRkaW5nTGVmdCA9IHJlc29sdmVkUGFkZGluZ0hvcml6b250YWxcbiAgICAgIGlmICghdGhpcy5pc0RlZmluZWQoc3R5bGVPYmplY3QucGFkZGluZ1JpZ2h0KSkgb3ZlcnJpZGVzLnBhZGRpbmdSaWdodCA9IHJlc29sdmVkUGFkZGluZ0hvcml6b250YWxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0RlZmluZWQocmVzb2x2ZWRQYWRkaW5nVmVydGljYWwpKSB7XG4gICAgICBpZiAoIXRoaXMuaXNEZWZpbmVkKHN0eWxlT2JqZWN0LnBhZGRpbmdUb3ApKSBvdmVycmlkZXMucGFkZGluZ1RvcCA9IHJlc29sdmVkUGFkZGluZ1ZlcnRpY2FsXG4gICAgICBpZiAoIXRoaXMuaXNEZWZpbmVkKHN0eWxlT2JqZWN0LnBhZGRpbmdCb3R0b20pKSBvdmVycmlkZXMucGFkZGluZ0JvdHRvbSA9IHJlc29sdmVkUGFkZGluZ1ZlcnRpY2FsXG4gICAgfVxuXG4gICAgcmV0dXJuIG92ZXJyaWRlc1xuICB9XG5cbiAgLyoqIFJlbW92ZXMgcGFkZGluZyBzaG9ydGhhbmQgdmFsdWVzIGZyb20gYSBzdHlsZSBvYmplY3QuICovXG4gIHN0cmlwUGFkZGluZ1Nob3J0aGFuZChzdHlsZSkge1xuICAgIGNvbnN0IG5leHRTdHlsZSA9IHsuLi5zdHlsZX1cblxuICAgIGRlbGV0ZSBuZXh0U3R5bGUucGFkZGluZ0hvcml6b250YWxcbiAgICBkZWxldGUgbmV4dFN0eWxlLnBhZGRpbmdWZXJ0aWNhbFxuXG4gICAgcmV0dXJuIG5leHRTdHlsZVxuICB9XG5cbiAgLyoqIFJldHVybnMgdHJ1ZSB3aGVuIGEgdmFsdWUgaXMgbmVpdGhlciBudWxsIG5vciB1bmRlZmluZWQuICovXG4gIGlzRGVmaW5lZCh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBvbkxpbmtDbGlja2VkID0gKGUsIC4uLnJlc3RBcmdzKSA9PiB7XG4gICAgY29uc3Qge29uQ2xpY2ssIG9uUHJlc3N9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgIG9uQ2xpY2soZSwgLi4ucmVzdEFyZ3MpXG4gICAgfVxuXG4gICAgaWYgKG9uUHJlc3MpIHtcbiAgICAgIG9uUHJlc3MoZSwgLi4ucmVzdEFyZ3MpXG4gICAgfVxuXG4gICAgaWYgKCFlLmRlZmF1bHRQcmV2ZW50ZWQgJiYgIWUuY3RybEtleSAmJiAhZS5tZXRhS2V5ICYmIHRoaXMucHJvcHMudGFyZ2V0ICE9IFwiX2JsYW5rXCIpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgICB0aGlzLnJlZGlyZWN0KClcbiAgICB9XG4gIH1cblxuICBvblByZXNzID0gKGUsIC4uLnJlc3RBcmdzKSA9PiB7XG4gICAgY29uc3Qge29uQ2xpY2ssIG9uUHJlc3N9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgIG9uQ2xpY2soZSwgLi4ucmVzdEFyZ3MpXG4gICAgfVxuXG4gICAgaWYgKG9uUHJlc3MpIHtcbiAgICAgIG9uUHJlc3MoZSwgLi4ucmVzdEFyZ3MpXG4gICAgfVxuXG4gICAgdGhpcy5yZWRpcmVjdCgpXG4gIH1cblxuICByZWRpcmVjdCA9ICgpID0+IHtcbiAgICAvLyBJZiBubyB0aW1lb3V0IGlzIHVzZWQsIHRoaXMgY2FuIGNhdXNlIGFuIFwiY29tcG9uZW50IHN1c3BlbmRlZCB3aGlsZSByZXNwb25kaW5nIHRvIHN5bmNocm9ub3VzIGlucHV0XCItZXJyb3JcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2hpc3RvcnlQdXNoKClcbiAgICB9LCAwKVxuICB9XG5cbiAgX2hpc3RvcnlQdXNoKCkge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmFwaU1ha2VyLmNvbmZpZy5nZXRIaXN0b3J5KClcblxuICAgIGlmICghaGlzdG9yeSkgdGhyb3cgbmV3IEVycm9yKFwiSGlzdG9yeSBoYXNuJ3QgYmVlbiBzZXQgaW4gdGhlIEFQSSBtYWtlciBjb25maWd1cmF0aW9uXCIpXG5cbiAgICBoaXN0b3J5LnB1c2godGhpcy5wcm9wcy50bylcbiAgfVxufSkpXG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibGluay5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLG1CQUFtQixNQUFNLDZCQUE2QixDQUFBO0FBQzdELE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU1QywwRkFBMEY7QUFDMUY7OztHQUdHO0FBQ0gsb0dBQW9HO0FBQ3BHLG1HQUFtRztBQUNuRyw4RUFBOEU7QUFDOUUsK0lBQStJO0FBQy9JLHlKQUF5SjtBQUV6Sjs7Ozs7R0FLRztBQUNILDZDQUE2QztBQUM3QyxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxZQUFhLFNBQVEsY0FBYztJQUMxSCxNQUFNLENBQUMsU0FBUyxHQUFHO1FBQ2pCLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RSxlQUFlLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLFlBQVksRUFBRSxTQUFTLENBQUMsSUFBSTtLQUM3QixDQUFBO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUE7SUFDL0IsQ0FBQztJQUVELE1BQU07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dCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtQbGF0Zm9ybSwgUHJlc3NhYmxlLCBTdHlsZVNoZWV0fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgZGF0YVNldFRvQXR0cmlidXRlcyBmcm9tIFwiLi9kYXRhLXNldC10by1hdHRyaWJ1dGVzLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7dXNlQXBpTWFrZXJ9IGZyb20gXCIuL3dpdGgtYXBpLW1ha2VyXCJcblxuLyoqIEB0eXBlZGVmIHt7cHJlc3NlZD86IGJvb2xlYW4sIGZvY3VzZWQ/OiBib29sZWFuLCBob3ZlcmVkPzogYm9vbGVhbn19IExpbmtTdHlsZVN0YXRlICovXG4vKipcbiAqIEB0eXBlZGVmIHtQYXJ0aWFsPGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5WaWV3U3R5bGUgJiBpbXBvcnQoXCJyZWFjdFwiKS5DU1NQcm9wZXJ0aWVzPiAmXG4gKiAgIHtwYWRkaW5nSG9yaXpvbnRhbD86IG51bWJlcnxzdHJpbmcsIHBhZGRpbmdWZXJ0aWNhbD86IG51bWJlcnxzdHJpbmd9fSBSZXNvbHZlZFN0eWxlXG4gKi9cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlN0eWxlUHJvcDxpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuVmlld1N0eWxlPn0gTmF0aXZlTGlua1N0eWxlICovXG4vKiogQHR5cGVkZWYge05hdGl2ZUxpbmtTdHlsZSB8ICgoc3RhdGU6IExpbmtTdHlsZVN0YXRlKSA9PiBOYXRpdmVMaW5rU3R5bGUpfSBQcmVzc2FibGVMaW5rU3R5bGUgKi9cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3RcIikuQ1NTUHJvcGVydGllcyB8IFByZXNzYWJsZUxpbmtTdHlsZX0gTGlua1N0eWxlICovXG4vKiogQHR5cGVkZWYge3twYWRkaW5nSG9yaXpvbnRhbD86IG51bWJlcnxzdHJpbmcsIHBhZGRpbmdWZXJ0aWNhbD86IG51bWJlcnxzdHJpbmcsIHN0eWxlPzogTGlua1N0eWxlLCB1c2VQcmVzc2FibGU/OiBib29sZWFufX0gTGlua1N0eWxlQXJncyAqL1xuLyoqIEB0eXBlZGVmIHt7cGFkZGluZ0JvdHRvbT86IG51bWJlcnxzdHJpbmcsIHBhZGRpbmdMZWZ0PzogbnVtYmVyfHN0cmluZywgcGFkZGluZ1JpZ2h0PzogbnVtYmVyfHN0cmluZywgcGFkZGluZ1RvcD86IG51bWJlcnxzdHJpbmd9fSBQYWRkaW5nT3ZlcnJpZGVzICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfHN0cmluZ30gW3BhZGRpbmdIb3Jpem9udGFsXVxuICogQHByb3BlcnR5IHtudW1iZXJ8c3RyaW5nfSBbcGFkZGluZ1ZlcnRpY2FsXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbdXNlUHJlc3NhYmxlXVxuICovXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIG5ldmVyPn0gU3RhdGUgKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJMaW5rIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHBhZGRpbmdIb3Jpem9udGFsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgcGFkZGluZ1ZlcnRpY2FsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgdXNlUHJlc3NhYmxlOiBQcm9wVHlwZXMuYm9vbFxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5hcGlNYWtlciA9IHVzZUFwaU1ha2VyKClcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7ZGF0YVNldCwgdG8sIG9uQ2xpY2ssIG9uUHJlc3MsIHBhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlLCB0ZXN0SUQsIHVzZVByZXNzYWJsZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBsaW5rU3R5bGUgPSB0aGlzLmxpbmtTdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHVzZVByZXNzYWJsZX0pXG5cbiAgICBpZiAoUGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJiAhdXNlUHJlc3NhYmxlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8YVxuICAgICAgICAgIHsuLi5kYXRhU2V0VG9BdHRyaWJ1dGVzKE9iamVjdC5hc3NpZ24oe3Rlc3RpZDogdGVzdElEfSwgZGF0YVNldCkpfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByZWZlci1vYmplY3Qtc3ByZWFkXG4gICAgICAgICAgaHJlZj17dG8gfHwgXCIjXCJ9XG4gICAgICAgICAgb25DbGljaz17dGhpcy50dC5vbkxpbmtDbGlja2VkfVxuICAgICAgICAgIHN0eWxlPXsvKiogQHR5cGUge2ltcG9ydChcInJlYWN0XCIpLkNTU1Byb3BlcnRpZXN9ICovIChsaW5rU3R5bGUpfVxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgZGF0YVNldD17ZGF0YVNldH1cbiAgICAgICAgb25QcmVzcz17dGhpcy50dC5vblByZXNzfVxuICAgICAgICBzdHlsZT17LyoqIEB0eXBlIHtQcmVzc2FibGVMaW5rU3R5bGV9ICovIChsaW5rU3R5bGUpfVxuICAgICAgICB0ZXN0SUQ9e3Rlc3RJRH1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgIC8+XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjYWNoZWQgc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuXG4gICAqIEBwYXJhbSB7TGlua1N0eWxlQXJnc30gcm9vdDBcbiAgICogQHJldHVybnMge0xpbmtTdHlsZX1cbiAgICovXG4gIGxpbmtTdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHVzZVByZXNzYWJsZX0pIHtcbiAgICBpZiAoUGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJiAhdXNlUHJlc3NhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JBbmNob3Ioe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JQcmVzc2FibGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhbmNob3Igc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuXG4gICAqIEBwYXJhbSB7TGlua1N0eWxlQXJnc30gcm9vdDBcbiAgICogQHJldHVybnMge2ltcG9ydChcInJlYWN0XCIpLkNTU1Byb3BlcnRpZXN9XG4gICAqL1xuICBsaW5rU3R5bGVGb3JBbmNob3Ioe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlKFwibGlua1N0eWxlRm9yQW5jaG9yXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc29sdmVkU3R5bGUgPSB0aGlzLnJlc29sdmVTdHlsZUZvckFuY2hvcihzdHlsZSlcbiAgICAgIGNvbnN0IG92ZXJyaWRlcyA9IHRoaXMucGFkZGluZ092ZXJyaWRlc0Zyb21TdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGU6IHJlc29sdmVkU3R5bGV9KVxuXG4gICAgICBpZiAoIW92ZXJyaWRlcykgcmV0dXJuIHJlc29sdmVkU3R5bGVcblxuICAgICAgY29uc3QgbmV4dFN0eWxlID0gey4uLnJlc29sdmVkU3R5bGV9XG5cbiAgICAgIGRlbGV0ZSBuZXh0U3R5bGUucGFkZGluZ0hvcml6b250YWxcbiAgICAgIGRlbGV0ZSBuZXh0U3R5bGUucGFkZGluZ1ZlcnRpY2FsXG5cbiAgICAgIHJldHVybiB7Li4ubmV4dFN0eWxlLCAuLi5vdmVycmlkZXN9XG4gICAgfSwgW3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlXSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgUHJlc3NhYmxlLWNvbXBhdGlibGUgc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuXG4gICogQHBhcmFtIHtMaW5rU3R5bGVBcmdzfSByb290MFxuICAqIEByZXR1cm5zIHtQcmVzc2FibGVMaW5rU3R5bGV9XG4gICovXG4gIGxpbmtTdHlsZUZvclByZXNzYWJsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGV9KSB7XG4gICAgcmV0dXJuIC8qKiBAdHlwZSB7UHJlc3NhYmxlTGlua1N0eWxlfSAqLyAodGhpcy5jYWNoZShcImxpbmtTdHlsZUZvclByZXNzYWJsZVwiLCAoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHN0eWxlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHtQcmVzc2FibGVMaW5rU3R5bGV9ICovICgoLyoqIEB0eXBlIHtMaW5rU3R5bGVTdGF0ZX0gKi8gc3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZFN0eWxlID0gc3R5bGUoc3RhdGUpXG4gICAgICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZTogcmVzb2x2ZWRTdHlsZX0pXG5cbiAgICAgICAgICBpZiAoIW92ZXJyaWRlcykgcmV0dXJuIHJlc29sdmVkU3R5bGVcblxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc29sdmVkU3R5bGUpKSByZXR1cm4gLyoqIEB0eXBlIHtOYXRpdmVMaW5rU3R5bGV9ICovIChbLi4ucmVzb2x2ZWRTdHlsZSwgb3ZlcnJpZGVzXSlcblxuICAgICAgICAgIGlmIChyZXNvbHZlZFN0eWxlICYmIHR5cGVvZiByZXNvbHZlZFN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiAvKiogQHR5cGUge05hdGl2ZUxpbmtTdHlsZX0gKi8gKHsuLi50aGlzLnN0cmlwUGFkZGluZ1Nob3J0aGFuZChyZXNvbHZlZFN0eWxlKSwgLi4ub3ZlcnJpZGVzfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHtOYXRpdmVMaW5rU3R5bGV9ICovIChbcmVzb2x2ZWRTdHlsZSwgb3ZlcnJpZGVzXSlcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pXG5cbiAgICAgIGlmICghb3ZlcnJpZGVzKSByZXR1cm4gc3R5bGVcblxuICAgICAgaWYgKCFzdHlsZSkgcmV0dXJuIG92ZXJyaWRlc1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzdHlsZSkpIHJldHVybiAvKiogQHR5cGUge05hdGl2ZUxpbmtTdHlsZX0gKi8gKFsuLi5zdHlsZSwgb3ZlcnJpZGVzXSlcblxuICAgICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiAvKiogQHR5cGUge05hdGl2ZUxpbmtTdHlsZX0gKi8gKHsuLi50aGlzLnN0cmlwUGFkZGluZ1Nob3J0aGFuZChzdHlsZSksIC4uLm92ZXJyaWRlc30pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAvKiogQHR5cGUge05hdGl2ZUxpbmtTdHlsZX0gKi8gKFtzdHlsZSwgb3ZlcnJpZGVzXSlcbiAgICB9LCBbcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGVdKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIHN0eWxlIG9iamVjdCBmb3IgYW5jaG9yIHJlbmRlcmluZy5cbiAgICogQHBhcmFtIHtMaW5rU3R5bGUgfCB1bmRlZmluZWR9IHN0eWxlXG4gICAqIEByZXR1cm5zIHtSZXNvbHZlZFN0eWxlfVxuICAgKi9cbiAgcmVzb2x2ZVN0eWxlRm9yQW5jaG9yKHN0eWxlKSB7XG4gICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiAvKiogQHR5cGUge1Jlc29sdmVkU3R5bGV9ICovIChTdHlsZVNoZWV0LmZsYXR0ZW4oc3R5bGUoe3ByZXNzZWQ6IGZhbHNlLCBmb2N1c2VkOiBmYWxzZSwgaG92ZXJlZDogZmFsc2V9KSkgfHwge30pXG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc3R5bGUpKSByZXR1cm4gLyoqIEB0eXBlIHtSZXNvbHZlZFN0eWxlfSAqLyAoU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKSB8fCB7fSlcblxuICAgIHJldHVybiAvKiogQHR5cGUge1Jlc29sdmVkU3R5bGV9ICovIChzdHlsZSB8fCB7fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhZGRpbmcgb3ZlcnJpZGVzIGJhc2VkIG9uIHRoZSByZXNvbHZlZCBzdHlsZS5cbiAgICogQHBhcmFtIHtMaW5rU3R5bGVBcmdzfSByb290MFxuICAgKiBAcmV0dXJucyB7UGFkZGluZ092ZXJyaWRlcyB8IG51bGx9XG4gICAqL1xuICBwYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICBjb25zdCBzdHlsZU9iamVjdCA9IC8qKiBAdHlwZSB7UmVzb2x2ZWRTdHlsZX0gKi8gKFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSkgfHwge30pXG4gICAgY29uc3Qgc3R5bGVQYWRkaW5nSG9yaXpvbnRhbCA9IC8qKiBAdHlwZSB7bnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkfSAqLyAoc3R5bGVPYmplY3QucGFkZGluZ0hvcml6b250YWwpXG4gICAgY29uc3Qgc3R5bGVQYWRkaW5nVmVydGljYWwgPSAvKiogQHR5cGUge251bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZH0gKi8gKHN0eWxlT2JqZWN0LnBhZGRpbmdWZXJ0aWNhbClcbiAgICBjb25zdCBwYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChwYWRkaW5nSG9yaXpvbnRhbClcbiAgICBjb25zdCBwYWRkaW5nVmVydGljYWxEZWZpbmVkID0gdGhpcy5pc0RlZmluZWQocGFkZGluZ1ZlcnRpY2FsKVxuICAgIGNvbnN0IHN0eWxlUGFkZGluZ0hvcml6b250YWxEZWZpbmVkID0gdGhpcy5pc0RlZmluZWQoc3R5bGVQYWRkaW5nSG9yaXpvbnRhbClcbiAgICBjb25zdCBzdHlsZVBhZGRpbmdWZXJ0aWNhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChzdHlsZVBhZGRpbmdWZXJ0aWNhbClcbiAgICBjb25zdCBoYXNQYWRkaW5nSG9yaXpvbnRhbCA9IHBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZCB8fCBzdHlsZVBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZFxuICAgIGNvbnN0IGhhc1BhZGRpbmdWZXJ0aWNhbCA9IHBhZGRpbmdWZXJ0aWNhbERlZmluZWQgfHwgc3R5bGVQYWRkaW5nVmVydGljYWxEZWZpbmVkXG5cbiAgICBpZiAoIWhhc1BhZGRpbmdIb3Jpem9udGFsICYmICFoYXNQYWRkaW5nVmVydGljYWwpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCByZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsID0gcGFkZGluZ0hvcml6b250YWxEZWZpbmVkID8gcGFkZGluZ0hvcml6b250YWwgOiBzdHlsZVBhZGRpbmdIb3Jpem9udGFsXG4gICAgY29uc3QgcmVzb2x2ZWRQYWRkaW5nVmVydGljYWwgPSBwYWRkaW5nVmVydGljYWxEZWZpbmVkID8gcGFkZGluZ1ZlcnRpY2FsIDogc3R5bGVQYWRkaW5nVmVydGljYWxcbiAgICBjb25zdCBvdmVycmlkZXMgPSB7fVxuXG4gICAgaWYgKHRoaXMuaXNEZWZpbmVkKHJlc29sdmVkUGFkZGluZ0hvcml6b250YWwpKSB7XG4gICAgICBpZiAoIXRoaXMuaXNEZWZpbmVkKHN0eWxlT2JqZWN0LnBhZGRpbmdMZWZ0KSkgb3ZlcnJpZGVzLnBhZGRpbmdMZWZ0ID0gcmVzb2x2ZWRQYWRkaW5nSG9yaXpvbnRhbFxuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nUmlnaHQpKSBvdmVycmlkZXMucGFkZGluZ1JpZ2h0ID0gcmVzb2x2ZWRQYWRkaW5nSG9yaXpvbnRhbFxuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRGVmaW5lZChyZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbCkpIHtcbiAgICAgIGlmICghdGhpcy5pc0RlZmluZWQoc3R5bGVPYmplY3QucGFkZGluZ1RvcCkpIG92ZXJyaWRlcy5wYWRkaW5nVG9wID0gcmVzb2x2ZWRQYWRkaW5nVmVydGljYWxcbiAgICAgIGlmICghdGhpcy5pc0RlZmluZWQoc3R5bGVPYmplY3QucGFkZGluZ0JvdHRvbSkpIG92ZXJyaWRlcy5wYWRkaW5nQm90dG9tID0gcmVzb2x2ZWRQYWRkaW5nVmVydGljYWxcbiAgICB9XG5cbiAgICByZXR1cm4gb3ZlcnJpZGVzXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBwYWRkaW5nIHNob3J0aGFuZCB2YWx1ZXMgZnJvbSBhIHN0eWxlIG9iamVjdC5cbiAgICogQHBhcmFtIHtSZXNvbHZlZFN0eWxlIHwgaW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlZpZXdTdHlsZSB8IGltcG9ydChcInJlYWN0XCIpLkNTU1Byb3BlcnRpZXN9IHN0eWxlXG4gICogQHJldHVybnMge1Jlc29sdmVkU3R5bGV9XG4gICAqL1xuICBzdHJpcFBhZGRpbmdTaG9ydGhhbmQoc3R5bGUpIHtcbiAgICBjb25zdCBuZXh0U3R5bGUgPSAvKiogQHR5cGUge1Jlc29sdmVkU3R5bGV9ICovICh7Li4uc3R5bGV9KVxuXG4gICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nSG9yaXpvbnRhbFxuICAgIGRlbGV0ZSBuZXh0U3R5bGUucGFkZGluZ1ZlcnRpY2FsXG5cbiAgICByZXR1cm4gbmV4dFN0eWxlXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIHdoZW4gYSB2YWx1ZSBpcyBuZWl0aGVyIG51bGwgbm9yIHVuZGVmaW5lZC5cbiAgICogQHRlbXBsYXRlIFRcbiAgICogQHBhcmFtIHtUIHwgbnVsbCB8IHVuZGVmaW5lZH0gdmFsdWVcbiAgICogQHJldHVybnMge3ZhbHVlIGlzIFR9XG4gICAqL1xuICBpc0RlZmluZWQodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgb25MaW5rQ2xpY2tlZCA9IChlLCAuLi5yZXN0QXJncykgPT4ge1xuICAgIGNvbnN0IHtvbkNsaWNrLCBvblByZXNzfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmICghZS5kZWZhdWx0UHJldmVudGVkICYmICFlLmN0cmxLZXkgJiYgIWUubWV0YUtleSAmJiB0aGlzLnByb3BzLnRhcmdldCAhPSBcIl9ibGFua1wiKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgICAgdGhpcy5yZWRpcmVjdCgpXG4gICAgfVxuICB9XG5cbiAgb25QcmVzcyA9IChlLCAuLi5yZXN0QXJncykgPT4ge1xuICAgIGNvbnN0IHtvbkNsaWNrLCBvblByZXNzfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIHRoaXMucmVkaXJlY3QoKVxuICB9XG5cbiAgcmVkaXJlY3QgPSAoKSA9PiB7XG4gICAgLy8gSWYgbm8gdGltZW91dCBpcyB1c2VkLCB0aGlzIGNhbiBjYXVzZSBhbiBcImNvbXBvbmVudCBzdXNwZW5kZWQgd2hpbGUgcmVzcG9uZGluZyB0byBzeW5jaHJvbm91cyBpbnB1dFwiLWVycm9yXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9oaXN0b3J5UHVzaCgpXG4gICAgfSwgMClcbiAgfVxuXG4gIF9oaXN0b3J5UHVzaCgpIHtcbiAgICBjb25zdCBoaXN0b3J5ID0gdGhpcy5hcGlNYWtlci5jb25maWcuZ2V0SGlzdG9yeSgpXG5cbiAgICBpZiAoIWhpc3RvcnkpIHRocm93IG5ldyBFcnJvcihcIkhpc3RvcnkgaGFzbid0IGJlZW4gc2V0IGluIHRoZSBBUEkgbWFrZXIgY29uZmlndXJhdGlvblwiKVxuXG4gICAgaGlzdG9yeS5wdXNoKHRoaXMucHJvcHMudG8pXG4gIH1cbn0pKVxuIl19
package/build/logger.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /** @typedef {string | number | boolean | object | null | undefined} LogMessagePart */
2
+ /** @typedef {string | Array<LogMessagePart> | (() => string | Array<LogMessagePart>)} LogMessage */
1
3
  /** Small logger with global and per-instance debug toggles. */
2
4
  export default class ApiMakerLogger {
3
5
  /** @returns {boolean | undefined} */
@@ -13,20 +15,20 @@ export default class ApiMakerLogger {
13
15
  });
14
16
  name: string;
15
17
  /**
16
- * @param {string | (() => string | Array<any>) | Array<any>} message
18
+ * @param {LogMessage} message
17
19
  * @returns {void}
18
20
  */
19
- debug(message: string | (() => string | Array<any>) | Array<any>): void;
21
+ debug(message: LogMessage): void;
20
22
  /**
21
- * @param {any} message
23
+ * @param {LogMessagePart} message
22
24
  * @returns {void}
23
25
  */
24
- error(message: any): void;
26
+ error(message: LogMessagePart): void;
25
27
  /**
26
- * @param {string | (() => string | Array<any>) | Array<any>} message
28
+ * @param {LogMessage} message
27
29
  * @returns {void}
28
30
  */
29
- log(message: string | (() => string | Array<any>) | Array<any>): void;
31
+ log(message: LogMessage): void;
30
32
  /** @returns {boolean | undefined} */
31
33
  getDebug: () => boolean | undefined;
32
34
  /**
@@ -36,4 +38,6 @@ export default class ApiMakerLogger {
36
38
  setDebug(value: boolean): void;
37
39
  isDebugging: boolean;
38
40
  }
41
+ export type LogMessagePart = string | number | boolean | object | null | undefined;
42
+ export type LogMessage = string | Array<LogMessagePart> | (() => string | Array<LogMessagePart>);
39
43
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"/src/","sources":["logger.js"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D;IACE,qCAAqC;IACrC,6BADc,OAAO,GAAG,SAAS,CACe;IAEhD;;;OAGG;IACH,gCAHW,OAAO,GACL,IAAI,CAIhB;IAED,sCAAsC;IACtC,mBADY;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,EAG1B;IADC,aAAqB;IAGvB;;;OAGG;IACH,eAHW,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAC/C,IAAI,CAMhB;IAED;;;OAGG;IACH,eAHW,GAAG,GACD,IAAI,CAIhB;IAED;;;OAGG;IACH,aAHW,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAC/C,IAAI,CAWhB;IAED,qCAAqC;IACrC,gBADc,OAAO,GAAG,SAAS,CACA;IAEjC;;;OAGG;IACH,gBAHW,OAAO,GACL,IAAI,CAIhB;IADC,qBAAwB;CAE3B"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"/src/","sources":["logger.js"],"names":[],"mappings":"AAGA,sFAAsF;AACtF,oGAAoG;AAEpG,+DAA+D;AAC/D;IACE,qCAAqC;IACrC,6BADc,OAAO,GAAG,SAAS,CACe;IAEhD;;;OAGG;IACH,gCAHW,OAAO,GACL,IAAI,CAIhB;IAED,sCAAsC;IACtC,mBADY;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,EAG1B;IADC,aAAqB;IAGvB;;;OAGG;IACH,eAHW,UAAU,GACR,IAAI,CAMhB;IAED;;;OAGG;IACH,eAHW,cAAc,GACZ,IAAI,CAIhB;IAED;;;OAGG;IACH,aAHW,UAAU,GACR,IAAI,CAWhB;IAED,qCAAqC;IACrC,gBADc,OAAO,GAAG,SAAS,CACA;IAEjC;;;OAGG;IACH,gBAHW,OAAO,GACL,IAAI,CAIhB;IADC,qBAAwB;CAE3B;6BAhEa,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;yBACrD,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC"}
package/build/logger.js CHANGED
@@ -1,4 +1,7 @@
1
+ // @ts-check
1
2
  const shared = {};
3
+ /** @typedef {string | number | boolean | object | null | undefined} LogMessagePart */
4
+ /** @typedef {string | Array<LogMessagePart> | (() => string | Array<LogMessagePart>)} LogMessage */
2
5
  /** Small logger with global and per-instance debug toggles. */
3
6
  export default class ApiMakerLogger {
4
7
  /** @returns {boolean | undefined} */
@@ -15,7 +18,7 @@ export default class ApiMakerLogger {
15
18
  this.name = args.name;
16
19
  }
17
20
  /**
18
- * @param {string | (() => string | Array<any>) | Array<any>} message
21
+ * @param {LogMessage} message
19
22
  * @returns {void}
20
23
  */
21
24
  debug(message) {
@@ -24,14 +27,14 @@ export default class ApiMakerLogger {
24
27
  }
25
28
  }
26
29
  /**
27
- * @param {any} message
30
+ * @param {LogMessagePart} message
28
31
  * @returns {void}
29
32
  */
30
33
  error(message) {
31
34
  console.error(message);
32
35
  }
33
36
  /**
34
- * @param {string | (() => string | Array<any>) | Array<any>} message
37
+ * @param {LogMessage} message
35
38
  * @returns {void}
36
39
  */
37
40
  log(message) {
@@ -56,4 +59,4 @@ export default class ApiMakerLogger {
56
59
  this.isDebugging = value;
57
60
  }
58
61
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJsb2dnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMscUNBQXFDO0lBQ3JDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQTtJQUVoRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVE7UUFDNUIsTUFBTSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUE7SUFDL0IsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxZQUFZLElBQUksR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxPQUFPO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFO1lBQUUsT0FBTTtRQUMzRCxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUE7UUFFeEIsSUFBSSxPQUFPLFVBQVUsSUFBSSxVQUFVO1lBQUUsVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFBO1FBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUFFLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3pELElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFBO1FBRTVELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBRWpDOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7SUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNoYXJlZCA9IHt9XG5cbi8qKiBTbWFsbCBsb2dnZXIgd2l0aCBnbG9iYWwgYW5kIHBlci1pbnN0YW5jZSBkZWJ1ZyB0b2dnbGVzLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJMb2dnZXIge1xuICAvKiogQHJldHVybnMge2Jvb2xlYW4gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBnZXRHbG9iYWxEZWJ1ZyA9ICgpID0+IHNoYXJlZC5pc0RlYnVnZ2luZ1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5ld1ZhbHVlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHNldEdsb2JhbERlYnVnKG5ld1ZhbHVlKSB7XG4gICAgc2hhcmVkLmlzRGVidWdnaW5nID0gbmV3VmFsdWVcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3tuYW1lPzogc3RyaW5nfX0gW2FyZ3NdICovXG4gIGNvbnN0cnVjdG9yKGFyZ3MgPSB7fSkge1xuICAgIHRoaXMubmFtZSA9IGFyZ3MubmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgKCgpID0+IHN0cmluZyB8IEFycmF5PGFueT4pIHwgQXJyYXk8YW55Pn0gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGRlYnVnKG1lc3NhZ2UpIHtcbiAgICBpZiAodGhpcy5nZXREZWJ1ZygpKSB7XG4gICAgICB0aGlzLmxvZyhtZXNzYWdlKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2FueX0gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGVycm9yKG1lc3NhZ2UpIHtcbiAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCAoKCkgPT4gc3RyaW5nIHwgQXJyYXk8YW55PikgfCBBcnJheTxhbnk+fSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgbG9nKG1lc3NhZ2UpIHtcbiAgICBpZiAoIXRoaXMuZGVidWcgJiYgIUFwaU1ha2VyTG9nZ2VyLmdldEdsb2JhbERlYnVnKCkpIHJldHVyblxuICAgIGxldCBsb2dNZXNzYWdlID0gbWVzc2FnZVxuXG4gICAgaWYgKHR5cGVvZiBsb2dNZXNzYWdlID09IFwiZnVuY3Rpb25cIikgbG9nTWVzc2FnZSA9IGxvZ01lc3NhZ2UoKVxuICAgIGlmICghQXJyYXkuaXNBcnJheShsb2dNZXNzYWdlKSkgbG9nTWVzc2FnZSA9IFtsb2dNZXNzYWdlXVxuICAgIGlmICh0aGlzLm5hbWUpIGxvZ01lc3NhZ2UgPSBbYCR7dGhpcy5uYW1lfTpgLCAuLi5sb2dNZXNzYWdlXVxuXG4gICAgY29uc29sZS5sb2coLi4ubG9nTWVzc2FnZSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbiB8IHVuZGVmaW5lZH0gKi9cbiAgZ2V0RGVidWcgPSAoKSA9PiB0aGlzLmlzRGVidWdnaW5nXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdmFsdWVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXREZWJ1Zyh2YWx1ZSkge1xuICAgIHRoaXMuaXNEZWJ1Z2dpbmcgPSB2YWx1ZVxuICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJsb2dnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixzRkFBc0Y7QUFDdEYsb0dBQW9HO0FBRXBHLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMscUNBQXFDO0lBQ3JDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQTtJQUVoRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVE7UUFDNUIsTUFBTSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUE7SUFDL0IsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxZQUFZLElBQUksR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxPQUFPO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFO1lBQUUsT0FBTTtRQUMzRCxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUE7UUFFeEIsSUFBSSxPQUFPLFVBQVUsSUFBSSxVQUFVO1lBQUUsVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFBO1FBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUFFLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3pELElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFBO1FBRTVELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBRWpDOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7SUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuY29uc3Qgc2hhcmVkID0ge31cblxuLyoqIEB0eXBlZGVmIHtzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgb2JqZWN0IHwgbnVsbCB8IHVuZGVmaW5lZH0gTG9nTWVzc2FnZVBhcnQgKi9cbi8qKiBAdHlwZWRlZiB7c3RyaW5nIHwgQXJyYXk8TG9nTWVzc2FnZVBhcnQ+IHwgKCgpID0+IHN0cmluZyB8IEFycmF5PExvZ01lc3NhZ2VQYXJ0Pil9IExvZ01lc3NhZ2UgKi9cblxuLyoqIFNtYWxsIGxvZ2dlciB3aXRoIGdsb2JhbCBhbmQgcGVyLWluc3RhbmNlIGRlYnVnIHRvZ2dsZXMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckxvZ2dlciB7XG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbiB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIGdldEdsb2JhbERlYnVnID0gKCkgPT4gc2hhcmVkLmlzRGVidWdnaW5nXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gbmV3VmFsdWVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgc2V0R2xvYmFsRGVidWcobmV3VmFsdWUpIHtcbiAgICBzaGFyZWQuaXNEZWJ1Z2dpbmcgPSBuZXdWYWx1ZVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e25hbWU/OiBzdHJpbmd9fSBbYXJnc10gKi9cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5uYW1lID0gYXJncy5uYW1lXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtMb2dNZXNzYWdlfSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgZGVidWcobWVzc2FnZSkge1xuICAgIGlmICh0aGlzLmdldERlYnVnKCkpIHtcbiAgICAgIHRoaXMubG9nKG1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7TG9nTWVzc2FnZVBhcnR9IG1lc3NhZ2VcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBlcnJvcihtZXNzYWdlKSB7XG4gICAgY29uc29sZS5lcnJvcihtZXNzYWdlKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7TG9nTWVzc2FnZX0gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGxvZyhtZXNzYWdlKSB7XG4gICAgaWYgKCF0aGlzLmRlYnVnICYmICFBcGlNYWtlckxvZ2dlci5nZXRHbG9iYWxEZWJ1ZygpKSByZXR1cm5cbiAgICBsZXQgbG9nTWVzc2FnZSA9IG1lc3NhZ2VcblxuICAgIGlmICh0eXBlb2YgbG9nTWVzc2FnZSA9PSBcImZ1bmN0aW9uXCIpIGxvZ01lc3NhZ2UgPSBsb2dNZXNzYWdlKClcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobG9nTWVzc2FnZSkpIGxvZ01lc3NhZ2UgPSBbbG9nTWVzc2FnZV1cbiAgICBpZiAodGhpcy5uYW1lKSBsb2dNZXNzYWdlID0gW2Ake3RoaXMubmFtZX06YCwgLi4ubG9nTWVzc2FnZV1cblxuICAgIGNvbnNvbGUubG9nKC4uLmxvZ01lc3NhZ2UpXG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW4gfCB1bmRlZmluZWR9ICovXG4gIGdldERlYnVnID0gKCkgPT4gdGhpcy5pc0RlYnVnZ2luZ1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbHVlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0RGVidWcodmFsdWUpIHtcbiAgICB0aGlzLmlzRGVidWdnaW5nID0gdmFsdWVcbiAgfVxufVxuIl19
@@ -1,3 +1,11 @@
1
- /** Merge style inputs into a flat style object. */
2
- export default function mergeStyles(stylesList: any): {};
1
+ /** @typedef {import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").ViewStyle} MergeableStyle */
2
+ /** @typedef {false | null | undefined | MergeableStyle | MergeableStyle[]} MergeableStyleEntry */
3
+ /**
4
+ * Merge style inputs into a flat style object.
5
+ * @param {MergeableStyleEntry[]} stylesList
6
+ * @returns {MergeableStyle}
7
+ */
8
+ export default function mergeStyles(stylesList: MergeableStyleEntry[]): MergeableStyle;
9
+ export type MergeableStyle = import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").ViewStyle;
10
+ export type MergeableStyleEntry = false | null | undefined | MergeableStyle | MergeableStyle[];
3
11
  //# sourceMappingURL=merge-styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-styles.d.ts","sourceRoot":"/src/","sources":["merge-styles.js"],"names":[],"mappings":"AAEA,mDAAmD;AACnD,yDAYC"}
1
+ {"version":3,"file":"merge-styles.d.ts","sourceRoot":"/src/","sources":["merge-styles.js"],"names":[],"mappings":"AAGA,wIAAwI;AACxI,kGAAkG;AAElG;;;;GAIG;AACH,gDAHW,mBAAmB,EAAE,GACnB,cAAc,CAc1B;6BApBa,OAAO,cAAc,EAAE,UAAU,GAAG,OAAO,cAAc,EAAE,SAAS,GAAG,OAAO,cAAc,EAAE,SAAS;kCACvG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,EAAE"}
@@ -1,7 +1,14 @@
1
+ // @ts-check
1
2
  import { StyleSheet } from "react-native";
2
- /** Merge style inputs into a flat style object. */
3
+ /** @typedef {import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").ViewStyle} MergeableStyle */
4
+ /** @typedef {false | null | undefined | MergeableStyle | MergeableStyle[]} MergeableStyleEntry */
5
+ /**
6
+ * Merge style inputs into a flat style object.
7
+ * @param {MergeableStyleEntry[]} stylesList
8
+ * @returns {MergeableStyle}
9
+ */
3
10
  export default function mergeStyles(stylesList) {
4
- const mergedStyle = {};
11
+ const mergedStyle = /** @type {MergeableStyle} */ ({});
5
12
  for (const style of stylesList) {
6
13
  if (typeof style == "object") {
7
14
  Object.assign(mergedStyle, StyleSheet.flatten(style));
@@ -12,4 +19,4 @@ export default function mergeStyles(stylesList) {
12
19
  }
13
20
  return mergedStyle;
14
21
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2Utc3R5bGVzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtZXJnZS1zdHlsZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUV2QyxtREFBbUQ7QUFDbkQsTUFBTSxDQUFDLE9BQU8sVUFBVSxXQUFXLENBQUMsVUFBVTtJQUM1QyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFFdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDO2FBQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUIsc0JBQXNCO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUE7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbi8qKiBNZXJnZSBzdHlsZSBpbnB1dHMgaW50byBhIGZsYXQgc3R5bGUgb2JqZWN0LiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VTdHlsZXMoc3R5bGVzTGlzdCkge1xuICBjb25zdCBtZXJnZWRTdHlsZSA9IHt9XG5cbiAgZm9yIChjb25zdCBzdHlsZSBvZiBzdHlsZXNMaXN0KSB7XG4gICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBPYmplY3QuYXNzaWduKG1lcmdlZFN0eWxlLCBTdHlsZVNoZWV0LmZsYXR0ZW4oc3R5bGUpKVxuICAgIH0gZWxzZSBpZiAoc3R5bGUgPT09IG51bGwpIHtcbiAgICAgIC8vIElnbm9yZSAtIGRvIG5vdGhpbmdcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VkU3R5bGVcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2Utc3R5bGVzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtZXJnZS1zdHlsZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFdkMsd0lBQXdJO0FBQ3hJLGtHQUFrRztBQUVsRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxXQUFXLENBQUMsVUFBVTtJQUM1QyxNQUFNLFdBQVcsR0FBRyw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXRELEtBQUssTUFBTSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDdkQsQ0FBQzthQUFNLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFCLHNCQUFzQjtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCB7U3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLkltYWdlU3R5bGUgfCBpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuVGV4dFN0eWxlIHwgaW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlZpZXdTdHlsZX0gTWVyZ2VhYmxlU3R5bGUgKi9cbi8qKiBAdHlwZWRlZiB7ZmFsc2UgfCBudWxsIHwgdW5kZWZpbmVkIHwgTWVyZ2VhYmxlU3R5bGUgfCBNZXJnZWFibGVTdHlsZVtdfSBNZXJnZWFibGVTdHlsZUVudHJ5ICovXG5cbi8qKlxuICogTWVyZ2Ugc3R5bGUgaW5wdXRzIGludG8gYSBmbGF0IHN0eWxlIG9iamVjdC5cbiAqIEBwYXJhbSB7TWVyZ2VhYmxlU3R5bGVFbnRyeVtdfSBzdHlsZXNMaXN0XG4gKiBAcmV0dXJucyB7TWVyZ2VhYmxlU3R5bGV9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlU3R5bGVzKHN0eWxlc0xpc3QpIHtcbiAgY29uc3QgbWVyZ2VkU3R5bGUgPSAvKiogQHR5cGUge01lcmdlYWJsZVN0eWxlfSAqLyAoe30pXG5cbiAgZm9yIChjb25zdCBzdHlsZSBvZiBzdHlsZXNMaXN0KSB7XG4gICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBPYmplY3QuYXNzaWduKG1lcmdlZFN0eWxlLCBTdHlsZVNoZWV0LmZsYXR0ZW4oc3R5bGUpKVxuICAgIH0gZWxzZSBpZiAoc3R5bGUgPT09IG51bGwpIHtcbiAgICAgIC8vIElnbm9yZSAtIGRvIG5vdGhpbmdcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VkU3R5bGVcbn1cbiJdfQ==
package/build/modal.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  declare const _default: React.NamedExoticComponent<Record<string, any>>;
2
2
  export default _default;
3
+ export type Props = Record<string, never>;
4
+ export type State = Record<string, never>;
3
5
  import React from "react";
4
6
  //# sourceMappingURL=modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"/src/","sources":["modal.jsx"],"names":[],"mappings":";;kBAIkB,OAAO"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"/src/","sources":["modal.jsx"],"names":[],"mappings":";;oBAOc,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;oBACrB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;kBAJjB,OAAO"}
package/build/modal.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable sort-imports */
3
4
  import { Modal, Pressable, View } from "react-native";
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 React from "react";
7
7
  import memo from "set-state-compare/build/memo.js";
8
- export default memo(shapeComponent(class ApiMakerModal extends BaseComponent {
8
+ /** @typedef {Record<string, never>} Props */
9
+ /** @typedef {Record<string, never>} State */
10
+ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class ApiMakerModal extends ShapeComponent {
9
11
  render() {
10
12
  const { children, onRequestClose, ...restProps } = this.props;
11
13
  return (_jsx(Modal, { onRequestClose: onRequestClose, ...restProps, children: _jsxs(View, { style: this.cache("rootViewStyle", {
@@ -22,4 +24,4 @@ export default memo(shapeComponent(class ApiMakerModal extends BaseComponent {
22
24
  }) }), children] }) }));
23
25
  }
24
26
  }));
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGFsLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBRWxELGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGFBQWMsU0FBUSxhQUFhO0lBQzFFLE1BQU07UUFDSixNQUFNLEVBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxHQUFHLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFFM0QsT0FBTyxDQUNMLEtBQUMsS0FBSyxJQUFDLGNBQWMsRUFBRSxjQUFjLEtBQU0sU0FBUyxZQUNsRCxNQUFDLElBQUksSUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7b0JBQ2pDLFVBQVUsRUFBRSxRQUFRO29CQUNwQixjQUFjLEVBQUUsUUFBUTtvQkFDeEIsUUFBUSxFQUFFLE1BQU07b0JBQ2hCLFNBQVMsRUFBRSxNQUFNO29CQUNqQixPQUFPLEVBQUUsRUFBRTtpQkFDWixDQUFDLGFBRUYsS0FBQyxTQUFTLElBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxFQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDbEMsUUFBUSxFQUFFLFVBQVU7NEJBQ3BCLFFBQVEsRUFBRSxNQUFNOzRCQUNoQixTQUFTLEVBQUUsTUFBTTs0QkFDakIsZUFBZSxFQUFFLG9CQUFvQjt5QkFDdEMsQ0FBQyxHQUNGLEVBQ0QsUUFBUSxJQUNKLEdBQ0QsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge01vZGFsLCBQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlck1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIG9uUmVxdWVzdENsb3NlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBvblJlcXVlc3RDbG9zZT17b25SZXF1ZXN0Q2xvc2V9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8Vmlld1xuICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgICAgcGFkZGluZzogMjBcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJwcmVzc2FibGVEYXRhU2V0XCIsIHtjbGFzczogXCJtb2RhbC1iYWNrZHJvcFwifSl9XG4gICAgICAgICAgICBvblByZXNzPXtvblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicHJlc3NhYmxlU3R5bGVcIiwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICBtaW5XaWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIG1pbkhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDAsIDAsIDAsIDAuNSlcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGFsLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQsNkNBQTZDO0FBQzdDLDZDQUE2QztBQUM3QyxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxhQUFjLFNBQVEsY0FBYztJQUMzSCxNQUFNO1FBQ0osTUFBTSxFQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRTNELE9BQU8sQ0FDTCxLQUFDLEtBQUssSUFBQyxjQUFjLEVBQUUsY0FBYyxLQUFNLFNBQVMsWUFDbEQsTUFBQyxJQUFJLElBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO29CQUNqQyxVQUFVLEVBQUUsUUFBUTtvQkFDcEIsY0FBYyxFQUFFLFFBQVE7b0JBQ3hCLFFBQVEsRUFBRSxNQUFNO29CQUNoQixTQUFTLEVBQUUsTUFBTTtvQkFDakIsT0FBTyxFQUFFLEVBQUU7aUJBQ1osQ0FBQyxhQUVGLEtBQUMsU0FBUyxJQUNSLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFDLENBQUMsRUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ2xDLFFBQVEsRUFBRSxVQUFVOzRCQUNwQixRQUFRLEVBQUUsTUFBTTs0QkFDaEIsU0FBUyxFQUFFLE1BQU07NEJBQ2pCLGVBQWUsRUFBRSxvQkFBb0I7eUJBQ3RDLENBQUMsR0FDRixFQUNELFFBQVEsSUFDSixHQUNELENBQ1QsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge01vZGFsLCBQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgbmV2ZXI+fSBQcm9wcyAqL1xuLyoqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBuZXZlcj59IFN0YXRlICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEFwaU1ha2VyTW9kYWwgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIG9uUmVxdWVzdENsb3NlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBvblJlcXVlc3RDbG9zZT17b25SZXF1ZXN0Q2xvc2V9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8Vmlld1xuICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgICAgcGFkZGluZzogMjBcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJwcmVzc2FibGVEYXRhU2V0XCIsIHtjbGFzczogXCJtb2RhbC1iYWNrZHJvcFwifSl9XG4gICAgICAgICAgICBvblByZXNzPXtvblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicHJlc3NhYmxlU3R5bGVcIiwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICBtaW5XaWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIG1pbkhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDAsIDAsIDAsIDAuNSlcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
@@ -1,6 +1,8 @@
1
+ /** @typedef {import("./base-model.js").BaseModelClassType} ModelClassLike */
1
2
  /**
2
3
  * @param {string} modelName
3
- * @returns {typeof import("./base-model.js").default & Record<string, any>}
4
+ * @returns {ModelClassLike}
4
5
  */
5
- export default function modelClassRequire(modelName: string): typeof import("./base-model.js").default & Record<string, any>;
6
+ export default function modelClassRequire(modelName: string): ModelClassLike;
7
+ export type ModelClassLike = import("./base-model.js").BaseModelClassType;
6
8
  //# sourceMappingURL=model-class-require.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-class-require.d.ts","sourceRoot":"/src/","sources":["model-class-require.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qDAHW,MAAM,GACJ,cAAc,iBAAiB,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAa1E"}
1
+ {"version":3,"file":"model-class-require.d.ts","sourceRoot":"/src/","sources":["model-class-require.js"],"names":[],"mappings":"AAMA,6EAA6E;AAE7E;;;GAGG;AACH,qDAHW,MAAM,GACJ,cAAc,CAa1B;6BAjBa,OAAO,iBAAiB,EAAE,kBAAkB"}
@@ -1,9 +1,11 @@
1
+ // @ts-check
1
2
  import * as inflection from "inflection";
2
3
  // @ts-expect-error
3
4
  import * as models from "models.js"; // eslint-disable-line import/no-unresolved
5
+ /** @typedef {import("./base-model.js").BaseModelClassType} ModelClassLike */
4
6
  /**
5
7
  * @param {string} modelName
6
- * @returns {typeof import("./base-model.js").default & Record<string, any>}
8
+ * @returns {ModelClassLike}
7
9
  */
8
10
  export default function modelClassRequire(modelName) {
9
11
  const requireName = inflection.camelize(modelName);
@@ -14,4 +16,4 @@ export default function modelClassRequire(modelName) {
14
16
  }
15
17
  return ModelClass;
16
18
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY2xhc3MtcmVxdWlyZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibW9kZWwtY2xhc3MtcmVxdWlyZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxtQkFBbUI7QUFDbkIsT0FBTyxLQUFLLE1BQU0sTUFBTSxXQUFXLENBQUEsQ0FBQywyQ0FBMkM7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxpQkFBaUIsQ0FBQyxTQUFTO0lBQ2pELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRXRDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRS9DLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLFNBQVMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG4vLyBAdHMtZXhwZWN0LWVycm9yXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSBcIm1vZGVscy5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbW9kZWxOYW1lXG4gKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0ICYgUmVjb3JkPHN0cmluZywgYW55Pn1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbW9kZWxDbGFzc1JlcXVpcmUobW9kZWxOYW1lKSB7XG4gIGNvbnN0IHJlcXVpcmVOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUpXG4gIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbHNbcmVxdWlyZU5hbWVdXG5cbiAgaWYgKCFNb2RlbENsYXNzKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc2VzID0gT2JqZWN0LmtleXMobW9kZWxzKS5zb3J0KClcblxuICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgY2FsbGVkICR7bW9kZWxOYW1lfSBpbiAke21vZGVsQ2xhc3Nlcy5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIHJldHVybiBNb2RlbENsYXNzXG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY2xhc3MtcmVxdWlyZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibW9kZWwtY2xhc3MtcmVxdWlyZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFFeEMsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFBLENBQUMsMkNBQTJDO0FBRS9FLDZFQUE2RTtBQUU3RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsT0FBTyxVQUFVLGlCQUFpQixDQUFDLFNBQVM7SUFDakQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsU0FBUyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHMuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLkJhc2VNb2RlbENsYXNzVHlwZX0gTW9kZWxDbGFzc0xpa2UgKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbW9kZWxOYW1lXG4gKiBAcmV0dXJucyB7TW9kZWxDbGFzc0xpa2V9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vZGVsQ2xhc3NSZXF1aXJlKG1vZGVsTmFtZSkge1xuICBjb25zdCByZXF1aXJlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobW9kZWxOYW1lKVxuICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxzW3JlcXVpcmVOYW1lXVxuXG4gIGlmICghTW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IE9iamVjdC5rZXlzKG1vZGVscykuc29ydCgpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vZGVsIGNhbGxlZCAke21vZGVsTmFtZX0gaW4gJHttb2RlbENsYXNzZXMuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICByZXR1cm4gTW9kZWxDbGFzc1xufVxuIl19