UNPKG

wadjet

Version:

The your birth date is based on statistical psychology and will expose your personality. This package as a mocule does its calculations.

66 lines (49 loc) 2.11 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require('babel-runtime/helpers/extends'); var _extends4 = _interopRequireDefault(_extends3); var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray'); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); var _entries = require('babel-runtime/core-js/object/entries'); var _entries2 = _interopRequireDefault(_entries); var _detail = require('../master/detail'); var _detail2 = _interopRequireDefault(_detail); var _affinity = require('./affinity'); require('../type'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Create personality types list of best affinitic for team. * @param {Wadjet.NatureAffinity} business Good business formation levels. * @param {string} personality Personality type. * @param {Wadjet.Position} [position] Position type. * @returns {Object.<string, string>} Personality types list. */ var bizTeam = function bizTeam(business, personality, position) { var map = (0, _entries2.default)(business).map(function (_ref) { var _ref2 = (0, _slicedToArray3.default)(_ref, 2), type = _ref2[0], pri = _ref2[1]; return { type: type, pri: pri, pos: (0, _detail2.default)(type).position }; }); var comparator = (0, _affinity.createComparator)(personality); // NOTE: sort() function performs a destructive change, // and return value depends on environment. map.sort(function (_ref3, _ref4) { var pa = _ref3.pri, ta = _ref3.type; var pb = _ref4.pri, tb = _ref4.type; return pa !== pb ? -(pa - pb) : comparator(ta, tb); }); var result = map.reduce(function (p, _ref5) { var pos = _ref5.pos, type = _ref5.type; return pos === position || pos in p ? p : (0, _extends4.default)({}, p, (0, _defineProperty3.default)({}, pos, type)); }, {}); return result; }; exports.default = bizTeam;