Sha256: c5730f98ba9c4fb0c8f7688c38ba723ea2e8599ddcf452e49e254747e2b8939e
Contents?: true
Size: 1.18 KB
Versions: 58
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
58 entries across 48 versions & 2 rubygems