horoscope

    2.0.1 • Public • Published

    npm version Build Status

    ♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️

    NPM

    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
    // then
    var getSign = require('horoscope').getSign;
    var getZodiac = require('horoscope').getZodiac;
    // or
    import { getSign, getZodiac } from 'horoscope';

    getSign

    return astrological sign from {month, day}

    console.log(horoscope.getSign({month: 7, day: 25 }))
    // 'Leo'
     
    console.log(horoscope.getSign({month: 12, day: 21}))
    // 'Sagittarius'

    getZodiac

    return zodiac sign from year

    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.

     
    console.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))
    // null
     
    console.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

    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.

    Install

    npm i horoscope

    DownloadsWeekly Downloads

    412

    Version

    2.0.1

    License

    UNLICENSED

    Last publish

    Collaborators

    • gcwelborn