77import { Micro } from 'effect' ;
88import { oidcApi } from './oidc.api.js' ;
99import { createClientStore , createLogoutError } from './client.store.utils.js' ;
10- import { OauthTokens , OidcConfig } from './config.types.js' ;
11- import { WellKnownResponse } from '@forgerock/sdk-types' ;
12- import { createStorage } from '@forgerock/storage' ;
13- import { LogoutErrorResult , LogoutSuccessResult } from './client.types.js' ;
10+ import type { OauthTokens , OidcConfig } from './config.types.js' ;
11+ import type { WellKnownResponse } from '@forgerock/sdk-types' ;
12+ import type { StorageClient } from '@forgerock/storage' ;
13+ import type { LogoutErrorResult , LogoutSuccessResult } from './client.types.js' ;
1414
1515export function logoutµ ( {
1616 tokens,
@@ -23,7 +23,7 @@ export function logoutµ({
2323 config : OidcConfig ;
2424 wellknown : WellKnownResponse ;
2525 store : ReturnType < typeof createClientStore > ;
26- storageClient : ReturnType < typeof createStorage < OauthTokens > > ;
26+ storageClient : StorageClient < OauthTokens > ;
2727} ) {
2828 return Micro . zip (
2929 // End session with the ID token
@@ -50,13 +50,11 @@ export function logoutµ({
5050 // Delete local token and return combined results
5151 Micro . flatMap ( ( [ sessionResponse , revokeResponse ] ) =>
5252 Micro . promise ( ( ) => storageClient . remove ( ) ) . pipe (
53- Micro . flatMap ( ( deleteRes ) => {
54- const deleteResponse = typeof deleteRes === 'undefined' ? null : deleteRes ;
55-
53+ Micro . flatMap ( ( deleteResponse ) => {
5654 const isInnerRequestError =
5755 ( sessionResponse && 'error' in sessionResponse ) ||
5856 ( revokeResponse && 'error' in revokeResponse ) ||
59- ( deleteResponse && typeof deleteResponse === 'object' && 'error' in deleteResponse ) ;
57+ ( deleteResponse && 'error' in deleteResponse ) ;
6058
6159 if ( isInnerRequestError ) {
6260 const result : LogoutErrorResult = {
0 commit comments