@hatijs/helper
Version:
Node.js library, which has increased usability in @hatijs/core library.
77 lines (76 loc) • 3.11 kB
JavaScript
;
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;