fix types
/ build (push) Successful in 2m35s

This commit is contained in:
2025-12-16 01:17:06 -08:00
parent bed578e80d
commit c2c952e96a
+20 -5
View File
@@ -1,5 +1,20 @@
import * as TwitchAuth from "./TwitchAuth.ts";
import { AccessTokenMaybeWithUserId, AuthProvider, AccessToken, AccessTokenWithUserId } from "@twurple/auth";
import { AccessTokenMaybeWithUserId, AuthProvider, AccessTokenWithUserId } from "@twurple/auth";
/**
* A type that represents a user and contains a user ID.
*/
interface UserIdResolvableType {
/**
* The ID of the user.
*/
id: string;
}
/**
* A user ID or a user or channel object.
*/
type UserIdResolvable = string | number | UserIdResolvableType;
type Token = TwitchAuth.TwitchToken & AccessTokenMaybeWithUserId
@@ -59,7 +74,7 @@ export default class SugoiAuthProvider implements AuthProvider {
this.#token = null
}
async getAccessTokenForUser(user: string | number, ...scopeSets: string[][]) {
async getAccessTokenForUser(user: UserIdResolvable, ...scopeSets: string[][]) {
if ((!scopeSets[0]) && (this.#token)) {
return this.#token as AccessTokenWithUserId
}
@@ -72,18 +87,18 @@ export default class SugoiAuthProvider implements AuthProvider {
return this.#token as AccessTokenWithUserId
}
async getAnyAccessToken(user: string | number) {
async getAnyAccessToken(user: UserIdResolvable) {
return this.#token || TwitchAuth.getAppToken(this.clientId).then(getTwurpleProxy)
}
getCurrentScopesForUser(user: string | number) {
getCurrentScopesForUser(user: UserIdResolvable) {
if (!this.#token || this.#token instanceof Promise) {
return []
}
return this.#token.scope
}
async refreshAccessTokenForUser(user: string | number) {
async refreshAccessTokenForUser(user: UserIdResolvable) {
this.#token = await TwitchAuth.refreshToken(this.clientId, this.#token.refresh_token).then(this.#setToken)
return this.#token as AccessTokenWithUserId
}