kutt
Version:
Node.js & browser (TypeScript) client for Kutt url shortener
84 lines (83 loc) • 2.03 kB
TypeScript
import { Domain, Health, Link, User } from "#src/api/index";
import { ConfigI } from "#src/config";
/**
*
* @see {@link https://docs.kutt.it}
* @example
* const kutt = new Kutt();
*/
export default class Kutt {
#private;
/**
* Gets default/global config.
*
* @param config
* @example
* const api = Kutt.get("api");
*/
static get<Config extends keyof ConfigI>(config: Config): ConfigI[Config];
/**
* Sets default/global config.
*
* @param config
* @param value
* @example
* Kutt.set("api", , "https://kutt.it/api/v2");
* @example
* Kutt.set("api", , "https://kutt.it/api/v2")
* .set("timeout", 1e4);
*/
static set<Config extends keyof ConfigI>(config: Config, value: ConfigI[Config]): typeof Kutt;
/**
* Domains API.
*
* @see {@link https://docs.kutt.it/#tag/domains}
* @example
* const domains = kutt.domains();
*/
domains(): Domain;
/**
* Gets instance config.
*
* @param config
* @example
* const api = kutt.get("api");
*/
get<Config extends keyof ConfigI>(config: Config): ConfigI[Config];
/**
* Health API.
*
* @see {@link https://docs.kutt.it/#tag/health}
* @example
* const health = kutt.health();
*/
health(): Health;
/**
* Links API.
*
* @see {@link https://docs.kutt.it/#tag/links}
* @example
* const links = kutt.links();
*/
links(): Link;
/**
* Sets instance config.
*
* @param config
* @param value
* @example
* kutt = kutt.set("api", , "https://kutt.it/api/v2");
* @example
* kutt = kutt.set("api", , "https://kutt.it/api/v2")
* .set("timeout", 1e4);
*/
set<Config extends keyof ConfigI>(config: Config, value: ConfigI[Config]): this;
/**
* Users API.
*
* @see {@link https://docs.kutt.it/#tag/users}
* @example
* const users = kutt.users();
*/
users(): User;
}