@types/axios-token-interceptor
TypeScript icon, indicating that this package has built-in type declarations

0.2.8 • Public • Published

Installation

npm install --save @types/axios-token-interceptor

Summary

This package contains type definitions for axios-token-interceptor (https://github.com/sandrinodimattia/axios-token-interceptor#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/axios-token-interceptor.

index.d.ts

import { AxiosInstance } from "axios";

// Module
declare function AxiosTokenProvider(Options: AxiosTokenProvider.InterceptorOptions): AxiosTokenProvider.TokenProvider;
declare namespace AxiosTokenProvider {
    function tokenCache<T>(getToken: () => Promise<T>, options: TokenCacheOptions<T>): TokenCache<T>;

    // Interfaces
    interface InterceptorOptions<T = unknown> {
        token?: string | undefined;
        getToken?: (() => T | Promise<T>) | undefined;
        header?: string | undefined;
        headerFormatter?: ((token: T) => string) | undefined;
    }

    interface Token {
        access_token: string;
        expires_in: number;
    }

    type _InterceptorsRequestUseParam = Parameters<AxiosInstance["interceptors"]["request"]["use"]>[0];
    type InternalAxiosRequestConfig = Parameters<NonNullable<_InterceptorsRequestUseParam>>[0];
    type TokenProvider = (config: InternalAxiosRequestConfig) => Promise<InternalAxiosRequestConfig>;

    interface TokenCacheOptions<T = unknown> {
        getMaxAge?: (() => number) | ((el: T) => number) | undefined;
        maxAge?: number | undefined;
    }

    interface TokenCache<T = string> {
        (): Promise<T>;
        reset(): void;
    }
}
export = AxiosTokenProvider;

Additional Details

  • Last updated: Wed, 29 Nov 2023 00:23:57 GMT
  • Dependencies: axios

Credits

These definitions were written by Vivint Team Innovation, and Mike Dodge.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/axios-token-interceptor

Weekly Downloads

2,108

Version

0.2.8

License

MIT

Unpacked Size

5.46 kB

Total Files

5

Last publish

Collaborators

  • types