Sha256: a6cedbc96d59cf4024ed9f373274253717f7b04d45e2361c5a5fa09b31e4a2e0

Contents?: true

Size: 994 Bytes

Versions: 17

Compression:

Stored size: 994 Bytes

Contents

'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)
    });
  }
});

Version data entries

17 entries across 16 versions & 6 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/core-js/modules/esnext.iterator.filter.js
tang-0.2.1 spec/tang_app/node_modules/core-js/modules/esnext.iterator.filter.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/core-js/modules/esnext.iterator.filter.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/core-js/modules/esnext.iterator.filter.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/core-js/modules/esnext.iterator.filter.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/core-js/modules/esnext.iterator.filter.js
tang-0.2.0 spec/tang_app/node_modules/core-js/modules/esnext.iterator.filter.js
tang-0.1.0 spec/tang_app/node_modules/core-js/modules/esnext.iterator.filter.js
tang-0.0.9 spec/tang_app/node_modules/core-js/modules/esnext.iterator.filter.js
enju_library-0.3.8 spec/dummy/node_modules/core-js/modules/esnext.iterator.filter.js
condenser-0.3 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.2 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.1 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.0.12 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.0.11 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.0.10 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js
condenser-0.0.9 lib/condenser/processors/node_modules/core-js-pure/modules/esnext.iterator.filter.js