elliptical-observe
Version:
Sideways Data Loading for Elliptical
35 lines (28 loc) • 964 B
JavaScript
;
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('');
}
}
}