+++ /dev/null
-'use strict';
-// https://github.com/tc39/proposal-iterator-helpers
-var $ = require('../internals/export');
-var aFunction = require('../internals/a-function');
-var anObject = require('../internals/an-object');
-var createIteratorProxy = require('../internals/iterator-create-proxy');
-var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
-
-var IteratorProxy = createIteratorProxy(function (arg) {
- var iterator = this.iterator;
- var filterer = this.filterer;
- var next = this.next;
- var result, done, value;
- while (true) {
- result = anObject(next.call(iterator, arg));
- done = this.done = !!result.done;
- if (done) return;
- value = result.value;
- if (callWithSafeIterationClosing(iterator, filterer, value)) return value;
- }
-});
-
-$({ target: 'Iterator', proto: true, real: true }, {
- filter: function filter(filterer) {
- return new IteratorProxy({
- iterator: anObject(this),
- filterer: aFunction(filterer)
- });
- }
-});