https://github.com/leecjson/semver-map
Use javascript's map with Semantic-Versioning
https://github.com/leecjson/semver-map
Last synced: 10 months ago
JSON representation
Use javascript's map with Semantic-Versioning
- Host: GitHub
- URL: https://github.com/leecjson/semver-map
- Owner: leecjson
- License: mit
- Created: 2018-11-22T04:51:13.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-22T05:24:54.000Z (over 7 years ago)
- Last Synced: 2025-08-04T00:24:14.544Z (11 months ago)
- Language: JavaScript
- Size: 43.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# semver-map
Use javascript's map with Semantic-Versioning
# Usage
```shell
npm install --save semver-map
```
```javascript
const SemverMap = require('semver-map');
test('usage test', () => {
const map = new SemverMap();
map.add('myname@1.0.0', 'star lord');
expect(map.get('myname@1.0.0')).toBe('star lord');
map.add('myname@1.0.1', 'haha');
expect(map.get('myname@1.0.1')).toBe('haha');
map.add('myname@1.0.2', 'hehe');
expect(map.get('myname@^1.0.1')).toBe('hehe');
expect(map.get('myname@^1.0.1@max')).toBe('hehe');
expect(map.get('myname@^1.0.1@min')).toBe('haha');
map.add('myname@1.4.5', 'pppp');
expect(map.get('myname@1.x')).toBe('pppp');
expect(map.get('myname@1.x@max')).toBe('pppp');
expect(map.get('myname@1.x@min')).toBe('star lord');
map.add('myname@1.4.6', 'kkkk');
expect(map.get('myname@1.4.6@max')).toBe('kkkk');
expect(map.get('myname@1.4.6@min')).toBe('kkkk');
map.add('myname@1.4.7', null);
map.add('myname@1.4.8', undefined);
map.add('myname@1.4.9', 0);
expect(map.get('myname@1.4.7')).toBe(null);
expect(map.get('myname@1.4.7')).toBe(null);
expect(map.get('myname@1.4.8')).toBe(undefined);
expect(map.get('myname@1.4.8')).toBe(undefined);
expect(map.get('myname@1.4.x')).toBe(0);
expect(map.get('myname@1.4.x')).toBe(0);
map.add('webpack@7.4.3', [1, 2, 3]);
expect(map.get('webpack@^7.4.1')).toEqual([1, 2, 3]);
map.add('loadash@4.2.3-rc.1', 555);
expect(map.get('loadash@4.2.3-rc.1')).toBe(555);
});
```