diff --git a/README.md b/README.md index 0ca1132..a7b421d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # LevelDB GeoStore for Terraformer -This is an experimental LevelDB plugin got Terraformer's GeoStore. Currently, it works in Node.js only. +This is an experimental LevelDB plugin got Terraformer's GeoStore. Should work in the browser with browserify. ## Install @@ -19,4 +19,8 @@ var store = new GeoStore({ store: new LevelStore("buildings"), index: RTree() }); -``` \ No newline at end of file +``` + +## Developing + +run tests with `npm test`, it will run the node tests and then give you a url, visit that and you will see the browser tests. \ No newline at end of file diff --git a/index.js b/index.js index 6643421..794f99e 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,5 @@ -var level = require('levelup'); +var levelup = require('levelup'); +var leveldown = require('leveldown'); module.exports = LevelStore; function LevelStore (options, cb) { if (typeof options === 'string') { @@ -22,8 +23,9 @@ function LevelStore (options, cb) { Object.keys(options).forEach(function(key) { levelOpts[key] = options[key]; }); + levelOpts.db = levelOpts.db || leveldown; levelOpts.valueEncoding = 'json'; - this.db = level(this.name, levelOpts, cb); + this.db = levelup(this.name, levelOpts, cb); this.close = this.db.close.bind(this.db); } diff --git a/package.json b/package.json index b00e557..9063e79 100644 --- a/package.json +++ b/package.json @@ -4,17 +4,27 @@ "description": "A proof of concept leveldb geostore for Terraformer", "main": "index.js", "scripts": { - "test": "jshint index.js && node test.js" + "test": "jshint index.js && node test.js && npm run browser-test", + "browser-test": "browserify test.js | testling -u" }, "repository": "git@github.com:JerrySievert/terraformer-geostore-leveldb.git", "author": " code@legitimatesounding.com", "license": "BSD", "devDependencies": { "jshint": "^2.4.4", - "leveldown": "~0.10.2", - "tape": "~2.10.2" + "tape": "~2.10.2", + "level-js": "git://github.com/qs44/level.js.git#qs44-pouchDB44-delete-function-in-index", + "browserify": "^3.32.0" }, "dependencies": { - "levelup": "~0.18.2" + "leveldown": "~0.10.2", + "levelup": "~0.18.2", + "testling": "^1.6.0" + }, + "browser": { + "leveldown": "level-js" + }, + "testling": { + "files": "test.js" } }