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 }biAbortSignal-ekê re derbas bike; wê demê bang bi sedema signal-ê bi xwe tê red kirin. - Herikînek async iterable-ek e, bi
for awaittê xwendin. Ew tembel e: daxwaz dema ku tu bûyera yekem dixwazî tê şandin. - Xeletî
LingaraErrordirêj dikin, ji ber vê yekê kontrolekeinstanceofher çaran digire. Dema ku API sekinandinek gotibe, her yekretryAfterhildigire. - Ji bo bikaranîna stack-a HTTP ya xwe, di vebijarkan de fonksiyoneke
fetchderbas 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.6TypeScript
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;
}
}