You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1.5 KiB
						
					
					
				| # semver-store
 | |
| 
 | |
| [](http://standardjs.com/)  [](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.<br/>
 | |
| The version **must** be conform with the [semver](http://semver.org/) specification.
 | |
| 
 | |
| #### `get(version)`
 | |
| Get a document from the store with the specified version.<br/>
 | |
| 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.<br/>
 | |
| 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).
 |