“-1” دير=”auto”>jaqt: استعلامات وتحويلات javascript
jaqt (تُنطق “جاكيت”) هو محرك استعلام للمصفوفات والكائنات، مستوحى من graphql وsql. على سبيل المثال:
استعلام جافا سكريبت | نتيجة |
---|---|
from(data.people).select({ metrics: { hair_color: _ }, lastName:_}) |
|
“-1” دير=”auto”>جدول المحتويات
هناك العديد من المكتبات التي تضيف نوعًا من لغة الاستعلام إلى مصفوفات JavaScript. GraphQL هي واحدة من تلك المكتبات. لكن جميع المكتبات التي وجدتها تضيف لغة استعلام مخصصة. إما عن طريق إضافة وظائف محددة تحاكي SQL، أو عن طريق تعريف لغة استعلام صراحةً مثل GraphQL. في جميع الحالات، يعني هذا أنك تتخلى عن قوة JavaScript نفسها ويجب عليك التبديل إلى لغة مختلفة وأقل قدرة.
لذا فإن هذه المكتبة ليست لغة استعلام في حد ذاتها بشكل صريح، ولكنها تستخدم بعض الحيل في JavaScript لإضافة بعض السكر النحوي إلى وظائف Array.map وArray.filter الأصلية حتى تتمكن من الحصول على معظم سهولة الاستخدام لشيء مثل GraphQL، مع البقاء في بلد JavaScript.
لا توجد تحسينات في السرعة أو فهرس على Array.filter وArray.map العاديين.
تستخدم جميع الأمثلة أدناه البيانات الموضحة أدناه:
يترك بيانات = جيسون.تحليل(`[[{اسم: "John",اسم العائلة: "Doe",أصدقاء:[["Jane"]},{اسم: "Jane",اسم العائلة: "Doe",أصدقاء:[["John"]}]`)
وهذه هي الطريقة التي يمكنك بها استخدام هذه المكتبة:
- ال”http://github.com/muze-nl/jaqt/blob/main/docs/manual.md”>دليل المطورين سوف يرشدك إلى كيفية البدء وكيفية استخدام JAQT.
- ال”http://github.com/muze-nl/jaqt/blob/main/docs/reference.md”>المرجع يوضح جميع الأجزاء بالتفصيل.
نرحب بالمساهمات. يرجى نسخ مستودع github وإجراء التغييرات هناك، ثم فتح طلب سحب. إذا وجدت أي أخطاء أو مشكلات أخرى، يرجى استخدام مستودع github Issues. تحقق مما إذا كانت مشكلتك قد تم نشرها بالفعل قبل إضافة مشكلة جديدة.
مستودع github موجود في”https://github.com/muze-nl/jaqt”> https://github.com/muze-nl/jaqt
هذا البرنامج مرخص بموجب ترخيص MIT مفتوح المصدر. راجع”http://github.com/muze-nl/jaqt/blob/main/LICENSE”>الترخيص ملف.