@konsumation/db-level
Version:
timeseries database on leveldb
53 lines (52 loc) • 1.68 kB
text/typescript
/**
* Meter
* @param {string} name meter name
* @param {Category} category
* @param {Object} options
* @param {string} options.description
* @param {string} options.unit physical unit like kWh or m3
* @param {number} options.fractionalDigits display precission
*
* @property {string} name category name
* @property {string} description
* @property {string} unit physical unit
* @property {number} fractionalDigits display precission
*/
export class LevelMeter extends Meter {
static get factories(): {
[LevelNote.type]: typeof LevelNote;
[LevelValue.type]: typeof LevelValue;
};
static get keyPrefix(): string;
static entriesWith(db: any, object: any, gte?: string, lte?: string): AsyncGenerator<LevelMeter, void, unknown>;
write(db: any): Promise<any>;
/**
* List assigned Notes.
* @param {any} db
* @param {Object} [options]
* @return {AsyncIterable<LevelNote>}
*/
notes(db: any, options?: any): AsyncIterable<LevelNote>;
/**
* Get values of the meter.
* @param {any} db
* @param {Object} [options]
* @param {string} [options.gte] time of earliest value
* @param {string} [options.lte] time of latest value
* @param {boolean} [options.reverse] order
* @return {AsyncIterable<Value>}
*/
values(db: any, options?: {
gte?: string;
lte?: string;
reverse?: boolean;
}): AsyncIterable<Value>;
/**
* @return {string}
*/
get key(): string;
}
import { Meter } from "@konsumation/model";
import { LevelNote } from "./note.mjs";
import { Value } from "@konsumation/model";
import { LevelValue } from "./value.mjs";