summaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2012-07-13 23:32:20 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2012-07-13 23:32:20 +0200
commit63214f5e9e69c640701e6d92dc4a9bee9ec91cba (patch)
tree4a430481e5c2c3019fcdc8896554da23173e735a /index.js
parent4f4ef10a6bbbcc68ab89d81291faddf57b650928 (diff)
downloadcollection_json.js-63214f5e9e69c640701e6d92dc4a9bee9ec91cba.tar.gz
collection_json.js-63214f5e9e69c640701e6d92dc4a9bee9ec91cba.tar.bz2
collection_json.js-63214f5e9e69c640701e6d92dc4a9bee9ec91cba.tar.xz
collection_json.js-63214f5e9e69c640701e6d92dc4a9bee9ec91cba.zip
o Adding toObject on each item.
Diffstat (limited to 'index.js')
-rw-r--r--index.js26
1 files changed, 16 insertions, 10 deletions
diff --git a/index.js b/index.js
index f467018..8e2709a 100644
--- a/index.js
+++ b/index.js
@@ -12,6 +12,12 @@ function fromObject(root) {
c.items = _.isArray(c.items) ? c.items : [];
_.each(c.items, function(item) {
item.links = _.isArray(item.links) ? item.links : [];
+ item.toObject = function() {
+ return _.reduce(item.data, function(map, field) {
+ map[field.name] = field.value;
+ return map;
+ }, {});
+ }
});
c.links = _.isArray(c.links) ? c.links : [];
@@ -21,19 +27,13 @@ function fromObject(root) {
query.data = _.isArray(query.data) ? query.data : [];
});
- c.templates = _.isArray(c.templates) ? c.templates : [];
+ c.template = _.isObject(c.template) ? c.template : undefined;
+ // c.templates = _.isArray(c.templates) ? c.templates : [];
// TODO: make un-enumerable
- root.mapItemData = function(f) {
+ root.mapItems = function(f) {
return _.map(this.collection.items, function(item) {
-// console.log("item", item);
- var map = _.reduce(item.data, function(map, field) {
-// console.log("field", field);
- map[field.name] = field.value;
- return map;
- }, {});
-// console.log("map", map);
- return f(map);
+ return f(item.toObject());
});
};
root.findLinkByRel = function(rel) {
@@ -41,6 +41,12 @@ function fromObject(root) {
return rel === link.rel;
});
}
+ root.isCollection = function() {
+ return typeof this.collection == 'object';
+ }
+ root.isTemplate = function() {
+ return typeof this.template == 'object';
+ }
return root;
}