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
			| 
											3 years ago
										 | # 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). |