JSPM

  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q20651F
  • License MIT-0

SQLite Compiled to WASM, asyncified, and then wrapped in a lotta JavaScript.

Package Exports

  • sql.mjs
  • sql.mjs/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sql.mjs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

sql.mjs

Another SQLite library. Mostly inactive, and very unstable (MAY CORRUPT YOUR DATABASE FILE), but also cool I think.

Features:

  • Incremental Blob IO via Readable / Writable Streams
  • Custom VFSs with async implementations
  • Coroutines / "multithreading" via Asyncify stack switching.
    • Enables cancelling a query: Conn.prototype.interrupt()
    • Run multiple queries without needing SharedArrayBuffer or Worker
  • An API with minimal construction / destruction. Prefers 'borrowing' APIs that automatically aquire and release resources.
    • ConnPool.prototype.borrow()
  • Tagged template literals
  • Everything is optional: only include what you need.
    • Custom VFSs are optional (if you just want in-memory)
    • Custom scalar-functions are optional (if you don't need incremental blob IO, etc.)
    • Pool is optional
  • Extensible
    • Modify how values are bound via the Bindable and Resultable traits in sql.mjs/value.js
    • Write your own implementation of custom VFS support. Look at sql.mjs/vfs/custom.js to learn how.
    • Directly call sqlite3 functions via sql.mjs/sqlite.js and sql.mjs/sqlite_def.js