| import { OAuthResult } from "@huggingface/hub" | |
| // return a valid OAuthResult, or else undefined | |
| export function getValidOAuth(rawInput?: any): OAuthResult | undefined { | |
| try { | |
| let untypedOAuthResult: any | |
| try { | |
| untypedOAuthResult = JSON.parse(rawInput) | |
| if (!untypedOAuthResult) { throw new Error("no valid serialized oauth result") } | |
| } catch (err) { | |
| untypedOAuthResult = rawInput | |
| } | |
| const maybeValidOAuth = untypedOAuthResult as OAuthResult | |
| const accessTokenExpiresAt = new Date(maybeValidOAuth.accessTokenExpiresAt) | |
| // Get the current date | |
| const currentDate = new Date() | |
| if (accessTokenExpiresAt.getTime() < currentDate.getTime()) { | |
| throw new Error("the serialized oauth result has expired") | |
| } | |
| return maybeValidOAuth | |
| } catch (err) { | |
| // console.error(err) | |
| return undefined | |
| } | |
| } |