ts / src / domains.ts
329 words
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
 * Domain availability search, utilities, and the classified .ro web
 * directory. `check` and `example` work anonymously (higher rate limits
 * with an API key).
 */
import type { Client } from './client.js';
import * as http from './http.js';
import type { Body, Query } from './types.js';

/** GET /domains/check — Check domain availability. Anonymous allowed. */
export const check = (client: Client, domain: string) => http.get(client, '/domains/check', { query: { domain } });

/** GET /domains/info — Domain information utilities. */
export const info = (client: Client, domain: string, query?: Omit<Query<'/domains/info', 'get'>, 'domain'>) =>
  http.get(client, '/domains/info', { query: { ...query, domain } });

/** GET /domains/preflight — Route a domain to the right inbound operation. */
export const preflight = (client: Client, domain: string) =>
  http.get(client, '/domains/preflight', { query: { domain } });

/** GET /domains/dns-snapshot — Faithful copy of a domain's live DNS. */
export const dnsSnapshot = (
  client: Client,
  domain: string,
  query?: Omit<Query<'/domains/dns-snapshot', 'get'>, 'domain'>,
) => http.get(client, '/domains/dns-snapshot', { query: { ...query, domain } });

/** GET /domains/search — Suggest available domain names. */
export const search = (client: Client, q: string, query?: Omit<Query<'/domains/search', 'get'>, 'q'>) =>
  http.get(client, '/domains/search', { query: { ...query, q } });

/** POST /domains/search — Suggest available domain names from a long description. */
export const searchDescriptions = (client: Client, body: Body<'/domains/search', 'post'>) =>
  http.post(client, '/domains/search', { body });

/** GET /domains/example — Example .ro domain. Anonymous allowed. */
export const example = (client: Client) => http.get(client, '/domains/example');

/** GET /domains/directory — Browse the .ro web directory (cursor-paginated). */
export const directory = (client: Client, query?: Query<'/domains/directory', 'get'>) =>
  http.get(client, '/domains/directory', { query });

/** Every directory entry matching the filters, following cursor pagination. */
export const directoryAll = (client: Client, query?: Query<'/domains/directory', 'get'>) =>
  http.paginate(client, '/domains/directory', 'entries', { query });

/** GET /domains/directory/{domain} — Directory entry for a domain. */
export const directoryEntry = (client: Client, domain: string) =>
  http.get(client, '/domains/directory/{domain}', { params: { domain } });

static mirror of HEAD · about · clone: git clone https://ird.cod-sursa.ro/ts.git