UNPKG

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

92 lines (49 loc) 3.37 kB
'use strict'; exports.__esModule = true; exports.makeWorkers = exports.getWorkers = undefined; var _reject = require('ramda/src/reject'); var _reject2 = _interopRequireDefault(_reject); var _map = require('ramda/src/map'); var _map2 = _interopRequireDefault(_map); 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 _test = require('ramda/src/test'); var _test2 = _interopRequireDefault(_test); var _unless = require('ramda/src/unless'); var _unless2 = _interopRequireDefault(_unless); var _replace = require('ramda/src/replace'); var _replace2 = _interopRequireDefault(_replace); var _pipe = require('ramda/src/pipe'); var _pipe2 = _interopRequireDefault(_pipe); var _always = require('ramda/src/always'); var _always2 = _interopRequireDefault(_always); var _T = require('ramda/src/T'); var _T2 = _interopRequireDefault(_T); var _identity = require('ramda/src/identity'); var _identity2 = _interopRequireDefault(_identity); var _invoker = require('ramda/src/invoker'); var _invoker2 = _interopRequireDefault(_invoker); var _is = require('ramda/src/is'); var _is2 = _interopRequireDefault(_is); var _cond = require('ramda/src/cond'); var _cond2 = _interopRequireDefault(_cond); var _workerize = require('workerize'); var _workerize2 = _interopRequireDefault(_workerize); var _util = require('../util'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /* eslint-disable no-undef */ var hasWorkers = typeof Worker !== 'undefined' && Worker !== null && typeof Blob !== 'undefined' && Blob !== null; /* eslint-enable no-undef */ var makeWorkerString = (0, _cond2['default'])([[(0, _is2['default'])(Function), (0, _invoker2['default'])(0, 'toString')], [(0, _is2['default'])(String), _identity2['default']], [_T2['default'], (0, _always2['default'])('')]]); var makeExportable = (0, _pipe2['default'])((0, _replace2['default'])(/^(\s*)\(/m, 'export const run = ('), (0, _replace2['default'])(/^(\s*)const/m, 'export const'), (0, _replace2['default'])(/^(\s*)function\s*\(/m, 'export function run('), (0, _replace2['default'])(/^(\s*)function\s+/m, 'export function '), (0, _replace2['default'])(/^(\s*)function\*\s+/m, 'export function* '), (0, _replace2['default'])(/^(\s*)async\s+\(/m, 'export const run = async ('), (0, _replace2['default'])(/^(\s*)async\s+function\s*\(/m, 'export async function run(')); var makeWorker = (0, _pipe2['default'])(makeWorkerString, makeExportable, (0, _unless2['default'])((0, _test2['default'])(/^\s*$/), function (str) { return (0, _workerize2['default'])('' + str); })); var getWorkers = exports.getWorkers = (0, _converge2['default'])(_call2['default'], [(0, _compose2['default'])(_util.coerceToFn, (0, _pathOr2['default'])({}, ['options', 'workers'])), _identity2['default']]); var makeWorkers = exports.makeWorkers = (0, _pipe2['default'])(getWorkers, (0, _map2['default'])(hasWorkers ? makeWorker : (0, _pipe2['default'])(makeWorkerString, makeExportable)), (0, _reject2['default'])((0, _test2['default'])(/^\s*$/)));