UNPKG

kutt

Version:

Node.js & browser (TypeScript) client for Kutt url shortener

84 lines (83 loc) 2.03 kB
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; }