MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / defineStdIterators

Function defineStdIterators

lib/web/polyfill.js:518–536  ·  view source on GitHub ↗
(Base, NAME, Constructor, next, DEFAULT, IS_SET)

Source from the content-addressed store, hash-verified

516 return iter;
517}
518function defineStdIterators(Base, NAME, Constructor, next, DEFAULT, IS_SET){
519 function createIter(kind){
520 return function(){
521 return new Constructor(this, kind);
522 }
523 }
524 createIterator(Constructor, NAME, next);
525 var entries = createIter(KEY+VALUE)
526 , values = createIter(VALUE);
527 if(DEFAULT == VALUE)values = defineIterator(Base, NAME, values, 'values');
528 else entries = defineIterator(Base, NAME, entries, 'entries');
529 if(DEFAULT){
530 $define(PROTO + FORCED * BUGGY_ITERATORS, NAME, {
531 entries: entries,
532 keys: IS_SET ? values : createIter(KEY),
533 values: values
534 });
535 }
536}
537function iterResult(done, value){
538 return {value: value, done: !!done};
539}

Callers 2

polyfill.jsFile · 0.85
getCollectionFunction · 0.85

Calls 4

createIteratorFunction · 0.85
createIterFunction · 0.85
defineIteratorFunction · 0.85
$defineFunction · 0.85

Tested by

no test coverage detected