Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/delvedor/semver-store
An extremely fast semver based store.
https://github.com/delvedor/semver-store
nodejs semver store
Last synced: 3 days ago
JSON representation
An extremely fast semver based store.
- Host: GitHub
- URL: https://github.com/delvedor/semver-store
- Owner: delvedor
- License: mit
- Created: 2018-06-08T13:24:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-19T16:53:45.000Z (over 6 years ago)
- Last Synced: 2024-12-28T17:06:45.187Z (13 days ago)
- Topics: nodejs, semver, store
- Language: JavaScript
- Homepage:
- Size: 24.4 KB
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# semver-store
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://travis-ci.org/delvedor/semver-store.svg?branch=master)](https://travis-ci.org/delvedor/semver-store)
An extremely fast semver based store.
## Install
```
npm i semver-store
```
## Usage
Use it is very easy, you just need to require the library and start adding values.
```js
const store = require('semver-store')()store.set('1.2.0', { value: 42 })
console.log(
store.get('1.2.0') // { value: 42 }
)
```## API
#### `set(version, store)`
Add a document to the store with the specified version.
The version **must** be conform with the [semver](http://semver.org/) specification.#### `get(version)`
Get a document from the store with the specified version.
The version string could be a full version string or specify a range, such as `1.x`, in which case the highest version compatible will be returned. Specify `*` to get the highest version available.#### `del(version)`
Deletes a document from the store with the specified version.
The version string could be a full version string or specify a range, such as `1.x`, in which case all the compatible values will be deleted.#### `empty()`
Empties the store.### Why is fast?
Internally uses a [prefix tree](https://en.wikipedia.org/wiki/Trie), which allows the search to be extremely performant.## License
Licensed under [MIT](./LICENSE).