mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-03 19:42:27 +08:00
Adjustments per rbuckton (https://github.com/DefinitelyTyped/DefinitelyTyped/pull/25849)
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import tokenProvider from 'axios-token-interceptor';
|
||||
import tokenProvider = require('axios-token-interceptor');
|
||||
|
||||
tokenProvider(); // $ExpectError
|
||||
|
||||
const validOptions = {
|
||||
getToken: () => Promise.resolve('qwerty'),
|
||||
getToken: () => Promise.resolve('qwerty'),
|
||||
};
|
||||
tokenProvider(validOptions); // $ExpectType TokenProvider
|
||||
|
||||
@@ -11,7 +11,7 @@ tokenCache(); // $ExpectError
|
||||
|
||||
const getToken = Promise.resolve('qwerty');
|
||||
const validCacheOptions = {
|
||||
maxAge: 3600,
|
||||
maxAge: 3600,
|
||||
};
|
||||
const cache = tokenProvider.tokenCache(getToken, validCacheOptions); // $Expect TokenCache
|
||||
|
||||
|
||||
45
types/axios-token-interceptor/index.d.ts
vendored
45
types/axios-token-interceptor/index.d.ts
vendored
@@ -6,28 +6,27 @@
|
||||
import { AxiosRequestConfig } from 'axios';
|
||||
|
||||
// Module
|
||||
export function AxiosTokenProvider(Options: InterceptorOptions): TokenProvider;
|
||||
export namespace AxiosTokenProvider {
|
||||
declare function AxiosTokenProvider(Options: AxiosTokenProvider.InterceptorOptions): AxiosTokenProvider.TokenProvider;
|
||||
declare namespace AxiosTokenProvider {
|
||||
function tokenCache(getToken: Promise<string>, options: TokenCacheOptions): TokenCache;
|
||||
|
||||
// Interfaces
|
||||
interface InterceptorOptions {
|
||||
token?: string;
|
||||
getToken?: () => string | Promise<string>;
|
||||
header?: string;
|
||||
headerFormatter?: (token: string) => string;
|
||||
}
|
||||
|
||||
type TokenProvider = (config: AxiosRequestConfig) => Promise<AxiosRequestConfig>;
|
||||
|
||||
interface TokenCacheOptions {
|
||||
getMaxAge?: () => number;
|
||||
maxAge?: number;
|
||||
}
|
||||
|
||||
interface TokenCache {
|
||||
reset(): void;
|
||||
}
|
||||
}
|
||||
export default AxiosTokenProvider;
|
||||
|
||||
// Interfaces
|
||||
|
||||
export interface InterceptorOptions {
|
||||
token?: string;
|
||||
getToken?: () => string | Promise<string>;
|
||||
header?: string;
|
||||
headerFormatter?: (token: string) => string;
|
||||
}
|
||||
|
||||
export type TokenProvider = (config: AxiosRequestConfig) => Promise<AxiosRequestConfig>;
|
||||
|
||||
export interface TokenCacheOptions {
|
||||
getMaxAge?: () => number;
|
||||
maxAge?: number;
|
||||
}
|
||||
|
||||
export interface TokenCache {
|
||||
reset(): void;
|
||||
}
|
||||
export = AxiosTokenProvider;
|
||||
|
||||
Reference in New Issue
Block a user