19 lines
576 B
TypeScript
19 lines
576 B
TypeScript
import { JwtSession } from './JwtSession'
|
|
import { TokenSession } from './TokenSession'
|
|
import { RawSessionPayload, RawStorageValue } from './Types'
|
|
|
|
export function SessionFromRawStorageValue(raw: RawStorageValue): JwtSession | TokenSession {
|
|
if ('jwt' in raw) {
|
|
return new JwtSession(raw.jwt as string)
|
|
} else {
|
|
const rawSession = raw as RawSessionPayload
|
|
return new TokenSession(
|
|
rawSession.accessToken,
|
|
rawSession.accessExpiration,
|
|
rawSession.refreshToken,
|
|
rawSession.refreshExpiration,
|
|
rawSession.readonlyAccess,
|
|
)
|
|
}
|
|
}
|