/**
|
* @fileoverview Define the abstract class about cursors which manipulate another cursor.
|
* @author Toru Nagashima
|
*/
|
"use strict";
|
|
//------------------------------------------------------------------------------
|
// Requirements
|
//------------------------------------------------------------------------------
|
|
const Cursor = require("./cursor");
|
|
//------------------------------------------------------------------------------
|
// Exports
|
//------------------------------------------------------------------------------
|
|
/**
|
* The abstract class about cursors which manipulate another cursor.
|
*/
|
module.exports = class DecorativeCursor extends Cursor {
|
|
/**
|
* Initializes this cursor.
|
* @param {Cursor} cursor The cursor to be decorated.
|
*/
|
constructor(cursor) {
|
super();
|
this.cursor = cursor;
|
}
|
|
/** @inheritdoc */
|
moveNext() {
|
const retv = this.cursor.moveNext();
|
|
this.current = this.cursor.current;
|
|
return retv;
|
}
|
};
|