UNPKG

twix

Version:

Twix.js allows you to work with date ranges

83 lines (52 loc) 3.18 kB
# Twix.js [![MIT License][license-image]][license] [![Build Status][travis-image]][travis-url] [![Version][release-version-image]][release-url] [![NPM version][npm-version-image]][npm-url] Twix is a comprehensive JS library for working with date ranges, and includes a customizable smart formatter. It's written in CoffeeScript and it depends on [Moment.js](http://momentjs.com/). Some examples: ```js var t = moment("1982-01-25T09:30").twix("1982-01-25T13:30"); t.format(); //=> Jan 25, 1982, 9:30 AM - 1:30 PM t.isSame("day"); //=> true t.humanizeLength(); //=> "4 hours" t.count("days"); //=> 1 t.intersection(otherRange); //=> another range ``` See the [documentation][documentation-url] for more. ## Documentation You can find comprehensive docs here: **[Detailed documentation][documentation-url]** **Breaking change in 1.0.0**: Removed the deprecated `showYear` and `showDate` smart formatter options. Use `hideYear`, `hideDate`, `implicitYear`, and `implicitDate` instead. ## Building If you want to build and test Twix for yourself, `make` wraps everything you need: Command | Function -----------------------|--------- `make configure` | Install dependencies (same as `npm install`) `make` or `make build` | Compile `src/*.coffee` to `dist/*.js` `make test` | Run Mocha suite `make lint` | Linter `make bench` | Microbenchmarks ## Contributing Patches are welcome! * Don't include your changes to the generated `.js` files in the patch; they're much harder to merge. I'll generate them when I cut the release. * Make sure you run the linter and the tests before submitting a PR. Use `make lint` and `make test`. * If you make a change that will need documentation, make the appropriate update to [docs](docs/docs.md). It will get published to the website on the next release. ## Changelog [CHANGELOG][] ## Copyright and License Copyright 2012-2015 Isaac Cambron and contributors. Distributed under the MIT License. See [LICENSE][] for details. ![Phasers to stun][phasers-image] [documentation-url]: https://isaaccambron.com/twix.js/docs.html [license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square [license]: LICENSE.md [changelog]: CHANGELOG.md [release-url]: https://github.com/icambron/twix.js/releases/latest [release-version-image]: https://img.shields.io/github/release/icambron/twix.js.svg?style=flat-square [npm-url]: https://npmjs.org/package/twix [npm-version-image]: http://img.shields.io/npm/v/twix.svg?style=flat-square [bower-version-image]: https://img.shields.io/bower/v/twix.svg?style=flat-square [travis-url]: http://travis-ci.org/icambron/twix.js [travis-image]: http://img.shields.io/travis/icambron/twix.js/master.svg?style=flat-square [coveralls-url]: https://coveralls.io/github/icambron/twix.js [coveralls-image]: https://img.shields.io/coveralls/icambron/twix.js/master.svg?style=flat-square [gemnasium-url]: https://gemnasium.com/icambron/twix.js [gemnasium-image]: https://img.shields.io/gemnasium/icambron/twix.js.svg?style=flat-square [phasers-image]: https://img.shields.io/badge/phasers-stun-brightgreen.svg?style=flat-square