Lingara Lingara Belge Rêbername API Pirtûkxane Sepan Avakirin Sepana webê
Ziman: Kurdî

TypeScript

Ev rûpel ji Îngilîzî hatiye wergerandin. Heke her du ji hev cuda bin, rûpela Îngilîzî rast e. Rûpela Îngilîzî bixwîne

Pirtûkxaneya TypeScript pakêta @lingara/api ye li ser npm. Ew li ser Node.js 22 an nûtir dixebite, tu girêdayîbûnên wê yên dema xebitandinê tune ne, û ji bo her daxwaz, bersiv û bûyera herikînê pênaseyên cureyan bi xwe re tîne.

Li ku dixebite

Ew pirtûkxaneyeke aliyê serverê ye. Avakirineke wê ya ji bo gerokê tune, û dema xerîdar xwe di rûpelekê de bibîne nepeniya xerîdar red dike: nepeniya xerîdar di gerokekê de nepeniyeke weşandî ye, ku her kesê rûpelê veke dikare bixwîne. API-yê ji servera xwe bang bike û tenê tiştê ku bikarhênerên te hewce dikin ji wan re bişîne.

Çawa tê bikaranîn

  • Her bang promise-ekê vedigerîne. Ji bo betalkirina yekê { signal } bi AbortSignal-ekê re derbas bike; wê demê bang bi sedema signal-ê bi xwe tê red kirin.
  • Herikînek async iterable-ek e, bi for await tê xwendin. Ew tembel e: daxwaz dema ku tu bûyera yekem dixwazî tê şandin.
  • Xeletî LingaraError dirêj dikin, ji ber vê yekê kontroleke instanceof her çaran digire. Dema ku API sekinandinek gotibe, her yek retryAfter hildigire.
  • Ji bo bikaranîna stack-a HTTP ya xwe, di vebijarkan de fonksiyoneke fetch derbas bike. Sînorê bêkariyê yê li ser herikînan dîsa jî derbasdar e.

Mînakên li jêr pakêtê saz dikin, xerîdarekî diafirînin, lîsteyeke ferhengê diherikînin û xeletiyekê birêve dibin.

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

Ev rûpel çi dipêçe