UNPKG

western-signs

Version:

Simple interface for western astrological signs.

143 lines (100 loc) 4.32 kB
# WesternSigns Simple interface for [western astrological](https://en.wikipedia.org/wiki/Western_astrology) signs. [![NPM Version](https://img.shields.io/npm/v/western-signs)](https://www.npmjs.com/package/western-signs) [![GitHub License](https://img.shields.io/github/license/marcmarine/western-signs)](LICENSE) [![View Changelog](https://img.shields.io/badge/view-CHANGELOG.md-red.svg)](https://github.com/marcmarine/western-signs/releases) [![TypeDoc](https://img.shields.io/badge/view-docs-yellow.svg)](https://marcmarine.github.io/western-signs) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/western-signs) The **Western Signs** library provides detailed information about each astrological sign, including its `name`, `element`, `modality`, `rulingPlanet` and `glyph`, among other things. Additionally, you can specify the language for translations. <details close> <summary>WordArt</summary> ![West Art](https://github.com/marcmarine/western-signs/raw/main/WestArt.gif) </details> ## Installation To install dependencies: ```bash npm install western-signs ``` ## Usage To use the `getSignByName` function, import it along with the `SIGNS` constant from the `western-signs` package: ```js import { getSignByName, SIGNS } from 'western-signs' ``` Call the function with the desired astrological sign and optionally specify a language code. If no language code is provided, it defaults to English. ```js const data = getSignByName(SIGNS.TAURUS) ``` It should returns an object with the following properties: ```js { bodyPart: 'Throat', character: 'Bull', element: 'Earth', endDate: 2020-05-20T22:00:00.000Z, glyph: '♉', modality: 'Fixed', name: 'Taurus', number: 2, pole: 'Negative', rulingPlanet: 'Venus', season: 'Spring', startDate: 2020-04-20T22:00:00.000Z } ``` ### Symbols The `getSymbol` function allows you to retrieve SVG representations of astrological symbols, with options to customize their appearance. ```js import { getSymbol, SIGNS } from 'western-signs' const symbol = getSymbol(SIGNS.TAURUS, { width: 16, height: 16, stroke: 'currentColor', strokeWidth: 1, }) console.log(symbol.toString()) // Outputs: An SVG string with customized attributes console.log(symbol.toDataURL()) // Outputs: A Data URL representation of the SVG ``` Use method chaining to modify the attributes of the symbol for a more fluent coding style. ```js const chainedSymbol = getSymbol('taurus') .setWidth(16) .setHeight(16) .setStroke('currentColor') .setStrokeWidth(1) console.log(chainedSymbol.toString()) // Outputs: The SVG string with updated stroke attributes ``` ### Translations You can easily translate aspects and other astrology-related terms using the `t` function provided by the library. The `t` function takes template strings and values to be translated based on the current language setting. To translate an aspect into the current language: ```js import { ASPECTS, i18n } from 'western-signs' const aspect = i18n.t`${ASPECTS.CONJUNCTION}` console.log(aspect) // Output: Conjunction ``` To change the language, use the `setLanguage` function: ```js i18n.setLanguage('es') const aspectInSpanish = i18n.t`${ASPECTS.CONJUNCTION}` console.log(aspectInSpanish) // Output: Conjunción ``` ## API Reference ### Functions - [getHouses](https://marcmarine.github.io/western-signs/functions/getHouses) - [getPlanet](https://marcmarine.github.io/western-signs/functions/getPlanet) - [getPlanets](https://marcmarine.github.io/western-signs/functions/getPlanets) - [getSignByDate](https://marcmarine.github.io/western-signs/functions/getSignByDate) - [getSignByName](https://marcmarine.github.io/western-signs/functions/getSignByName) - [getSigns](https://marcmarine.github.io/western-signs/functions/getSigns) - [getSymbol](https://marcmarine.github.io/western-signs/functions/getSymbol) ### Interfaces - [House](https://marcmarine.github.io/western-signs/interfaces/House) - [Planet](https://marcmarine.github.io/western-signs/interfaces/Planet) - [Sign](https://marcmarine.github.io/western-signs/interfaces/Sign) For more detailed API information, please check out the [documentation](https://marcmarine.github.io/western-signs). ## License MIT License © 2024 [Marc Mariné](https://github.com/marcmarine)