ruddy
Version:
Modularized state-management tools for modern front-end applications. Manage dispatched messages in a clean and predictable way for either small or large scale projects
95 lines (57 loc) • 3.12 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]);