@konsumation/db-level
TypeScript icon, indicating that this package has built-in type declarations

9.0.19 • Public • Published

npm License Typed with TypeScript bundlejs downloads Build Status Styled with prettier Commitizen friendly Known Vulnerabilities

konsum-db

timeseries database on leveldb

example

import levelup from "levelup";
import leveldown from "leveldown";

import { Master, Category } from "konsum-db";

async function example() {
 // open database
 const db = await levelup(leveldown("example.db"));
 const master = await Master.initialize(db);

 // create category named EV
 const ev = new Category("EV", master, { unit: "kWh" });
 await ev.write(master.db);
 
 // write entry
 await ev.writeValue(db, Date.now(), 77.34);
}

example();

API

Table of Contents

LevelCategory

Extends Category

Value Category.

Parameters

  • name string category name

  • options Object

    • options.description string
    • options.unit string physical unit like kWh or m3
    • options.fractionalDigits number display precission

Properties

write

  • See: {key}

Writes object into database. Leaves all other entries alone.

Parameters

  • db ClassicLevel

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

  • See: {key}

Writes object into database. Leaves all other entries alone.

Parameters

  • db ClassicLevel

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 m3
    • options.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 value
    • options.lte string? time of latest value
    • options.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

Readme

Keywords

Package Sidebar

Install

npm i @konsumation/db-level

Weekly Downloads

1,002

Version

9.0.19

License

BSD-2-Clause

Unpacked Size

31.1 kB

Total Files

18

Last publish

Collaborators

  • k0nsti
  • arlac77