UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

94 lines (83 loc) 2.29 kB
import { __exports as lazyIterators } from '../../../_virtual/lazy-iterators.js'; var hasRequiredLazyIterators; function requireLazyIterators () { if (hasRequiredLazyIterators) return lazyIterators; hasRequiredLazyIterators = 1; lazyIterators.fromArray = function(array) { var index = 0; var hasNext = function() { return index < array.length; }; return new LazyIterator({ hasNext: hasNext, next: function() { if (!hasNext()) { throw new Error("No more elements"); } else { return array[index++]; } } }); }; var LazyIterator = function(iterator) { this._iterator = iterator; }; LazyIterator.prototype.map = function(func) { var iterator = this._iterator; return new LazyIterator({ hasNext: function() { return iterator.hasNext(); }, next: function() { return func(iterator.next()); } }); }; LazyIterator.prototype.filter = function(condition) { var iterator = this._iterator; var moved = false; var hasNext = false; var next; var moveIfNecessary = function() { if (moved) { return; } moved = true; hasNext = false; while (iterator.hasNext() && !hasNext) { next = iterator.next(); hasNext = condition(next); } }; return new LazyIterator({ hasNext: function() { moveIfNecessary(); return hasNext; }, next: function() { moveIfNecessary(); var toReturn = next; moved = false; return toReturn; } }); }; LazyIterator.prototype.first = function() { var iterator = this._iterator; if (this._iterator.hasNext()) { return iterator.next(); } else { return null; } }; LazyIterator.prototype.toArray = function() { var result = []; while (this._iterator.hasNext()) { result.push(this._iterator.next()); } return result; }; return lazyIterators; } export { requireLazyIterators as __require }; //# sourceMappingURL=lazy-iterators.js.map