منصوبے کے بارے میں

Ora ایک Node.js پیکج ہے جو ٹرمینل ایپلیکیشنز میں متحرک اسپنر دکھانے کے لیے استعمال ہوتا ہے۔ اسے npm کے ذریعے انسٹال کیا جا سکتا ہے اور ES module کے طور پر امپورٹ کیا جا سکتا ہے۔ اس کا ڈیفالٹ ایکسپورٹ متن یا کنفیگریشن آپشنز قبول کرتا ہے، جن میں پریفکس اور سفکس متن، اسپنر کی قسم، رنگ، کرسر کی مرئیت، انڈینٹیشن، اینیمیشن انٹرول، آؤٹ پٹ اسٹریم، اور زبردستی فعال یا خاموش کرنے کی ترتیبات شامل ہیں۔ Ora انسٹانس میتھڈز فراہم کرتا ہے جن کے ذریعے دکھایا گیا متن اور اسٹائل تبدیل کیا جا سکتا ہے، یہ جانچا جا سکتا ہے کہ اسپنر چل رہا ہے یا نہیں، فریمز کو دستی طور پر رینڈر کیا جا سکتا ہے، اسپنر روکا جا سکتا ہے، صاف کیا جا سکتا ہے، اور کام کو کامیاب، ناکام، انتباہی یا معلوماتی طور پر نشان زد کیا جا سکتا ہے۔ اس میں oraPromise بھی شامل ہے جو اسپنر کو کسی پرومس یا پرومس واپس کرنے والے فنکشن سے منسلک کرنے کے لیے استعمال ہوتا ہے، اور اس میں کامیابی اور ناکامی کے متن اور علامات کو کنفیگر کیا جا سکتا ہے۔ جب یہ فعال ہو تو Ora ایک کنفیگر کیے جا سکنے والے writable stream میں لکھتا ہے، جو عام طور پر stderr ہوتا ہے۔ یہ اسپنر کے فعال ہونے کے دوران اسی اسٹریم میں لکھے گئے پیغامات کو سنبھال سکتا ہے۔ اسپنر آؤٹ پٹ صرف موزوں انٹرایکٹو ماحول میں خودکار طور پر فعال ہوتی ہے اور CI جیسے ماحول میں غیر فعال رہتی ہے، جب تک کہ اسے واضح طور پر کنفیگر نہ کیا جائے۔ خاموش موڈ تمام آؤٹ پٹ کو دبا دیتا ہے، جبکہ غیر فعال موڈ اسپنر اور ANSI اسٹائلنگ کو دباتا ہے لیکن پھر بھی متن آؤٹ پٹ کر سکتا ہے۔ یہ پیکج ایک وقت میں ایک ہی اسپنر کے لیے بنایا گیا ہے۔ اسے Node.js Worker threads میں چلانے کے لیے ڈیزائن نہیں کیا گیا کیونکہ انہیں انٹرایکٹو ٹرمینلز نہیں سمجھا جاتا۔ کچھ Windows ٹرمینلز میں Unicode سپورٹ دستیاب نہیں ہو سکتی یا اس کا پتہ لگانا مشکل ہو سکتا ہے، اس لیے ایسی صورت میں line spinner یا واضح طور پر منتخب کردہ اسپنر کی ضرورت پڑ سکتی ہے۔