Array.prototype isn't getting set. ---------------------------------- Key: COUCHDB-1300 URL: https://issues.apache.org/jira/browse/COUCHDB-1300 Project: CouchDB Issue Type: Bug Components: JavaScript View Server Affects Versions: 1.1 Environment: Ubuntu 11.04, node.couchapp, commonJS Reporter: paul iannazzo
##file helpers.js in views/lib/common const _ = require("views/lib/underscore"); Array.prototype.compact = function(){return _.compact(this);}; Array.prototype.flatten = function(){return _.flatten(this);}; //this function is called from views.someName.map function commonProperties(doc){ arr = []; arr = arr.compact(); log(arr); log("is array?"); log(toString.call(doc.store.taxes)); log(doc.store.taxes); //log(doc.store.taxes.compact()); log("is safe array?"); log(toString.call(safe.array(doc.store.taxes))); log(safe.array(doc.store.taxes)); //log(safe.array(doc.store.taxes).compact()); log("array?"); log(toString.call(Array(safe.array(doc.store.taxes)))); log(Array(doc.store.taxes)); log(Array(doc.store.taxes).compact()); ... ::LOG [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: is array? [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [object Array] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [{"taxId":0,"number":"000000","percent":8},{"taxId":1,"number":"","percent":5},{"taxId":2,"number":"","percent":1}] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: is safe array? [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [object Array] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [{"taxId":0,"number":"000000","percent":8},{"taxId":1,"number":"","percent":5},{"taxId":2,"number":"","percent":1}] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: array? [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [object Array] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [[{"taxId":0,"number":"000000","percent":8},{"taxId":1,"number":"","percent":5},{"taxId":2,"number":"","percent":1}]] the .compact() lines that are commented out cause errors: [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: is array? [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [object Array] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: [{"taxId":0,"number":"000000","percent":8},{"taxId":1,"number":"","percent":5},{"taxId":2,"number":"","percent":1}] [info] [<0.3429.0>] OS Process #Port<0.5316> Log :: function raised exception (new TypeError("doc.store.taxes.compact is not a function", "", 29)) with doc._id RT7-RT7-31-20 the first logs show that doc.store.taxes is an array, why do i need to use Array() on it in order to use the prototype functions? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira