https://github.com/vweevers/level-glob
Create a read stream filtered and ordered by glob patterns
https://github.com/vweevers/level-glob
Last synced: 8 months ago
JSON representation
Create a read stream filtered and ordered by glob patterns
- Host: GitHub
- URL: https://github.com/vweevers/level-glob
- Owner: vweevers
- License: mit
- Created: 2015-01-07T15:53:49.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-02-22T11:53:45.000Z (over 11 years ago)
- Last Synced: 2025-10-05T05:47:52.874Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 133 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# level-glob
> Create a read stream filtered and ordered by glob patterns. The keys in the
database should be absolute, unix-like paths.
[](https://www.npmjs.org/package/level-glob) [](http://travis-ci.org/vweevers/level-glob) [](https://ci.appveyor.com/project/vweevers/level-glob) [](https://david-dm.org/vweevers/level-glob)
Jump to: [usage](#usage) / [install](#install) / [license](#license)
## example
```js
var level = require('level-test')({ mem: true })
, glob = require('level-glob')
, concat = require('concat-stream')
// create a database
var db = level()
// insert some data
var ops = [
{type: 'put', key: '/readme.md', value: 'readme' },
{type: 'put', key: '/assets/app.js', value: 'js' },
{type: 'put', key: '/assets/app.css', value: 'css' }
]
db.batch(ops, function(){
var opts = { values: true, keys: false }
// aggregates multiple streams
glob(db, ['assets/*', '/*'], opts)
.pipe(concat(function(value){
console.log(value === 'cssjsreadme')
}))
// but those streams are ordered
glob(db, ['/*', 'assets/*'], opts)
.pipe(concat(function(value){
console.log(value === 'readmecssjs')
}))
// negation only applies to patterns before it
glob(db, ['assets/*', '!**.md', '/*'], opts)
.pipe(concat(function(value){
console.log(value === 'cssjsreadme')
}))
// so this negative glob does have an effect
glob(db, ['assets/*', '/*', '!**.md'], opts)
.pipe(concat(function(value){
console.log(value === 'cssjs')
}))
})
```
## usage
### `glob(db, patterns(s)[, options])`
Create a readstream filtered by one or more glob patterns.
### `glob.install(db)`
Add a `createGlobStream` method to `db`.
```js
glob.install(db);
db.createGlobStream('/**/*.png', options);
```
## install
With [npm](https://npmjs.org) do:
```
npm install level-glob
```
## license
[MIT](http://opensource.org/licenses/MIT) © [Vincent Weevers](http://vincentweevers.nl)