UNPKG

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
'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]);