shelving
TypeScript icon, indicating that this package has built-in type declarations

1.127.1 • Public • Published

Shelving: toolkit for using data in JavaScript

Semantic Release Conventional Commits Prettier GitHub Actions npm

Shelving is a toolkit for using data in JavaScript and TypeScript, including:

Note: The 1.x branch of Shelving is in active development and is not observing semver for breaking changes (from 2.x onward semver will be followed).

  • Schemas (validation)
  • Databases (via providers including in-memory, Firestore, IndexedDB)
  • Querying (sorting, filtering, slicing)
  • Store (events and state)
  • React (hooks and state)
  • Helpers (errors, arrays, objects, strings, dates, equality, merging, diffing, cloning, debug)

Installation

Install via npm or yarn:

npm install shelving
yarn add shelving

Import from Skypack CDN (the ?dts enables TypeScript types in Deno):

import { Database } from "https://cdn.skypack.dev/shelving";
import { Database } from "https://cdn.skypack.dev/shelving?dts";

Usage

Shelving is an ES module supporting import { Query } from "shelving"; syntax and can be used natively in systems/browsers that support that (e.g. Chrome 61+, Deno, Node 12+).

Shelving does not include code for CommonJS require() imports, so using it in older projects will require transpiling.

Modules

Shelving is created from small individual modules which can be imported individually (using e.g. import { addProp } from "shelving/object). Modules marked with are also re-exported from the main "shelving" module.

@todo Write these docs!

Changelog

See Releases

Package Sidebar

Install

npm i shelving

Weekly Downloads

267

Version

1.127.1

License

0BSD

Unpacked Size

544 kB

Total Files

301

Last publish

Collaborators

  • dhoulb