UNPKG

@hatijs/helper

Version:

Node.js library, which has increased usability in @hatijs/core library.

77 lines (76 loc) 3.11 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.dignity = void 0; var _1 = require("."); var dignity = function (tjdUT, geoLon, geoLat) { /** * Gets whether it is 'ownership' according to planet 'name'. * @param ownership The type of ownership a planet can have * @param name Name of planet you want to know ownership of * @returns boolean */ var getPlanet = function (ownership) { var isDiurnal = _1.util.isDiurnal(tjdUT, geoLon, geoLat); var dignity = _1.constant[_1.constant.DIGNITY[ownership]]; return function (name) { var posPlanet = (0, _1.position)(tjdUT, geoLon, geoLat).getPlanet(name); var checkRange = function (range) { return (range .map(function (_a) { var start = _a[0], end = _a[1]; return posPlanet.position.longitude.absolute % 360 >= start && end >= posPlanet.position.longitude.absolute % 360; }) .filter(function (value) { return value; }).length > 0); }; var range = dignity[name]; if (Array.isArray(range)) return checkRange(range); switch (ownership) { case 'TRIPLICITY': { return Object.keys(range) .map(function (key) { var _a; var _b = (range[key][isDiurnal ? 0 : 1]).map(function (value) { return checkRange(value); }), first = _b[0], second = _b[1], partner = _b[2]; return _a = {}, _a[key.toLocaleLowerCase()] = { first: first, second: second, partner: partner, }, _a; }) .reduce(function (prev, cur) { return (__assign(__assign({}, prev), cur)); }); } case 'TERM': case 'DECAN': { return Object.keys(range) .map(function (key) { var _a; return (_a = {}, _a[key.toLocaleLowerCase()] = checkRange(range[key]), _a); }) .reduce(function (prev, cur) { return (__assign(__assign({}, prev), cur)); }); } } }; }; return { getPlanet: getPlanet, }; }; exports.dignity = dignity;