lacona-osx
Version:
Lacona Extensions for OSX, tied into the global-context hosted API
47 lines (35 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PersonalDate = undefined;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _elliptical = require('elliptical');
var _laconaPhrases = require('lacona-phrases');
var _constantMaps = require('./constant-maps');
var _contactSources = require('./contact-sources');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function spreadDates(obj) {
return (0, _contactSources.spreadObject)(obj, 'dates');
} /** @jsx createElement */
const PersonalDate = exports.PersonalDate = {
extends: [_laconaPhrases.Day],
describe({ observe, props }) {
const data = observe((0, _elliptical.createElement)(_contactSources.UserContact, null));
const dates = spreadDates(data);
const items = _lodash2.default.map(dates, ({ value, label }) => {
return { value, text: `my ${_constantMaps.dateMap[label] || label}` };
});
return (0, _elliptical.createElement)(
'sequence',
null,
props.prepositions ? (0, _elliptical.createElement)('literal', { text: 'on ', optional: true, preferred: true, limited: true, category: 'conjunction' }) : null,
(0, _elliptical.createElement)(
'placeholder',
{ argument: 'special day', merge: true },
(0, _elliptical.createElement)('list', { strategy: 'fuzzy', items: items })
)
);
}
};