UNPKG

elliptical-observe

Version:
67 lines (54 loc) 1.61 kB
import _regeneratorRuntime from 'babel-runtime/regenerator'; var _marked = [substrings].map(_regeneratorRuntime.mark); import split from 'smart-split'; export function substrings(input, _ref) { var _ref$splitOn = _ref.splitOn; var splitOn = _ref$splitOn === undefined ? '' : _ref$splitOn; var _ref$consumeAll = _ref.consumeAll; var consumeAll = _ref$consumeAll === undefined ? false : _ref$consumeAll; var _ref$greedy = _ref.greedy; var greedy = _ref$greedy === undefined ? false : _ref$greedy; var inputs, i; return _regeneratorRuntime.wrap(function substrings$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!consumeAll) { _context.next = 4; break; } _context.next = 3; return input; case 3: return _context.abrupt('return'); case 4: inputs = split(input, splitOn); i = 0; case 6: if (!(i < inputs.length)) { _context.next = 17; break; } if (!greedy) { _context.next = 12; break; } _context.next = 10; return inputs.slice(0, inputs.length - i).join(''); case 10: _context.next = 14; break; case 12: _context.next = 14; return inputs.slice(0, i + 1).join(''); case 14: i += 2; _context.next = 6; break; case 17: case 'end': return _context.stop(); } } }, _marked[0], this); }