@kbwood/world-calendars
v0.10.0
Published
Implementations of calendars from around the world
Maintainers
Readme
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 --saveAccess
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 previousDates are immutable.
Table of Contents
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 folderSetup
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-checkOr to check continuously,
npm run type-check:watchLinting
To run the linting to check only,
npm run lintTo check and automatically fix errors,
npm run formatTesting
To run unit tests,
npm testTo run unit test coverage,
npm run coverageBuild
To build the modules,
npm run buildDependencies
This project uses the following libraries and frameworks -
Lint
Test
Compile
