65 lines
1020 B
JavaScript
65 lines
1020 B
JavaScript
/**
|
|
* This class stores a database result.
|
|
*/
|
|
module.exports = new Class
|
|
({
|
|
/**
|
|
* Initilizes the result object.
|
|
*/
|
|
initialize: function (result)
|
|
{
|
|
Object.assign (this, {
|
|
data: result.data,
|
|
tables: result.tables,
|
|
columns: result.columns,
|
|
row: -1
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Moves the pointer to the next row and returns it as an object.
|
|
*
|
|
* @return {Object} The row or %null if there are no more rows
|
|
*/
|
|
,fetchRow: function ()
|
|
{
|
|
if (!this.next ())
|
|
return null;
|
|
|
|
return this.data[this.row];
|
|
}
|
|
|
|
/**
|
|
* Returns the current row as an object.
|
|
*
|
|
* @param {number} rowIndex The row index
|
|
* @return {Object} The row or %null if there are no more rows
|
|
*/
|
|
,getRow: function (rowIndex)
|
|
{
|
|
return this.data[rowIndex];
|
|
}
|
|
|
|
/**
|
|
* Resets the result iterator.
|
|
*/
|
|
,reset: function ()
|
|
{
|
|
this.row = -1;
|
|
}
|
|
|
|
/**
|
|
* Moves the internal iterator to the next row.
|
|
*/
|
|
,next: function ()
|
|
{
|
|
this.row++;
|
|
|
|
if (this.row >= this.data.length)
|
|
return false;
|
|
|
|
return true;
|
|
}
|
|
});
|
|
|