Lingara Lingara Dokumentasie Gidse API Biblioteke Apps Bou Webtoepassing
Taal: Afrikaans

TypeScript

Hierdie bladsy is uit Engels vertaal. As die twee verskil, is die Engelse bladsy korrek. Lees die Engelse bladsy

Die TypeScript-biblioteek is die @lingara/api-pakket op npm. Dit loop op Node.js 22 of later, het geen looptyd-afhanklikhede nie, en lewer tipedefinisies vir elke versoek, antwoord en stroomgebeurtenis.

Waar dit loop

Dit is ‘n bedienerkant-biblioteek. Daar is geen blaaierbou nie, en die kliënt weier ‘n kliëntgeheim wanneer dit agterkom dat dit in ‘n bladsy loop: ‘n kliëntgeheim in ‘n blaaier is ‘n gepubliseerde geheim, leesbaar vir enigiemand wat die bladsy oopmaak. Roep die API vanaf jou eie bediener aan en stuur jou gebruikers net wat hulle nodig het.

Hoe dit lees

  • Elke oproep gee ‘n promise terug. Gee { signal } met ‘n AbortSignal deur om een te kanselleer; die oproep word dan verwerp met die sein se eie rede.
  • ‘n Stroom is ‘n async iterable, gelees met for await. Dit is lui: die versoek word gestuur wanneer jy vir die eerste gebeurtenis vra.
  • Foute brei LingaraError uit, so een instanceof-toets vang al vier. Elkeen dra retryAfter wanneer die API ‘n wagtyd genoem het.
  • Om jou eie HTTP-stapel te gebruik, gee ‘n fetch-funksie in die opsies deur. Die ledige uitteltyd op strome geld steeds.

Die voorbeelde hieronder installeer die pakket, skep ‘n kliënt, stroom ‘n woordelys en hanteer ‘n fout.

TypeScript

npm install @lingara/api@0.1.0-alpha.6

TypeScript

import { Lingara } from "@lingara/api";

const client = new Lingara({
  clientId: process.env.LINGARA_CLIENT_ID!,
  clientSecret: process.env.LINGARA_CLIENT_SECRET!,
});

TypeScript

const stream = client.generateVocabulary({ level: 2, source_lang: "en", target_lang: "zh", count: 8 });
for await (const ev of stream) {
  if (ev.event === "item") console.log(ev.data.word, ev.data.translation);
}

TypeScript

import { ApiError, MaintenanceError, OAuthError, TransportError } from "@lingara/api";

try {
  await client.getUsage();
} catch (e) {
  if (e instanceof ApiError) {
    // A refusal from the API: e.status, e.code (stable) and e.message (localised).
    console.error(e.status, e.code, e.message, e.retryAfter ?? "");
  } else if (e instanceof OAuthError) {
    // The token endpoint refused the credentials or the scopes.
    console.error(e.status, e.error, e.description ?? "");
  } else if (e instanceof MaintenanceError) {
    console.error("under maintenance; retry after", e.retryAfter ?? "a while");
  } else if (e instanceof TransportError) {
    // No usable answer: connect, tls, reset, timeout, and so on.
    console.error("transport:", e.kind);
  } else {
    throw e;
  }
}

Wat hierdie bladsy omvou