အခမဲ့ SQL ဖော်မတ်ချ/လှပဆင်စက်
မှန်ကန်သော indentation, configurable keyword case နှင့် major clause တွင် ကြောင်းဆင်းမှုဖြင့် SQL query pretty-print ပြုလုပ်ပါ။ မည်သည့် SQL dialect မဆို အလုပ်လုပ်သည်。
ဖော်မတ်ချပြီးသော SQL ဤနေရာတွင် ပေါ်မည်…အသုံးများသော အသုံးပြုမှုများ
- Pull Request ပြန်လည်သုံးသပ်ရန် SQL ကို ပုံစံချပါကုဒ်သုံးသပ်ရာတွင် ဖတ်ရလွယ်စေရန် commit မလုပ်မီ SQL query များကို သန့်ရှင်းအောင်ပြင်ပါ။
- အမှားရှာရန် SQL ကို ပုံစံချပါပုံစံချခြင်းဖြင့် JOIN ကျန်နေခြင်း သို့မဟုတ် အခြေအနေများ မညီမျှခြင်းကဲ့သို့ ဖွဲ့စည်းပုံပြဿနာများ ပေါ်လွင်လာသည်။
- စာတမ်းအတွက် SQL ကို ပုံစံချပါသင့်စာတမ်းများ၊ ဘလော့ဂ်ပို့စ်များ သို့မဟုတ် သင်ခန်းစာများရှိ SQL နမူနာများကို လှပပြီး ဖတ်ရလွယ်ကူအောင် ပြုလုပ်ပါ။
- ORM ထုတ်လုပ်သော SQL ကို ပုံစံချပါORM များ (Sequelize၊ Prisma၊ ActiveRecord) သည် လိုင်းတစ်ကြောင်းတည်း SQL ထုတ်သည် — အမှန်တကယ်ထုတ်ပေးသည်ကို အမှားရှာရန် ပုံစံချပါ။
- အစီရင်ခံစာ query များကို ပုံစံချပါကြီးမားသော ခွဲခြမ်းစိတ်ဖြာမှု SQL query များသည် ပုံစံမချလျှင် ကိုင်တွယ်ရခက်သည်။ ရှင်းလင်းစေရန် indent ချပါ။
မည်သို့ အလုပ်လုပ်သည်
ဤ SQL formatter ကို ကိုယ်တိုင်ရေးထားသော tokenizer နှင့် formatter မှ လုံးဝ တည်ဆောက်ထားသည် — ပြင်ပ library မသုံးထားပါ။ ဖော်မတ်ချခြင်းနှင့် syntax highlighting သည် ရိုက်နေစဉ် browser ထဲတွင် ချက်ချင်း run လုပ်ပြီး server မပါဝင်ပါ။
- 1Tokenizer သည် SQL ကို ခွဲသည်Character-by-character tokenizer တစ်ခုသည် သင့် input ကို လျှောက်သွားပြီး type တပ်ထားသော token များအဖြစ် ခွဲသည်: string literal များ (backslash escape နှင့် SQL ၏ doubled-quote style နှစ်မျိုးစလုံးကို ကိုင်တွယ်သည်)၊ line comment (--)၊ block comment (/* */)၊ operator၊ parenthesis၊ identifier နှင့် number။ Whitespace ကို space token တစ်ခုတည်းသို့ ချုံ့သည်။
- 2Compound keyword များကို ပေါင်းစည်းထားသည်Tokenize ပြီးနောက် ဒုတိယ pass တစ်ခုသည် multi-word keyword များ ဖွဲ့သည့် ကပ်လျက် token များကို ပေါင်းစည်းသည် — ထို့ကြောင့် 'LEFT' နောက် 'JOIN' သည် 'LEFT JOIN' token တစ်ခုတည်း ဖြစ်လာပြီး 'GROUP' နောက် 'BY' သည် 'GROUP BY' ဖြစ်လာသည်။ ၎င်းသည် formatter ကို ထို token များကို layout unit တစ်ခုတည်းအဖြစ် ကိုင်တွယ်စေသောအရာဖြစ်သည်။
- 3Block layout သို့မဟုတ် minificationFormat mode တွင် block-စတင်သော keyword များ (SELECT, FROM, WHERE, JOIN, etc.) ကို indent 0 ရှိ ၎င်းတို့ကိုယ်ပိုင် line တွင် ထားပြီး နောက်ဆက်တွဲ အားလုံးကို indent လုပ်သည်။ AND/OR သည် indent line အသစ်တစ်ခုကို အတင်း ဖန်တီးသည်။ Top paren level ရှိ comma များသည်လည်း line အသစ်သို့ flush လုပ်သည်။ Minify mode တွင် newline များနှင့် အပို whitespace များအားလုံးကို space-တစ်ခုတည်း ခွဲထားသော sequence တစ်ခုသို့ ချုံ့သည်။
- 4Regex မှတစ်ဆင့် Syntax highlightingဖော်မတ်ချထားသော output ကို comment, string literal, number, and identifier တစ်ကြိမ်တည်းတွင် ကိုက်ညီသော regex တစ်ခုတည်းကို ဖြတ်သန်းစေသည်။ ကိုက်ညီမှုတစ်ခုစီကို color class ပါသော React span တစ်ခုတွင် ခြုံသည် — comment များကို muted italic ဖြင့်၊ string များကို amber ဖြင့်၊ number များကို purple ဖြင့်၊ SQL keyword များ (keyword set အပြည့်အစုံနှင့် ကိုက်ညီစစ်ဆေး) ကို teal ဖြင့် — အရောင်ချထားသော output panel ကို ထုတ်ပေးသည်။
ဆက်နွှယ်သော ကိရိယာများ
CSS လှပဆင်စက်
ချုံ့ထားသော CSS ကို တသမတ်တည်း အင်ဒင့်တင်ဖြင့် ဖတ်ရှုလွယ်အောင်ပြုပါ၊ သို့မဟုတ် ချုံ့ပါ။ ခန့်မှန်းနိုင်သော ကွာခြားချက်များအတွက် ရွေးချယ်စရာအဖြစ် property များကို အက္ခရာစဉ်စီနိုင်သည်။
XML ဖော်မတ်ချ/စစ်ဆေးစက်
browser ၏ native DOM parser သုံး၍ XML ကို pretty-print ပြုလုပ်ကာ စစ်ဆေးပါ။ production အသုံးပြုမှုအတွက် minified output ပါဝင်သည်。
HTML လှပဆင်/ချုံ့စက်
မှန်ကန်သော nesting indentation ဖြင့် HTML ကို pretty-print သို့မဟုတ် minify ပြုလုပ်ပါ။ <pre>, <script>, <style> block အတွင်း အကြောင်းအရာ ထိန်းသိမ်းသည်。