iterize
Version:
Use JavaScript Iterator, Easily
2 lines • 1.03 kB
JavaScript
(function(a,b){if("function"==typeof define&&define.amd)define(["exports","./commons/ErrorModels","./commons/Iterators","./commons/utility"],b);else if("undefined"!=typeof exports)b(exports,require("./commons/ErrorModels"),require("./commons/Iterators"),require("./commons/utility"));else{var c={exports:{}};b(c.exports,a.commonsErrorModels,a.commonsIterators,a.commonsUtility),a.cycle=c.exports}})(this,function(a,b,c,d){"use strict";function e(a){return"string"!=typeof a&&!Array.isArray(a)&&!(0,d.isIterator)(a)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;a.default=function(a){if(e(a))throw new b.ArgumentError("Please check arguments type.");// todo refactoring
if(Array.isArray(a)&&0===a.length)throw new b.ArgumentError("Array is empty.");else if((0,d.isRepeatIterator)(a))throw new b.ArgumentError("Do not use infinite type iterator.");var f;return f=Array.isArray(a)?new c.ArrayIterator(a):"string"==typeof a?new c.ArrayIterator(a.split("")):a,new c.RepeatIterator(f,c.RepeatIterator.FOREVER)}});