diff options
Diffstat (limited to 'app/node_modules/okquery/index.js')
| -rw-r--r-- | app/node_modules/okquery/index.js | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/app/node_modules/okquery/index.js b/app/node_modules/okquery/index.js index 22dd74f..f5db3f0 100644 --- a/app/node_modules/okquery/index.js +++ b/app/node_modules/okquery/index.js @@ -8,40 +8,43 @@ function OKQuery(db, options) { options = options || {}; if (!db) throw new Error('No DB provided to query.'); - if (!options.name) - throw new Error('No name type provided to query'); - this.name = options.name; - this.get = createQuery(db, options); + if (!options.type) + throw new Error('No resource type provided to query'); + var type = options.type; + var id = options.id || '*'; + Object.defineProperty(this, 'type', { + value: type, + writable: false + }); + this.get = createQuery(db, type, id); } -function createQuery(db, config) { - var name = config.name; - var id = config.id || '*'; +function createQuery(db, type, id) { if (isDynamic(id)) { - return queryDynamic(db, name); + return queryDynamic(db, type); } else if (isSet(id)) { - return queryAll(db, name); + return queryAll(db, type); } else { - return querySingle(db, name, id); + return querySingle(db, type, id); } } -function queryDynamic(db, name) { +function queryDynamic(db, type) { return function(options) { options = options || {}; - return db.get(name, options.id); + return db.get(type, options.id); } } -function queryAll(db, name) { +function queryAll(db, type) { return function() { - return db.getAll(name); + return db.getAll(type); } } -function querySingle(db, name, id) { +function querySingle(db, type, id) { return function() { - return db.get(name, id); + return db.get(type, id); } } |
