mahar-zanaka-foretelling
Version:
မဟာဇနက္က ဟောကိန်း
73 lines (61 loc) • 2.72 kB
JavaScript
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