Sha256: dee01574e6e720a41d2a76b78bc8b41ec1d070eb3692c2c8a70cd7ea3e03075d
Contents?: true
Size: 1.18 KB
Versions: 44
Compression:
Stored size: 1.18 KB
Contents
/** * @fileoverview Define the cursor which ignores specified tokens. * @author Toru Nagashima */ "use strict"; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const DecorativeCursor = require("./decorative-cursor"); //------------------------------------------------------------------------------ // Exports //------------------------------------------------------------------------------ /** * The decorative cursor which ignores specified tokens. */ module.exports = class FilterCursor extends DecorativeCursor { /** * Initializes this cursor. * @param {Cursor} cursor - The cursor to be decorated. * @param {Function} predicate - The predicate function to decide tokens this cursor iterates. */ constructor(cursor, predicate) { super(cursor); this.predicate = predicate; } /** @inheritdoc */ moveNext() { const predicate = this.predicate; while (super.moveNext()) { if (predicate(this.current)) { return true; } } return false; } };
Version data entries
44 entries across 44 versions & 2 rubygems