konsum-db
timeseries database on leveldb
example
import levelup from "levelup";
import leveldown from "leveldown";
import { Master, Category } from "konsum-db";
async function example() {
const db = await levelup(leveldown("example.db"));
const master = await Master.initialize(db);
const ev = new Category("EV", master, { unit: "kWh" });
await ev.write(master.db);
await ev.writeValue(db, Date.now(), 77.34);
}
example();
API
Table of Contents
LevelCategory
Extends Category
Value Category.
Parameters
Properties
write
Writes object into database.
Leaves all other entries alone.
Parameters
key
Returns string
meters
Get Meters of the category.
Parameters
-
db
ClassicLevel
-
options
Object?
Returns AsyncIterable<Meter>
entries
Get categories.
Parameters
Returns AsyncIterable<Category>
MASTER
Prefix of the master record
Type: string
CATEGORY_PREFIX
Prefix of the categories.
Will be followed by the category name
Type: string
VALUE_PREFIX
Prefix of the values.
Will be followed by the category name
Type: string
METER_PREFIX
Prefix of the meters.
Will be followed by the category name
Type: string
NOTE_PREFIX
Prefix of the notes.
Will be followed by the category name
Type: string
LevelMaster
Extends Master
Master record.
Holds schema version.
Properties
write
Writes object into database.
Leaves all other entries alone.
Parameters
close
Close the underlaying database.
categories
List Categories.
Parameters
initialize
Initialize database.
checks/writes master record.
Parameters
Returns Promise<Master>
LevelMeter
Extends Meter
Meter
Parameters
-
name
string meter name
-
category
Category
-
options
Object
options.description
string options.unit
string physical unit like kWh or m3options.fractionalDigits
number display precission
Properties
notes
List assigned Notes.
Parameters
Returns AsyncIterable<LevelNote>
values
Get values of the meter.
Parameters
-
db
any
-
options
Object?
options.gte
string? time of earliest valueoptions.lte
string? time of latest valueoptions.reverse
boolean? order
Returns AsyncIterable<Value>
key
Returns string
LevelNote
Extends Note
Hints placed on a category at a specific time.
key
Returns string
secondsAsString
Format seconds as string left padded with '0'.
Parameters
seconds
number seconds since epoch
Returns string padded seconds
LevelValue
Extends Value
Hints placed on a category at a specific time.
key
Returns string