@kbwood/world-calendars
TypeScript icon, indicating that this package has built-in type declarations

0.10.0 • Public • Published

World Calendars

This library implements various calendars used throughout the world. It allows manipulation of dates within those calendars. Calendars currently implemented are:

  • Coptic
  • Discworld
  • Ethiopian
  • Gregorian
  • Hebrew
  • Islamic
  • Julian
  • Mayan
  • Nanakshahi
  • Nepali
  • Persian
  • Taiwan
  • Thai
  • Umm al-Qura

Usage

Installation

npm install @kbwood/world-calendars --save

Access

Import the library base code and a calendar implementation.

import Calendars from '@kbwood/world-calendars/Calendars'
import '@kbwood/world-calendars/Gregorian'

Use the Calendars object to access the calendar implementations.

const gregorian = Calendars.instance('gregorian')

Create a date within that calendar.

const date = gregorian.date(2022, 1, 26)

Retrieve information about that date or manipulate it.

console.log(date.year(), date.month(), date.day)
const earlier = date.sub(7, 'd') // 7 days previous

Dates are immutable.

Table of Contents

  1. Application Structure
  2. Setup
  3. Development
    1. TypeScript
    2. Linting
    3. Testing
    4. Build
    5. Dependencies

Application Structure

│── .babelrc                               # Babel configuration file
│── .eslintrc.js                           # ESLint configuration file
│── .gitignore                             # Git configuration file
│── jest.config.js                         # Jest configuration file
│── tsconfig.json                          # TypeScript configuration file
│── package.json                           # Holds dependencies references and app-related tasks
│── package-lock.json                      # Generated by npm. See https://docs.npmjs.com/files/package-lock.json
│── node_modules                           # Dependencies
│── src                                    # Main code folder
│── test                                   # Unit test folder

Setup

Run npm install to install the necessary dependencies. These will be added inside the node_modules folder.

Development

TypeScript

To check for TypeScript errors,

npm run type-check

Or to check continuously,

npm run type-check:watch

Linting

To run the linting to check only,

npm run lint

To check and automatically fix errors,

npm run format

Testing

To run unit tests,

npm test

To run unit test coverage,

npm run coverage

Build

To build the modules,

npm run build

Dependencies

This project uses the following libraries and frameworks -

Lint

Test

Compile

Package Sidebar

Install

npm i @kbwood/world-calendars

Weekly Downloads

1

Version

0.10.0

License

MIT

Unpacked Size

1.01 MB

Total Files

539

Last publish

Collaborators

  • kbwood