Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cruzw/horoscope
horoscope & zodiac utilities ♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️
https://github.com/cruzw/horoscope
Last synced: 15 days ago
JSON representation
horoscope & zodiac utilities ♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️
- Host: GitHub
- URL: https://github.com/cruzw/horoscope
- Owner: cruzw
- Created: 2015-11-19T07:08:06.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-08-28T01:57:07.000Z (about 8 years ago)
- Last Synced: 2024-10-07T14:37:47.666Z (about 1 month ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/horoscope
- Size: 133 KB
- Stars: 25
- Watchers: 4
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: readMe.MD
Awesome Lists containing this project
README
[![npm version](https://badge.fury.io/js/horoscope.svg)](https://badge.fury.io/js/horoscope)
[![Build Status](https://travis-ci.org/gcwelborn/horoscope.svg?branch=master)](https://travis-ci.org/gcwelborn/horoscope)♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️
[![NPM](https://nodei.co/npm/horoscope.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/horoscope/)
Horoscope.js is a compact, performant NPM module for processing horoscope & zodiac signs from dates. Weighing in @ 5kb, it's only dependency is the memoize function in lodash.
#### installation
```javascript
$ npm install horoscope
// then
var getSign = require('horoscope').getSign;
var getZodiac = require('horoscope').getZodiac;
// or
import { getSign, getZodiac } from 'horoscope';
```#### getSign
return astrological sign from {month, day}
```javascript
console.log(horoscope.getSign({month: 7, day: 25 }))
// 'Leo'console.log(horoscope.getSign({month: 12, day: 21}))
// 'Sagittarius'
```#### getZodiac
return zodiac sign from year
```javascript
console.log(horoscope.getZodiac(2015))
// 'Goat'console.log(horoscope.getZodiac(2016))
// 'Monkey'
```##### overrideErrors
the last argument of both functions, overrideErrors, is optional (defaulting to false).
if set to true, horoscope methods will not throw error messages, but return null.
```javascriptconsole.log(horoscope.getSign(-7, 55))
// 'Horoscope.js/getSign(): month should be numbers 1-12 and days should be numbers between 1-31'console.log(horoscope.getSign(-7, 55, true))
// nullconsole.log(horoscope.getZodiac('twenty-twenty'))
// 'Horoscope.js/getZodiac(): Year provided isn't valid'console.log(horoscope.getZodiac('twenty-twenty', true))
// null
```#### example:
simple demo using webpack, the result of which is located @ [here](http://cruzwelborn.com/horoscope)#### limitations:
* getZodiac: returns errors/null if negative or more than 4 digits
* getHoroscope: leap year of feb. 29th is available for every year - don't assume a null/error will be thrown.
* because both functions are memoized, you will not be able to alternate between true/false for overrideErrors.