studiokit-scaffolding-js 7.0.12 → 7.1.0

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 (390) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.d.ts +2 -2
  4. package/lib/components/ActionList.js +166 -87
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +133 -18
  7. package/lib/components/AlertWithIcon.js +93 -52
  8. package/lib/components/ConnectedModal.d.ts +1 -2
  9. package/lib/components/ConnectedModal.js +43 -37
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +99 -111
  14. package/lib/components/Dropdowns/UserDropdown.js +109 -70
  15. package/lib/components/Dropdowns/index.js +27 -11
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +52 -60
  18. package/lib/components/Error.js +107 -27
  19. package/lib/components/ErrorBoundary.js +133 -94
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +44 -14
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +63 -95
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +84 -108
  26. package/lib/components/Forms/index.js +27 -13
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
  30. package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
  31. package/lib/components/Groups/ExternalGroups/Table.js +183 -76
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
  33. package/lib/components/Groups/RosterSyncInfo.js +140 -49
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +101 -124
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +93 -107
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +53 -129
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +59 -96
  42. package/lib/components/HOC/CollectionComponent.d.ts +12 -12
  43. package/lib/components/HOC/CollectionComponent.js +171 -171
  44. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
  45. package/lib/components/HOC/CollectionFirstItemComponent.js +52 -94
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +169 -168
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +110 -140
  50. package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
  51. package/lib/components/HOC/DataDependentComponent.js +30 -79
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +74 -112
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +165 -185
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +48 -47
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +29 -68
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +42 -65
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -94
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +243 -216
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +12 -11
  70. package/lib/components/Icons/IconAlphaList.js +34 -20
  71. package/lib/components/Icons/IconExternalUser.js +34 -20
  72. package/lib/components/Icons/IconImpersonation.js +34 -20
  73. package/lib/components/Icons/IconStopImpersonating.js +34 -20
  74. package/lib/components/Icons/IconTable.js +35 -21
  75. package/lib/components/Icons/IconTableDeleteCol.js +34 -20
  76. package/lib/components/Icons/IconTableDeleteRow.js +34 -20
  77. package/lib/components/Icons/IconTableInsertCol.js +34 -20
  78. package/lib/components/Icons/IconTableInsertRow.js +34 -20
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +76 -56
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +76 -53
  83. package/lib/components/Impersonation/UserDetail.css +22 -22
  84. package/lib/components/Impersonation/UserDetail.d.ts +2 -2
  85. package/lib/components/Impersonation/UserDetail.js +66 -17
  86. package/lib/components/Loading.js +27 -21
  87. package/lib/components/LockDownBrowser/Check.js +194 -107
  88. package/lib/components/LockDownBrowser/ExitButton.js +27 -14
  89. package/lib/components/LockDownBrowser/Launch.js +70 -85
  90. package/lib/components/Lti/Confirm.js +152 -33
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
  93. package/lib/components/Lti/Launch.js +105 -49
  94. package/lib/components/Lti/LaunchGroup.js +85 -39
  95. package/lib/components/ManageTable.d.ts +1 -2
  96. package/lib/components/ManageTable.js +309 -104
  97. package/lib/components/ManageTableNoDataComponent.js +42 -22
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +82 -91
  100. package/lib/components/NotFound.js +87 -28
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +187 -169
  103. package/lib/components/PaginationNextButton.js +33 -21
  104. package/lib/components/PaginationPreviousButton.js +33 -21
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +432 -257
  107. package/lib/components/Quill/Formats/Image.d.ts +10 -25
  108. package/lib/components/Quill/Formats/Image.js +80 -86
  109. package/lib/components/Quill/Formats/List.d.ts +6 -3
  110. package/lib/components/Quill/Formats/List.js +52 -74
  111. package/lib/components/Quill/Formats/Video.d.ts +2 -1
  112. package/lib/components/Quill/Formats/Video.js +31 -45
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +149 -122
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +45 -32
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
  118. package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +43 -51
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +35 -44
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +105 -121
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
  131. package/lib/components/Quill/TableModule/constants.js +45 -41
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +14 -5
  134. package/lib/components/Quill/TableModule/index.js +373 -313
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +0 -1
  137. package/lib/components/Quill/accessibilityFix.js +235 -251
  138. package/lib/components/Quill/index.js +36 -32
  139. package/lib/components/RefreshIndicator/Bordered.js +48 -32
  140. package/lib/components/RefreshIndicator/Inline.js +48 -33
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +263 -113
  143. package/lib/components/SearchControls.js +216 -31
  144. package/lib/components/SentryRoute.js +10 -23
  145. package/lib/components/Tables/RoleFilter.d.ts +3 -4
  146. package/lib/components/Tables/RoleFilter.js +71 -46
  147. package/lib/components/Tables/TextFilter.d.ts +2 -3
  148. package/lib/components/Tables/TextFilter.js +62 -20
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +199 -161
  151. package/lib/components/UserRoles/Context.js +11 -9
  152. package/lib/components/UserRoles/RoleCell.js +180 -100
  153. package/lib/components/UserRoles/Select.js +157 -51
  154. package/lib/components/UserRoles/Table.js +221 -102
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +537 -466
  157. package/lib/config/eslint/index.d.ts +2 -0
  158. package/lib/config/eslint/index.js +36 -0
  159. package/lib/config/eslint/lib/order.d.ts +3 -0
  160. package/lib/config/eslint/lib/order.js +30 -0
  161. package/lib/config/eslint/lib/prettier.d.ts +3 -0
  162. package/lib/config/eslint/lib/prettier.js +23 -0
  163. package/lib/config/eslint/lib/typescript.d.ts +2 -0
  164. package/lib/config/eslint/lib/typescript.js +98 -0
  165. package/lib/config/eslint/react.d.ts +2 -0
  166. package/lib/config/eslint/react.js +30 -0
  167. package/lib/constants/baseActivity.js +30 -26
  168. package/lib/constants/baseRole.js +14 -10
  169. package/lib/constants/configuration.d.ts +1 -1
  170. package/lib/constants/configuration.js +43 -39
  171. package/lib/constants/externalProviderType.js +10 -6
  172. package/lib/constants/fetchErrorData.js +15 -11
  173. package/lib/constants/index.js +137 -23
  174. package/lib/constants/lockDownBrowser.js +28 -24
  175. package/lib/constants/mockData.d.ts +4 -6
  176. package/lib/constants/mockData.js +385 -326
  177. package/lib/constants/modelStatus.js +15 -11
  178. package/lib/constants/notificationType.js +12 -8
  179. package/lib/constants/operatingSystem.js +12 -8
  180. package/lib/constants/shard.js +11 -7
  181. package/lib/constants/table.js +21 -21
  182. package/lib/constants/tier.js +12 -8
  183. package/lib/constants/userRole.d.ts +1 -2
  184. package/lib/constants/userRole.js +15 -17
  185. package/lib/css/base/_base.css +98 -98
  186. package/lib/css/base/_typography.css +130 -130
  187. package/lib/css/components/_alert.css +86 -86
  188. package/lib/css/components/_bootstrap-grid.css +28 -28
  189. package/lib/css/components/_buttons.css +397 -397
  190. package/lib/css/components/_forms.css +101 -101
  191. package/lib/css/components/_menu.css +56 -56
  192. package/lib/css/components/_modals.css +46 -46
  193. package/lib/css/components/_quill.css +315 -315
  194. package/lib/css/components/_tables.css +497 -497
  195. package/lib/css/components/_tags.css +12 -12
  196. package/lib/css/index-with-variables.css +15 -15
  197. package/lib/css/index.css +14 -14
  198. package/lib/css/utils/_border.css +463 -463
  199. package/lib/css/utils/_color.css +317 -317
  200. package/lib/css/utils/_display.css +305 -312
  201. package/lib/css/utils/_general.css +48 -48
  202. package/lib/css/utils/_icon.css +16 -16
  203. package/lib/css/utils/_text.css +25 -24
  204. package/lib/css/utils/_width.css +60 -60
  205. package/lib/css/variables.css +84 -84
  206. package/lib/endpointMappings.js +197 -193
  207. package/lib/hooks/useCollection.js +83 -65
  208. package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
  209. package/lib/hooks/useCollectionConfiguration.js +185 -88
  210. package/lib/hooks/useCollectionItem.js +155 -58
  211. package/lib/hooks/useEventCalback.d.ts +14 -0
  212. package/lib/hooks/useEventCalback.js +51 -0
  213. package/lib/hooks/useGuid.js +21 -10
  214. package/lib/hooks/usePrevious.d.ts +24 -1
  215. package/lib/hooks/usePrevious.js +84 -14
  216. package/lib/index.js +156 -36
  217. package/lib/redux/actionCreator.d.ts +6 -6
  218. package/lib/redux/actionCreator.js +51 -40
  219. package/lib/redux/actions/AuthAction.js +44 -31
  220. package/lib/redux/actions/ModalAction.d.ts +1 -1
  221. package/lib/redux/actions/ModalAction.js +10 -6
  222. package/lib/redux/actions/ModelAction.d.ts +1 -1
  223. package/lib/redux/actions/ModelAction.js +77 -49
  224. package/lib/redux/actions/NotificationAction.js +10 -6
  225. package/lib/redux/actions/SearchAction.js +9 -5
  226. package/lib/redux/actions/index.js +60 -16
  227. package/lib/redux/configureReducers.d.ts +2 -5
  228. package/lib/redux/configureReducers.js +67 -78
  229. package/lib/redux/configureStore.d.ts +2 -2
  230. package/lib/redux/configureStore.js +83 -115
  231. package/lib/redux/helpers.js +7 -2
  232. package/lib/redux/reducers/authReducer.js +52 -46
  233. package/lib/redux/reducers/index.js +41 -15
  234. package/lib/redux/reducers/modalsReducer.js +49 -52
  235. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  236. package/lib/redux/reducers/modelsReducer.js +183 -182
  237. package/lib/redux/reducers/notificationsReducer.js +26 -21
  238. package/lib/redux/reducers/searchReducer.js +26 -20
  239. package/lib/redux/sagas/appInsightsSaga.js +24 -62
  240. package/lib/redux/sagas/authSaga.js +287 -414
  241. package/lib/redux/sagas/caliperSaga.js +169 -263
  242. package/lib/redux/sagas/clockOffsetSaga.js +36 -77
  243. package/lib/redux/sagas/configurationSaga.js +13 -46
  244. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
  245. package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
  246. package/lib/redux/sagas/errorSaga.d.ts +0 -1
  247. package/lib/redux/sagas/errorSaga.js +29 -63
  248. package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
  249. package/lib/redux/sagas/identityProviderSaga.js +24 -69
  250. package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
  251. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
  252. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
  253. package/lib/redux/sagas/modelFetchSaga.js +379 -459
  254. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  255. package/lib/redux/sagas/noStoreSaga.js +68 -101
  256. package/lib/redux/sagas/postLoginDataSaga.js +47 -79
  257. package/lib/redux/sagas/postLoginRedirectSaga.js +30 -71
  258. package/lib/redux/sagas/rootSaga.js +85 -137
  259. package/lib/redux/sagas/sentrySaga.js +29 -85
  260. package/lib/redux/sagas/userIdSaga.js +18 -54
  261. package/lib/services/codeProviderService.js +25 -29
  262. package/lib/services/dateService.js +14 -12
  263. package/lib/services/documentService.js +18 -13
  264. package/lib/services/fetchService.js +134 -168
  265. package/lib/services/persistenceService.d.ts +4 -4
  266. package/lib/services/persistenceService.js +45 -43
  267. package/lib/services/ticketProviderService.js +29 -33
  268. package/lib/services/tokenPersistenceService.js +13 -9
  269. package/lib/services/windowService.js +21 -17
  270. package/lib/startup.d.ts +1 -1
  271. package/lib/startup.js +132 -135
  272. package/lib/types/AppConfiguration.js +5 -1
  273. package/lib/types/Artifact.js +11 -7
  274. package/lib/types/BaseReduxState.js +5 -1
  275. package/lib/types/Client.js +5 -1
  276. package/lib/types/Collection.d.ts +3 -3
  277. package/lib/types/Collection.js +5 -1
  278. package/lib/types/Configuration.js +5 -1
  279. package/lib/types/DeepLinkingResponseRequest.js +5 -1
  280. package/lib/types/DeletableModel.js +5 -1
  281. package/lib/types/Event.js +5 -1
  282. package/lib/types/ExternalGroup.js +5 -1
  283. package/lib/types/ExternalProvider.js +5 -1
  284. package/lib/types/ExternalTerm.js +5 -1
  285. package/lib/types/Group.js +5 -1
  286. package/lib/types/IdentityProvider.js +5 -1
  287. package/lib/types/LtiLaunch.js +5 -1
  288. package/lib/types/NameOnlyEntity.js +5 -1
  289. package/lib/types/Notification.d.ts +2 -2
  290. package/lib/types/Notification.js +5 -1
  291. package/lib/types/OptionalRecord.d.ts +1 -1
  292. package/lib/types/OptionalRecord.js +5 -1
  293. package/lib/types/OwnerSchedule.d.ts +3 -1
  294. package/lib/types/OwnerSchedule.js +5 -1
  295. package/lib/types/PropertyOfType.d.ts +3 -3
  296. package/lib/types/PropertyOfType.js +5 -1
  297. package/lib/types/Quill.js +5 -1
  298. package/lib/types/RoleDescription.d.ts +0 -1
  299. package/lib/types/RoleDescription.js +5 -1
  300. package/lib/types/Search.js +5 -1
  301. package/lib/types/SimpleLocation.js +5 -1
  302. package/lib/types/UniTime.js +5 -1
  303. package/lib/types/User.js +5 -1
  304. package/lib/types/UserRole.js +5 -1
  305. package/lib/types/auth/AuthState.js +5 -1
  306. package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
  307. package/lib/types/auth/ClientCredentials.js +5 -1
  308. package/lib/types/auth/CodeProviderService.js +5 -1
  309. package/lib/types/auth/LocalLoginRequestBody.js +5 -1
  310. package/lib/types/auth/TicketProviderService.js +5 -1
  311. package/lib/types/auth/TokenPersistenceService.js +5 -1
  312. package/lib/types/auth/index.js +82 -18
  313. package/lib/types/externals.d.js +2 -0
  314. package/lib/types/index.js +313 -39
  315. package/lib/types/net/EndpointConfig.js +5 -1
  316. package/lib/types/net/EndpointMapping.js +5 -1
  317. package/lib/types/net/EndpointMappings.js +5 -1
  318. package/lib/types/net/ErrorHandler.d.ts +1 -1
  319. package/lib/types/net/ErrorHandler.js +5 -1
  320. package/lib/types/net/FetchConfig.d.ts +1 -1
  321. package/lib/types/net/FetchConfig.js +5 -1
  322. package/lib/types/net/FetchErrorData.js +10 -6
  323. package/lib/types/net/FetchResult.d.ts +2 -2
  324. package/lib/types/net/FetchResult.js +5 -1
  325. package/lib/types/net/HTTPMethod.d.ts +1 -1
  326. package/lib/types/net/HTTPMethod.js +5 -1
  327. package/lib/types/net/HTTPStatusCode.js +16 -12
  328. package/lib/types/net/Metadata.js +5 -1
  329. package/lib/types/net/Model.js +5 -1
  330. package/lib/types/net/ModelCollection.js +5 -1
  331. package/lib/types/net/ModelsState.js +5 -1
  332. package/lib/types/net/OAuthToken.js +5 -1
  333. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  334. package/lib/types/net/OAuthTokenOrNull.js +5 -1
  335. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  336. package/lib/types/net/TokenAccessFunction.js +5 -1
  337. package/lib/types/net/index.js +181 -27
  338. package/lib/utils/baseActivity.d.ts +2 -2
  339. package/lib/utils/baseActivity.js +138 -136
  340. package/lib/utils/baseRole.js +37 -33
  341. package/lib/utils/collection.js +432 -310
  342. package/lib/utils/cookies.js +22 -37
  343. package/lib/utils/date.js +320 -320
  344. package/lib/utils/dom.js +186 -174
  345. package/lib/utils/domainIdentifier.js +9 -9
  346. package/lib/utils/entityUserRole.js +6 -2
  347. package/lib/utils/error.d.ts +1 -1
  348. package/lib/utils/error.js +18 -16
  349. package/lib/utils/events.js +40 -33
  350. package/lib/utils/externalGroup.js +25 -21
  351. package/lib/utils/externalProviders.js +8 -4
  352. package/lib/utils/externalTerms.js +9 -6
  353. package/lib/utils/fetch.d.ts +1 -1
  354. package/lib/utils/fetch.js +188 -185
  355. package/lib/utils/group.js +17 -9
  356. package/lib/utils/groupDates.d.ts +1 -1
  357. package/lib/utils/groupDates.js +43 -39
  358. package/lib/utils/groupRoles.js +28 -28
  359. package/lib/utils/lockDownBrowser.js +16 -12
  360. package/lib/utils/logger.js +30 -25
  361. package/lib/utils/lti.js +10 -5
  362. package/lib/utils/model.d.ts +2 -2
  363. package/lib/utils/model.js +39 -48
  364. package/lib/utils/number.js +23 -26
  365. package/lib/utils/promise.d.ts +6 -1
  366. package/lib/utils/promise.js +34 -15
  367. package/lib/utils/quill.js +66 -77
  368. package/lib/utils/route.d.ts +2 -2
  369. package/lib/utils/route.js +61 -60
  370. package/lib/utils/search.d.ts +1 -1
  371. package/lib/utils/search.js +78 -85
  372. package/lib/utils/shard.js +38 -41
  373. package/lib/utils/sort.d.ts +3 -3
  374. package/lib/utils/sort.js +62 -58
  375. package/lib/utils/string.js +14 -10
  376. package/lib/utils/table.d.ts +3 -3
  377. package/lib/utils/table.js +39 -36
  378. package/lib/utils/timezone.js +12 -26
  379. package/lib/utils/url.d.ts +2 -1
  380. package/lib/utils/url.js +146 -200
  381. package/lib/utils/user.js +59 -61
  382. package/lib/utils/userAgent.js +11 -11
  383. package/lib/utils/userRole.d.ts +3 -3
  384. package/lib/utils/userRole.js +58 -56
  385. package/package.json +224 -207
  386. package/lib/config/eslint/index.cjs +0 -21
  387. package/lib/config/eslint/lib/order.cjs +0 -22
  388. package/lib/config/eslint/lib/prettier.cjs +0 -18
  389. package/lib/config/eslint/lib/typescript.cjs +0 -86
  390. package/lib/config/eslint/react.cjs +0 -9
@@ -1,93 +1,190 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useCollectionConfiguration = void 0;
4
- var lodash_1 = require("lodash");
5
- var react_1 = require("react");
6
- var react_redux_1 = require("react-redux");
7
- var react_router_1 = require("react-router");
8
- var modelStatus_1 = require("../constants/modelStatus");
9
- var model_1 = require("../utils/model");
10
- var route_1 = require("../utils/route");
11
- var useGuid_1 = require("./useGuid");
12
- var usePrevious_1 = require("./usePrevious");
13
- /**
14
- * `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
15
- * handling most of the state, route, and redux configuration.
16
- *
17
- * @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
18
- * @param selectorFunction The function that will be used to select the `model` from redux.
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCollectionConfiguration = useCollectionConfiguration;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _lodash = require("lodash");
9
+ var _react = require("react");
10
+ var _reactRedux = require("react-redux");
11
+ var _reactRouter = require("react-router");
12
+ var _modelStatus = require("../constants/modelStatus");
13
+ var _model = require("../utils/model");
14
+ var _useGuid = require("./useGuid");
15
+ var _usePrevious = require("./usePrevious");
16
+ /** Configuration returned by `useCollectionConfiguration` for use in `useCollection` and `useCollectionItem` */
17
+
18
+ /**
19
+ * `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
20
+ * handling most of the state, route, and redux configuration.
21
+ *
22
+ * @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
23
+ * @param selectorFunction The function that will be used to select the `model` from redux.
19
24
  */
20
25
  function useCollectionConfiguration(props, selectorFunction) {
21
- var modelName = props.modelName, propPathParams = props.pathParams, incomingQueryParams = props.queryParams, disableAutoLoad = props.disableAutoLoad;
22
- var guid = useGuid_1.useGuid();
23
- var routeMatchParams = react_router_1.useParams();
24
- var _a = react_1.useState(false), isInitialized = _a[0], setIsInitialized = _a[1];
25
- var _b = react_1.useState(modelStatus_1.MODEL_STATUS.UNINITIALIZED), modelStatus = _b[0], setModelStatus = _b[1];
26
- var previousModelStatus = usePrevious_1.usePrevious(modelStatus);
27
- var _c = react_1.useState(), fetchingId = _c[0], setFetchingId = _c[1];
28
- var incomingPathParams = react_1.useMemo(function () { return propPathParams || route_1.getPathParamsFromRouteMatchParams(routeMatchParams, modelName); }, [propPathParams, modelName, routeMatchParams]);
29
- // keep track of pathParams and queryParams values in state
30
- // the prop/calculated values will almost always be a new array or object, which causes issues for hook deps
31
- var _d = react_1.useState(incomingPathParams), persistedPathParams = _d[0], setPersistedPathParams = _d[1];
32
- var _e = react_1.useState(incomingQueryParams), persistedQueryParams = _e[0], setPersistedQueryParams = _e[1];
33
- // immediately use the incoming value if it is different than the persisted value
34
- // this allows components using this hook to avoid waiting for another state update before using the new values
35
- var pathParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingPathParams, persistedPathParams) ? persistedPathParams : incomingPathParams); }, [incomingPathParams, persistedPathParams]);
36
- var queryParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingQueryParams, persistedQueryParams) ? persistedQueryParams : incomingQueryParams); }, [incomingQueryParams, persistedQueryParams]);
37
- // update the persisted pathParams and queryParams if they have changed for later comparisons with incoming values
38
- react_1.useEffect(function () {
39
- if (!lodash_1.isEqual(persistedPathParams, pathParams)) {
40
- setPersistedPathParams(pathParams);
41
- }
42
- }, [persistedPathParams, pathParams]);
43
- react_1.useEffect(function () {
44
- if (!lodash_1.isEqual(persistedQueryParams, queryParams)) {
45
- setPersistedQueryParams(queryParams);
46
- }
47
- }, [persistedQueryParams, queryParams]);
48
- var _f = react_redux_1.useSelector(function (state) {
49
- return selectorFunction({ guid: guid, modelName: modelName, pathParams: pathParams, routeMatchParams: routeMatchParams, state: state });
50
- }), model = _f.model, isCollectionItem = _f.isCollectionItem;
51
- var previousModelName = usePrevious_1.usePrevious(modelName);
52
- var previousModel = usePrevious_1.usePrevious(model);
53
- var previousPathParams = usePrevious_1.usePrevious(pathParams);
54
- var previousQueryParams = usePrevious_1.usePrevious(queryParams);
55
- var modelArray = react_1.useMemo(function () { return (!isCollectionItem ? model_1.getModelArray(model, guid) : undefined); }, [guid, isCollectionItem, model]);
56
- var modelMinusRelations = react_1.useMemo(function () { return (isCollectionItem ? model_1.getModelMinusRelations(model) : undefined); }, [isCollectionItem, model]);
57
- var changeModelStatus = react_1.useCallback(function (newModelStatus, newFetchingId) {
58
- setFetchingId(newFetchingId);
59
- setModelStatus(newModelStatus);
60
- }, []);
61
- var methodConfig = react_1.useMemo(function () { return ({
62
- modelName: modelName,
63
- pathParams: pathParams,
64
- queryParams: queryParams,
65
- guid: guid,
66
- isInitialized: isInitialized,
67
- changeModelStatus: changeModelStatus,
68
- disableAutoLoad: disableAutoLoad
69
- }); }, [modelName, pathParams, queryParams, guid, isInitialized, changeModelStatus, disableAutoLoad]);
70
- // update `modelStatus` when `model` fetch finishes
71
- react_1.useEffect(function () {
72
- model_1.handleModelFetchFinish(model, previousModel, fetchingId, changeModelStatus);
73
- }, [fetchingId, model, previousModel, changeModelStatus]);
74
- return {
75
- previousModelName: previousModelName,
76
- guid: guid,
77
- model: model,
78
- modelArray: modelArray,
79
- modelMinusRelations: modelMinusRelations,
80
- previousModel: previousModel,
81
- pathParams: pathParams,
82
- previousPathParams: previousPathParams,
83
- queryParams: queryParams,
84
- previousQueryParams: previousQueryParams,
85
- modelStatus: modelStatus,
86
- previousModelStatus: previousModelStatus,
87
- fetchingId: fetchingId,
88
- methodConfig: methodConfig,
89
- isInitialized: isInitialized,
90
- setIsInitialized: setIsInitialized
26
+ const $ = (0, _reactCompilerRuntime.c)(43);
27
+ const {
28
+ modelName,
29
+ pathParams: propPathParams,
30
+ queryParams: incomingQueryParams,
31
+ disableAutoLoad
32
+ } = props;
33
+ const guid = (0, _useGuid.useGuid)();
34
+ const routeMatchParams = (0, _reactRouter.useParams)();
35
+ const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
36
+ const [modelStatus, setModelStatus] = (0, _react.useState)(_modelStatus.MODEL_STATUS.UNINITIALIZED);
37
+ const [fetchingId, setFetchingId] = (0, _react.useState)();
38
+ const [persistedPathParams, setPersistedPathParams] = (0, _react.useState)(propPathParams);
39
+ const [persistedQueryParams, setPersistedQueryParams] = (0, _react.useState)(incomingQueryParams);
40
+ let t0;
41
+ if ($[0] !== persistedPathParams || $[1] !== propPathParams) {
42
+ t0 = (0, _lodash.isEqual)(propPathParams, persistedPathParams) ? persistedPathParams : propPathParams;
43
+ $[0] = persistedPathParams;
44
+ $[1] = propPathParams;
45
+ $[2] = t0;
46
+ } else {
47
+ t0 = $[2];
48
+ }
49
+ const pathParams = t0;
50
+ let t1;
51
+ if ($[3] !== incomingQueryParams || $[4] !== persistedQueryParams) {
52
+ t1 = (0, _lodash.isEqual)(incomingQueryParams, persistedQueryParams) ? persistedQueryParams : incomingQueryParams;
53
+ $[3] = incomingQueryParams;
54
+ $[4] = persistedQueryParams;
55
+ $[5] = t1;
56
+ } else {
57
+ t1 = $[5];
58
+ }
59
+ const queryParams = t1;
60
+ if (!(0, _lodash.isEqual)(persistedPathParams, pathParams)) {
61
+ setPersistedPathParams(pathParams);
62
+ }
63
+ if (!(0, _lodash.isEqual)(persistedQueryParams, queryParams)) {
64
+ setPersistedQueryParams(queryParams);
65
+ }
66
+ let t2;
67
+ if ($[6] !== guid || $[7] !== modelName || $[8] !== pathParams || $[9] !== routeMatchParams || $[10] !== selectorFunction) {
68
+ t2 = state => selectorFunction({
69
+ guid,
70
+ modelName,
71
+ pathParams,
72
+ routeMatchParams,
73
+ state
74
+ });
75
+ $[6] = guid;
76
+ $[7] = modelName;
77
+ $[8] = pathParams;
78
+ $[9] = routeMatchParams;
79
+ $[10] = selectorFunction;
80
+ $[11] = t2;
81
+ } else {
82
+ t2 = $[11];
83
+ }
84
+ const {
85
+ model,
86
+ isCollectionItem
87
+ } = (0, _reactRedux.useSelector)(t2);
88
+ const previousModel = (0, _usePrevious.usePreviousValue)(model);
89
+ const previousModelName = (0, _usePrevious.usePreviousValue)(modelName);
90
+ const previousModelStatus = (0, _usePrevious.usePreviousValue)(modelStatus);
91
+ const previousPathParams = (0, _usePrevious.usePreviousValue)(pathParams);
92
+ const previousQueryParams = (0, _usePrevious.usePreviousValue)(queryParams);
93
+ let t3;
94
+ if ($[12] !== guid || $[13] !== isCollectionItem || $[14] !== model) {
95
+ t3 = !isCollectionItem ? (0, _model.getModelArray)(model, guid) : undefined;
96
+ $[12] = guid;
97
+ $[13] = isCollectionItem;
98
+ $[14] = model;
99
+ $[15] = t3;
100
+ } else {
101
+ t3 = $[15];
102
+ }
103
+ const modelArray = t3;
104
+ let t4;
105
+ if ($[16] !== isCollectionItem || $[17] !== model) {
106
+ t4 = isCollectionItem ? (0, _model.getModelMinusRelations)(model) : undefined;
107
+ $[16] = isCollectionItem;
108
+ $[17] = model;
109
+ $[18] = t4;
110
+ } else {
111
+ t4 = $[18];
112
+ }
113
+ const modelMinusRelations = t4;
114
+ let t5;
115
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
116
+ t5 = (newModelStatus, newFetchingId) => {
117
+ setFetchingId(newFetchingId);
118
+ setModelStatus(newModelStatus);
119
+ };
120
+ $[19] = t5;
121
+ } else {
122
+ t5 = $[19];
123
+ }
124
+ const changeModelStatus = t5;
125
+ let t6;
126
+ if ($[20] !== disableAutoLoad || $[21] !== guid || $[22] !== isInitialized || $[23] !== modelName || $[24] !== pathParams || $[25] !== queryParams) {
127
+ t6 = {
128
+ modelName,
129
+ pathParams,
130
+ queryParams,
131
+ guid,
132
+ isInitialized,
133
+ changeModelStatus,
134
+ disableAutoLoad
91
135
  };
136
+ $[20] = disableAutoLoad;
137
+ $[21] = guid;
138
+ $[22] = isInitialized;
139
+ $[23] = modelName;
140
+ $[24] = pathParams;
141
+ $[25] = queryParams;
142
+ $[26] = t6;
143
+ } else {
144
+ t6 = $[26];
145
+ }
146
+ const methodConfig = t6;
147
+ const previousRenderModel = (0, _usePrevious.usePreviousRender)(model);
148
+ (0, _model.handleModelFetchFinish)(model, previousRenderModel, fetchingId, changeModelStatus);
149
+ let t7;
150
+ if ($[27] !== fetchingId || $[28] !== guid || $[29] !== isInitialized || $[30] !== methodConfig || $[31] !== model || $[32] !== modelArray || $[33] !== modelMinusRelations || $[34] !== modelStatus || $[35] !== pathParams || $[36] !== previousModel || $[37] !== previousModelName || $[38] !== previousModelStatus || $[39] !== previousPathParams || $[40] !== previousQueryParams || $[41] !== queryParams) {
151
+ t7 = {
152
+ previousModelName,
153
+ guid,
154
+ model,
155
+ modelArray,
156
+ modelMinusRelations,
157
+ previousModel,
158
+ pathParams,
159
+ previousPathParams,
160
+ queryParams,
161
+ previousQueryParams,
162
+ modelStatus,
163
+ previousModelStatus,
164
+ fetchingId,
165
+ methodConfig,
166
+ isInitialized,
167
+ setIsInitialized
168
+ };
169
+ $[27] = fetchingId;
170
+ $[28] = guid;
171
+ $[29] = isInitialized;
172
+ $[30] = methodConfig;
173
+ $[31] = model;
174
+ $[32] = modelArray;
175
+ $[33] = modelMinusRelations;
176
+ $[34] = modelStatus;
177
+ $[35] = pathParams;
178
+ $[36] = previousModel;
179
+ $[37] = previousModelName;
180
+ $[38] = previousModelStatus;
181
+ $[39] = previousPathParams;
182
+ $[40] = previousQueryParams;
183
+ $[41] = queryParams;
184
+ $[42] = t7;
185
+ } else {
186
+ t7 = $[42];
187
+ }
188
+ return t7;
92
189
  }
93
- exports.useCollectionConfiguration = useCollectionConfiguration;
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyIiwiX21vZGVsU3RhdHVzIiwiX21vZGVsIiwiX3VzZUd1aWQiLCJfdXNlUHJldmlvdXMiLCJ1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiIsInByb3BzIiwic2VsZWN0b3JGdW5jdGlvbiIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInByb3BQYXRoUGFyYW1zIiwicXVlcnlQYXJhbXMiLCJpbmNvbWluZ1F1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwiZ3VpZCIsInVzZUd1aWQiLCJyb3V0ZU1hdGNoUGFyYW1zIiwidXNlUGFyYW1zIiwiaXNJbml0aWFsaXplZCIsInNldElzSW5pdGlhbGl6ZWQiLCJ1c2VTdGF0ZSIsIm1vZGVsU3RhdHVzIiwic2V0TW9kZWxTdGF0dXMiLCJNT0RFTF9TVEFUVVMiLCJVTklOSVRJQUxJWkVEIiwiZmV0Y2hpbmdJZCIsInNldEZldGNoaW5nSWQiLCJwZXJzaXN0ZWRQYXRoUGFyYW1zIiwic2V0UGVyc2lzdGVkUGF0aFBhcmFtcyIsInBlcnNpc3RlZFF1ZXJ5UGFyYW1zIiwic2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMiLCJ0MCIsImlzRXF1YWwiLCJ0MSIsInQyIiwic3RhdGUiLCJtb2RlbCIsImlzQ29sbGVjdGlvbkl0ZW0iLCJ1c2VTZWxlY3RvciIsInByZXZpb3VzTW9kZWwiLCJ1c2VQcmV2aW91c1ZhbHVlIiwicHJldmlvdXNNb2RlbE5hbWUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwicHJldmlvdXNQYXRoUGFyYW1zIiwicHJldmlvdXNRdWVyeVBhcmFtcyIsInQzIiwiZ2V0TW9kZWxBcnJheSIsInVuZGVmaW5lZCIsIm1vZGVsQXJyYXkiLCJ0NCIsImdldE1vZGVsTWludXNSZWxhdGlvbnMiLCJtb2RlbE1pbnVzUmVsYXRpb25zIiwidDUiLCJTeW1ib2wiLCJmb3IiLCJuZXdNb2RlbFN0YXR1cyIsIm5ld0ZldGNoaW5nSWQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInQ2IiwibWV0aG9kQ29uZmlnIiwicHJldmlvdXNSZW5kZXJNb2RlbCIsInVzZVByZXZpb3VzUmVuZGVyIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsInQ3Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXInXHJcbmltcG9ydCB7IE1PREVMX1NUQVRVUyB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2RlbFN0YXR1cydcclxuaW1wb3J0IHtcclxuXHRCYXNlUmVkdXhTdGF0ZSxcclxuXHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXHJcblx0Q29sbGVjdGlvbkNvbW1vblN0YXRlLFxyXG5cdENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uLFxyXG5cdENvbGxlY3Rpb25TZWxlY3Rvck1ldGhvZCxcclxuXHRNb2RlbCxcclxuXHRNb2RlbENvbGxlY3Rpb25cclxufSBmcm9tICcuLi90eXBlcydcclxuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSwgZ2V0TW9kZWxNaW51c1JlbGF0aW9ucywgaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCB9IGZyb20gJy4uL3V0aWxzL21vZGVsJ1xyXG5pbXBvcnQgeyB1c2VHdWlkIH0gZnJvbSAnLi91c2VHdWlkJ1xyXG5pbXBvcnQgeyB1c2VQcmV2aW91c1JlbmRlciwgdXNlUHJldmlvdXNWYWx1ZSB9IGZyb20gJy4vdXNlUHJldmlvdXMnXHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiByZXR1cm5lZCBieSBgdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb25gIGZvciB1c2UgaW4gYHVzZUNvbGxlY3Rpb25gIGFuZCBgdXNlQ29sbGVjdGlvbkl0ZW1gICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgQ29sbGVjdGlvbkNvbW1vblN0YXRlIHtcclxuXHRwcmV2aW91c01vZGVsTmFtZTogc3RyaW5nXHJcblx0Z3VpZDogc3RyaW5nXHJcblx0bW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0bW9kZWxBcnJheT86IFRNb2RlbFtdXHJcblx0bW9kZWxNaW51c1JlbGF0aW9ucz86IFBhcnRpYWw8VE1vZGVsPlxyXG5cdHByZXZpb3VzTW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0cGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHByZXZpb3VzUGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRwcmV2aW91c1F1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRtZXRob2RDb25maWc6IENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uXHJcblx0aXNJbml0aWFsaXplZDogYm9vbGVhblxyXG5cdHNldElzSW5pdGlhbGl6ZWQ6ICh2YWx1ZTogUmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4pID0+IHZvaWRcclxufVxyXG5cclxuLyoqXHJcbiAqIGB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbmAgc2hhcmVzIGNvbW1vbiBsb2dpYyBiZXR3ZWVuIGB1c2VDb2xsZWN0aW9uYCBhbmQgYHVzZUNvbGxlY3Rpb25JdGVtYCxcclxuICogaGFuZGxpbmcgbW9zdCBvZiB0aGUgc3RhdGUsIHJvdXRlLCBhbmQgcmVkdXggY29uZmlndXJhdGlvbi5cclxuICpcclxuICogQHBhcmFtIHByb3BzIFRoZSBwcm9wcyB1c2VkIHRvIGNhbGwgdGhlIG91dGVyIGhvb2ssIGB1c2VDb2xsZWN0aW9uYCBvciBgdXNlQ29sbGVjdGlvbkl0ZW1gXHJcbiAqIEBwYXJhbSBzZWxlY3RvckZ1bmN0aW9uIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBzZWxlY3QgdGhlIGBtb2RlbGAgZnJvbSByZWR1eC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbjxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4oXHJcblx0cHJvcHM6IENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRzZWxlY3RvckZ1bmN0aW9uOiBDb2xsZWN0aW9uU2VsZWN0b3JNZXRob2RcclxuKTogQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPiB7XHJcblx0Y29uc3QgeyBtb2RlbE5hbWUsIHBhdGhQYXJhbXM6IHByb3BQYXRoUGFyYW1zLCBxdWVyeVBhcmFtczogaW5jb21pbmdRdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSBwcm9wc1xyXG5cdGNvbnN0IGd1aWQgPSB1c2VHdWlkKClcclxuXHRjb25zdCByb3V0ZU1hdGNoUGFyYW1zID0gdXNlUGFyYW1zKClcclxuXHJcblx0Y29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlU3RhdGUoZmFsc2UpXHJcblx0Y29uc3QgW21vZGVsU3RhdHVzLCBzZXRNb2RlbFN0YXR1c10gPSB1c2VTdGF0ZTxNT0RFTF9TVEFUVVM+KE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVEKVxyXG5cdGNvbnN0IFtmZXRjaGluZ0lkLCBzZXRGZXRjaGluZ0lkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlcj4oKVxyXG5cclxuXHQvLyBrZWVwIHRyYWNrIG9mIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIHZhbHVlcyBpbiBzdGF0ZVxyXG5cdC8vIHRoZSBwcm9wL2NhbGN1bGF0ZWQgdmFsdWVzIHdpbGwgYWxtb3N0IGFsd2F5cyBiZSBhIG5ldyBhcnJheSBvciBvYmplY3QsIHdoaWNoIGNhdXNlcyBpc3N1ZXMgZm9yIGhvb2sgZGVwc1xyXG5cdGNvbnN0IFtwZXJzaXN0ZWRQYXRoUGFyYW1zLCBzZXRQZXJzaXN0ZWRQYXRoUGFyYW1zXSA9IHVzZVN0YXRlKHByb3BQYXRoUGFyYW1zKVxyXG5cdGNvbnN0IFtwZXJzaXN0ZWRRdWVyeVBhcmFtcywgc2V0UGVyc2lzdGVkUXVlcnlQYXJhbXNdID0gdXNlU3RhdGUoaW5jb21pbmdRdWVyeVBhcmFtcylcclxuXHQvLyBpbW1lZGlhdGVseSB1c2UgdGhlIGluY29taW5nIHZhbHVlIGlmIGl0IGlzIGRpZmZlcmVudCB0aGFuIHRoZSBwZXJzaXN0ZWQgdmFsdWVcclxuXHQvLyB0aGlzIGFsbG93cyBjb21wb25lbnRzIHVzaW5nIHRoaXMgaG9vayB0byBhdm9pZCB3YWl0aW5nIGZvciBhbm90aGVyIHN0YXRlIHVwZGF0ZSBiZWZvcmUgdXNpbmcgdGhlIG5ldyB2YWx1ZXNcclxuXHRjb25zdCBwYXRoUGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKHByb3BQYXRoUGFyYW1zLCBwZXJzaXN0ZWRQYXRoUGFyYW1zKSA/IHBlcnNpc3RlZFBhdGhQYXJhbXMgOiBwcm9wUGF0aFBhcmFtcyksXHJcblx0XHRbcHJvcFBhdGhQYXJhbXMsIHBlcnNpc3RlZFBhdGhQYXJhbXNdXHJcblx0KVxyXG5cdGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKGluY29taW5nUXVlcnlQYXJhbXMsIHBlcnNpc3RlZFF1ZXJ5UGFyYW1zKSA/IHBlcnNpc3RlZFF1ZXJ5UGFyYW1zIDogaW5jb21pbmdRdWVyeVBhcmFtcyksXHJcblx0XHRbaW5jb21pbmdRdWVyeVBhcmFtcywgcGVyc2lzdGVkUXVlcnlQYXJhbXNdXHJcblx0KVxyXG5cdC8vIHVwZGF0ZSB0aGUgcGVyc2lzdGVkIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkIGZvciBsYXRlciBjb21wYXJpc29ucyB3aXRoIGluY29taW5nIHZhbHVlc1xyXG5cdGlmICghaXNFcXVhbChwZXJzaXN0ZWRQYXRoUGFyYW1zLCBwYXRoUGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUGF0aFBhcmFtcyhwYXRoUGFyYW1zKVxyXG5cdH1cclxuXHRpZiAoIWlzRXF1YWwocGVyc2lzdGVkUXVlcnlQYXJhbXMsIHF1ZXJ5UGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMocXVlcnlQYXJhbXMpXHJcblx0fVxyXG5cclxuXHRjb25zdCB7IG1vZGVsLCBpc0NvbGxlY3Rpb25JdGVtIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKSA9PiB7XHJcblx0XHRyZXR1cm4gc2VsZWN0b3JGdW5jdGlvbjxUTW9kZWw+KHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCByb3V0ZU1hdGNoUGFyYW1zLCBzdGF0ZSB9KVxyXG5cdH0pXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbCA9IHVzZVByZXZpb3VzVmFsdWUobW9kZWwpXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbE5hbWUgPSB1c2VQcmV2aW91c1ZhbHVlKG1vZGVsTmFtZSlcclxuXHRjb25zdCBwcmV2aW91c01vZGVsU3RhdHVzID0gdXNlUHJldmlvdXNWYWx1ZShtb2RlbFN0YXR1cylcclxuXHRjb25zdCBwcmV2aW91c1BhdGhQYXJhbXMgPSB1c2VQcmV2aW91c1ZhbHVlKHBhdGhQYXJhbXMpXHJcblx0Y29uc3QgcHJldmlvdXNRdWVyeVBhcmFtcyA9IHVzZVByZXZpb3VzVmFsdWUocXVlcnlQYXJhbXMpXHJcblxyXG5cdGNvbnN0IG1vZGVsQXJyYXkgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKCFpc0NvbGxlY3Rpb25JdGVtID8gZ2V0TW9kZWxBcnJheTxUTW9kZWw+KG1vZGVsIGFzIE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+LCBndWlkKSA6IHVuZGVmaW5lZCksXHJcblx0XHRbZ3VpZCwgaXNDb2xsZWN0aW9uSXRlbSwgbW9kZWxdXHJcblx0KVxyXG5cdGNvbnN0IG1vZGVsTWludXNSZWxhdGlvbnMgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKGlzQ29sbGVjdGlvbkl0ZW0gPyBnZXRNb2RlbE1pbnVzUmVsYXRpb25zKG1vZGVsIGFzIFRNb2RlbCkgOiB1bmRlZmluZWQpLFxyXG5cdFx0W2lzQ29sbGVjdGlvbkl0ZW0sIG1vZGVsXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY2hhbmdlTW9kZWxTdGF0dXMgPSB1c2VDYWxsYmFjaygobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUywgbmV3RmV0Y2hpbmdJZD86IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG5cdFx0c2V0RmV0Y2hpbmdJZChuZXdGZXRjaGluZ0lkKVxyXG5cdFx0c2V0TW9kZWxTdGF0dXMobmV3TW9kZWxTdGF0dXMpXHJcblx0fSwgW10pXHJcblxyXG5cdGNvbnN0IG1ldGhvZENvbmZpZzogQ29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24gPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKHtcclxuXHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0Z3VpZCxcclxuXHRcdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdFx0Y2hhbmdlTW9kZWxTdGF0dXMsXHJcblx0XHRcdGRpc2FibGVBdXRvTG9hZFxyXG5cdFx0fSksXHJcblx0XHRbbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZ3VpZCwgaXNJbml0aWFsaXplZCwgY2hhbmdlTW9kZWxTdGF0dXMsIGRpc2FibGVBdXRvTG9hZF1cclxuXHQpXHJcblxyXG5cdGNvbnN0IHByZXZpb3VzUmVuZGVyTW9kZWwgPSB1c2VQcmV2aW91c1JlbmRlcihtb2RlbClcclxuXHQvLyB1cGRhdGUgYG1vZGVsU3RhdHVzYCB3aGVuIGBtb2RlbGAgZmV0Y2ggZmluaXNoZXNcclxuXHRoYW5kbGVNb2RlbEZldGNoRmluaXNoKG1vZGVsLCBwcmV2aW91c1JlbmRlck1vZGVsLCBmZXRjaGluZ0lkLCBjaGFuZ2VNb2RlbFN0YXR1cylcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0Z3VpZCxcclxuXHRcdG1vZGVsLFxyXG5cdFx0bW9kZWxBcnJheSxcclxuXHRcdG1vZGVsTWludXNSZWxhdGlvbnMsXHJcblx0XHRwcmV2aW91c01vZGVsLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzUGF0aFBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdG1vZGVsU3RhdHVzLFxyXG5cdFx0cHJldmlvdXNNb2RlbFN0YXR1cyxcclxuXHRcdGZldGNoaW5nSWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRpc0luaXRpYWxpemVkLFxyXG5cdFx0c2V0SXNJbml0aWFsaXplZFxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFVQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFFQTs7QUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFBUSwyQkFBQUMsS0FBQSxFQUFBQyxnQkFBQTtFQUFBLE1BQUFDLENBQUEsT0FB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
@@ -1,62 +1,159 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useCollectionItem = void 0;
4
- var react_1 = require("react");
5
- var collection_1 = require("../utils/collection");
6
- var useCollectionConfiguration_1 = require("./useCollectionConfiguration");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCollectionItem = useCollectionItem;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _react = require("react");
9
+ var _collection = require("../utils/collection");
10
+ var _useCollectionConfiguration = require("./useCollectionConfiguration");
7
11
  function useCollectionItem(props) {
8
- var modelName = props.modelName, disableAutoLoadOnParamsChange = props.disableAutoLoadOnParamsChange;
9
- // state, route, and redux
10
- var config = useCollectionConfiguration_1.useCollectionConfiguration(props, collection_1.selectCollectionItemFromState);
11
- var previousModelName = config.previousModelName, guid = config.guid, model = config.model, pathParams = config.pathParams, previousPathParams = config.previousPathParams, queryParams = config.queryParams, previousQueryParams = config.previousQueryParams, modelStatus = config.modelStatus, previousModelStatus = config.previousModelStatus, isInitialized = config.isInitialized, setIsInitialized = config.setIsInitialized, methodConfig = config.methodConfig, modelMinusRelations = config.modelMinusRelations;
12
- // decorated methods
13
- var load = react_1.useCallback(function (params) {
14
- if (params === void 0) { params = {}; }
15
- collection_1.loadCollectionItem(methodConfig, params);
16
- }, [methodConfig]);
17
- var create = react_1.useCallback(function (params) {
18
- collection_1.createCollectionItem(model, methodConfig, params);
19
- }, [model, methodConfig]);
20
- var update = react_1.useCallback(function (params) {
21
- collection_1.updateCollectionItem(model, methodConfig, params);
22
- }, [model, methodConfig]);
23
- var deleteItem = react_1.useCallback(function (params) {
24
- if (params === void 0) { params = {}; }
25
- collection_1.deleteCollectionItem(model, methodConfig, params);
26
- }, [model, methodConfig]);
27
- // initialize and auto-load, if needed (runs once)
28
- react_1.useEffect(function () {
29
- if (!isInitialized) {
30
- collection_1.initializeCollectionItem(model, load, methodConfig);
31
- setIsInitialized(true);
32
- }
33
- }, [isInitialized, load, methodConfig, model, setIsInitialized]);
34
- // re-load if `pathParams` or `queryParams` change, unless `disableAutoLoadOnParamsChange` is true
35
- react_1.useEffect(function () {
36
- if (!disableAutoLoadOnParamsChange) {
37
- collection_1.handleCollectionItemParamsChange(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
38
- }
39
- }, [
40
- disableAutoLoadOnParamsChange,
41
- load,
42
- modelName,
43
- pathParams,
44
- previousModelName,
45
- previousPathParams,
46
- previousQueryParams,
47
- queryParams
48
- ]);
49
- return {
50
- guid: guid,
51
- model: model,
52
- modelMinusRelations: modelMinusRelations,
53
- modelStatus: modelStatus,
54
- previousModelStatus: previousModelStatus,
55
- load: load,
56
- stopPeriodicLoad: collection_1.stopCollectionPeriodicLoad,
57
- create: create,
58
- update: update,
59
- delete: deleteItem
12
+ const $ = (0, _reactCompilerRuntime.c)(38);
13
+ const {
14
+ modelName,
15
+ disableAutoLoadOnParamsChange
16
+ } = props;
17
+ const config = (0, _useCollectionConfiguration.useCollectionConfiguration)(props, _collection.selectCollectionItemFromState);
18
+ const {
19
+ previousModelName,
20
+ guid,
21
+ model,
22
+ pathParams,
23
+ previousPathParams,
24
+ queryParams,
25
+ previousQueryParams,
26
+ modelStatus,
27
+ previousModelStatus,
28
+ isInitialized,
29
+ setIsInitialized,
30
+ methodConfig,
31
+ modelMinusRelations
32
+ } = config;
33
+ let t0;
34
+ if ($[0] !== methodConfig) {
35
+ t0 = t1 => {
36
+ const params = t1 === undefined ? {} : t1;
37
+ (0, _collection.loadCollectionItem)(methodConfig, params);
38
+ };
39
+ $[0] = methodConfig;
40
+ $[1] = t0;
41
+ } else {
42
+ t0 = $[1];
43
+ }
44
+ const load = t0;
45
+ let t1;
46
+ if ($[2] !== methodConfig || $[3] !== model) {
47
+ t1 = params_0 => {
48
+ (0, _collection.createCollectionItem)(model, methodConfig, params_0);
49
+ };
50
+ $[2] = methodConfig;
51
+ $[3] = model;
52
+ $[4] = t1;
53
+ } else {
54
+ t1 = $[4];
55
+ }
56
+ const create = t1;
57
+ let t2;
58
+ if ($[5] !== methodConfig || $[6] !== model) {
59
+ t2 = params_1 => {
60
+ (0, _collection.updateCollectionItem)(model, methodConfig, params_1);
61
+ };
62
+ $[5] = methodConfig;
63
+ $[6] = model;
64
+ $[7] = t2;
65
+ } else {
66
+ t2 = $[7];
67
+ }
68
+ const update = t2;
69
+ let t3;
70
+ if ($[8] !== methodConfig || $[9] !== model) {
71
+ t3 = t4 => {
72
+ const params_2 = t4 === undefined ? {} : t4;
73
+ (0, _collection.deleteCollectionItem)(model, methodConfig, params_2);
60
74
  };
75
+ $[8] = methodConfig;
76
+ $[9] = model;
77
+ $[10] = t3;
78
+ } else {
79
+ t3 = $[10];
80
+ }
81
+ const deleteItem = t3;
82
+ let t4;
83
+ let t5;
84
+ if ($[11] !== isInitialized || $[12] !== load || $[13] !== methodConfig || $[14] !== model || $[15] !== setIsInitialized) {
85
+ t4 = () => {
86
+ if (!isInitialized) {
87
+ (0, _collection.initializeCollectionItem)(model, load, methodConfig);
88
+ setIsInitialized(true);
89
+ }
90
+ };
91
+ t5 = [isInitialized, load, methodConfig, model, setIsInitialized];
92
+ $[11] = isInitialized;
93
+ $[12] = load;
94
+ $[13] = methodConfig;
95
+ $[14] = model;
96
+ $[15] = setIsInitialized;
97
+ $[16] = t4;
98
+ $[17] = t5;
99
+ } else {
100
+ t4 = $[16];
101
+ t5 = $[17];
102
+ }
103
+ (0, _react.useEffect)(t4, t5);
104
+ let t6;
105
+ let t7;
106
+ if ($[18] !== disableAutoLoadOnParamsChange || $[19] !== load || $[20] !== modelName || $[21] !== pathParams || $[22] !== previousModelName || $[23] !== previousPathParams || $[24] !== previousQueryParams || $[25] !== queryParams) {
107
+ t6 = () => {
108
+ if (!disableAutoLoadOnParamsChange) {
109
+ (0, _collection.handleCollectionItemParamsChange)(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
110
+ }
111
+ };
112
+ t7 = [disableAutoLoadOnParamsChange, load, modelName, pathParams, previousModelName, previousPathParams, previousQueryParams, queryParams];
113
+ $[18] = disableAutoLoadOnParamsChange;
114
+ $[19] = load;
115
+ $[20] = modelName;
116
+ $[21] = pathParams;
117
+ $[22] = previousModelName;
118
+ $[23] = previousPathParams;
119
+ $[24] = previousQueryParams;
120
+ $[25] = queryParams;
121
+ $[26] = t6;
122
+ $[27] = t7;
123
+ } else {
124
+ t6 = $[26];
125
+ t7 = $[27];
126
+ }
127
+ (0, _react.useEffect)(t6, t7);
128
+ const t8 = model;
129
+ const t9 = modelMinusRelations;
130
+ let t10;
131
+ if ($[28] !== create || $[29] !== deleteItem || $[30] !== guid || $[31] !== load || $[32] !== modelStatus || $[33] !== previousModelStatus || $[34] !== t8 || $[35] !== t9 || $[36] !== update) {
132
+ t10 = {
133
+ guid,
134
+ model: t8,
135
+ modelMinusRelations: t9,
136
+ modelStatus,
137
+ previousModelStatus,
138
+ load,
139
+ stopPeriodicLoad: _collection.stopCollectionPeriodicLoad,
140
+ create,
141
+ update,
142
+ delete: deleteItem
143
+ };
144
+ $[28] = create;
145
+ $[29] = deleteItem;
146
+ $[30] = guid;
147
+ $[31] = load;
148
+ $[32] = modelStatus;
149
+ $[33] = previousModelStatus;
150
+ $[34] = t8;
151
+ $[35] = t9;
152
+ $[36] = update;
153
+ $[37] = t10;
154
+ } else {
155
+ t10 = $[37];
156
+ }
157
+ return t10;
61
158
  }
62
- exports.useCollectionItem = useCollectionItem;
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2NvbGxlY3Rpb24iLCJfdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24iLCJ1c2VDb2xsZWN0aW9uSXRlbSIsInByb3BzIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJtb2RlbE5hbWUiLCJkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSIsImNvbmZpZyIsInVzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uIiwic2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUiLCJwcmV2aW91c01vZGVsTmFtZSIsImd1aWQiLCJtb2RlbCIsInBhdGhQYXJhbXMiLCJwcmV2aW91c1BhdGhQYXJhbXMiLCJxdWVyeVBhcmFtcyIsInByZXZpb3VzUXVlcnlQYXJhbXMiLCJtb2RlbFN0YXR1cyIsInByZXZpb3VzTW9kZWxTdGF0dXMiLCJpc0luaXRpYWxpemVkIiwic2V0SXNJbml0aWFsaXplZCIsIm1ldGhvZENvbmZpZyIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJ0MCIsInQxIiwicGFyYW1zIiwidW5kZWZpbmVkIiwibG9hZENvbGxlY3Rpb25JdGVtIiwibG9hZCIsInBhcmFtc18wIiwiY3JlYXRlQ29sbGVjdGlvbkl0ZW0iLCJjcmVhdGUiLCJ0MiIsInBhcmFtc18xIiwidXBkYXRlQ29sbGVjdGlvbkl0ZW0iLCJ1cGRhdGUiLCJ0MyIsInQ0IiwicGFyYW1zXzIiLCJkZWxldGVDb2xsZWN0aW9uSXRlbSIsImRlbGV0ZUl0ZW0iLCJ0NSIsImluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSIsInVzZUVmZmVjdCIsInQ2IiwidDciLCJoYW5kbGVDb2xsZWN0aW9uSXRlbVBhcmFtc0NoYW5nZSIsInQ4IiwidDkiLCJ0MTAiLCJzdG9wUGVyaW9kaWNMb2FkIiwic3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQiLCJkZWxldGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ29sbGVjdGlvbkl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQge1xyXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxyXG5cdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcclxuXHRNb2RlbFxyXG59IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQge1xyXG5cdGNyZWF0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxyXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSxcclxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXHJcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXHJcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cclxufSBmcm9tICcuLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZUNvbGxlY3Rpb25JdGVtUmVzcG9uc2U8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XHJcblx0ZXh0ZW5kcyBDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0XHRDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2U8VE1vZGVsPixcclxuXHRcdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzPFRNb2RlbD4sXHJcblx0XHRDb2xsZWN0aW9uSXRlbU1ldGhvZHMge1xyXG5cdGd1aWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29sbGVjdGlvbkl0ZW08VE1vZGVsIGV4dGVuZHMgTW9kZWw+KFxyXG5cdHByb3BzOiBDb2xsZWN0aW9uQ29tbW9uUHJvcHNcclxuKTogVXNlQ29sbGVjdGlvbkl0ZW1SZXNwb25zZTxUTW9kZWw+IHtcclxuXHRjb25zdCB7IG1vZGVsTmFtZSwgZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UgfSA9IHByb3BzXHJcblxyXG5cdC8vIHN0YXRlLCByb3V0ZSwgYW5kIHJlZHV4XHJcblx0Y29uc3QgY29uZmlnID0gdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPihwcm9wcywgc2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUpXHJcblx0Y29uc3Qge1xyXG5cdFx0cHJldmlvdXNNb2RlbE5hbWUsXHJcblx0XHRndWlkLFxyXG5cdFx0bW9kZWwsXHJcblx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cXVlcnlQYXJhbXMsXHJcblx0XHRwcmV2aW91c1F1ZXJ5UGFyYW1zLFxyXG5cdFx0bW9kZWxTdGF0dXMsXHJcblx0XHRwcmV2aW91c01vZGVsU3RhdHVzLFxyXG5cdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdHNldElzSW5pdGlhbGl6ZWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRtb2RlbE1pbnVzUmVsYXRpb25zXHJcblx0fSA9IGNvbmZpZ1xyXG5cclxuXHQvLyBkZWNvcmF0ZWQgbWV0aG9kc1xyXG5cdGNvbnN0IGxvYWQgPSB1c2VDYWxsYmFjayhcclxuXHRcdChwYXJhbXM6IENvbGxlY3Rpb25JdGVtTG9hZFBhcmFtcyA9IHt9KSA9PiB7XHJcblx0XHRcdGxvYWRDb2xsZWN0aW9uSXRlbShtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY3JlYXRlID0gdXNlQ2FsbGJhY2soXHJcblx0XHQocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNyZWF0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbW9kZWwsIG1ldGhvZENvbmZpZ11cclxuXHQpXHJcblxyXG5cdGNvbnN0IHVwZGF0ZSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1VcGRhdGVQYXJhbXMpID0+IHtcclxuXHRcdFx0dXBkYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIG1ldGhvZENvbmZpZywgcGFyYW1zKVxyXG5cdFx0fSxcclxuXHRcdFttb2RlbCwgbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgZGVsZXRlSXRlbSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMgPSB7fSkgPT4ge1xyXG5cdFx0XHRkZWxldGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgbWV0aG9kQ29uZmlnLCBwYXJhbXMpXHJcblx0XHR9LFxyXG5cdFx0W21vZGVsLCBtZXRob2RDb25maWddXHJcblx0KVxyXG5cclxuXHQvLyBpbml0aWFsaXplIGFuZCBhdXRvLWxvYWQsIGlmIG5lZWRlZCAocnVucyBvbmNlKVxyXG5cdHVzZUVmZmVjdCgoKSA9PiB7XHJcblx0XHRpZiAoIWlzSW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBsb2FkLCBtZXRob2RDb25maWcpXHJcblx0XHRcdHNldElzSW5pdGlhbGl6ZWQodHJ1ZSlcclxuXHRcdH1cclxuXHR9LCBbaXNJbml0aWFsaXplZCwgbG9hZCwgbWV0aG9kQ29uZmlnLCBtb2RlbCwgc2V0SXNJbml0aWFsaXplZF0pXHJcblxyXG5cdC8vIHJlLWxvYWQgaWYgYHBhdGhQYXJhbXNgIG9yIGBxdWVyeVBhcmFtc2AgY2hhbmdlLCB1bmxlc3MgYGRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlYCBpcyB0cnVlXHJcblx0dXNlRWZmZWN0KCgpID0+IHtcclxuXHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcclxuXHRcdFx0aGFuZGxlQ29sbGVjdGlvbkl0ZW1QYXJhbXNDaGFuZ2UoXHJcblx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXMsXHJcblx0XHRcdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdHByZXZpb3VzUXVlcnlQYXJhbXMsXHJcblx0XHRcdFx0bG9hZFxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fSwgW1xyXG5cdFx0ZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UsXHJcblx0XHRsb2FkLFxyXG5cdFx0bW9kZWxOYW1lLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zXHJcblx0XSlcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdGd1aWQsXHJcblx0XHRtb2RlbDogbW9kZWwgYXMgVE1vZGVsLFxyXG5cdFx0bW9kZWxNaW51c1JlbGF0aW9uczogbW9kZWxNaW51c1JlbGF0aW9ucyBhcyBQYXJ0aWFsPFRNb2RlbD4sXHJcblx0XHRtb2RlbFN0YXR1cyxcclxuXHRcdHByZXZpb3VzTW9kZWxTdGF0dXMsXHJcblx0XHRsb2FkLFxyXG5cdFx0c3RvcFBlcmlvZGljTG9hZDogc3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0XHRjcmVhdGUsXHJcblx0XHR1cGRhdGUsXHJcblx0XHRkZWxldGU6IGRlbGV0ZUl0ZW1cclxuXHR9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBYUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBVUEsSUFBQUUsMkJBQUEsR0FBQUYsT0FBQTtBQVVPLFNBQUFHLGtCQUFBQyxLQUFBO0VBQUEsTUFBQUMsQ0FBQSxPQUFBQyxxQkFBQSxDQUFBQyxDQUFBO0VBR047SUFBQUMsU0FBQTtJQUFBQztFQUFBLElBQXFETCxLQUFLO0VBRzFELE1BQUFNLE1BQUEsR0FBZSxJQUFBQyxzREFBMEIsRUFBU1AsS0FBSyxFQUFFUSx5Q0FBNkIsQ0FBQztFQUN2RjtJQUFBQyxpQkFBQTtJQUFBQyxJQUFBO0lBQUFDLEtBQUE7SUFBQUMsVUFBQTtJQUFBQyxrQkFBQTtJQUFBQyxXQUFBO0lBQUFDLG1CQUFBO0lBQUFDLFdBQUE7SUFBQUMsbUJBQUE7SUFBQUMsYUFBQTtJQUFBQyxnQkFBQTtJQUFBQyxZQUFBO0lBQUFDO0VBQUEsSUFjSWYsTUFBTTtFQUFBLElBQUFnQixFQUFBO0VBQUEsSUFBQXJCLENBQUEsUUFBQW1CLFlBQUE7SUFJVEUsRUFBQSxHQUFBQyxFQUFBO01BQUMsTUFBQUMsTUFBQSxHQUFBRCxFQUFxQyxLQUFyQ0UsU0FBcUMsR0FBckMsQ0FBb0MsQ0FBQyxHQUFyQ0YsRUFBcUM7TUFDckMsSUFBQUcsOEJBQWtCLEVBQUNOLFlBQVksRUFBRUksTUFBTSxDQUFDO0lBQUEsQ0FDeEM7SUFBQXZCLENBQUEsTUFBQW1CLFlBQUE7SUFBQW5CLENBQUEsTUFBQXFCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFyQixDQUFBO0VBQUE7RUFIRixNQUFBMEIsSUFBQSxHQUFhTCxFQUtaO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUF0QixDQUFBLFFBQUFtQixZQUFBLElBQUFuQixDQUFBLFFBQUFVLEtBQUE7SUFHQVksRUFBQSxHQUFBSyxRQUFBO01BQ0MsSUFBQUMsZ0NBQW9CLEVBQUNsQixLQUFLLEVBQUVTLFlBQVksRUFBRUksUUFBTSxDQUFDO0lBQUEsQ0FDakQ7SUFBQXZCLENBQUEsTUFBQW1CLFlBQUE7SUFBQW5CLENBQUEsTUFBQVUsS0FBQTtJQUFBVixDQUFBLE1BQUFzQixFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBdEIsQ0FBQTtFQUFBO0VBSEYsTUFBQTZCLE1BQUEsR0FBZVAsRUFLZDtFQUFBLElBQUFRLEVBQUE7RUFBQSxJQUFBOUIsQ0FBQSxRQUFBbUIsWUFBQSxJQUFBbkIsQ0FBQSxRQUFBVSxLQUFBO0lBR0FvQixFQUFBLEdBQUFDLFFBQUE7TUFDQyxJQUFBQyxnQ0FBb0IsRUFBQ3RCLEtBQUssRUFBRVMsWUFBWSxFQUFFSSxRQUFNLENBQUM7SUFBQSxDQUNqRDtJQUFBdkIsQ0FBQSxNQUFBbUIsWUFBQTtJQUFBbkIsQ0FBQSxNQUFBVSxLQUFBO0lBQUFWLENBQUEsTUFBQThCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUE5QixDQUFBO0VBQUE7RUFIRixNQUFBaUMsTUFBQSxHQUFlSCxFQUtkO0VBQUEsSUFBQUksRUFBQTtFQUFBLElBQUFsQyxDQUFBLFFBQUFtQixZQUFBLElBQUFuQixDQUFBLFFBQUFVLEtBQUE7SUFHQXdCLEVBQUEsR0FBQUMsRUFBQTtNQUFDLE1BQUFDLFFBQUEsR0FBQUQsRUFBdUMsS0FBdkNYLFNBQXVDLEdBQXZDLENBQXNDLENBQUMsR0FBdkNXLEVBQXVDO01BQ3ZDLElBQUFFLGdDQUFvQixFQUFDM0IsS0FBSyxFQUFFUyxZQUFZLEVBQUVJLFFBQU0sQ0FBQztJQUFBLENBQ2pEO0lBQUF2QixDQUFBLE1BQUFtQixZQUFBO0lBQUFuQixDQUFBLE1BQUFVLEtBQUE7SUFBQVYsQ0FBQSxPQUFBa0MsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQWxDLENBQUE7RUFBQTtFQUhGLE1BQUFzQyxVQUFBLEdBQW1CSixFQUtsQjtFQUFBLElBQUFDLEVBQUE7RUFBQSxJQUFBSSxFQUFBO0VBQUEsSUFBQXZDLENBQUEsU0FBQWlCLGFBQUEsSUFBQWpCLENBQUEsU0FBQTBCLElBQUEsSUFBQTFCLENBQUEsU0FBQW1CLFlBQUEsSUFBQW5CLENBQUEsU0FBQVUsS0FBQSxJQUFBVixDQUFBLFNBQUFrQixnQkFBQTtJQUdTaUIsRUFBQSxHQUFBQSxDQUFBO01BQ1QsSUFBSSxDQUFDbEIsYUFBYTtRQUNqQixJQUFBdUIsb0NBQXdCLEVBQUM5QixLQUFLLEVBQUVnQixJQUFJLEVBQUVQLFlBQVksQ0FBQztRQUNuREQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO01BQUE7SUFDdEIsQ0FDRDtJQUFFcUIsRUFBQSxJQUFDdEIsYUFBYSxFQUFFUyxJQUFJLEVBQUVQLFlBQVksRUFBRVQsS0FBSyxFQUFFUSxnQkFBZ0IsQ0FBQztJQUFBbEIsQ0FBQSxPQUFBaUIsYUFBQTtJQUFBakIsQ0FBQSxPQUFBMEIsSUFBQTtJQUFBMUIsQ0FBQSxPQUFBbUIsWUFBQTtJQUFBbkIsQ0FBQSxPQUFBVSxLQUFBO0lBQUFWLENBQUEsT0FBQWtCLGdCQUFBO0lBQUFsQixDQUFBLE9BQUFtQyxFQUFBO0lBQUFuQyxDQUFBLE9BQUF1QyxFQUFBO0VBQUE7SUFBQUosRUFBQSxHQUFBbkMsQ0FBQTtJQUFBdUMsRUFBQSxHQUFBdkMsQ0FBQTtFQUFBO0VBTC9ELElBQUF5QyxnQkFBUyxFQUFDTixFQUtULEVBQUVJLEVBQTRELENBQUM7RUFBQSxJQUFBRyxFQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUEzQyxDQUFBLFNBQUFJLDZCQUFBLElBQUFKLENBQUEsU0FBQTBCLElBQUEsSUFBQTFCLENBQUEsU0FBQUcsU0FBQSxJQUFBSCxDQUFBLFNBQUFXLFVBQUEsSUFBQVgsQ0FBQSxTQUFBUSxpQkFBQSxJQUFBUixDQUFBLFNBQUFZLGtCQUFBLElBQUFaLENBQUEsU0FBQWMsbUJBQUEsSUFBQWQsQ0FBQSxTQUFBYSxXQUFBO0lBR3RENkIsRUFBQSxHQUFBQSxDQUFBO01BQ1QsSUFBSSxDQUFDdEMsNkJBQTZCO1FBQ2pDLElBQUF3Qyw0Q0FBZ0MsRUFDL0J6QyxTQUFTLEVBQ1RLLGlCQUFpQixFQUNqQkcsVUFBVSxFQUNWQyxrQkFBa0IsRUFDbEJDLFdBQVcsRUFDWEMsbUJBQW1CLEVBQ25CWSxJQUNELENBQUM7TUFBQTtJQUNELENBQ0Q7SUFBRWlCLEVBQUEsSUFDRnZDLDZCQUE2QixFQUM3QnNCLElBQUksRUFDSnZCLFNBQVMsRUFDVFEsVUFBVSxFQUNWSCxpQkFBaUIsRUFDakJJLGtCQUFrQixFQUNsQkUsbUJBQW1CLEVBQ25CRCxXQUFXLENBQ1g7SUFBQWIsQ0FBQSxPQUFBSSw2QkFBQTtJQUFBSixDQUFBLE9BQUEwQixJQUFBO0lBQUExQixDQUFBLE9BQUFHLFNBQUE7SUFBQUgsQ0FBQSxPQUFBVyxVQUFBO0lBQUFYLENBQUEsT0FBQVEsaUJBQUE7SUFBQVIsQ0FBQSxPQUFBWSxrQkFBQTtJQUFBWixDQUFBLE9BQUFjLG1CQUFBO0lBQUFkLENBQUEsT0FBQWEsV0FBQTtJQUFBYixDQUFBLE9BQUEwQyxFQUFBO0lBQUExQyxDQUFBLE9BQUEyQyxFQUFBO0VBQUE7SUFBQUQsRUFBQSxHQUFBMUMsQ0FBQTtJQUFBMkMsRUFBQSxHQUFBM0MsQ0FBQTtFQUFBO0VBckJELElBQUF5QyxnQkFBUyxFQUFDQyxFQVlULEVBQUVDLEVBU0YsQ0FBQztFQUlNLE1BQUFFLEVBQUEsR0FBQW5DLEtBQUs7RUFDUyxNQUFBb0MsRUFBQSxHQUFBMUIsbUJBQW1CO0VBQW1CLElBQUEyQixHQUFBO0VBQUEsSUFBQS9DLENBQUEsU0FBQTZCLE1BQUEsSUFBQTdCLENBQUEsU0FBQXNDLFVBQUEsSUFBQXRDLENBQUEsU0FBQVMsSUFBQSxJQUFBVCxDQUFBLFNBQUEwQixJQUFBLElBQUExQixDQUFBLFNBQUFlLFdBQUEsSUFBQWYsQ0FBQSxTQUFBZ0IsbUJBQUEsSUFBQWhCLENBQUEsU0FBQTZDLEVBQUEsSUFBQTdDLENBQUEsU0FBQThDLEVBQUEsSUFBQTlDLENBQUEsU0FBQWlDLE1BQUE7SUFIckRjLEdBQUE7TUFBQXRDLElBQUE7TUFBQUMsS0FBQSxFQUVDbUMsRUFBZTtNQUFBekIsbUJBQUEsRUFDRDBCLEVBQXNDO01BQUEvQixXQUFBO01BQUFDLG1CQUFBO01BQUFVLElBQUE7TUFBQXNCLGdCQUFBLEVBSXpDQyxzQ0FBMEI7TUFBQXBCLE1BQUE7TUFBQUksTUFBQTtNQUFBaUIsTUFBQSxFQUdwQ1o7SUFDVCxDQUFDO0lBQUF0QyxDQUFBLE9BQUE2QixNQUFBO0lBQUE3QixDQUFBLE9BQUFzQyxVQUFBO0lBQUF0QyxDQUFBLE9BQUFTLElBQUE7SUFBQVQsQ0FBQSxPQUFBMEIsSUFBQTtJQUFBMUIsQ0FBQSxPQUFBZSxXQUFBO0lBQUFmLENBQUEsT0FBQWdCLG1CQUFBO0lBQUFoQixDQUFBLE9BQUE2QyxFQUFBO0lBQUE3QyxDQUFBLE9BQUE4QyxFQUFBO0lBQUE5QyxDQUFBLE9BQUFpQyxNQUFBO0lBQUFqQyxDQUFBLE9BQUErQyxHQUFBO0VBQUE7SUFBQUEsR0FBQSxHQUFBL0MsQ0FBQTtFQUFBO0VBQUEsT0FYTStDLEdBV047QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns a stable-reference function that always calls your function with the latest values of captured variables.
3
+ * This hook is intended to be used alongside {@link useEffect} to make use of variables without adding them to the
4
+ * dependency array, thus avoid re-running the effect when those variables change.
5
+ *
6
+ * **Do not call the function returned by this hook outside of useEffect.**
7
+ *
8
+ * Implementation based on https://usehooks-ts.com/react-hook/use-event-callback
9
+ *
10
+ * See https://react.dev/reference/react/useEffectEvent for details of the hook this is emulating from React 19.
11
+ *
12
+ * @param fn The function you want to use inside useEffect.
13
+ */
14
+ export declare function useEventCallback<T extends (...args: any[]) => any>(fn: T): T;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEventCallback = useEventCallback;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _react = require("react");
9
+ /**
10
+ * Returns a stable-reference function that always calls your function with the latest values of captured variables.
11
+ * This hook is intended to be used alongside {@link useEffect} to make use of variables without adding them to the
12
+ * dependency array, thus avoid re-running the effect when those variables change.
13
+ *
14
+ * **Do not call the function returned by this hook outside of useEffect.**
15
+ *
16
+ * Implementation based on https://usehooks-ts.com/react-hook/use-event-callback
17
+ *
18
+ * See https://react.dev/reference/react/useEffectEvent for details of the hook this is emulating from React 19.
19
+ *
20
+ * @param fn The function you want to use inside useEffect.
21
+ */
22
+ function useEventCallback(fn) {
23
+ const $ = (0, _reactCompilerRuntime.c)(3);
24
+ const ref = (0, _react.useRef)(fn);
25
+ let t0;
26
+ if ($[0] !== fn) {
27
+ t0 = () => {
28
+ ref.current = fn;
29
+ };
30
+ $[0] = fn;
31
+ $[1] = t0;
32
+ } else {
33
+ t0 = $[1];
34
+ }
35
+ (0, _react.useEffect)(t0);
36
+ let t1;
37
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
38
+ t1 = function () {
39
+ for (var _len = arguments.length, t2 = new Array(_len), _key = 0; _key < _len; _key++) {
40
+ t2[_key] = arguments[_key];
41
+ }
42
+ const args = t2;
43
+ return ref.current.apply(void 0, args);
44
+ };
45
+ $[2] = t1;
46
+ } else {
47
+ t1 = $[2];
48
+ }
49
+ return t1;
50
+ }
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRXZlbnRDYWxsYmFjayIsImZuIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJyZWYiLCJ1c2VSZWYiLCJ0MCIsImN1cnJlbnQiLCJ1c2VFZmZlY3QiLCJ0MSIsIlN5bWJvbCIsImZvciIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ0MiIsIkFycmF5IiwiX2tleSIsImFyZ3MiLCJhcHBseSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VFdmVudENhbGJhY2sudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgYSBzdGFibGUtcmVmZXJlbmNlIGZ1bmN0aW9uIHRoYXQgYWx3YXlzIGNhbGxzIHlvdXIgZnVuY3Rpb24gd2l0aCB0aGUgbGF0ZXN0IHZhbHVlcyBvZiBjYXB0dXJlZCB2YXJpYWJsZXMuXHJcbiAqIFRoaXMgaG9vayBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFsb25nc2lkZSB7QGxpbmsgdXNlRWZmZWN0fSB0byBtYWtlIHVzZSBvZiB2YXJpYWJsZXMgd2l0aG91dCBhZGRpbmcgdGhlbSB0byB0aGVcclxuICogZGVwZW5kZW5jeSBhcnJheSwgdGh1cyBhdm9pZCByZS1ydW5uaW5nIHRoZSBlZmZlY3Qgd2hlbiB0aG9zZSB2YXJpYWJsZXMgY2hhbmdlLlxyXG4gKlxyXG4gKiAqKkRvIG5vdCBjYWxsIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSB0aGlzIGhvb2sgb3V0c2lkZSBvZiB1c2VFZmZlY3QuKipcclxuICpcclxuICogSW1wbGVtZW50YXRpb24gYmFzZWQgb24gaHR0cHM6Ly91c2Vob29rcy10cy5jb20vcmVhY3QtaG9vay91c2UtZXZlbnQtY2FsbGJhY2tcclxuICpcclxuICogU2VlIGh0dHBzOi8vcmVhY3QuZGV2L3JlZmVyZW5jZS9yZWFjdC91c2VFZmZlY3RFdmVudCBmb3IgZGV0YWlscyBvZiB0aGUgaG9vayB0aGlzIGlzIGVtdWxhdGluZyBmcm9tIFJlYWN0IDE5LlxyXG4gKlxyXG4gKiBAcGFyYW0gZm4gVGhlIGZ1bmN0aW9uIHlvdSB3YW50IHRvIHVzZSBpbnNpZGUgdXNlRWZmZWN0LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZUV2ZW50Q2FsbGJhY2s8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihmbjogVCk6IFQge1xyXG5cdGNvbnN0IHJlZiA9IHVzZVJlZihmbilcclxuXHJcblx0dXNlRWZmZWN0KCgpID0+IHtcclxuXHRcdHJlZi5jdXJyZW50ID0gZm5cclxuXHR9KVxyXG5cclxuXHRyZXR1cm4gdXNlQ2FsbGJhY2soKC4uLmFyZ3M6IGFueVtdKSA9PiByZWYuY3VycmVudC5hcHBseSh2b2lkIDAsIGFyZ3MpLCBbXSkgYXMgVFxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBQUMsaUJBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLE9BQUFDLHFCQUFBLENBQUFDLENBQUE7RUFDTixNQUFBQyxHQUFBLEdBQVksSUFBQUMsYUFBTSxFQUFDTCxFQUFFLENBQUM7RUFBQSxJQUFBTSxFQUFBO0VBQUEsSUFBQUwsQ0FBQSxRQUFBRCxFQUFBO0lBRVpNLEVBQUEsR0FBQUEsQ0FBQTtNQUNURixHQUFHLENBQUFHLE9BQUEsR0FBV1AsRUFBSDtJQUFBLENBQ1g7SUFBQUMsQ0FBQSxNQUFBRCxFQUFBO0lBQUFDLENBQUEsTUFBQUssRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUwsQ0FBQTtFQUFBO0VBRkQsSUFBQU8sZ0JBQVMsRUFBQ0YsRUFFVCxDQUFDO0VBQUEsSUFBQUcsRUFBQTtFQUFBLElBQUFSLENBQUEsUUFBQVMsTUFBQSxDQUFBQyxHQUFBO0lBRWlCRixFQUFBLFlBQUFBLENBQUE7TUFBQSxTQUFBRyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBQyxFQUFBLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO1FBQUFGLEVBQUEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7TUFBQTtNQUFDLE1BQUFDLElBQUEsR0FBQUgsRUFBYztNQUFBLE9BQUtYLEdBQUcsQ0FBQUcsT0FBUSxDQUFBWSxLQUFNLENBQUMsS0FBSyxDQUFDLEVBQUVELElBQUksQ0FBQztJQUFBO0lBQUFqQixDQUFBLE1BQUFRLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFSLENBQUE7RUFBQTtFQUFBLE9BQS9EUSxFQUFvRTtBQUFBIiwiaWdub3JlTGlzdCI6W119