npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

dal-lite

v0.1.1

Published

A lightweight database abstraction layer

Readme

dal-lite

Modules

dals/sqlite3

dals/sqlite3~SqliteDal ⇐ Dal

DAL that connects to sqlite3 databases

Kind: inner class of dals/sqlite3
Extends: Dal
See: module:index~Dal

sqliteDal.type

Kind: instance property of SqliteDal
See: module:index.Dal#type

sqliteDal.connect()

Kind: instance method of SqliteDal
See: Dal.connect

sqliteDal.tableExists()

Kind: instance method of SqliteDal
See: Dal.tableExists

sqliteDal.createTable()

Kind: instance method of SqliteDal
See: Dal.createTable

sqliteDal.dropTable()

Kind: instance method of SqliteDal
See: Dal.dropTable

sqliteDal.exec()

Kind: instance method of SqliteDal
See: Dal.exec

sqliteDal.query()

Kind: instance method of SqliteDal
See: Dal.query

sqliteDal.quoteIdentifier()

Kind: instance method of SqliteDal
See: Dal.quoteIdentifier

sqliteDal.quoteValue()

Kind: instance method of SqliteDal
See: Dal.quoteValue

sqliteDal.insert()

Kind: instance method of SqliteDal
See: Dal.insert

sqliteDal.update()

Kind: instance method of SqliteDal
See: Dal.update

sqliteDal.select()

Kind: instance method of SqliteDal
See: Dal.select

sqliteDal.delete()

Kind: instance method of SqliteDal
See: Dal.delete

sqliteDal.close()

Kind: instance method of SqliteDal
See: Dal.close

index

index~Dal

Abstract class that selects a DAL for a given connection string (URI) via @function getDal

Kind: inner class of index

new Dal(uri, [_options])

| Param | Type | Description | | --- | --- | --- | | uri | string | Connection string used to attach to the database | | [_options] | object | Options |

dal.type ⇒ string

Gets the underlying DAL type of this DAL

Kind: instance abstract property of Dal
Returns: string - The underlying DAL type

dal.connect([_options]) ⇒ Promise

Connects the specified database. This is only necessary if you specified connect=false in the options to getDal

Kind: instance abstract method of Dal

| Param | Type | Description | | --- | --- | --- | | [_options] | object | Options |

dal.tableExists(table, [_options]) ⇒ Promise

Checks if a table exists

Kind: instance abstract method of Dal

| Param | Type | Description | | --- | --- | --- | | table | TableSpec | Table specifier | | [_options] | object | Options |

dal.createTable(table, tableDef, [_options]) ⇒ Promise

Creates a table from a given table definition

Kind: instance abstract method of Dal

| Param | Type | Description | | --- | --- | --- | | table | TableSpec | Table specifier TableSpec | | tableDef | TableDef | Table definition | | [_options] | object | Options |

dal.alterTable(table, defChanges, [_options]) ⇒ Promise

Alters an existing table to match a given table definition

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves when table is altered or rejects for errors

| Param | Type | Description | | --- | --- | --- | | table | TableSpec | Table specifier | | defChanges | object | Changes to apply to table | | [_options] | object | Options |

dal.dropTable(table, [_options]) ⇒ Promise

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves for successful table drop or rejects for errors

| Param | Type | Description | | --- | --- | --- | | table | TableSpec | Table specifier | | [_options] | object | Options |

dal.quoteIdentifier(name, [_options]) ⇒ string

Quotes a given identifier (e.g. table, column name)

Kind: instance abstract method of Dal
Returns: string - Quoted name

| Param | Type | Description | | --- | --- | --- | | name | string | | | [_options] | object | Options |

dal.quoteValue(value, type, [_options]) ⇒ string

Quotes a given value according to a specified type

Kind: instance abstract method of Dal
Returns: string - Quoted value

| Param | Type | Description | | --- | --- | --- | | value | * | | | type | string | | | [_options] | object | Options |

dal.exec(sql, [_options]) ⇒ Promise

Executes a given SQL query that does not return data

Kind: instance abstract method of Dal
Returns: Promise - Promise that will resolve with no data or reject

| Param | Type | Description | | --- | --- | --- | | sql | string | The query | | [_options] | object | Options |

dal.query(sql, [_options]) ⇒ Promise

Run a query that returns data from the database.

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves with data or rejects

| Param | Type | Description | | --- | --- | --- | | sql | string | The query | | [_options] | object | Options |

dal.insert(into, values, [_options]) ⇒ Promise

Insert data into the database.

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves for a successful insert or rejects

| Param | Type | Description | | --- | --- | --- | | into | TableSpec | Table specifier | | values | object | Array.<object> | Array or singular column to value map (object where keys are the column name and the values are the values for the column). | | [_options] | object | Options |

dal.update(table, changes, [_options]) ⇒ Promise

Update data within the database.

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves for a successful update or rejects

| Param | Type | Default | Description | | --- | --- | --- | --- | | table | TableSpec | | Table specifier | | changes | Array.<ChangeDef> | | | | [_options] | object | | Options | | _options.where | string | | Where clause |

dal.select(columns, from, [_options]) ⇒ Promise

Select data from the database

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves with returned data or rejects

| Param | Type | Description | | --- | --- | --- | | columns | Array.<string> | | | from | TableSpec | Table specifier | | [_options] | object | Options | | _options.where | string | Where clause | | _options.groupBy | string | Group by clause | | _options.orderBy | string | Order by clause | | _options.limit.limit | number | Limit results to this value | | _options.limit.offset | number | Offset results by this value |

dal.delete(from, [_options]) ⇒ Promise

Delete data from the database.

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves with a successful delete or rejects

| Param | Type | Description | | --- | --- | --- | | from | TableSpec | Table specifier TODO joins, etc. | | [_options] | object | Options | | _options.where | string | Where clause |

dal.applyDataDefinition(def, [_options]) ⇒ Promise

Uses a DataDef to specify a desired database schema state.

Kind: instance method of Dal
Returns: Promise - Promise that resolves for successful application or rejects

| Param | Type | Description | | --- | --- | --- | | def | DataDef | DataDef describing the expected state of the database | | [_options] | object | Options |

dal.close() ⇒ Promise

Closes the connection to the database. The instance should not be used after this.

Kind: instance abstract method of Dal
Returns: Promise - Promise that resolves when the connection is closed or rejects for errors

Dal.getDal(uri, [_options]) ⇒ Dal

Given a connection string (URI) chooses a matching subclass of Dal that implements that database dialect and instantiates it

Kind: static method of Dal
Returns: Dal - The subclass of Dal for the database type specified by the uri

| Param | Type | Description | | --- | --- | --- | | uri | string | Connection string/URI | | [_options] | object | Options | | [_options.connect] | boolean | Auto-connect to the database. Defaults to true. |

index~TableSpec : string | object | Array.<string>

Table specifier. Can be a string, an array or an object. If a string, the simple (no schema) name of the table. If an array, it must have a length of 2; the first element is the schema, the second element is the table name. If an object, it must have a property tableName that is the name of the table and an optional property schema that is the name of the schema.

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | table | string | The table name | | schema | string | The table schema |

index~ColumnDef : object

Column definition.

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | type | string | Type of the column (based on types compatible with underlying DAL) | | [notNull] | boolean | True if column can contain NULL values. Defaults to false. |

index~PrimaryKeyDef : string | Array.<string>

Primary key definition. Can be a column name or an array of column names.

Kind: inner typedef of index

index~ForeignKeyDef : object

Foreign key definition.

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | columns | string | Array.<string> | Array of column names or string of a singular column name | | references | object | Definition of the target the column references. | | references.table | string | Name of the table referenced. | | references.columns | string | Array.<string> | Names of the columns or singular name referenced by this foreign key. Should match up with .columns |

index~TableDef : object

Table definition.

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | columns | Object.<string, ColumnDef> | Object keyed with column names mapping to ColumnDefs | | [primaryKey] | PrimaryKeyDef | Primary key definition | | [foreignKeys] | Array.<ForeignKeyDef> | Definitions of foreign keys within the table |

index~IndexDef : object

Index definition.

Kind: inner typedef of index

index~ViewDef : object

View definition.

Kind: inner typedef of index

index~DataDef : object

Database schema definition.

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | tables | Array.<TableDef> | The individual TableDefs | | indexes | Array.<IndexDef> | The individual IndexDefs | | views | Array.<ViewDef> | The individual ViewDefs |

index~ChangeDef : object

Change to apply to a table's data

Kind: inner typedef of index
Properties

| Name | Type | Description | | --- | --- | --- | | column | string | The column to update | | value | * | The new value of the column |