Lingara Lingara Mwongozo Miongozo API Maktaba Programu Unda Programu ya wavuti
Lugha: Kiswahili

TypeScript

Ukurasa huu umetafsiriwa kutoka Kiingereza. Ikiwa hizi mbili zinatofautiana, ukurasa wa Kiingereza ndio sahihi. Soma ukurasa wa Kiingereza

Maktaba ya TypeScript ni kifurushi cha @lingara/api kwenye npm. Inaendeshwa kwenye Node.js 22 au toleo jipya zaidi, haina utegemezi wowote wakati wa utekelezaji, na inakuja na ufafanuzi wa aina kwa kila ombi, jibu na tukio la mtiririko.

Mahali inapoendeshwa

Ni maktaba ya upande wa seva. Hakuna toleo la kivinjari, na mteja hukataa siri ya mteja anapojikuta ndani ya ukurasa: siri ya mteja kwenye kivinjari ni siri iliyochapishwa, inayosomeka na yeyote anayefungua ukurasa. Ita API kutoka kwenye seva yako mwenyewe na uwatumie watumiaji wako kile tu wanachohitaji.

Jinsi inavyotumika

  • Kila mwito hurudisha promise. Pitisha { signal } pamoja na AbortSignal ili kughairi mwito; kisha mwito hukataliwa kwa sababu ya ishara yenyewe.
  • Mtiririko ni kitu kinachorudiwa kwa njia isiyosawazishwa, kinachosomwa kwa for await. Ni wa kuchelewa: ombi hutumwa unapoomba tukio la kwanza.
  • Hitilafu hurithi LingaraError, kwa hivyo ukaguzi mmoja wa instanceof unanasa zote nne. Kila moja hubeba retryAfter wakati API ilitaja muda wa kusubiri.
  • Ili kutumia mfumo wako mwenyewe wa HTTP, pitisha kitendakazi cha fetch kwenye chaguo. Muda wa kusubiri wa mtiririko uliotulia bado unatumika.

Sampuli zilizo hapa chini husakinisha kifurushi, huunda mteja, hutiririsha orodha ya msamiati na hushughulikia hitilafu.

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;
  }
}

Kile ukurasa huu unachofunika