/** * This class stores a database result. */ module.exports = new Class({ /** * Initilizes the result object. */ initialize: function(result) { this.data = result.data; this.tables = result.tables; this.columns = result.columns; this.row = -1; if (this.columns) { this.columnMap = {}; for (var i = 0; i < this.columns.length; i++) { const col = this.columns[i]; col.index = i; this.columnMap[col.name] = col; } } else this.columnMap = null; } /** * Gets a value from de result. * * @param {String} columnName The column name * @return {Object} The cell value */ ,get: function(columnName) { return this.data[this.row][columnName]; } /** * Gets a row. * * @return {Object} The cell value */ ,getObject: function() { return this.data[this.row]; } /** * 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; } });