attadux
Version:
Implementation of the redux-modular-ducks, forked from the extensible-duck implementation and extended to include spected validators, state machines, helpers, web workers, effect handling, action multipliers, action enhancers, action throttling/debouncing
95 lines (57 loc) • 3.24 kB
JavaScript
'use strict';
exports.__esModule = true;
exports.copyRawQueriesToConsts = exports.getRawQueries = exports.makeQueries = exports.getQueries = undefined;
var _assocPath = require('ramda/src/assocPath');
var _assocPath2 = _interopRequireDefault(_assocPath);
var _prop = require('ramda/src/prop');
var _prop2 = _interopRequireDefault(_prop);
var _always = require('ramda/src/always');
var _always2 = _interopRequireDefault(_always);
var _ifElse = require('ramda/src/ifElse');
var _ifElse2 = _interopRequireDefault(_ifElse);
var _filter = require('ramda/src/filter');
var _filter2 = _interopRequireDefault(_filter);
var _map = require('ramda/src/map');
var _map2 = _interopRequireDefault(_map);
var _isNil = require('ramda/src/isNil');
var _isNil2 = _interopRequireDefault(_isNil);
var _reject = require('ramda/src/reject');
var _reject2 = _interopRequireDefault(_reject);
var _pathOr = require('ramda/src/pathOr');
var _pathOr2 = _interopRequireDefault(_pathOr);
var _compose = require('ramda/src/compose');
var _compose2 = _interopRequireDefault(_compose);
var _call = require('ramda/src/call');
var _call2 = _interopRequireDefault(_call);
var _converge = require('ramda/src/converge');
var _converge2 = _interopRequireDefault(_converge);
var _identity = require('ramda/src/identity');
var _identity2 = _interopRequireDefault(_identity);
var _find = require('ramda/src/find');
var _find2 = _interopRequireDefault(_find);
var _is = require('ramda/src/is');
var _is2 = _interopRequireDefault(_is);
var _util = require('../util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var makeQuery = function makeQuery(query) {
if ((0, _is2['default'])(Array, query)) {
var buildQuery = (0, _find2['default'])((0, _is2['default'])(Function), query) || _identity2['default'];
var raw = (0, _find2['default'])((0, _is2['default'])(String), query) || '';
return buildQuery(raw);
} else if ((0, _is2['default'])(String, query)) {
return query;
}
return null;
};
var getQueries = exports.getQueries = (0, _converge2['default'])(_call2['default'], [(0, _compose2['default'])(_util.coerceToFn, (0, _pathOr2['default'])({}, ['options', 'queries'])), _identity2['default']]);
var makeQueries = exports.makeQueries = (0, _compose2['default'])((0, _reject2['default'])(_isNil2['default']), (0, _map2['default'])(makeQuery), getQueries);
var getRawQueries = exports.getRawQueries = (0, _compose2['default'])((0, _filter2['default'])((0, _is2['default'])(String)), (0, _map2['default'])((0, _ifElse2['default'])((0, _is2['default'])(Array), (0, _find2['default'])((0, _is2['default'])(String)), (0, _always2['default'])(null))), (0, _prop2['default'])('queries'));
/**
* Copies the string values from the Duck's queries into `consts.queries`.
*
* @func
* @sig {k: v} -> {k: v}
* @param {Object} duck A duck which (may) contain queries (inside of its 'options')
* @returns {Object} A clone of the duck, but now with `consts.queries`.
*/
var copyRawQueriesToConsts = exports.copyRawQueriesToConsts = (0, _converge2['default'])((0, _assocPath2['default'])(['consts', 'queries']), [getRawQueries, _identity2['default']]);