لقد نشرت في الأصل “discourse2” على npm قبل عام، ولكن مؤخرًا بذلت الكثير من الجهد فيه. إنه في الأساس حزمة تطوير برمجيات (SDK) لـ TypeScript / JavaScript لواجهة برمجة تطبيقات Discourse، تم إنشاؤها من مواصفات OpenAPI الخاصة بـ Discourse. هذا يجعل العمل معه سهلاً للغاية:
يبدو الاستخدام كالتالي:
import Discourse from "discourse2";
const discourse = new Discourse("https://discourse.example.org/", {
"Api-Key": process.env.DISCOURSE_API_KEY,
"Api-Username": process.env.DISCOURSE_API_USERNAME,
});
const result = await discourse.listLatestTopics();
console.log(result);
هناك أيضًا عرض توضيحي مباشر على CodeSandbox.
الميزات:
- واجهة برمجة تطبيقات Discourse بأكملها (المنشورة في مواصفات OpenAPI).
- محدثة دائمًا: يتم التحقق من مواصفات OpenAPI بحثًا عن التغييرات يوميًا، وتقوم الحزمة تلقائيًا بإعادة البناء ونشر نفسها عند حدوث تغييرات. يتم عرض أحدث استرداد كشارة في أعلى ملف README:
- تعمل في بيئات الخادم والمتصفح* (*مفيدة للاستعلام عن البيانات العامة بدون مفاتيح API وعلى الأصل ذي الصلة، على سبيل المثال، أحدث المواضيع، إلخ)
يرجى منحها نجمة على GitHub حتى أتمكن من قياس الاهتمام وتحديد مقدار الوقت الإضافي الذي يجب أن أقضيه في هذا. نرحب بالتعليقات. هناك بعض الأمور الغريبة كما هو مذكور في قسم الملاحظات في ملف README.

