UNPKG

mahar-zanaka-foretelling

Version:

မဟာဇနက္က ဟောကိန်း

73 lines (61 loc) 2.72 kB
const moment = require('moment') const data = require('./data') function getMZF(dob) { var res = {status: 0, message: ''} if(!dob) { res.message = 'Please fill the dob!' res.message_mm = 'မွေးသက္ကရာဇ်ထည့်သွင်းပေးပါ။' return res } if(!moment(dob).isValid()) { res.message = 'Wrong dob!' res.message_mm = 'မွေးသက္ကရာဇ်မှားယွင်းနေပါသည်။' return res } var current_date = new Date() var birth_date = new Date(dob) // ဘာနေ့သားလဲ var birth_day = birth_date.getDay() var day = data.day(birth_day) var day_mm = data.day_mm(birth_day) // အသက်ဘယ်လောက်လဲ var age = current_date.getFullYear() - birth_date.getFullYear() var sr_index = 0; var age_start = birth_day + 1 // Sunday is 1 (not 0) to calculate var age_end = age_start + 1 if(age > birth_day) { while(age < age_start || age > age_end) { age_start += 2 age_end = age_start + 1 sr_index = (sr_index === 6) ? 0 : ++sr_index } // ဘယ်မှာရောက်နေလဲ var sr = data.sr(sr_index) var sr_mm = data.sr_mm(sr_index) // ဘယ်နှစ်တွေမှာရောက်နေတာလဲ var sr_age = sr_age_mm = `${age_start}, ${age_end}` // ၂ နှစ်စီဖြစ်၍ - အစနှစ်နှင့် အဆုံးနှစ်ဟုမှတ်ယူသည်။ // အဖြေဘာထွက်လည်း var result = data.result(sr_index) age = age_mm = age.toString() Object.keys(data.numbers()).forEach(function (item) { const re = new RegExp(data.numbers()[item], "g") age_mm = age_mm.replace(re, item) sr_age_mm = sr_age_mm.replace(re, item) }) res.data = { day: day, day_mm: day_mm, age: age, age_mm: age_mm, sr: sr, sr_mm: sr_mm, sr_age: sr_age, sr_age_mm: sr_age_mm, result: result } res.status = 1 res.message = 'Success!' res.message_mm = 'တွက်ချက်မှုအောင်မြင်ပါသည်။' } else { res.message = 'Failed! The age is too young.' res.message_mm = 'တွက်ချက်မှုမအောင်မြင်ပါ။ ဇနက္ကဟောကိန်းနှင့်တွက်နိုင်ရန် အသက်ငယ်နေပါသည်။' } return res } module.exports = getMZF