@smash-sdk/core
Version:
Smash Sdk Core
89 lines (88 loc) • 3.4 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { Region, Global as GlobalRegion, RefreshTokenMethod } from "../client/types";
import { RefreshTokenManager } from "../helper/refreshTokenManager";
import { Agent as HttpAgent } from 'http';
import { Agent as HttpsAgent } from 'https';
declare const globalKey: unique symbol;
export interface RegionalHost {
"eu-west-1"?: string;
"eu-west-2"?: string;
"eu-west-3"?: string;
"eu-central-1"?: string;
"us-east-1"?: string;
"us-east-2"?: string;
"us-west-1"?: string;
"us-west-2"?: string;
"ca-central-1"?: string;
}
export interface GlobalHost {
global: string;
}
export interface Hosts {
[key: string]: GlobalHost | RegionalHost;
}
declare global {
namespace NodeJS {
interface Global {
[globalKey]?: Config;
smashSdkHosts?: Hosts;
smashSdkToken?: string;
smashSdkRegion?: Region | GlobalRegion;
smashSdkRefreshTokenMethod?: RefreshTokenMethod;
smashSdkRefreshTokenManager?: RefreshTokenManager;
smashSdkTimeout?: number;
smashSdkHttpAgent?: HttpAgent;
smashSdkHttpsAgent?: HttpsAgent;
}
}
interface Window {
[globalKey]?: Config;
smashSdkHosts?: Hosts;
smashSdkToken?: string;
smashSdkRegion?: Region | GlobalRegion;
smashSdkRefreshTokenMethod?: RefreshTokenMethod;
smashSdkRefreshTokenManager?: RefreshTokenManager;
smashSdkTimeout?: number;
smashSdkHttpAgent?: HttpAgent;
smashSdkHttpsAgent?: HttpsAgent;
}
}
export declare class Config {
private static instance;
get hosts(): Hosts;
set hosts(hosts: Hosts);
get token(): string | undefined;
set token(token: string | undefined);
get region(): Region | GlobalRegion | undefined;
set region(region: Region | GlobalRegion | undefined);
get timeout(): number | undefined;
set timeout(timeout: number | undefined);
get httpAgent(): HttpAgent | undefined;
set httpAgent(httpAgent: HttpAgent | undefined);
get httpsAgent(): HttpsAgent | undefined;
set httpsAgent(httpsAgent: HttpsAgent | undefined);
get refreshTokenMethod(): RefreshTokenMethod | undefined;
set refreshTokenMethod(refreshTokenMethod: RefreshTokenMethod | undefined);
get refreshtokenManager(): RefreshTokenManager | undefined;
set refreshtokenManager(refreshTokenManager: RefreshTokenManager | undefined);
static get Instance(): Config;
constructor();
getHost(service: keyof Hosts, region?: Region | GlobalRegion): string;
setHosts(service: string, hosts: RegionalHost | GlobalHost, overwrite?: boolean): void;
setRegion(region: Region): void;
getRegion(): Region | GlobalRegion | undefined;
setToken(token: string): void;
getToken(): string | undefined;
setRefreshTokenMethod(refreshtokenMethod: RefreshTokenMethod): void;
getRefreshTokenMethod(): RefreshTokenMethod | undefined;
getRefreshTokenManager(): RefreshTokenManager | undefined;
setTimeout(timeout: number): void;
getTimeout(): number | undefined;
setHttpAgent(httpAgent: HttpAgent): void;
getHttpAgent(): HttpAgent | undefined;
setHttpsAgent(httpsAgent: HttpsAgent): void;
getHttpsAgent(): HttpsAgent | undefined;
}
export declare const config: Config;
export {};