♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️
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
$ npm install horoscope// thenvar getSign = getSign;var getZodiac = getZodiac;// or;
getSign
return astrological sign from {month, day}
console// 'Leo' console// 'Sagittarius'
getZodiac
return zodiac sign from year
console// 'Goat' console// '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.
console// 'Horoscope.js/getSign(): month should be numbers 1-12 and days should be numbers between 1-31' console// null console// 'Horoscope.js/getZodiac(): Year provided isn't valid' console// null
example:
simple demo using webpack, the result of which is located @ here
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.