UNPKG

elliptical-observe

Version:
35 lines (28 loc) 964 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.substrings = substrings; var _smartSplit = require('smart-split'); var _smartSplit2 = _interopRequireDefault(_smartSplit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function* substrings(input, _ref) { var _ref$splitOn = _ref.splitOn; let splitOn = _ref$splitOn === undefined ? '' : _ref$splitOn; var _ref$consumeAll = _ref.consumeAll; let consumeAll = _ref$consumeAll === undefined ? false : _ref$consumeAll; var _ref$greedy = _ref.greedy; let greedy = _ref$greedy === undefined ? false : _ref$greedy; if (consumeAll) { yield input; return; } let inputs = (0, _smartSplit2.default)(input, splitOn); for (let i = 0; i < inputs.length; i += 2) { if (greedy) { yield inputs.slice(0, inputs.length - i).join(''); } else { yield inputs.slice(0, i + 1).join(''); } } }