Source: data/DataLoader.js

import { DataFrame } from './DataFrame.js';

/**
 * A generic data loader which have to be sub-classed for two methods:
 * 
 * @author rkoppe <roland.koppe@awi.de>
 */
export class DataLoader {

    constructor(content) {

    }

    /**
     * Returns a list of available parameters, columns, data streams as Promise.
     * 
     * @return {Promise<String[]>}
     */
    async parameters() {
        return [];
    }

    /**
     * Returns a DataFrame of the content as Promise.
     * 
     * FIXME: support generic but compiled? filters, remove defined attributes
     * 
     * @param {*} parameters 
     * @param {*} beginDate 
     * @param {*} endDate 
     * @param {*} limit 
     * @param {*} aggregate 
     * @param {*} aggregateFunctions 
     * @return {Promise<DataFrame>} Promise<DataFrame>
     */
    async data(parameters, beginDate, endDate, limit, aggregate, aggregateFunctions) {
    }

}