quidproquo-web-react 0.1.3 → 0.1.5
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.
- package/lib/commonjs/actionProcessor/ActionProcessorContext.js +1 -0
- package/lib/commonjs/actionProcessor/ActionProcessorContext.js.map +1 -0
- package/lib/commonjs/actionProcessor/ActionProcessorProvider.js +1 -0
- package/lib/commonjs/actionProcessor/ActionProcessorProvider.js.map +1 -0
- package/lib/commonjs/actionProcessor/index.js +1 -0
- package/lib/commonjs/actionProcessor/index.js.map +1 -0
- package/lib/commonjs/actionProcessor/useActionProcessors.js +1 -0
- package/lib/commonjs/actionProcessor/useActionProcessors.js.map +1 -0
- package/lib/commonjs/api/hooks/index.js +1 -0
- package/lib/commonjs/api/hooks/index.js.map +1 -0
- package/lib/commonjs/api/hooks/useApiRequestActionProcessor.js +1 -0
- package/lib/commonjs/api/hooks/useApiRequestActionProcessor.js.map +1 -0
- package/lib/commonjs/api/hooks/useAuthenticatedNetworkRequest.js +1 -0
- package/lib/commonjs/api/hooks/useAuthenticatedNetworkRequest.js.map +1 -0
- package/lib/commonjs/api/hooks/useNetworkRequest.js +1 -0
- package/lib/commonjs/api/hooks/useNetworkRequest.js.map +1 -0
- package/lib/commonjs/api/index.js +1 -0
- package/lib/commonjs/api/index.js.map +1 -0
- package/lib/commonjs/auth/RefreshAuthTokensProvider.js +1 -0
- package/lib/commonjs/auth/RefreshAuthTokensProvider.js.map +1 -0
- package/lib/commonjs/auth/authContext.js +1 -0
- package/lib/commonjs/auth/authContext.js.map +1 -0
- package/lib/commonjs/auth/hooks/index.js +1 -0
- package/lib/commonjs/auth/hooks/index.js.map +1 -0
- package/lib/commonjs/auth/hooks/useAuthAccessToken.js +1 -0
- package/lib/commonjs/auth/hooks/useAuthAccessToken.js.map +1 -0
- package/lib/commonjs/auth/hooks/useIsLoggedIn.js +1 -0
- package/lib/commonjs/auth/hooks/useIsLoggedIn.js.map +1 -0
- package/lib/commonjs/auth/hooks/useRefreshTokens.js +1 -0
- package/lib/commonjs/auth/hooks/useRefreshTokens.js.map +1 -0
- package/lib/commonjs/auth/index.js +1 -0
- package/lib/commonjs/auth/index.js.map +1 -0
- package/lib/commonjs/auth/types/AuthState.js +1 -0
- package/lib/commonjs/auth/types/AuthState.js.map +1 -0
- package/lib/commonjs/auth/types/index.js +1 -0
- package/lib/commonjs/auth/types/index.js.map +1 -0
- package/lib/commonjs/baseUrl/BaseUrlContext.js +1 -0
- package/lib/commonjs/baseUrl/BaseUrlContext.js.map +1 -0
- package/lib/commonjs/baseUrl/BaseUrlProvider.js +1 -0
- package/lib/commonjs/baseUrl/BaseUrlProvider.js.map +1 -0
- package/lib/commonjs/baseUrl/hooks/index.js +1 -0
- package/lib/commonjs/baseUrl/hooks/index.js.map +1 -0
- package/lib/commonjs/baseUrl/hooks/useBaseUrlResolvers.js +1 -0
- package/lib/commonjs/baseUrl/hooks/useBaseUrlResolvers.js.map +1 -0
- package/lib/commonjs/baseUrl/index.js +1 -0
- package/lib/commonjs/baseUrl/index.js.map +1 -0
- package/lib/commonjs/baseUrl/types/BaseUrlResolver.js +1 -0
- package/lib/commonjs/baseUrl/types/BaseUrlResolver.js.map +1 -0
- package/lib/commonjs/baseUrl/types/index.js +1 -0
- package/lib/commonjs/baseUrl/types/index.js.map +1 -0
- package/lib/commonjs/dateTime/DateTime.js +1 -0
- package/lib/commonjs/dateTime/DateTime.js.map +1 -0
- package/lib/commonjs/dateTime/hooks/index.js +1 -0
- package/lib/commonjs/dateTime/hooks/index.js.map +1 -0
- package/lib/commonjs/dateTime/hooks/useTimeAgo.js +1 -0
- package/lib/commonjs/dateTime/hooks/useTimeAgo.js.map +1 -0
- package/lib/commonjs/dateTime/index.js +1 -0
- package/lib/commonjs/dateTime/index.js.map +1 -0
- package/lib/commonjs/dateTime/logic/formatTimeAgo.js +1 -0
- package/lib/commonjs/dateTime/logic/formatTimeAgo.js.map +1 -0
- package/lib/commonjs/dateTime/logic/index.js +1 -0
- package/lib/commonjs/dateTime/logic/index.js.map +1 -0
- package/lib/commonjs/hooks/asmj/QpqContextProvider.js +1 -0
- package/lib/commonjs/hooks/asmj/QpqContextProvider.js.map +1 -0
- package/lib/commonjs/hooks/asmj/QpqMappedApi.js +1 -0
- package/lib/commonjs/hooks/asmj/QpqMappedApi.js.map +1 -0
- package/lib/commonjs/hooks/asmj/QpqRuntimeEffectCatcher.js +1 -0
- package/lib/commonjs/hooks/asmj/QpqRuntimeEffectCatcher.js.map +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/getStateDispatchActionProcessor.js +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/getStateDispatchActionProcessor.js.map +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/getStateReadActionProcessor.js +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/getStateReadActionProcessor.js.map +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/index.js +1 -0
- package/lib/commonjs/hooks/asmj/actionProcessor/index.js.map +1 -0
- package/lib/commonjs/hooks/asmj/bubbleReducer.js +1 -0
- package/lib/commonjs/hooks/asmj/bubbleReducer.js.map +1 -0
- package/lib/commonjs/hooks/asmj/createQpqRuntimeDefinition.js +1 -0
- package/lib/commonjs/hooks/asmj/createQpqRuntimeDefinition.js.map +1 -0
- package/lib/commonjs/hooks/asmj/index.js +1 -0
- package/lib/commonjs/hooks/asmj/index.js.map +1 -0
- package/lib/commonjs/hooks/asmj/useBubbleReducer.js +1 -0
- package/lib/commonjs/hooks/asmj/useBubbleReducer.js.map +1 -0
- package/lib/commonjs/hooks/asmj/useQpqRuntime.js +1 -0
- package/lib/commonjs/hooks/asmj/useQpqRuntime.js.map +1 -0
- package/lib/commonjs/hooks/index.js +1 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useAsyncEffect.js +1 -0
- package/lib/commonjs/hooks/useAsyncEffect.js.map +1 -0
- package/lib/commonjs/hooks/useComputed.js +1 -0
- package/lib/commonjs/hooks/useComputed.js.map +1 -0
- package/lib/commonjs/hooks/useEffectCallback.js +1 -0
- package/lib/commonjs/hooks/useEffectCallback.js.map +1 -0
- package/lib/commonjs/hooks/useFastCallback.js +1 -0
- package/lib/commonjs/hooks/useFastCallback.js.map +1 -0
- package/lib/commonjs/hooks/useMetadata/index.js +1 -0
- package/lib/commonjs/hooks/useMetadata/index.js.map +1 -0
- package/lib/commonjs/hooks/useMetadata/useMetadata.js +1 -0
- package/lib/commonjs/hooks/useMetadata/useMetadata.js.map +1 -0
- package/lib/commonjs/hooks/useOnKeyDownEffect.js +1 -0
- package/lib/commonjs/hooks/useOnKeyDownEffect.js.map +1 -0
- package/lib/commonjs/hooks/useQpq.js +1 -0
- package/lib/commonjs/hooks/useQpq.js.map +1 -0
- package/lib/commonjs/hooks/useRunEvery.js +1 -0
- package/lib/commonjs/hooks/useRunEvery.js.map +1 -0
- package/lib/commonjs/hooks/useThrottledMemo.js +1 -0
- package/lib/commonjs/hooks/useThrottledMemo.js.map +1 -0
- package/lib/commonjs/hooks/useZipArrays.js +1 -0
- package/lib/commonjs/hooks/useZipArrays.js.map +1 -0
- package/lib/commonjs/index.js +1 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/state/index.js +1 -0
- package/lib/commonjs/state/index.js.map +1 -0
- package/lib/commonjs/state/useStateUpdater.js +1 -0
- package/lib/commonjs/state/useStateUpdater.js.map +1 -0
- package/lib/commonjs/useFieldBinding/index.js +1 -0
- package/lib/commonjs/useFieldBinding/index.js.map +1 -0
- package/lib/commonjs/useFieldBinding/useFieldBinding.js +1 -0
- package/lib/commonjs/useFieldBinding/useFieldBinding.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/index.js +1 -0
- package/lib/commonjs/useSharedQueryParams/index.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/index.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/index.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/askSetParam.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/askSetParam.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/askSyncParams.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/askSyncParams.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/index.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/index.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/sharedQueryParamsLogic.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/runtime/sharedQueryParamsLogic.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsActionCreator.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsActionCreator.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsReducer.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsReducer.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsTypes.js +1 -0
- package/lib/commonjs/useSharedQueryParams/logic/sharedQueryParamsTypes.js.map +1 -0
- package/lib/commonjs/useSharedQueryParams/sharedQueryParamsRuntime.js +1 -0
- package/lib/commonjs/useSharedQueryParams/sharedQueryParamsRuntime.js.map +1 -0
- package/lib/commonjs/webSocketQueue/hooks/actionProcessor/getServiceRequestActionProcessor.js +1 -0
- package/lib/commonjs/webSocketQueue/hooks/actionProcessor/getServiceRequestActionProcessor.js.map +1 -0
- package/lib/commonjs/webSocketQueue/hooks/index.js +1 -0
- package/lib/commonjs/webSocketQueue/hooks/index.js.map +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useQpqWebsocketQueueRuntime.js +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useQpqWebsocketQueueRuntime.js.map +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useSubscribeToWebSocketQueueEvent.js +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useSubscribeToWebSocketQueueEvent.js.map +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useWebsocketQueueSendEvent.js +1 -0
- package/lib/commonjs/webSocketQueue/hooks/useWebsocketQueueSendEvent.js.map +1 -0
- package/lib/commonjs/webSocketQueue/index.js +1 -0
- package/lib/commonjs/webSocketQueue/index.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthContext.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthContext.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthSync.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthSync.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/index.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/index.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebSocketIsAuthenticated.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebSocketIsAuthenticated.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.js.map +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/index.js +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/index.js.map +1 -0
- package/lib/commonjs/websocket/WebsocketContext.js +1 -0
- package/lib/commonjs/websocket/WebsocketContext.js.map +1 -0
- package/lib/commonjs/websocket/WebsocketProvider.js +1 -0
- package/lib/commonjs/websocket/WebsocketProvider.js.map +1 -0
- package/lib/commonjs/websocket/hooks/index.js +1 -0
- package/lib/commonjs/websocket/hooks/index.js.map +1 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebSocketEvent.js +1 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebSocketEvent.js.map +1 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebsocket.js +1 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebsocket.js.map +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketApi.js +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketApi.js.map +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketManagement.js +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketManagement.js.map +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketSendEvent.js +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketSendEvent.js.map +1 -0
- package/lib/commonjs/websocket/index.js +1 -0
- package/lib/commonjs/websocket/index.js.map +1 -0
- package/lib/esm/actionProcessor/ActionProcessorContext.js +1 -0
- package/lib/esm/actionProcessor/ActionProcessorContext.js.map +1 -0
- package/lib/esm/actionProcessor/ActionProcessorProvider.js +1 -0
- package/lib/esm/actionProcessor/ActionProcessorProvider.js.map +1 -0
- package/lib/esm/actionProcessor/index.js +1 -0
- package/lib/esm/actionProcessor/index.js.map +1 -0
- package/lib/esm/actionProcessor/useActionProcessors.js +1 -0
- package/lib/esm/actionProcessor/useActionProcessors.js.map +1 -0
- package/lib/esm/api/hooks/index.js +1 -0
- package/lib/esm/api/hooks/index.js.map +1 -0
- package/lib/esm/api/hooks/useApiRequestActionProcessor.js +1 -0
- package/lib/esm/api/hooks/useApiRequestActionProcessor.js.map +1 -0
- package/lib/esm/api/hooks/useAuthenticatedNetworkRequest.js +1 -0
- package/lib/esm/api/hooks/useAuthenticatedNetworkRequest.js.map +1 -0
- package/lib/esm/api/hooks/useNetworkRequest.js +1 -0
- package/lib/esm/api/hooks/useNetworkRequest.js.map +1 -0
- package/lib/esm/api/index.js +1 -0
- package/lib/esm/api/index.js.map +1 -0
- package/lib/esm/auth/RefreshAuthTokensProvider.js +1 -0
- package/lib/esm/auth/RefreshAuthTokensProvider.js.map +1 -0
- package/lib/esm/auth/authContext.js +1 -0
- package/lib/esm/auth/authContext.js.map +1 -0
- package/lib/esm/auth/hooks/index.js +1 -0
- package/lib/esm/auth/hooks/index.js.map +1 -0
- package/lib/esm/auth/hooks/useAuthAccessToken.js +1 -0
- package/lib/esm/auth/hooks/useAuthAccessToken.js.map +1 -0
- package/lib/esm/auth/hooks/useIsLoggedIn.js +1 -0
- package/lib/esm/auth/hooks/useIsLoggedIn.js.map +1 -0
- package/lib/esm/auth/hooks/useRefreshTokens.js +1 -0
- package/lib/esm/auth/hooks/useRefreshTokens.js.map +1 -0
- package/lib/esm/auth/index.js +1 -0
- package/lib/esm/auth/index.js.map +1 -0
- package/lib/esm/auth/types/AuthState.js +1 -0
- package/lib/esm/auth/types/AuthState.js.map +1 -0
- package/lib/esm/auth/types/index.js +1 -0
- package/lib/esm/auth/types/index.js.map +1 -0
- package/lib/esm/baseUrl/BaseUrlContext.js +1 -0
- package/lib/esm/baseUrl/BaseUrlContext.js.map +1 -0
- package/lib/esm/baseUrl/BaseUrlProvider.js +1 -0
- package/lib/esm/baseUrl/BaseUrlProvider.js.map +1 -0
- package/lib/esm/baseUrl/hooks/index.js +1 -0
- package/lib/esm/baseUrl/hooks/index.js.map +1 -0
- package/lib/esm/baseUrl/hooks/useBaseUrlResolvers.js +1 -0
- package/lib/esm/baseUrl/hooks/useBaseUrlResolvers.js.map +1 -0
- package/lib/esm/baseUrl/index.js +1 -0
- package/lib/esm/baseUrl/index.js.map +1 -0
- package/lib/esm/baseUrl/types/BaseUrlResolver.js +1 -0
- package/lib/esm/baseUrl/types/BaseUrlResolver.js.map +1 -0
- package/lib/esm/baseUrl/types/index.js +1 -0
- package/lib/esm/baseUrl/types/index.js.map +1 -0
- package/lib/esm/dateTime/DateTime.js +1 -0
- package/lib/esm/dateTime/DateTime.js.map +1 -0
- package/lib/esm/dateTime/hooks/index.js +1 -0
- package/lib/esm/dateTime/hooks/index.js.map +1 -0
- package/lib/esm/dateTime/hooks/useTimeAgo.js +1 -0
- package/lib/esm/dateTime/hooks/useTimeAgo.js.map +1 -0
- package/lib/esm/dateTime/index.js +1 -0
- package/lib/esm/dateTime/index.js.map +1 -0
- package/lib/esm/dateTime/logic/formatTimeAgo.js +1 -0
- package/lib/esm/dateTime/logic/formatTimeAgo.js.map +1 -0
- package/lib/esm/dateTime/logic/index.js +1 -0
- package/lib/esm/dateTime/logic/index.js.map +1 -0
- package/lib/esm/hooks/asmj/QpqContextProvider.js +1 -0
- package/lib/esm/hooks/asmj/QpqContextProvider.js.map +1 -0
- package/lib/esm/hooks/asmj/QpqMappedApi.js +1 -0
- package/lib/esm/hooks/asmj/QpqMappedApi.js.map +1 -0
- package/lib/esm/hooks/asmj/QpqRuntimeEffectCatcher.js +1 -0
- package/lib/esm/hooks/asmj/QpqRuntimeEffectCatcher.js.map +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/getStateDispatchActionProcessor.js +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/getStateDispatchActionProcessor.js.map +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/getStateReadActionProcessor.js +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/getStateReadActionProcessor.js.map +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/index.js +1 -0
- package/lib/esm/hooks/asmj/actionProcessor/index.js.map +1 -0
- package/lib/esm/hooks/asmj/bubbleReducer.js +1 -0
- package/lib/esm/hooks/asmj/bubbleReducer.js.map +1 -0
- package/lib/esm/hooks/asmj/createQpqRuntimeDefinition.js +1 -0
- package/lib/esm/hooks/asmj/createQpqRuntimeDefinition.js.map +1 -0
- package/lib/esm/hooks/asmj/index.js +1 -0
- package/lib/esm/hooks/asmj/index.js.map +1 -0
- package/lib/esm/hooks/asmj/useBubbleReducer.js +1 -0
- package/lib/esm/hooks/asmj/useBubbleReducer.js.map +1 -0
- package/lib/esm/hooks/asmj/useQpqRuntime.js +1 -0
- package/lib/esm/hooks/asmj/useQpqRuntime.js.map +1 -0
- package/lib/esm/hooks/index.js +1 -0
- package/lib/esm/hooks/index.js.map +1 -0
- package/lib/esm/hooks/useAsyncEffect.js +1 -0
- package/lib/esm/hooks/useAsyncEffect.js.map +1 -0
- package/lib/esm/hooks/useComputed.js +1 -0
- package/lib/esm/hooks/useComputed.js.map +1 -0
- package/lib/esm/hooks/useEffectCallback.js +1 -0
- package/lib/esm/hooks/useEffectCallback.js.map +1 -0
- package/lib/esm/hooks/useFastCallback.js +1 -0
- package/lib/esm/hooks/useFastCallback.js.map +1 -0
- package/lib/esm/hooks/useMetadata/index.js +1 -0
- package/lib/esm/hooks/useMetadata/index.js.map +1 -0
- package/lib/esm/hooks/useMetadata/useMetadata.js +1 -0
- package/lib/esm/hooks/useMetadata/useMetadata.js.map +1 -0
- package/lib/esm/hooks/useOnKeyDownEffect.js +1 -0
- package/lib/esm/hooks/useOnKeyDownEffect.js.map +1 -0
- package/lib/esm/hooks/useQpq.js +1 -0
- package/lib/esm/hooks/useQpq.js.map +1 -0
- package/lib/esm/hooks/useRunEvery.js +1 -0
- package/lib/esm/hooks/useRunEvery.js.map +1 -0
- package/lib/esm/hooks/useThrottledMemo.js +1 -0
- package/lib/esm/hooks/useThrottledMemo.js.map +1 -0
- package/lib/esm/hooks/useZipArrays.js +1 -0
- package/lib/esm/hooks/useZipArrays.js.map +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/state/index.js +1 -0
- package/lib/esm/state/index.js.map +1 -0
- package/lib/esm/state/useStateUpdater.js +1 -0
- package/lib/esm/state/useStateUpdater.js.map +1 -0
- package/lib/esm/useFieldBinding/index.js +1 -0
- package/lib/esm/useFieldBinding/index.js.map +1 -0
- package/lib/esm/useFieldBinding/useFieldBinding.js +1 -0
- package/lib/esm/useFieldBinding/useFieldBinding.js.map +1 -0
- package/lib/esm/useSharedQueryParams/index.js +1 -0
- package/lib/esm/useSharedQueryParams/index.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/index.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/index.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/askSetParam.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/askSetParam.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/askSyncParams.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/askSyncParams.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/index.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/index.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/sharedQueryParamsLogic.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/runtime/sharedQueryParamsLogic.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsActionCreator.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsActionCreator.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsReducer.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsReducer.js.map +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsTypes.js +1 -0
- package/lib/esm/useSharedQueryParams/logic/sharedQueryParamsTypes.js.map +1 -0
- package/lib/esm/useSharedQueryParams/sharedQueryParamsRuntime.js +1 -0
- package/lib/esm/useSharedQueryParams/sharedQueryParamsRuntime.js.map +1 -0
- package/lib/esm/webSocketQueue/hooks/actionProcessor/getServiceRequestActionProcessor.js +1 -0
- package/lib/esm/webSocketQueue/hooks/actionProcessor/getServiceRequestActionProcessor.js.map +1 -0
- package/lib/esm/webSocketQueue/hooks/index.js +1 -0
- package/lib/esm/webSocketQueue/hooks/index.js.map +1 -0
- package/lib/esm/webSocketQueue/hooks/useQpqWebsocketQueueRuntime.js +1 -0
- package/lib/esm/webSocketQueue/hooks/useQpqWebsocketQueueRuntime.js.map +1 -0
- package/lib/esm/webSocketQueue/hooks/useSubscribeToWebSocketQueueEvent.js +1 -0
- package/lib/esm/webSocketQueue/hooks/useSubscribeToWebSocketQueueEvent.js.map +1 -0
- package/lib/esm/webSocketQueue/hooks/useWebsocketQueueSendEvent.js +1 -0
- package/lib/esm/webSocketQueue/hooks/useWebsocketQueueSendEvent.js.map +1 -0
- package/lib/esm/webSocketQueue/index.js +1 -0
- package/lib/esm/webSocketQueue/index.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/WebSocketAuthContext.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/WebSocketAuthContext.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/WebSocketAuthSync.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/WebSocketAuthSync.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/index.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/index.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebSocketIsAuthenticated.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebSocketIsAuthenticated.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.js.map +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/index.js +1 -0
- package/lib/esm/websocket/WebSocketAuthSync/index.js.map +1 -0
- package/lib/esm/websocket/WebsocketContext.js +1 -0
- package/lib/esm/websocket/WebsocketContext.js.map +1 -0
- package/lib/esm/websocket/WebsocketProvider.js +1 -0
- package/lib/esm/websocket/WebsocketProvider.js.map +1 -0
- package/lib/esm/websocket/hooks/index.js +1 -0
- package/lib/esm/websocket/hooks/index.js.map +1 -0
- package/lib/esm/websocket/hooks/useSubscribeToWebSocketEvent.js +1 -0
- package/lib/esm/websocket/hooks/useSubscribeToWebSocketEvent.js.map +1 -0
- package/lib/esm/websocket/hooks/useSubscribeToWebsocket.js +1 -0
- package/lib/esm/websocket/hooks/useSubscribeToWebsocket.js.map +1 -0
- package/lib/esm/websocket/hooks/useWebsocketApi.js +1 -0
- package/lib/esm/websocket/hooks/useWebsocketApi.js.map +1 -0
- package/lib/esm/websocket/hooks/useWebsocketManagement.js +1 -0
- package/lib/esm/websocket/hooks/useWebsocketManagement.js.map +1 -0
- package/lib/esm/websocket/hooks/useWebsocketSendEvent.js +1 -0
- package/lib/esm/websocket/hooks/useWebsocketSendEvent.js.map +1 -0
- package/lib/esm/websocket/index.js +1 -0
- package/lib/esm/websocket/index.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionProcessorContext.js","sourceRoot":"","sources":["../../../src/actionProcessor/ActionProcessorContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAA8B,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC","sourcesContent":["import { ActionProcessorListResolver } from 'quidproquo-core';\n\nimport { createContext } from 'react';\n\nexport const ActionProcessorContext = createContext<ActionProcessorListResolver>(async () => ({}));\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionProcessorProvider.js","sourceRoot":"","sources":["../../../src/actionProcessor/ActionProcessorProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE;IACnH,MAAM,yBAAyB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAErE,mFAAmF;IACnF,MAAM,yBAAyB,GAAgC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACxG,GAAG,CAAC,MAAM,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACpE,GAAG,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;KAC/D,CAAC,CAAC;IAEH,OAAO,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,yBAAyB,YAAG,QAAQ,GAAmC,CAAC;AACzH,CAAC,CAAC","sourcesContent":["import { ActionProcessorListResolver } from 'quidproquo-core';\n\nimport { useContext } from 'react';\n\nimport { ActionProcessorContext } from './ActionProcessorContext';\n\nexport type ActionProcessorProviderProps = {\n children: React.ReactNode;\n getActionProcessors: ActionProcessorListResolver;\n};\n\nexport const ActionProcessorProvider: React.FC<ActionProcessorProviderProps> = ({ children, getActionProcessors }) => {\n const parentGetActionProcessors = useContext(ActionProcessorContext);\n\n // Merge: parent processors first, then this provider's (so child overrides parent)\n const mergedGetActionProcessors: ActionProcessorListResolver = async (qpqConfig, dynamicModuleLoader) => ({\n ...(await parentGetActionProcessors(qpqConfig, dynamicModuleLoader)),\n ...(await getActionProcessors(qpqConfig, dynamicModuleLoader)),\n });\n\n return <ActionProcessorContext.Provider value={mergedGetActionProcessors}>{children}</ActionProcessorContext.Provider>;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actionProcessor/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './ActionProcessorContext';\nexport * from './ActionProcessorProvider';\nexport * from './useActionProcessors';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActionProcessors.js","sourceRoot":"","sources":["../../../src/actionProcessor/useActionProcessors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC","sourcesContent":["import { useContext } from 'react';\n\nimport { ActionProcessorContext } from './ActionProcessorContext';\n\nexport const useActionProcessors = () => useContext(ActionProcessorContext);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './useApiRequestActionProcessor';\nexport * from './useAuthenticatedNetworkRequest';\nexport * from './useNetworkRequest';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApiRequestActionProcessor.js","sourceRoot":"","sources":["../../../../src/api/hooks/useApiRequestActionProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAGjF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,OAA6C,EAA+B,EAAE;IACzH,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE5C,mFAAmF;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC;IAE/B,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,+BAA+B,CAAC;QAC9B,UAAU,EAAE,GAA2B,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;KAC7E,CAAC,EACJ,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAC5C,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { createApiRequestActionProcessor } from 'quidproquo-actionprocessor-web';\nimport { ActionProcessorListResolver } from 'quidproquo-core';\n\nimport { useMemo, useRef } from 'react';\n\nimport { useAuthAccessToken } from '../../auth/hooks';\nimport { useBaseUrlResolvers } from '../../baseUrl/hooks';\n\nexport type UseApiRequestActionProcessorOptions = {\n resolveServiceBaseUrl?: (service: string) => string;\n};\n\nexport const useApiRequestActionProcessor = (options?: UseApiRequestActionProcessorOptions): ActionProcessorListResolver => {\n const accessToken = useAuthAccessToken();\n const { getApiUrl } = useBaseUrlResolvers();\n\n // Hold the token in a ref so the processor closure always reads the current value.\n const tokenRef = useRef(accessToken);\n tokenRef.current = accessToken;\n\n return useMemo(\n () =>\n createApiRequestActionProcessor({\n getHeaders: (): Record<string, string> => (tokenRef.current ? { Authorization: `Bearer ${tokenRef.current}` } : {}),\n resolveServiceBaseUrl: options?.resolveServiceBaseUrl ?? (() => getApiUrl()),\n }),\n [options?.resolveServiceBaseUrl, getApiUrl],\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuthenticatedNetworkRequest.js","sourceRoot":"","sources":["../../../../src/api/hooks/useAuthenticatedNetworkRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAI,OAAyC,EAA2C,EAAE;IACtI,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IAEvC,MAAM,sBAAsB,GAAqC,SAAS;QACxE,CAAC,CAAC;YACE,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,aAAa,EAAE,UAAU,SAAS,EAAE;aACrC;SACF;QACH,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAI,sBAAsB,CAAC,CAAC,CAAC;IAEzF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import { HTTPNetworkResponse, NetworkRequestActionPayload } from 'quidproquo-core';\nimport { preformNetworkRequest } from 'quidproquo-webserver';\n\nimport { useAuthAccessToken } from '../../auth';\nimport { useFastCallback } from '../../hooks';\n\nexport const useAuthenticatedNetworkRequest = <R>(payload: NetworkRequestActionPayload<any>): (() => Promise<HTTPNetworkResponse<R>>) => {\n const authToken = useAuthAccessToken();\n\n const payloadWithAuthHeaders: NetworkRequestActionPayload<any> = authToken\n ? {\n ...payload,\n headers: {\n ...(payload.headers || {}),\n Authorization: `Bearer ${authToken}`,\n },\n }\n : payload;\n\n const requeser = useFastCallback(() => preformNetworkRequest<R>(payloadWithAuthHeaders));\n\n return requeser;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNetworkRequest.js","sourceRoot":"","sources":["../../../../src/api/hooks/useNetworkRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,OAAyC,EAA2C,EAAE;IACzH,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAI,OAAO,CAAC,CAAC,CAAC;IAE1E,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import { HTTPNetworkResponse, NetworkRequestActionPayload } from 'quidproquo-core';\nimport { preformNetworkRequest } from 'quidproquo-webserver';\n\nimport { useFastCallback } from '../../hooks';\n\nexport const useNetworkRequest = <R>(payload: NetworkRequestActionPayload<any>): (() => Promise<HTTPNetworkResponse<R>>) => {\n const requeser = useFastCallback(() => preformNetworkRequest<R>(payload));\n\n return requeser;\n};\n"]}
|
package/lib/esm/api/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC","sourcesContent":["export * from './hooks';\n"]}
|
|
@@ -7,3 +7,4 @@ const RefreshAuthTokensProviderComponent = ({ children, authenticationInfo, refr
|
|
|
7
7
|
return _jsx(_Fragment, { children: children });
|
|
8
8
|
};
|
|
9
9
|
export const RefreshAuthTokensProvider = memo(RefreshAuthTokensProviderComponent);
|
|
10
|
+
//# sourceMappingURL=RefreshAuthTokensProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshAuthTokensProvider.js","sourceRoot":"","sources":["../../../src/auth/RefreshAuthTokensProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQ3C,MAAM,kCAAkC,GAA6C,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,EAAE;IACvI,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAEpD,gCAAgC;IAChC,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC","sourcesContent":["import { AuthenticationInfo } from 'quidproquo-core';\n\nimport { memo } from 'react';\n\nimport { useRefreshTokens } from './hooks';\n\nexport type RefreshAuthTokensProviderProps = {\n children: React.ReactNode;\n authenticationInfo?: AuthenticationInfo;\n refreshTokens: (authenticationInfo: AuthenticationInfo) => Promise<any>;\n};\n\nconst RefreshAuthTokensProviderComponent: React.FC<RefreshAuthTokensProviderProps> = ({ children, authenticationInfo, refreshTokens }) => {\n useRefreshTokens(authenticationInfo, refreshTokens);\n\n // This fragment is not useless!\n return <>{children}</>;\n};\n\nexport const RefreshAuthTokensProvider = memo(RefreshAuthTokensProviderComponent);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authContext.js","sourceRoot":"","sources":["../../../src/auth/authContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAY;IAClD,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\nimport { AuthState } from './types';\n\nexport const authContext = createContext<AuthState>({\n username: '',\n password: '',\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/auth/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './useAuthAccessToken';\nexport * from './useIsLoggedIn';\nexport * from './useRefreshTokens';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuthAccessToken.js","sourceRoot":"","sources":["../../../../src/auth/hooks/useAuthAccessToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE1C,oDAAoD;IAEpD,OAAO,SAAS,CAAC,kBAAkB,EAAE,WAAW,CAAC;AACnD,CAAC,CAAC","sourcesContent":["import { useContext } from 'react';\n\nimport { authContext } from '../authContext';\n\nexport const useAuthAccessToken = () => {\n const authState = useContext(authContext);\n\n // TODO: dont return access token if it has expired.\n\n return authState.authenticationInfo?.accessToken;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsLoggedIn.js","sourceRoot":"","sources":["../../../../src/auth/hooks/useIsLoggedIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,OAAO,CAAC,CAAC,WAAW,CAAC;AACvB,CAAC,CAAC","sourcesContent":["import { useAuthAccessToken } from './useAuthAccessToken';\n\nexport const useIsLoggedIn = () => {\n const accessToken = useAuthAccessToken();\n\n return !!accessToken;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefreshTokens.js","sourceRoot":"","sources":["../../../../src/auth/hooks/useRefreshTokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,kBAAkD,EAClD,aAAuE,EACvE,EAAE;IACF,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAE3D,0EAA0E;IAC1E,8BAA8B;IAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE;QACnC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,YAAY,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC1F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAEhG,4EAA4E;YAC5E,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAClC,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;YAE9C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,UAAU,CAAC,GAAG,EAAE;oBACrB,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;gBAC1C,CAAC,EAAE,WAAW,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,mFAAmF;gBACnF,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAE1B,OAAO,GAAG,EAAE;YACV,+CAA+C;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QACF,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,sDAAsD;IACxD,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC","sourcesContent":["import { AuthenticationInfo } from 'quidproquo-core';\n\nimport { useEffect } from 'react';\n\nimport { useFastCallback } from '../../hooks/useFastCallback';\n\nexport const useRefreshTokens = (\n authenticationInfo: AuthenticationInfo | undefined,\n refreshTokens: (authenticationInfo: AuthenticationInfo) => Promise<any>,\n) => {\n const stableRefreshTokens = useFastCallback(refreshTokens);\n\n // Stable identity so the effect below can list it as a dependency without\n // re-running on every render.\n const refresh = useFastCallback(() => {\n if (authenticationInfo && authenticationInfo.refreshToken && authenticationInfo.expiresAt) {\n const now = new Date().toISOString();\n const timeToExpire = new Date(authenticationInfo.expiresAt).getTime() - new Date(now).getTime();\n\n // Refresh the token 10 minutes before it expires to ensure there's a buffer\n const bufferTime = 10 * 60 * 1000;\n const refreshTime = timeToExpire - bufferTime;\n\n if (refreshTime > 0) {\n return setTimeout(() => {\n stableRefreshTokens(authenticationInfo);\n }, refreshTime);\n } else {\n // If the token is already expired or very close to expiration, refresh immediately\n stableRefreshTokens(authenticationInfo);\n }\n }\n\n return null;\n });\n\n useEffect(() => {\n const timerId = refresh();\n\n return () => {\n // Cleanup on unmount or when authState changes\n if (timerId) {\n clearTimeout(timerId);\n }\n };\n // Key on the stable primitives that actually drive a refresh, not the\n // authenticationInfo object itself. Callers commonly derive that object\n // fresh on every render (e.g. an unmemoized selector), so depending on its\n // reference would re-run this effect every render — and when the token is\n // expired/near-expiry the \"refresh immediately\" branch would then fire a\n // network refresh on every render, an unbounded loop.\n }, [refresh, authenticationInfo?.expiresAt, authenticationInfo?.refreshToken]);\n};\n"]}
|
package/lib/esm/auth/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC","sourcesContent":["export * from './authContext';\nexport * from './hooks';\nexport * from './RefreshAuthTokensProvider';\nexport * from './types';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthState.js","sourceRoot":"","sources":["../../../../src/auth/types/AuthState.ts"],"names":[],"mappings":"","sourcesContent":["import { AuthenticationInfo } from 'quidproquo-core';\n\nexport type AuthState = {\n challenge?: string;\n session?: string;\n username: string;\n password: string;\n\n authenticationInfo?: AuthenticationInfo;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/auth/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from './AuthState';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseUrlContext.js","sourceRoot":"","sources":["../../../src/baseUrl/BaseUrlContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAmB;IAC5D,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IAClB,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;CAC3B,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\nimport { BaseUrlResolvers } from './types';\n\nexport const BaseUrlContext = createContext<BaseUrlResolvers>({\n getApiUrl: () => '',\n getWsUrl: () => '',\n getMFManifestUrl: () => '',\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseUrlProvider.js","sourceRoot":"","sources":["../../../src/baseUrl/BaseUrlProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,CAAC,MAAM,eAAe,GAAkC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3F,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAA2B,CAAC;AAC5F,CAAC,CAAC","sourcesContent":["import { BaseUrlContext } from './BaseUrlContext';\nimport { BaseUrlResolvers } from './types';\n\nexport type BaseUrlContextProps = {\n children: React.ReactNode;\n urlResolvers: BaseUrlResolvers;\n};\n\nexport const BaseUrlProvider: React.FC<BaseUrlContextProps> = ({ children, urlResolvers }) => {\n return <BaseUrlContext.Provider value={urlResolvers}>{children}</BaseUrlContext.Provider>;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/baseUrl/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './useBaseUrlResolvers';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBaseUrlResolvers.js","sourceRoot":"","sources":["../../../../src/baseUrl/hooks/useBaseUrlResolvers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAqB,EAAE;IACxD,MAAM,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC","sourcesContent":["import { useContext } from 'react';\n\nimport { BaseUrlContext } from '../BaseUrlContext';\nimport { BaseUrlResolvers } from '../types';\n\nexport const useBaseUrlResolvers = (): BaseUrlResolvers => {\n const baseUrlResolvers = useContext(BaseUrlContext);\n return baseUrlResolvers;\n};\n"]}
|
package/lib/esm/baseUrl/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/baseUrl/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC","sourcesContent":["export * from './BaseUrlProvider';\nexport * from './hooks';\nexport * from './types';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseUrlResolver.js","sourceRoot":"","sources":["../../../../src/baseUrl/types/BaseUrlResolver.ts"],"names":[],"mappings":"","sourcesContent":["export type BaseUrlResolver = () => string;\nexport type BaseUrlResolvers = {\n getApiUrl: BaseUrlResolver;\n getWsUrl: BaseUrlResolver;\n getMFManifestUrl: BaseUrlResolver;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/baseUrl/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './BaseUrlResolver';\n"]}
|
|
@@ -44,3 +44,4 @@ const DateTimeComponent = (props) => {
|
|
|
44
44
|
return (_jsx("time", { className: className, dateTime: date.toISOString(), title: date.toLocaleString(locale), children: isMultiline ? (_jsxs(_Fragment, { children: [formattedDateTime ? _jsx("div", { children: formattedDateTime }) : null, displayTimeAgo ? _jsx("div", { children: timeAgo }) : null] })) : (_jsxs(_Fragment, { children: [formattedDateTime, displayTimeAgo ? ` (${timeAgo})` : ''] })) }));
|
|
45
45
|
};
|
|
46
46
|
export const DateTime = memo(DateTimeComponent);
|
|
47
|
+
//# sourceMappingURL=DateTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/dateTime/DateTime.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAwBrC,MAAM,oBAAoB,GAA+B;IACvD,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,oBAAoB,GAA+B;IACvD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,gBAAgB,GAAyC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1G,MAAM,gBAAgB,GAAyC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAEzH,MAAM,WAAW,GAAG,CAClB,OAA+C,EAC/C,IAA0C,EACF,EAAE;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,GAA+B,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAA4B,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EACJ,MAAM,EACN,qBAAqB,EACrB,WAAW,GAAG,IAAI,EAClB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,GAAG,EACjB,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,uEAAuE;IACvE,iFAAiF;IACjF,MAAM,OAAO,GAAG,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAEvI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,oBAAoB,CAAC,CAAC,EACrI,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAChD,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,oBAAoB,CAAC,CAAC,EACrI,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAChD,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC;IAEnD,wFAAwF;IACxF,oEAAoE;IACpE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,eAAM,SAAS,EAAE,SAAS,YAAG,WAAW,GAAQ,CAAC;IAC1D,CAAC;IAED,OAAO,CACL,eAAM,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YACzF,WAAW,CAAC,CAAC,CAAC,CACb,8BACG,iBAAiB,CAAC,CAAC,CAAC,wBAAM,iBAAiB,GAAO,CAAC,CAAC,CAAC,IAAI,EACzD,cAAc,CAAC,CAAC,CAAC,wBAAM,OAAO,GAAO,CAAC,CAAC,CAAC,IAAI,IAC5C,CACJ,CAAC,CAAC,CAAC,CACF,8BACG,iBAAiB,EACjB,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IACrC,CACJ,GACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { memo, useMemo } from 'react';\n\nimport { useTimeAgo } from './hooks';\n\ntype DateInput = { isoDateTime: string } | { unixTimestampMs: number } | { date: Date };\n\nexport type DateTimeProps = DateInput & {\n /** Locale(s) for both the absolute and relative formatting. Defaults to the runtime locale. */\n locale?: string | string[];\n /** Options for the absolute date/time. Defaults to a short date + time. */\n dateTimeFormatOptions?: Intl.DateTimeFormatOptions;\n /** Show the \"x minutes ago\" label alongside the absolute time. Defaults to true. */\n showTimeAgo?: boolean;\n /** Hide the date portion of the absolute time. Defaults to false. */\n hideDate?: boolean;\n /** Hide the time portion of the absolute time. Defaults to false. */\n hideTime?: boolean;\n /** Hide the \"x minutes ago\" label. Takes precedence over showTimeAgo. Defaults to false. */\n hideTimeAgo?: boolean;\n /** Render each part on its own line instead of inline. Defaults to true. */\n isMultiline?: boolean;\n /** What to render when the date is missing/invalid (e.g. an empty isoDateTime). Defaults to \"—\". */\n placeholder?: React.ReactNode;\n className?: string;\n};\n\nconst DEFAULT_DATE_OPTIONS: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: '2-digit',\n};\n\nconst DEFAULT_TIME_OPTIONS: Intl.DateTimeFormatOptions = {\n hour: '2-digit',\n minute: '2-digit',\n};\n\nconst DATE_OPTION_KEYS: (keyof Intl.DateTimeFormatOptions)[] = ['weekday', 'era', 'year', 'month', 'day'];\nconst TIME_OPTION_KEYS: (keyof Intl.DateTimeFormatOptions)[] = ['hour', 'minute', 'second', 'dayPeriod', 'timeZoneName'];\n\nconst pickOptions = (\n options: Intl.DateTimeFormatOptions | undefined,\n keys: (keyof Intl.DateTimeFormatOptions)[],\n): Intl.DateTimeFormatOptions | undefined => {\n if (!options) {\n return undefined;\n }\n\n const picked = keys.reduce<Intl.DateTimeFormatOptions>((acc, key) => {\n if (options[key] !== undefined) {\n (acc as Record<string, unknown>)[key] = options[key];\n }\n return acc;\n }, {});\n\n return Object.keys(picked).length > 0 ? picked : undefined;\n};\n\nconst DateTimeComponent: React.FC<DateTimeProps> = (props) => {\n const {\n locale,\n dateTimeFormatOptions,\n showTimeAgo = true,\n hideDate = false,\n hideTime = false,\n hideTimeAgo = false,\n isMultiline = true,\n placeholder = '—',\n className,\n } = props;\n\n // Stable primitive key so a fresh props object doesn't churn the memo.\n // Both the ISO string and the epoch-ms number are valid Date constructor inputs.\n const dateKey = 'isoDateTime' in props ? props.isoDateTime : 'unixTimestampMs' in props ? props.unixTimestampMs : props.date.getTime();\n\n const date = useMemo(() => new Date(dateKey), [dateKey]);\n const isValidDate = !Number.isNaN(date.getTime());\n\n const formattedDate = useMemo(\n () => (hideDate ? '' : date.toLocaleDateString(locale, pickOptions(dateTimeFormatOptions, DATE_OPTION_KEYS) ?? DEFAULT_DATE_OPTIONS)),\n [date, locale, dateTimeFormatOptions, hideDate],\n );\n\n const formattedTime = useMemo(\n () => (hideTime ? '' : date.toLocaleTimeString(locale, pickOptions(dateTimeFormatOptions, TIME_OPTION_KEYS) ?? DEFAULT_TIME_OPTIONS)),\n [date, locale, dateTimeFormatOptions, hideTime],\n );\n\n const timeAgo = useTimeAgo(date, locale);\n\n const formattedDateTime = [formattedDate, formattedTime].filter(Boolean).join(' ');\n const displayTimeAgo = showTimeAgo && !hideTimeAgo;\n\n // A missing/invalid date (e.g. an empty isoDateTime) renders the placeholder instead of\n // an \"Invalid Date\" string or crashing the relative-time formatter.\n if (!isValidDate) {\n return <time className={className}>{placeholder}</time>;\n }\n\n return (\n <time className={className} dateTime={date.toISOString()} title={date.toLocaleString(locale)}>\n {isMultiline ? (\n <>\n {formattedDateTime ? <div>{formattedDateTime}</div> : null}\n {displayTimeAgo ? <div>{timeAgo}</div> : null}\n </>\n ) : (\n <>\n {formattedDateTime}\n {displayTimeAgo ? ` (${timeAgo})` : ''}\n </>\n )}\n </time>\n );\n};\n\nexport const DateTime = memo(DateTimeComponent);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dateTime/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './useTimeAgo';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimeAgo.js","sourceRoot":"","sources":["../../../../src/dateTime/hooks/useTimeAgo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,MAA0B,EAAU,EAAE;IAC3E,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAO,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAwC,CAAC;QAE7C,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE;gBACH,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACb,CAAC,EACD,0BAA0B,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAC7C,CAAC;QACJ,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;QAEX,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC","sourcesContent":["import { formatTimeAgo, getTimeAgoUpdateIntervalMs } from 'quidproquo-web';\n\nimport { useEffect, useMemo, useState } from 'react';\n\n/**\n * Returns a relative time phrase for `date` (e.g. \"5 minutes ago\") that\n * updates itself over time. The re-render cadence adapts to the age of the\n * date, so recent times tick every second and older ones only update hourly.\n */\nexport const useTimeAgo = (date: Date, locale?: string | string[]): string => {\n const [now, setNow] = useState<Date>(() => new Date());\n\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n const schedule = () => {\n timeoutId = setTimeout(\n () => {\n setNow(new Date());\n schedule();\n },\n getTimeAgoUpdateIntervalMs(date, new Date()),\n );\n };\n\n schedule();\n\n return () => clearTimeout(timeoutId);\n }, [date]);\n\n return useMemo(() => formatTimeAgo(date, now, locale), [date, now, locale]);\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dateTime/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './DateTime';\nexport * from './hooks';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTimeAgo.js","sourceRoot":"","sources":["../../../../src/dateTime/logic/formatTimeAgo.ts"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,MAAM,SAAS,GAAe;IAC5B,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;CACpD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,MAAY,IAAI,IAAI,EAAE,EAAE,MAA0B,EAAU,EAAE;IACtG,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3E,wDAAwD;IACxD,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAU,EAAE,MAAY,IAAI,IAAI,EAAE,EAAU,EAAE;IACvF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAElE,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,CAAC,oBAAoB;IACnC,CAAC;IACD,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACxC,CAAC;IACD,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;IAC3C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;AAChD,CAAC,CAAC","sourcesContent":["type Division = {\n amount: number;\n unit: Intl.RelativeTimeFormatUnit;\n};\n\n// Each amount is \"how many of this unit make up one of the next unit\".\nconst DIVISIONS: Division[] = [\n { amount: 60, unit: 'seconds' },\n { amount: 60, unit: 'minutes' },\n { amount: 24, unit: 'hours' },\n { amount: 7, unit: 'days' },\n { amount: 4.34524, unit: 'weeks' },\n { amount: 12, unit: 'months' },\n { amount: Number.POSITIVE_INFINITY, unit: 'years' },\n];\n\n/**\n * Formats the distance between `date` and `now` as a relative phrase\n * (e.g. \"5 minutes ago\", \"in 2 hours\") using the native Intl.RelativeTimeFormat.\n * Past dates are negative, future dates are positive.\n */\nexport const formatTimeAgo = (date: Date, now: Date = new Date(), locale?: string | string[]): string => {\n const formatter = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });\n\n // Seconds between the two dates; negative for the past.\n let duration = (date.getTime() - now.getTime()) / 1000;\n\n for (const division of DIVISIONS) {\n if (Math.abs(duration) < division.amount) {\n return formatter.format(Math.round(duration), division.unit);\n }\n duration /= division.amount;\n }\n\n return formatter.format(Math.round(duration), 'years');\n};\n\n/**\n * How long until the relative phrase could next change, so callers can\n * re-render no more often than necessary.\n */\nexport const getTimeAgoUpdateIntervalMs = (date: Date, now: Date = new Date()): number => {\n const seconds = Math.abs((date.getTime() - now.getTime()) / 1000);\n\n if (seconds < 60) {\n return 1000; // seconds tick over\n }\n if (seconds < 60 * 60) {\n return 60 * 1000; // minutes tick over\n }\n if (seconds < 60 * 60 * 24) {\n return 60 * 60 * 1000; // hours tick over\n }\n return 60 * 60 * 24 * 1000; // days or coarser\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dateTime/logic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './formatTimeAgo';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QpqContextProvider.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/QpqContextProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtE,8CAA8C;AAC9C,MAAM,eAAe,GAAG,aAAa,CAAkB,EAAE,CAAC,CAAC;AAQ3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAoB,EAAE;IACvD,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAK,iBAA0C,EAAK,EAAE;IACtF,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,OAAO,iBAAiB,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC;AAC1H,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAA8B,EAAE,EAAE;IAC3G,+BAA+B;IAC/B,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAElD,iCAAiC;IACjC,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EACnE,CAAC,aAAa,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CACrD,CAAC;IAEF,kCAAkC;IAClC,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YAAG,QAAQ,GAA4B,CAAC;AAC/F,CAAC,CAAC","sourcesContent":["import { QpqContext, QpqContextIdentifier } from 'quidproquo-core';\n\nimport { createContext, ReactNode, useContext, useMemo } from 'react';\n\n// Define a generic type for the React Context\nconst qpqReactContext = createContext<QpqContext<any>>({});\n\ninterface QpqContextProviderProps<T> {\n contextIdentifier: QpqContextIdentifier<T>; // Ensures the identifier carries the type of the value\n value: T; // The value must match the type expected by the identifier\n children: ReactNode;\n}\n\nexport const useQpqContextValues = (): QpqContext<any> => {\n return useContext(qpqReactContext);\n};\n\nexport const useQpqContextValue = <T,>(contextIdentifier: QpqContextIdentifier<T>): T => {\n const context = useQpqContextValues();\n\n return contextIdentifier.uniqueName in context ? context[contextIdentifier.uniqueName] : contextIdentifier.defaultValue;\n};\n\nexport const QpqContextProvider = <T,>({ contextIdentifier, value, children }: QpqContextProviderProps<T>) => {\n // Get the parent context value\n const parentContext = useContext(qpqReactContext);\n\n // Merge parent and current value\n const mergedContext = useMemo(\n () => ({ ...parentContext, [contextIdentifier.uniqueName]: value }),\n [parentContext, contextIdentifier.uniqueName, value],\n );\n\n // Provide the merged context down\n return <qpqReactContext.Provider value={mergedContext}>{children}</qpqReactContext.Provider>;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QpqMappedApi.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/QpqMappedApi.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAA6C,IAAW,EAAE,IAAW,EAAiB,EAAE;IACpH,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["import { AskResponse, AskResponseReturnType, Story } from 'quidproquo-core';\n\n// Helper type to remap keys from \"askXyz\" to \"xyz\" (with lowercase first letter)\nexport type RemoveQpqAskPrefix<K extends string> = K extends `ask${infer R}` ? Uncapitalize<R> : never;\n\nexport type QpqApi = Record<`ask${string}`, Story<any, any>>;\n\n// Define the mapped API type.\n// We extract only string keys and then use a conditional type to infer parameters and return type.\nexport type QpqMappedApi<TApi extends QpqApi> = {\n [K in Extract<keyof TApi, string> as RemoveQpqAskPrefix<K>]: TApi[K] extends (...args: infer P) => infer R\n ? R extends AskResponse<any>\n ? (...args: P) => Promise<AskResponseReturnType<R>>\n : never\n : never;\n};\n\nexport const combineQpqApis = <TApiA extends QpqApi, TApiB extends QpqApi>(apiA: TApiA, apiB: TApiB): TApiA & TApiB => {\n return { ...apiA, ...apiB };\n};\n"]}
|
|
@@ -7,3 +7,4 @@ export const QpqRuntimeEffectCatcherComponent = ({ children, runtime, name, }) =
|
|
|
7
7
|
return _jsx(BubbleReducerDispatchContext.Provider, { value: dispatch, children: children });
|
|
8
8
|
};
|
|
9
9
|
export const QpqRuntimeEffectCatcher = memo(QpqRuntimeEffectCatcherComponent);
|
|
10
|
+
//# sourceMappingURL=QpqRuntimeEffectCatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QpqRuntimeEffectCatcher.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/QpqRuntimeEffectCatcher.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAuC,EACrF,QAAQ,EACR,OAAO,EACP,IAAI,GAGL,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEvE,OAAO,KAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAAyC,CAAC;AACpH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,gCAAgC,CAAC,CAAC","sourcesContent":["import { memo, ReactNode } from 'react';\n\nimport { BubbleReducerDispatchContext } from './bubbleReducer';\nimport { QpqRuntimeDefinition } from './createQpqRuntimeDefinition';\nimport { QpqApi } from './QpqMappedApi';\nimport { useQpqRuntime } from './useQpqRuntime';\n\ntype QpqRuntimeEffectCatcher = {\n runtime: QpqRuntimeDefinition<any, any, any>;\n name?: string;\n};\n\nexport const QpqRuntimeEffectCatcherComponent = <TState, TAction, TApi extends QpqApi>({\n children,\n runtime,\n name,\n}: QpqRuntimeEffectCatcher & {\n children: ReactNode;\n}) => {\n const [api, state, dispatch] = useQpqRuntime(runtime, undefined, name);\n\n return <BubbleReducerDispatchContext.Provider value={dispatch}>{children}</BubbleReducerDispatchContext.Provider>;\n};\n\nexport const QpqRuntimeEffectCatcher = memo(QpqRuntimeEffectCatcherComponent);\n"]}
|
|
@@ -6,3 +6,4 @@ const getProcessStateDispatch = (dispatch) => async ({ action }) => {
|
|
|
6
6
|
export const getStateDispatchActionListResolver = (dispatch) => async (_qpqConfig, _dynamicModuleLoader) => ({
|
|
7
7
|
[StateActionType.Dispatch]: getProcessStateDispatch(dispatch),
|
|
8
8
|
});
|
|
9
|
+
//# sourceMappingURL=getStateDispatchActionProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStateDispatchActionProcessor.js","sourceRoot":"","sources":["../../../../../src/hooks/asmj/actionProcessor/getStateDispatchActionProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,YAAY,EAAE,eAAe,EAAgC,MAAM,iBAAiB,CAAC;AAIhJ,MAAM,uBAAuB,GAC3B,CAAC,QAAuB,EAAqC,EAAE,CAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACnB,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjB,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kCAAkC,GAC7C,CAAC,QAAuB,EAA+B,EAAE,CACzD,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAgC,EAAE,CAAC,CAAC;IACzE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC;CAC9D,CAAC,CAAC","sourcesContent":["import { ActionProcessorList, ActionProcessorListResolver, actionResult, StateActionType, StateDispatchActionProcessor } from 'quidproquo-core';\n\nimport { Dispatch } from 'react';\n\nconst getProcessStateDispatch =\n (dispatch: Dispatch<any>): StateDispatchActionProcessor<any> =>\n async ({ action }) => {\n dispatch(action);\n\n return actionResult(undefined);\n };\n\nexport const getStateDispatchActionListResolver =\n (dispatch: Dispatch<any>): ActionProcessorListResolver =>\n async (_qpqConfig, _dynamicModuleLoader): Promise<ActionProcessorList> => ({\n [StateActionType.Dispatch]: getProcessStateDispatch(dispatch),\n });\n"]}
|
|
@@ -5,3 +5,4 @@ const getProcessStateRead = (getCurrentState) => async () => {
|
|
|
5
5
|
export const getStateReadActionListResolver = (getCurrentState) => async (_qpqConfig, _dynamicModuleLoader) => ({
|
|
6
6
|
[StateActionType.Read]: getProcessStateRead(getCurrentState),
|
|
7
7
|
});
|
|
8
|
+
//# sourceMappingURL=getStateReadActionProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStateReadActionProcessor.js","sourceRoot":"","sources":["../../../../../src/hooks/asmj/actionProcessor/getStateReadActionProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,YAAY,EAAE,eAAe,EAA4B,MAAM,iBAAiB,CAAC;AAE5I,MAAM,mBAAmB,GACvB,CAAQ,eAA4B,EAAiC,EAAE,CACvE,KAAK,IAAI,EAAE;IACT,OAAO,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,8BAA8B,GACzC,CAAQ,eAA4B,EAA+B,EAAE,CACrE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAgC,EAAE,CAAC,CAAC;IACzE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC;CAC7D,CAAC,CAAC","sourcesContent":["import { ActionProcessorList, ActionProcessorListResolver, actionResult, StateActionType, StateReadActionProcessor } from 'quidproquo-core';\n\nconst getProcessStateRead =\n <State>(getCurrentState: () => State): StateReadActionProcessor<any> =>\n async () => {\n return actionResult(getCurrentState());\n };\n\nexport const getStateReadActionListResolver =\n <State>(getCurrentState: () => State): ActionProcessorListResolver =>\n async (_qpqConfig, _dynamicModuleLoader): Promise<ActionProcessorList> => ({\n [StateActionType.Read]: getProcessStateRead(getCurrentState),\n });\n"]}
|
|
@@ -4,3 +4,4 @@ export const getStateActionProcessor = (dispatch, getCurrentState) => async (qpq
|
|
|
4
4
|
...(await getStateDispatchActionListResolver(dispatch)(qpqConfig, dynamicModuleLoader)),
|
|
5
5
|
...(await getStateReadActionListResolver(getCurrentState)(qpqConfig, dynamicModuleLoader)),
|
|
6
6
|
});
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/hooks/asmj/actionProcessor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAClC,CAAQ,QAAuB,EAAE,eAA4B,EAA+B,EAAE,CAC9F,KAAK,EAAE,SAAoB,EAAE,mBAAwC,EAAgC,EAAE,CAAC,CAAC;IACvG,GAAG,CAAC,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACvF,GAAG,CAAC,MAAM,8BAA8B,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;CAC3F,CAAC,CAAC","sourcesContent":["import { ActionProcessorList, ActionProcessorListResolver, DynamicModuleLoader, QPQConfig } from 'quidproquo-core';\n\nimport { Dispatch } from 'react';\n\nimport { getStateDispatchActionListResolver } from './getStateDispatchActionProcessor';\nimport { getStateReadActionListResolver } from './getStateReadActionProcessor';\n\nexport const getStateActionProcessor =\n <State>(dispatch: Dispatch<any>, getCurrentState: () => State): ActionProcessorListResolver =>\n async (qpqConfig: QPQConfig, dynamicModuleLoader: DynamicModuleLoader): Promise<ActionProcessorList> => ({\n ...(await getStateDispatchActionListResolver(dispatch)(qpqConfig, dynamicModuleLoader)),\n ...(await getStateReadActionListResolver(getCurrentState)(qpqConfig, dynamicModuleLoader)),\n });\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubbleReducer.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/bubbleReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAwB,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMxF,kDAAkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAwB,CAAC,OAAY,EAAQ,EAAE;IACtG,OAAO;AACT,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,iBAA8D,EAC9D,IAAa,EACsC,EAAE;IACrD,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEhF,2CAA2C;IAC3C,MAAM,cAAc,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAEhE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,MAAe,EAAQ,EAAE;QACzD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAEpF,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC","sourcesContent":["import { createContext, useContext, useMemo } from 'react';\n\nimport { useFastCallback } from '../useFastCallback';\nimport { QpqRuntimeDefinition, useQpqRuntimeState } from './createQpqRuntimeDefinition';\nimport { QpqApi } from './QpqMappedApi';\n\n// Define the bubble reducer type\nexport type QpqBubbleReducer<S, A> = (prevState: S, action: A) => [S, boolean];\n\n// Create a context with a default NOOP dispatcher\nexport const BubbleReducerDispatchContext = createContext<(action: any) => void>((_action: any): void => {\n // NOOP\n});\n\nexport const useQpqRuntimeBubblingReducer = <TState, TAction, TApi extends QpqApi>(\n runtimeDefinition: QpqRuntimeDefinition<TState, TAction, TApi>,\n name?: string,\n): [TState, (action: TAction) => void, () => TState] => {\n const runtimeDefinitionInfo = useMemo(() => runtimeDefinition(name), [runtimeDefinition, name]);\n\n const [state, setState, getState] = useQpqRuntimeState(runtimeDefinition, name);\n\n // Get the parent dispatch from the context\n const parentDispatch = useContext(BubbleReducerDispatchContext);\n\n // Custom Dispatch using functional updates\n const dispatch = useFastCallback((action: TAction): void => {\n const [newState, preventBubble] = runtimeDefinitionInfo.reducer(getState(), action);\n\n if (preventBubble) {\n setState(newState);\n } else {\n parentDispatch(action);\n }\n });\n\n return [state, dispatch, getState];\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createQpqRuntimeDefinition.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/createQpqRuntimeDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsBzC,MAAM,UAAU,0BAA0B,CACxC,GAAS,EACT,YAAoB,EACpB,UAA6C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAE9D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE1E,MAAM,kBAAkB,GAA2C,CAAC,IAAa,EAAuC,EAAE;QACxH,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAwC;gBACnD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;gBACxB,OAAO;gBACP,YAAY;gBACZ,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,YAAY;aACpB,CAAC;YAEF,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAiD,EACjD,OAAkC;IAElC,OAAO,CAAC,IAAa,EAA2C,EAAE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAiD,EACjD,IAAa;IAEb,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9C,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,QAAgB,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QAEtB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CACvB,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAW,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjB,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAiB,YAAgD,EAAE,IAAa;IACnH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAElF,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { atom, useAtom } from 'jotai';\nimport { selectAtom } from 'jotai/utils';\n\nimport { QpqBubbleReducer } from './bubbleReducer';\nimport { QpqApi } from './QpqMappedApi';\n\n// Define the function type for retrieving atoms\ntype CustomJotaiReducerAtom<TState> = ReturnType<typeof atom<TState>>;\ntype CustomJotaiComputedAtom<TState, TSlice> = ReturnType<typeof selectAtom<TState, TSlice>>;\n\nexport type QpqAsmjState<TState, TAction, TApi extends QpqApi> = {\n atom: CustomJotaiReducerAtom<TState>;\n reducer: QpqBubbleReducer<TState, TAction>;\n initialState: TState;\n api: TApi;\n state: TState;\n};\ntype AsmjStateGetter<TState, TAction, TApi extends QpqApi> = (name?: string) => QpqAsmjState<TState, TAction, TApi>;\ntype AsmjStateComputer<TState, TSlice> = (name?: string) => CustomJotaiComputedAtom<TState, TSlice>;\n\nexport type QpqRuntimeDefinition<TState, TAction, TApi extends QpqApi> = AsmjStateGetter<TState, TAction, TApi>;\nexport type QpqRuntimeComputed<TState, TSlice> = AsmjStateComputer<TState, TSlice>;\n\nexport function createQpqRuntimeDefinition<TState, TAction, TApi extends QpqApi>(\n api: TApi,\n initialState: TState,\n reducer: QpqBubbleReducer<TState, TAction> = (s) => [s, false],\n): QpqRuntimeDefinition<TState, TAction, TApi> {\n const namedAtoms = new Map<string, QpqAsmjState<TState, TAction, TApi>>();\n\n const getCustomNamedAtom: AsmjStateGetter<TState, TAction, TApi> = (name?: string): QpqAsmjState<TState, TAction, TApi> => {\n const actualName = name ? name : '$$qpq-default$$';\n if (!namedAtoms.has(actualName)) {\n const winAtom: QpqAsmjState<TState, TAction, TApi> = {\n atom: atom(initialState),\n reducer,\n initialState,\n api: api,\n state: initialState,\n };\n\n namedAtoms.set(actualName, winAtom);\n }\n\n return namedAtoms.get(actualName)!;\n };\n\n return getCustomNamedAtom;\n}\n\nexport function createQpqRuntimeComputed<TState, TAction, TApi extends QpqApi, TSlice>(\n atom: QpqRuntimeDefinition<TState, TAction, TApi>,\n compute: (state: TState) => TSlice,\n): QpqRuntimeComputed<TState, TSlice> {\n return (name?: string): CustomJotaiComputedAtom<TState, TSlice> => {\n const info = atom(name);\n return selectAtom(info.atom, compute);\n };\n}\n\nexport function useQpqRuntimeState<TState, TAction, TApi extends QpqApi>(\n atom: QpqRuntimeDefinition<TState, TAction, TApi>,\n name?: string,\n): [TState, (newState: TState) => void, () => TState] {\n const actualAtom = useMemo(() => atom(name).atom, [atom, name]);\n\n const [state, setState] = useAtom(actualAtom);\n\n const setStateWrapper = useCallback(\n (newState: TState) => {\n const info = atom(name);\n info.state = newState;\n\n setState(newState);\n },\n [atom, name, setState],\n );\n\n const getState = useCallback((): TState => {\n const state = atom(name).state;\n return state;\n }, [atom, name]);\n\n return [state, setStateWrapper, getState];\n}\n\nexport function useQpqRuntimeComputed<TState, TSlice>(computedAtom: QpqRuntimeComputed<TState, TSlice>, name?: string): TSlice {\n const computedAtomValue = useMemo(() => computedAtom(name), [computedAtom, name]);\n\n const [state] = useAtom(computedAtomValue);\n\n return state;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './actionProcessor';\nexport * from './bubbleReducer';\nexport * from './createQpqRuntimeDefinition';\nexport * from './QpqContextProvider';\nexport * from './QpqMappedApi';\nexport * from './QpqRuntimeEffectCatcher';\nexport * from './useBubbleReducer';\nexport * from './useQpqRuntime';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBubbleReducer.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/useBubbleReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,4BAA4B,EAAoB,MAAM,iBAAiB,CAAC;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAsC,EACtC,YAAqC,EACA,EAAE;IACvC,MAAM,cAAc,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,MAAe,EAAE,EAAE;QAClB,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpE,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,cAAc,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import { useCallback, useContext, useRef, useState } from 'react';\n\nimport { BubbleReducerDispatchContext, QpqBubbleReducer } from './bubbleReducer';\n\nexport const useBubbleReducer = <TState>(\n reducer: QpqBubbleReducer<TState, any>,\n initialState: TState | (() => TState),\n): [TState, (action: unknown) => void] => {\n const parentDispatch = useContext(BubbleReducerDispatchContext);\n const [state, setState] = useState(initialState);\n const stateRef = useRef(state);\n stateRef.current = state;\n\n const dispatch = useCallback(\n (action: unknown) => {\n const [newState, preventBubble] = reducer(stateRef.current, action);\n\n if (preventBubble) {\n setState(newState);\n } else {\n parentDispatch(action);\n }\n },\n [parentDispatch, reducer],\n );\n\n return [state, dispatch];\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQpqRuntime.js","sourceRoot":"","sources":["../../../../src/hooks/asmj/useQpqRuntime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAS/D,MAAM,UAAU,aAAa,CAM3B,IAAiD,EACjD,SAA2B,EAC3B,IAAa,EACb,sBAAkE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAExF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,4BAA4B,CAAwB,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3G,iEAAiE;IACjE,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GAAgC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC/F,GAAG,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC7F,GAAG,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;KAC1F,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE1C,wDAAwD;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;QACvB,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnE,8DAA8D;gBAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;gBACxF,2DAA2D;gBAC3D,yDAAyD;gBACzD,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAU,CAAC,CAAQ,CAAC;YACrE,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,GAAyB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import { ActionProcessorListResolver, Story } from 'quidproquo-core';\n\nimport { Dispatch, useEffect, useMemo, useState } from 'react';\n\nimport { useQpq } from '../useQpq';\nimport { getStateActionProcessor } from './actionProcessor';\nimport { useQpqRuntimeBubblingReducer } from './bubbleReducer';\nimport { QpqRuntimeDefinition } from './createQpqRuntimeDefinition';\nimport { QpqApi, QpqMappedApi } from './QpqMappedApi';\n\nexport type ActionProcessorListResolverFactory<TState = any> = (\n dispatch: Dispatch<any>,\n getCurrentState: () => TState,\n) => ActionProcessorListResolver;\n\nexport function useQpqRuntime<\n TState,\n TAction,\n // Constrain TApi so that all keys must start with \"ask\"\n TApi extends QpqApi,\n>(\n atom: QpqRuntimeDefinition<TState, TAction, TApi>,\n mainStory?: Story<any, any>,\n name?: string,\n getActionProcessors: ActionProcessorListResolverFactory<TState> = () => async () => ({}),\n): [QpqMappedApi<TApi>, TState, (action: any) => void] {\n const atomInfo = useMemo(() => atom(name), [atom, name]);\n\n const [state, dispatch, getCurrentState] = useQpqRuntimeBubblingReducer<TState, TAction, TApi>(atom, name);\n\n // Api generators are memoized to prevent unnecessary re-renders.\n const [memoedApiGenerators] = useState(() => atomInfo.api);\n\n const mergedProcessors: ActionProcessorListResolver = async (qpqConfig, dynamicModuleLoader) => ({\n ...(await getStateActionProcessor(dispatch, getCurrentState)(qpqConfig, dynamicModuleLoader)),\n ...(await getActionProcessors(dispatch, getCurrentState)(qpqConfig, dynamicModuleLoader)),\n });\n\n const resolver = useQpq(mergedProcessors);\n\n // Wrap and remap each API generator using the resolver.\n const api = useMemo(() => {\n const wrapped: Record<string, any> = {};\n for (const key in memoedApiGenerators) {\n if (Object.prototype.hasOwnProperty.call(memoedApiGenerators, key)) {\n // Remove the 'ask' prefix and lower-case the first character.\n const withoutAsk = key.slice(3); // e.g., \"FetchTodos\"\n const newKey = withoutAsk.charAt(0).toLowerCase() + withoutAsk.slice(1); // \"fetchTodos\"\n // We know newKey matches our mapped type so we can assign.\n // (A type assertion is used here to quiet the compiler.)\n wrapped[newKey] = resolver(memoedApiGenerators[key as any]) as any;\n }\n }\n return wrapped;\n }, [resolver, memoedApiGenerators]);\n\n useEffect(() => {\n if (mainStory) {\n resolver(mainStory)();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [api as QpqMappedApi<TApi>, state, dispatch];\n}\n"]}
|
package/lib/esm/hooks/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './asmj';\nexport * from './useAsyncEffect';\nexport * from './useComputed';\nexport * from './useEffectCallback';\nexport * from './useFastCallback';\nexport * from './useMetadata';\nexport * from './useOnKeyDownEffect';\nexport * from './useQpq';\nexport * from './useRunEvery';\nexport * from './useThrottledMemo';\nexport * from './useZipArrays';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsyncEffect.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAkE,EAAE,IAAqB,EAAQ,EAAE;IAChI,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEtC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;YAE5B,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACvB,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,2EAA2E;QAC3E,uEAAuE;QACvE,uDAAuD;IACzD,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { DependencyList, useEffect } from 'react';\n\nexport const useAsyncEffect = (effect: (isMounted: () => boolean) => Promise<void | (() => void)>, deps?: DependencyList): void => {\n useEffect(() => {\n const mountStatus = { mounted: true };\n\n const runEffect = async () => {\n try {\n return await effect(() => mountStatus.mounted);\n } catch (error) {\n console.error('Error in useAsyncEffect:', error);\n }\n };\n\n const result = runEffect();\n\n return () => {\n mountStatus.mounted = false;\n\n result.then((callback) => {\n if (callback) {\n callback();\n }\n });\n };\n // The dependency list is supplied by the caller, so it can't be statically\n // verified here — this hook is a passthrough wrapper around useEffect.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComputed.js","sourceRoot":"","sources":["../../../src/hooks/useComputed.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAA2B,KAAa,EAAE,QAA8B;IACjG,yFAAyF;IACzF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC","sourcesContent":["export function useComputed<TState extends object, T>(state: TState, selector: (state: TState) => T): T {\n // TODO: use proxies to resolve deps and only return updated values when the deps change.\n return selector(state);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEffectCallback.js","sourceRoot":"","sources":["../../../src/hooks/useEffectCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE5D,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAqB,QAAW,EAAE,IAAqB;IACtF,MAAM,WAAW,GAAG,MAAM,CAAI,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAEzD,oDAAoD;IACpD,iEAAiE;IACjE,mDAAmD;IACnD,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9G,IAAI,cAAc,EAAE,CAAC;QACnB,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnF,OAAO,QAAwB,CAAC;AAClC,CAAC","sourcesContent":["import { DependencyList, useCallback, useRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport function useEffectCallback<T extends Function>(callback: T, deps?: DependencyList): T {\n const callbackRef = useRef<T>(callback);\n const depsRef = useRef<DependencyList | undefined>(deps);\n\n // If the deps have changed, update the callback ref\n // We support undefined deps, which means they are always updated\n // This is different to [] where its never updated.\n const hasDepsChanged = !depsRef.current || !deps || depsRef.current.some((dep, index) => dep !== deps[index]);\n if (hasDepsChanged) {\n callbackRef.current = callback;\n }\n\n depsRef.current = deps;\n\n const memoFunc = useCallback((...args: any[]) => callbackRef.current(...args), []);\n\n return memoFunc as unknown as T;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFastCallback.js","sourceRoot":"","sources":["../../../src/hooks/useFastCallback.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAqB,QAAW,EAAE,IAAqB;IACpF,OAAO,iBAAiB,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-function-type */\nimport { DependencyList } from 'react';\n\nimport { useEffectCallback } from './useEffectCallback';\n\n// depraecated: use useEffectCallback instead\nexport function useFastCallback<T extends Function>(callback: T, deps?: DependencyList): T {\n return useEffectCallback<T>(callback, deps);\n}\n"]}
|