UNPKG

lacona-osx

Version:

Lacona Extensions for OSX, tied into the global-context hosted API

47 lines (35 loc) 1.46 kB
'use strict'; 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 }) ) ); } };