Lingara Lingara Belgeler Rehberler API Kütüphaneler Uygulamalar Oluştur Web uygulaması
Dil: Türkçe

TypeScript

Bu sayfa İngilizceden çevrilmiştir. İkisi arasında fark varsa İngilizce sayfa doğrudur. İngilizce sayfayı oku

TypeScript kütüphanesi, npm üzerindeki @lingara/api paketidir. Node.js 22 veya üstünde çalışır, hiçbir çalışma zamanı bağımlılığı yoktur ve her istek, yanıt ve akış olayı için tür tanımlarıyla gelir.

Nerede çalışır

Sunucu tarafı bir kütüphanedir. Tarayıcı derlemesi yoktur ve istemci kendini bir sayfanın içinde bulduğunda gizli anahtarı reddeder: tarayıcıdaki bir gizli anahtar, sayfayı açan herkesin okuyabileceği yayımlanmış bir sırdır. API’yi kendi sunucunuzdan çağırın ve kullanıcılarınıza yalnızca ihtiyaç duydukları şeyi gönderin.

Kullanımı nasıldır

  • Her çağrı bir promise döndürür. Bir çağrıyı iptal etmek için { signal } seçeneğini bir AbortSignal ile geçin; çağrı bu durumda sinyalin kendi nedeniyle reddedilir.
  • Bir akış, for await ile okunan bir async iterable’dır. Tembeldir: istek, ilk olayı istediğinizde gönderilir.
  • Hatalar LingaraError sınıfını genişletir, böylece tek bir instanceof denetimi dördünü de yakalar. API bir bekleme süresi belirttiğinde her biri retryAfter taşır.
  • Kendi HTTP yığınınızı kullanmak için seçeneklerde bir fetch işlevi geçin. Akışlardaki boşta kalma zaman aşımı yine geçerlidir.

Aşağıdaki örnekler paketi kurar, bir istemci oluşturur, bir kelime listesini akış hâlinde alır ve bir hatayı işler.

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

Bu sayfanın sarmaladıkları