New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

json-calendar

Package Overview
Dependencies
Maintainers
0
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-calendar

A data model for displaying dates and date ranges on a calendar interface.

  • 1.12.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
98
increased by20.99%
Maintainers
0
Weekly downloads
 
Created
Source

json-calendar

Publish codecov

A JSON data model for displaying dates and date ranges on a calendar interface.

Installation

Install with NodeJS:

npm install json-calendar

Install for browsers, Volta, or Deno:

import { install } from 'esinstall'

await install(['json-calendar'], {
  /* options */
})
// Result: Creates `json-calendar.js` inside a `web_modules/` directory in your current directory.

Usage

Works default out of the box:

const { JsonCalendar } = require('json-calendar')
const calendar = new JsonCalendar()
calendar.weeks.map(week => {
  week.map(day => {
    const { className, id, day, date, monthIndex, year } = day
    // do something with the day's data
    return date.toLocaleString()
  })
})

Or set a custom selected date:

// with custom today date
const calendar = new JsonCalendar({ today: new Date(1971, 0, 1) })

Or use a specific language:

// with language for day and month names
// 'fr', 'es', 'id' and 'en' supported, will default to 'en' if empty or unrecognized
const calendarWithSpanishNames = new JsonCalendar({ languageCode: 'es' })

For example:

calendarWithSpanishName.dayNames.map(item => console.log(item.name))
// Outputs:
//   'Domingo'
//   'Lunes'
//   'Martes'
//   'Miércoles'
//   'Jueves'
//   'Viernes'
//   'Sábado'

Get an array of weeks in this month

console.log('Weeks this month:', calendar.weeks.length)
// Output: Weeks this month: 5

You can use the returned array of arrays to render a full calendar for a given month. If, for example, the month is September of 2018:

calendar.weeks.map(w => w.map(d => d.day))

Will output all the elements as the day number:

[
  [26, 27, 28, 29, 30, 31, 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, 1, 2, 3, 4, 5, 6]
]

Get an array of month names

calendar.monthNames

Will output an array of month names:

[
  "January",
  "February",
  "March",
  "April",
  "May",
  "June",
  "July",
  "August",
  "September",
  "October",
  "November",
  "December"
]

Change the displayed month

The following example code will display the days for September, 2020:

// create the calendar
const { JsonCalendar } = require('json-calendar')
const calendar = new JsonCalendar()

// sometime later fire an event
function handleOnClick () {
  calendar.changeMonth(2020, 8)
}

The function changeMonth takes two number params: year and monthIndex

Keywords

FAQs

Package last updated on 27 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc