summaryrefslogtreecommitdiff
path: root/app/node_modules/okquery/index.js
diff options
context:
space:
mode:
authorSean Fridman <fridman@mail.sfsu.edu>2015-04-03 02:28:12 -0400
committerSean Fridman <fridman@mail.sfsu.edu>2015-04-03 02:28:12 -0400
commitb8ae0749a6e7f85edda8a0926e003cd561e4d172 (patch)
treecbf7e35a550c8133ea5fad257997ecb7c9370ed8 /app/node_modules/okquery/index.js
parent6fbccc554b2ab51f683718334338eae2b7b06200 (diff)
Separate schema and resource concepts
Also refactor a bit
Diffstat (limited to 'app/node_modules/okquery/index.js')
-rw-r--r--app/node_modules/okquery/index.js35
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);
}
}