Lingara Lingara दस्तावेज़ मार्गदर्शिकाएँ API लाइब्रेरी ऐप बनाएं वेब ऐप
भाषा: हिन्दी

TypeScript

यह पेज अंग्रेज़ी से अनुवादित है। अगर दोनों में अंतर हो, तो अंग्रेज़ी पेज सही है। अंग्रेज़ी पेज पढ़ें

TypeScript लाइब्रेरी npm पर @lingara/api पैकेज है। यह Node.js 22 या उसके बाद के संस्करण पर चलती है, इसकी कोई रनटाइम डिपेंडेंसी नहीं है, और यह हर अनुरोध, रिस्पॉन्स और स्ट्रीम इवेंट के लिए टाइप डेफ़िनिशन के साथ आती है।

यह कहाँ चलती है

यह एक सर्वर-साइड लाइब्रेरी है। इसका कोई ब्राउज़र बिल्ड नहीं है, और जब क्लाइंट खुद को किसी वेब पेज के भीतर पाता है तो वह क्लाइंट सीक्रेट को अस्वीकार कर देता है: ब्राउज़र में क्लाइंट सीक्रेट एक प्रकाशित सीक्रेट है, जिसे पेज खोलने वाला कोई भी पढ़ सकता है। API को अपने सर्वर से कॉल करें और अपने उपयोगकर्ताओं को केवल वही भेजें जिसकी उन्हें ज़रूरत है।

इसे कैसे इस्तेमाल करें

  • हर कॉल एक promise लौटाती है। किसी कॉल को रद्द करने के लिए { signal } पास करें, जिसमें एक AbortSignal हो; तब कॉल signal के अपने कारण के साथ reject होती है।
  • स्ट्रीम एक async iterable है, जिसे for await से पढ़ा जाता है। यह lazy है: अनुरोध तब भेजा जाता है जब आप पहला इवेंट माँगते हैं।
  • एरर LingaraError को एक्सटेंड करते हैं, इसलिए एक ही instanceof जाँच चारों को पकड़ लेती है। जब API ने कोई इंतज़ार बताया हो, तो हर एरर में retryAfter होता है।
  • अपना खुद का HTTP स्टैक इस्तेमाल करने के लिए, विकल्पों में एक fetch फ़ंक्शन पास करें। स्ट्रीम्स पर निष्क्रियता टाइमआउट तब भी लागू रहता है।

नीचे दिए उदाहरण पैकेज इंस्टॉल करते हैं, क्लाइंट बनाते हैं, शब्दावली सूची स्ट्रीम करते हैं और एक एरर संभालते हैं।

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

यह पेज क्या रैप करता है