-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
49 lines (42 loc) · 1016 Bytes
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const n = require('nanakshahi')
const ics = require('ics', './dist')
const {
writeFileSync
} = require('fs')
const path = require('path')
const newDateFormat = (a) => {
return a.toISOString().split('T')[0].split('-').map(Number)
}
const getGurpurab = (a) => {
return n.getGurpurabsForDay(a)
}
const calEvents = []
let gurpurab = {}
const yearStart = new Date(new Date().getFullYear(), 0, 1)
const yearEnd = new Date(new Date().getFullYear(), 12, 0)
const day = yearStart
while (day.setDate(day.getDate() + 1) <= yearEnd) {
gurpurab = getGurpurab(day)
for (const g in gurpurab) {
calEvents.push({
start: newDateFormat(day),
title: gurpurab[g].en,
description: gurpurab[g].pa,
categories: [gurpurab[g].type]
})
}
}
const {
error,
value
} = ics.createEvents(calEvents)
if (error) {
console.log(error)
}
console.log(value)
const filePath = path.join(__dirname, '/nanakshahi.ics')
writeFileSync(filePath, value)
module.exports = {
newDateFormat,
getGurpurab
}