updates to camp and things
This commit is contained in:
parent
16e1340a7c
commit
7724a42e73
442 changed files with 97335 additions and 8 deletions
86
static/js/cljs-runtime/goog.collections.iters.js
Normal file
86
static/js/cljs-runtime/goog.collections.iters.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
goog.loadModule(function(exports) {
|
||||
"use strict";
|
||||
goog.module("goog.collections.iters");
|
||||
goog.module.declareLegacyNamespace();
|
||||
function getIterator(iterable) {
|
||||
return iterable[goog.global.Symbol.iterator]();
|
||||
}
|
||||
exports.getIterator = getIterator;
|
||||
function forEach(iterator, f) {
|
||||
let result;
|
||||
while (!(result = iterator.next()).done) {
|
||||
f(result.value);
|
||||
}
|
||||
}
|
||||
exports.forEach = forEach;
|
||||
class MapIterator {
|
||||
constructor(childIter, mapFn) {
|
||||
this.childIterator_ = getIterator(childIter);
|
||||
this.mapFn_ = mapFn;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this;
|
||||
}
|
||||
next() {
|
||||
const childResult = this.childIterator_.next();
|
||||
return {value:childResult.done ? undefined : this.mapFn_.call(undefined, childResult.value), done:childResult.done,};
|
||||
}
|
||||
}
|
||||
exports.map = function(iterable, f) {
|
||||
return new MapIterator(iterable, f);
|
||||
};
|
||||
class FilterIterator {
|
||||
constructor(childIter, filterFn) {
|
||||
this.childIter_ = getIterator(childIter);
|
||||
this.filterFn_ = filterFn;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this;
|
||||
}
|
||||
next() {
|
||||
while (true) {
|
||||
const childResult = this.childIter_.next();
|
||||
if (childResult.done) {
|
||||
return {done:true, value:undefined};
|
||||
}
|
||||
const passesFilter = this.filterFn_.call(undefined, childResult.value);
|
||||
if (passesFilter) {
|
||||
return childResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.filter = function(iterable, f) {
|
||||
return new FilterIterator(iterable, f);
|
||||
};
|
||||
class ConcatIterator {
|
||||
constructor(iterators) {
|
||||
this.iterators_ = iterators;
|
||||
this.iterIndex_ = 0;
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this;
|
||||
}
|
||||
next() {
|
||||
while (this.iterIndex_ < this.iterators_.length) {
|
||||
const result = this.iterators_[this.iterIndex_].next();
|
||||
if (!result.done) {
|
||||
return result;
|
||||
}
|
||||
this.iterIndex_++;
|
||||
}
|
||||
return {done:true};
|
||||
}
|
||||
}
|
||||
exports.concat = function(...iterables) {
|
||||
return new ConcatIterator(iterables.map(getIterator));
|
||||
};
|
||||
exports.toArray = function(iterator) {
|
||||
const arr = [];
|
||||
forEach(iterator, e => arr.push(e));
|
||||
return arr;
|
||||
};
|
||||
return exports;
|
||||
});
|
||||
|
||||
//# sourceMappingURL=goog.collections.iters.js.map
|
Loading…
Add table
Add a link
Reference in a new issue