{"_id":"armory","_rev":"55-6bf4e4100053c778dabee3551c050d96","name":"armory","description":"A wrapper for the WoW Armory API.","dist-tags":{"latest":"0.6.1"},"versions":{"0.1.0":{"name":"armory","version":"0.1.0","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"devDependencies":{"nodeunit":">=0.5.1","jshint":">=0.2.0"},"engines":["node >= 0.4.0"],"_id":"armory@0.1.0","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.7-pre","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"a2a4677adc5fdfb22199b48b732eb75ad5634aea","tarball":"https://registry.npmjs.org/armory/-/armory-0.1.0.tgz","integrity":"sha512-5G0ZJ1XAmB5A7w/CrJdDzv1+cOmC3D0nSH0+Evf6MfNl9M8aKwq3T10pDCz/hA2ZsUauoIOIuQA2x12vV40wqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSHkDkKqddN5OU/8NBh1Wp8eQI0wYm/DQngseUkT32fgIhAOC4eDj0b1zORnlwjMx/LNUjQYKDjywd7ORX+zhWxUac"}]}},"0.1.1":{"name":"armory","version":"0.1.1","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"devDependencies":{"nodeunit":">=0.5.1","jshint":">=0.2.0"},"engines":["node >= 0.4.0"],"_id":"armory@0.1.1","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.7-pre","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"1e7444cfc036f2232cfd74ae659de727a21195e1","tarball":"https://registry.npmjs.org/armory/-/armory-0.1.1.tgz","integrity":"sha512-hZmWh0uK3GwF8GMwiyPq02OHbiVDdwwpnA8Eibb2Dnjz2OF4gcETSYT60iHfAtlkO79QcIte6VEzhWOVRcK8HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSnssgBTBN5BJo4Mae/cKMU5XtS1vTw9KtTE/JkAGdXwIgKstECeJFuBdNE1NtHhontoKiGeCrAtBpvfBRdrqwsT4="}]}},"0.1.2":{"name":"armory","version":"0.1.2","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"devDependencies":{},"_id":"armory@0.1.2","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.9-pre","_defaultsLoaded":true,"dist":{"shasum":"3a7269a66bf4c27fe26fc6f3cdf5a1c6b2ee0e59","tarball":"https://registry.npmjs.org/armory/-/armory-0.1.2.tgz","integrity":"sha512-sngOtD3echXtIpaP2Vi5+6oVrH9K1hEaVnMOqTtYGFyj62xVLawwa5NRmvhC+A/ws2IAIdK6LcFzqf2cLpgzTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBTxPWcw/kslVk65F+/jlsbERx90HUlVan/YZYqXgHxaAiBPf9Q6zoaJTfz+urLR5abAt+L+ru3MhQkx9Y4mgVZxhw=="}]},"scripts":{},"directories":{}},"0.1.3":{"name":"armory","version":"0.1.3","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"devDependencies":{},"_id":"armory@0.1.3","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.9-pre","_defaultsLoaded":true,"dist":{"shasum":"75067aa4361b267dafd1ff5dd66892dc63b97081","tarball":"https://registry.npmjs.org/armory/-/armory-0.1.3.tgz","integrity":"sha512-XgCYp55uwWfYDDqfbBklHGPLINdtGXHV0NiBkLuJsFUexaKpqUcdjFFvLnVN45eFxOrNFWmRIMuV+fo4ArJIEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4zU9PNQhSYDstRmE/wTfjMUbXEzIkAY3Gi5dMEzfaAAIhAPF1zTy4y2gZQgYta4PY8X5/2dIx93fWuGWEncfi0aVZ"}]},"scripts":{},"directories":{}},"0.2.0":{"name":"armory","version":"0.2.0","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"_npmJsonOpts":{"file":"/Users/christian/.npm/armory/0.2.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"armory@0.2.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.13","_nodeVersion":"v0.4.9-pre","_defaultsLoaded":true,"dist":{"shasum":"67b3eb67b15101844af6a76916fc24144613b866","tarball":"https://registry.npmjs.org/armory/-/armory-0.2.0.tgz","integrity":"sha512-hj3Ibxy95Tm5xhVvoGALj2+a/djQe6i1PRjon21U+CjvdCyksdp/OwBnmZ8t8t6tz9nRvdVSNV1lqW8pfq9zzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMvAz0BqAlSX/odZnYBk+uajWBGQSAZy0RDzgaK6iQQAIhAJiCyx/g9A2LGSiKK8lQU6DTt52lrejoYrusgCwS17Qb"}]},"scripts":{},"directories":{}},"0.2.1":{"name":"armory","version":"0.2.1","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"_npmJsonOpts":{"file":"/Users/christian/.npm/armory/0.2.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"armory@0.2.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.11-pre","_defaultsLoaded":true,"dist":{"shasum":"96129293b1314d469938cbeb38848c5118fea3be","tarball":"https://registry.npmjs.org/armory/-/armory-0.2.1.tgz","integrity":"sha512-MpNNmMHXKYqL1/iJ9HErWFqdk7+27XpBncd5ielg2ynrr8Mcy6ayoGSEr1qKxu5X0slpuaXTF+gVsfJnET3z9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxRZDdXUWIjvoF1Avp5fSo8cpF34dSNY78F6+p+usR6QIhAJAAPXiO2+OfHeLM6KsRl0MH1j/LH4TRQ/a3LowX1Zex"}]},"scripts":{}},"0.3.0":{"name":"armory","version":"0.3.0","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"_npmJsonOpts":{"file":"/Users/xtian/.npm/armory/0.3.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"armory@0.3.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.11-pre","_defaultsLoaded":true,"dist":{"shasum":"008cbed38edc4c79fe72c51666faca9365715ebf","tarball":"https://registry.npmjs.org/armory/-/armory-0.3.0.tgz","integrity":"sha512-bFCfkkYPWjjNCJBENsdBEbNgcCQ1DFKWGfQlctklLJ979EUmEXYxh5s7qZH3IpwIX5EWfXrc2vuSrmQVCMf6nA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPN5zwU/3ETUkhKp+KwBUQm3+diScgGzVP+wYMKNLH7AIhAMvqpgZStjcpMQ459QDwRaz6GUBhrXFd3sJxrEW3uUUe"}]},"scripts":{},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.3.1":{"name":"armory","version":"0.3.1","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"./lib/armory","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":">=1.9.5"},"engines":["node >= 0.4.0"],"_npmJsonOpts":{"file":"/Users/xtian/.npm/armory/0.3.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"armory@0.3.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.23","_nodeVersion":"v0.4.11-pre","_defaultsLoaded":true,"dist":{"shasum":"b5a671b95733ae1385d61876dc1482eda1ce48e7","tarball":"https://registry.npmjs.org/armory/-/armory-0.3.1.tgz","integrity":"sha512-0nxH9gx7GnplPcmIj6ZGdat45ZvH4RSMx5yS0Op12CquMq4QuyU6TboTEgAYhjU9B+YNto6WkKD6TRuhGmQmVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvDqVnanbl3Gl4+N6nu/aufbFNIvlGZIfwWSgVVO/ZyAiEAmUYyBhCTbJaCi5N5QkeGxpT6+vPuV/1hVjFsW98hAGI="}]},"scripts":{},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.4.0":{"name":"armory","version":"0.4.0","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"index.js","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"nodeunit":"~0.5.5"},"engines":["node >= 0.4.0"],"_npmUser":{"name":"xtian","email":"christian@cwesselhoeft.com"},"_id":"armory@0.4.0","_engineSupported":true,"_npmVersion":"1.0.101","_nodeVersion":"v0.5.11-pre","_defaultsLoaded":true,"dist":{"shasum":"02a95a1c5fc27e71e6cc6368e9d6ae17ce941de6","tarball":"https://registry.npmjs.org/armory/-/armory-0.4.0.tgz","integrity":"sha512-WSUWZZTsVbfzvg9STyP6r6fc+94wppDLrOmEv4OdhOVUTlew2Pz9/ArvppIKMZF5rW2qbqpbHRBCPgs6Ddp1pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1W88QAkmC3wfyGuCZfhoxqimc7Jvy1IH0etDH7uCCdAIhAOtZHV+VjcXhxV06DsF6zOTDSEu+EWBJBi1CKK57PhMr"}]},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.4.1":{"name":"armory","version":"0.4.1","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"index.js","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"nodeunit":"~0.5.5"},"engines":["node >= 0.4.0"],"_npmUser":{"name":"xtian","email":"christian@cwesselhoeft.com"},"_id":"armory@0.4.1","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.6-pre","_defaultsLoaded":true,"dist":{"shasum":"315a82638cb433669aa327fce1ce53505a2021f5","tarball":"https://registry.npmjs.org/armory/-/armory-0.4.1.tgz","integrity":"sha512-FuGO7XyHCB/JePDlQR+lkohsCbjFU4eqSdLXQSA/zCTSoCJ+ZcwgCbS+7Qt0QFisqDFjiBTq9y6GEoo4onzO7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQN7OCbyYAXSUKkHCr+DJRmUyw2a8D0Ks+RF0BW4oVwgIgTmWmpKc9nTpud3cqPvRJMQwAqp1Q5WvCjH0O0QGlXvc="}]},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.4.2":{"name":"armory","version":"0.4.2","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"index.js","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"nodeunit":"~0.6.4"},"engines":["node >= 0.4.0"],"_npmUser":{"name":"xtian","email":"christian@cwesselhoeft.com"},"_id":"armory@0.4.2","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.8-pre","_defaultsLoaded":true,"dist":{"shasum":"3bfb95e44a8f02f878f6d87f8c3694db6f5fd5d7","tarball":"https://registry.npmjs.org/armory/-/armory-0.4.2.tgz","integrity":"sha512-Q9wuX1GBuTI/+BJJJBI63D0Ic/znP27wpLrm7Dp6Hg5zktnux8GFrxFkLNqUvy6Q4y8crj/TpwAdzkzHNLHGCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOHkaUS4Sx9tj34SUL6kJrPbTLdBqgxgRlylY7cg45wwIhANTWJ2IbW9dFLvKbSEuXw44REZkxkC2xlJytdb29JtZI"}]},"readme":"# node-armory\n\nA simple [node.js](http://github.com/joyent/node) wrapper around Blizzard's [REST API for World of Warcraft](http://blizzard.github.com/api-wow-docs/).\n\n## Installation\n\n    npm install armory\n\n\n## Documentation\n\n\nAll options objects can have the following properties:\n\n* `names`|`ids`\n* `region` _(optional)_\n* `locale` _(optional)_\n* `lastModified` _(optional)_\n\nNote: `names` and `ids` are interchangeable, and `locale` and `lastModified` do not affect all API methods.\n\n***\n### auction(options, callback)\n### auction(realms, [region, locale,] callback)\nRetrieves an array of auction data URLs.\n\n### auctionData(options, callback)\n### auctionData(realms, [region, locale,] callback)\nRetrieves an object of data from the first auction data URL provided by the API.\n\n    armory.auctionData('Shadowmoon', function(err, res) {\n\n        var agiPots = res.alliance.auctions.filter(function(auction) {\n            return auction.item === 58145;\n        });\n    });\n\nThe first argument can be a string, an array, or an object.\n\n[Auction API Documentation](http://blizzard.github.com/api-wow-docs/#id3381986)\n\n\n***\n### arena(options, callback)\n### arena('Name\\_Size\\_Realm', [region, locale,] callback)\nRetrieves an object containing data about an arena team.\n\n    armory.arena('No Dairy_2v2_Shadowmoon', function(err, team) {\n\n        var ratio = team.gamesWon / team.gamesLost;\n    });\n\n`options` can be a string in the form `'Name_Size_Realm'` or an object with the following additional properties:\n\n* `size` _(optional)_\n* `realm` _(optional)_\n\nStrings in the form `'Name_Size_Realm'`, `'Name_Size'`, or `'Name_Realm'` can be used in the `names` property. Parameters specified in these strings will override those provided in the `options` object.\n\n[Arena Team API Documentation](http://blizzard.github.com/api-wow-docs/#id3382144)\n\n***\n### character(options, callback)\n### character('Name\\_Realm', [region, locale,] callback)\nRetrieves an object containing data about a character.\n### guild(options, callback)\n### guild('Name\\_Realm', [region, locale,] callback)\nRetrieves an object containing data about a guild.\n\n    armory.guild({\n        names: 'The Gentlemens Club',\n        fields: ['members'],\n        realm: 'Shadowmoon'\n\n    }, function(err, guild) {\n\n        var dwarves = guild.members.filter(function(member) {\n            return member.character.race === 3;\n\n        }).map(function(member) {\n            return member.character.name;\n        });\n\n        var hairColors = [];\n\n        armory.character({\n            names: dwarves,\n            fields: ['appearance'],\n            realm: 'Shadowmoon'\n\n        }, function(err, character) {\n            if (err) return;\n            hairColors.push(character.appearance.hairColor);\n        });\n    });\n\n`options` can be a string in the form `'Name_Realm'` or an object with the following additional properties:\n\n* `fields` _(optional)_: must be an array\n* `realm` _(optional)_\n\nStrings in the form `'Name_Realm'` can be used in the `names` property. Parameters specified in these strings will override those provided in the `options` object.\n\n[Character API Documentation](http://blizzard.github.com/api-wow-docs/#id3380312)\n\n[Guild API Documentation](http://blizzard.github.com/api-wow-docs/#id3381560)\n\n\n***\n### item(options, callback)\n### item(ids, [region, locale,] callback)\nRetrieves an object containing data about an item.\n### quest(options, callback)\n### quest(ids, [region, locale,] callback)\nRetrieves an object containing data about a quest.\n### recipe(options, callback)\n### recipe(ids, [region, locale,] callback)\nRetrieves an object containing data about a recipe.\n\n    var avgILvl = 0,\n        i = 0;\n\n    armory.item([28275, 27903, 28041], function(err, item) {\n        avgILvl += item.itemLevel;\n        i++;\n\n        if (i === 3) {\n            avgILvl /= 3;\n        }\n    });\n\nThe first argument can be a single item ID, an array of IDs, or an object.\n\n[Item API Documentation](http://blizzard.github.com/api-wow-docs/#id3382086)\n\n\n***\n### ladder(options, callback)\n### ladder(sizes, battlegroup, [region, locale,] callback)\nRetrieves an array of objects containing data about arena teams for the given ladder and battlegroup.\n\n    armory.ladder('2v2', 'Vindication', function(err, ladder) {\n\n        var factionCount = ladder.reduce(function(array, team) {\n            array[team.side === 'alliance' ? 0 : 1]++;\n            return array;\n        }, [0, 0])\n    });\n\nThe first argument can be a single ladder type, an array of ladder types, or an object with the following additional properties:\n\n* `battlegroup`\n\n\n***\n### realmStatus([realms, region, locale,] callback)\nRetrieves an array containing the status of one or more realms.\n\n    armory.realmStatus(function(err, realms) {\n\n        var queued = realms.filter(function(realm) {\n            return realm.queue;\n        });\n    });\n\nA realm name or array of realm names can be passed as the first argument. If no names are provided, the status of all realms will be returned.\n\n[Realm Status API Documentation](http://blizzard.github.com/api-wow-docs/#id3381933)\n\n\n***\n### battlegroups([region, locale,] callback)\nRetrieves a static array of all battlegroup names.\n### characterAchievements([region, locale,] callback)\nRetrieves a static array of all character achievements.\n### classes([region, locale,] callback)\nRetrieves a static array of data about character classes.\n### guildAchievements([region, locale,] callback)\nRetrieves a static array of all guild achievements.\n### perks([region, locale,] callback)\nRetrieves a static array of data about guild perks.\n### races([region, locale,] callback)\nRetrieves a static array of data about character races.\n### rewards([region, locale,] callback)\nRetrieves a static array of data about guild rewards.\n\n    armory.classes('es_MX', function(err, res) {\n        console.log('Yo puede jugar un ' + res[9].name);\n    });\n\n[Data API Documentation](http://blizzard.github.com/api-wow-docs/#id3382202)\n\n\n***\n### Properties\n#### defaultRegion\nThe region to use if none is specified. `'us'` by default.\n\n#### publicKey, privateKey\nKeys to use for generating an authorization header.\n\n[Authentication Documentation](http://blizzard.github.com/api-wow-docs/#id3379854)\n\n\n### Notes on usage:\n\n* If an error occurs (including API errors), it will be passed as an Error object to the first argument of the callback with its message in the `message` property. Otherwise, the API response will passed as the second argument.\n* Except for `realmStatus()`, all methods invoke the callback once for each resource requested.\n* `lastModified` must be a GMT Unix timestamp. If the requested resource has not been modified since the time of `lastModifed`, the callback will be invoked with both arguments empty.\n* [Locale documentation](http://blizzard.github.com/api-wow-docs/#id3379677).\n","maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.5.0":{"name":"armory","version":"0.5.0","description":"A simple wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory","api","blizzard"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"christian@cwesselhoeft.com"},"main":"index.js","repository":{"type":"git","url":"git://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"tap":"~0.2.0","jshint":"~0.5.0","wowhead":"~0.1.0"},"scripts":{"test":"make test"},"engines":["node >= 0.4.0"],"_npmUser":{"name":"xtian","email":"christian@cwesselhoeft.com"},"_id":"armory@0.5.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.9","_nodeVersion":"v0.6.14-pre","_defaultsLoaded":true,"dist":{"shasum":"51b0c6caa9969fbd4985a233586f9432681d94ab","tarball":"https://registry.npmjs.org/armory/-/armory-0.5.0.tgz","integrity":"sha512-lqvIJI4WGOe7BsXC3zevq/lR/jGdcLdqAc56V/Ae0bzn018o0L0+TFh1pn4rMNpx5lDRTkbh4lH7Gt6PQFrbMA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1YcBNRcwFU+gcE5IT9y06VUtVvdN9uREjd4kx/l+eEAiAI+lthMHn//HG/v0dccKvdm7TtmL6gAz9E/jGxA9zZ7A=="}]},"readme":"# node-armory\n\nA simple [node.js](http://github.com/joyent/node) wrapper around Blizzard's [REST API for World of Warcraft](http://blizzard.github.com/api-wow-docs/).\n\n## Installation\n\n    npm install armory\n    npm install wowhead  # optional\n\nIf the [wowhead](http://github.com/xtian/node-wowhead) module is installed, it will be used as a fallback [when item requests fail](http://us.battle.net/wow/en/forum/topic/3657606329).\n\n\n## Documentation\n\n\nExcept for the static APIs, all options objects can have the following properties:\n\n* `name`|`id`\n* `lastModified` _(optional)_\n* `locale` _(optional)_\n* `region`\n\nNote: `name` and `id` are interchangeable, and `locale` and `lastModified` do not affect all API methods.\n\n***\n### auction(options, callback)\nRetrieves an array of auction data URLs.\n\n### auctionData(options, callback)\nRetrieves an object of data from the first auction data URL provided by the API.\n\n    armory.auctionData({ name: 'Shadowmoon', region: 'us' }, function(err, res) {\n\n        var agiPots = res.alliance.auctions.filter(function(auction) {\n            return auction.item === 58145;\n        });\n    });\n\n[Auction API Documentation](http://blizzard.github.com/api-wow-docs/#id3381986)\n\n\n***\n### arena(options, callback)\nRetrieves an object containing data about an arena team.\n\n    armory.arena({\n        name: 'No Dairy',\n        size: '2v2',\n        realm: 'Shadowmoon',\n        region: 'us'\n\n    }, function(err, team) {\n        var ratio = team.gamesWon / team.gamesLost;\n    });\n\nAdditional options:\n\n* `realm`\n* `size`\n\n[Arena Team API Documentation](http://blizzard.github.com/api-wow-docs/#id3382144)\n\n***\n### character(options, callback)\nRetrieves an object containing data about a character.\n### guild(options, callback)\nRetrieves an object containing data about a guild.\n\n    var armory = require('armory').defaults({\n        realm: 'Shadowmoon',\n        region: 'us'\n    });\n\n    armory.guild({\n        name: 'The Gentlemens Club',\n        fields: ['members']\n\n    }, function(err, guild) {\n\n        var dwarvenHairColors = [];\n\n        guild.members.filter(function(member) {\n            return member.character.race === 3;\n\n        }).map(function(member) {\n            return member.character.name;\n\n        }).forEach(function(dwarf) {\n            armory.character({\n                name: dwarf,\n                fields: ['appearance']\n\n            }, function(err, character) {\n                hairColors.push(character.appearance.hairColor);\n            });\n        });\n    });\n\nAdditional options:\n\n* `fields` _(optional)_: must be an array\n* `realm`\n\n[Character API Documentation](http://blizzard.github.com/api-wow-docs/#id3380312)\n\n[Guild API Documentation](http://blizzard.github.com/api-wow-docs/#id3381560)\n\n\n***\n### defaults(options)\nReturns a new instance of the module where all options will default to the provided values. If the first argument of a method is a number or string, it will be used as the `name` option.\n\n    var armory = require('armory').defaults({\n        name: 'Dargonaut',\n        realm: 'Shadowmoon',\n        region: 'us'\n    });\n\n    armory.character(function(err, character) {\n        console.log(character.name);\n    });\n\n    armory.character('Dewbaca', function(err, character) {\n        console.log(character.name);\n    });\n\n    armory.character({\n        name: 'Talent',\n        realm: 'Lightbringer'\n\n    }, function(err, character) {\n        console.log(character.name);\n    });\n\n\n***\n### item(options, callback)\nRetrieves an object containing data about an item.\n### quest(options, callback)\nRetrieves an object containing data about a quest.\n### recipe(options, callback)\nRetrieves an object containing data about a recipe.\n\n    var armory = require('armory').defaults({ region: 'us' });\n\n    var avgILvl = 0,\n        i = 0;\n\n    [28275, 27903, 28041].forEach(function(id) {\n        armory.item(id, function(err, item) {\n            avgILvl += item.itemLevel;\n            i++;\n\n            if (i === 3) {\n                avgILvl /= 3;\n            }\n        });\n    });\n\nAdditional options:\n\n* `fallback`: Setting to `false` disables Wowhead fallback.\n\n[Item API Documentation](http://blizzard.github.com/api-wow-docs/#id3382086)\n\n\n***\n### ladder(options, callback)\nRetrieves an array of objects containing data about arena teams for the given ladder and battlegroup.\n\n    armory.ladder({\n        id: '2v2',\n        battlegroup: 'Vindication',\n        region: 'us'\n\n    }, function(err, ladder) {\n\n        var factionCount = ladder.reduce(function(array, team) {\n            array[team.side === 'alliance' ? 0 : 1]++;\n            return array;\n        }, [0, 0]);\n    });\n\nAdditional options:\n\n* `battlegroup`\n\n\n***\n### realmStatus(options, callback)\nRetrieves an array containing the status of one or more realms.\n\n    armory.realmStatus({ region: 'us' }, function(err, realms) {\n\n        var queued = realms.filter(function(realm) {\n            return realm.queue;\n        });\n    });\n\nA single realm name or an array of realm names can be passed. If no names are provided, the status of all realms will be returned.\n\n[Realm Status API Documentation](http://blizzard.github.com/api-wow-docs/#id3381933)\n\n\n***\n### battlegroups(options, callback)\nRetrieves a static array of all battlegroup names.\n### characterAchievements(options, callback)\nRetrieves a static array of all character achievements.\n### classes(options, callback)\nRetrieves a static array of data about character classes.\n### guildAchievements(options, callback)\nRetrieves a static array of all guild achievements.\n### perks(options, callback)\nRetrieves a static array of data about guild perks.\n### races(options, callback)\nRetrieves a static array of data about character races.\n### rewards(options, callback)\nRetrieves a static array of data about guild rewards.\n\n    armory.classes({ region: 'us', locale: 'es_MX' }, function(err, res) {\n        console.log('Yo puede jugar un ' + res[9].name);\n    });\n\n`id` and `name` are not used by these methods.\n\n[Data API Documentation](http://blizzard.github.com/api-wow-docs/#id3382202)\n\n\n***\n### Properties\n#### publicKey, privateKey\nKeys to use for generating an authorization header.\n\n[Authentication Documentation](http://blizzard.github.com/api-wow-docs/#id3379854)\n\n\n### Notes on usage:\n\n* If an error occurs (including API errors), it will be passed as an Error object to the first argument of the callback with its message in the `message` property. Otherwise, the API response will passed as the second argument.\n* `lastModified` must be a GMT Unix timestamp. If the requested resource has not been modified since the time of `lastModifed`, the callback will be invoked with both arguments empty.\n* [Locale documentation](http://blizzard.github.com/api-wow-docs/#id3379677).\n","maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.6.0":{"name":"armory","version":"0.6.0","description":"A wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory","api","blizzard","mmo","gaming"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"hi@xtian.us"},"main":"index.js","repository":{"type":"git","url":"https://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"jshint":"~1","tap":"~0.4"},"scripts":{"test":"make test"},"license":"MIT","engines":["node >= 0.4.0"],"readme":"# node-armory\n\nA simple [node.js](http://github.com/joyent/node) wrapper around Blizzard's [REST API for World of Warcraft](http://blizzard.github.com/api-wow-docs/).\n\n## Installation\n\n    npm install armory\n\n## Documentation\n\n[WoW API Documenation](http://blizzard.github.com/api-wow-docs)\n\nAll methods take an options object and callback as arguments.\n\nIf a string or number is passed instead of an options object, that value will be used as `options.id`. The rest of a method's required options can be provided using the `defaults` method.\n\nIf no callback is provided, a Stream will be returned.\n\nExcept for the static APIs, all options objects can have the following properties:\n\n* `name`|`id`\n* `region`\n* `locale` _(optional)_\n\nNote: `name` and `id` are interchangeable, and `locale` does not affect all API methods.\n\n***\n### arena(options, callback)\nRetrieves an object containing data about an arena team.\n\nAdditional options:\n\n* `realm`\n* `size`\n\n### arenaLadder(options, callback)\nRetrieves an array of arena ladder information.\n\n    armory.arenaLadder({\n      region: 'us'\n    , battlegroup: 'vindication'\n    , id: '2v2'\n    }, function(err, teams) {\n        ...\n    })\n\nAdditional options:\n\n* `asc`\n* `battlegroup`\n* `page`\n* `size`\n\n### rbgLadder(options, callback)\nRetrieves an array of rated battleground ladder information.\n\nAdditional options:\n\n* `asc`\n* `page`\n* `size`\n\n***\n### battlePetStats(options, callback)\nRetrieves object describing a battle pet.\n\nAdditional options:\n\n* `breedId`\n* `level`\n* `qualityId`\n\n***\n### challenge(options, callback)\nRetrieves an array of challenge mode leaderboard information for a realm.\n\n### challengeRegion(options, callback)\nRetrieves an array of challenge mode leaderboard information for a region.\n\nNote: `challengeRegion` does not take an `id` option.\n\n    armory.challengeRegion({ region: 'us' }, function(err, res) { ... })\n\n***\n### character(options, callback)\nRetrieves an object containing data about a character.\n### guild(options, callback)\nRetrieves an object containing data about a guild.\n\nAdditional options:\n\n* `fields` _(optional)_: must be an array\n* `lastModified` _(optional)_: Date or timestamp to use for If-Modified-Since header\n* `realm`\n\n***\n### defaults(options)\nReturns a new instance of the module where all options will default to the provided values. If the first argument of a method is a number or string, it will be used as the `id`|`name` option.\n\n    var armory = require('armory').defaults({\n      name: 'Dargonaut'\n    , realm: 'Shadowmoon'\n    , region: 'us'\n    })\n\n    armory.character(function(err, character) { ... })\n    armory.character('Dewbaca', function(err, character) { ... })\n\n    armory.character({\n      name: 'Talent'\n    , realm: 'Lightbringer'\n\n    }, function(err, character) { ... });\n\n***\n### achievement(options, callback)\nRetrieves an object containing data about an achievement.\n### auction(options, callback)\nRetrieves an array of auction data URLs.\n### battlePetSpecies(options, callback)\nRetrieves an object containing data about a battle pet species.\n### battlePetAbility(options, callback)\nRetrieves an object containing data about a battle pet ability.\n### item(options, callback)\nRetrieves an object containing data about an item.\n### itemSet(options, callback)\nRetrieves an object containing data about an item set.\n### quest(options, callback)\nRetrieves an object containing data about a quest.\n### recipe(options, callback)\nRetrieves an object containing data about a recipe.\n### spell(options, callback)\nRetrieves an object containing data about a spell.\n\n***\n### realmStatus(options, callback)\nRetrieves an array containing the status of one or more realms.\n\n    armory.realmStatus({ region: 'us' }, function(err, realms) { ... );\n\nA single realm name or an array of realm names can be passed. If no names are provided, the status of all realms will be returned.\n\n***\n### battlegroups(options, callback)\nRetrieves a static array of all battlegroup names.\n### characterAchievements(options, callback)\nRetrieves a static array of all character achievements.\n### classes(options, callback)\nRetrieves a static array of data about character classes.\n### guildAchievements(options, callback)\nRetrieves a static array of all guild achievements.\n### perks(options, callback)\nRetrieves a static array of data about guild perks.\n### races(options, callback)\nRetrieves a static array of data about character races.\n### rewards(options, callback)\nRetrieves a static array of data about guild rewards.\n\nNote: `id` and `name` are not used by these methods.\n\n***\n### Properties\n#### publicKey, privateKey\nKeys to use for generating an authorization header.\n\n[Authentication Documentation](http://blizzard.github.com/api-wow-docs/#id3379854)\n\n### Notes on usage:\n\n* If an error occurs (including API errors), it will be passed as an Error object to the first parameter of the callback with its message in the `message` property. Otherwise, the parsed response body will passed as the second parameter and the full response will be passed as the third parameter.\n* `lastModified` must be a `Date` instance or a string recognized by `Date.parse()`. If the requested resource has not been modified since the time of `lastModifed`, the callback will be invoked with the first two parameters empty.\n","readmeFilename":"README.md","_id":"armory@0.6.0","dist":{"shasum":"6db8739aa39a64bbf5417df6e36f8570f9f750a0","tarball":"https://registry.npmjs.org/armory/-/armory-0.6.0.tgz","integrity":"sha512-m/j7UJBuj+K9YYVeDMa31M/W7P2Zjs/faypVVjdUDrzwpE0f1ogLKPvAhMRbizdCmVkAobhWITMuteUWillxGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdc+aW9jx6FXMjKpmdXqgTPsfavcmRCLcdNPmjMqHSWgIgWGt5amy2zslUZCKlRTdbhuLriwsfjeq/8W5nLsg6KKw="}]},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"xtian","email":"hi@xtian.us"},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]},"0.6.1":{"name":"armory","version":"0.6.1","description":"A wrapper for the WoW Armory API.","keywords":["wow","warcraft","armory","api","blizzard","mmo","gaming"],"bugs":{"url":"https://github.com/xtian/node-armory/issues"},"author":{"name":"Christian Wesselhoeft","email":"hi@xtian.us"},"main":"index.js","repository":{"type":"git","url":"https://github.com/xtian/node-armory.git"},"dependencies":{"request":"~2"},"devDependencies":{"jshint":"~1","tap":"~0.4"},"scripts":{"test":"make test"},"license":"MIT","engines":["node >= 0.4.0"],"readme":"# node-armory\n\nA simple [node.js](http://github.com/joyent/node) wrapper around Blizzard's [REST API for World of Warcraft](http://blizzard.github.com/api-wow-docs/).\n\n## Installation\n\n    npm install armory\n\n## Documentation\n\n[WoW API Documenation](http://blizzard.github.com/api-wow-docs)\n\nAll methods take an options object and callback as arguments.\n\nIf a string or number is passed instead of an options object, that value will be used as `options.id`. The rest of a method's required options can be provided using the `defaults` method.\n\nIf no callback is provided, a Stream will be returned.\n\nExcept for the static APIs, all options objects can have the following properties:\n\n* `name`|`id`\n* `region`\n* `locale` _(optional)_\n\nNote: `name` and `id` are interchangeable, and `locale` does not affect all API methods.\n\n***\n### arena(options, callback)\nRetrieves an object containing data about an arena team.\n\nAdditional options:\n\n* `realm`\n* `size`\n\n### arenaLadder(options, callback)\nRetrieves an array of arena ladder information.\n\n    armory.arenaLadder({\n      region: 'us'\n    , battlegroup: 'vindication'\n    , id: '2v2'\n    }, function(err, teams) {\n        ...\n    })\n\nAdditional options:\n\n* `asc`\n* `battlegroup`\n* `page`\n* `size`\n\n### rbgLadder(options, callback)\nRetrieves an array of rated battleground ladder information.\n\nAdditional options:\n\n* `asc`\n* `page`\n* `size`\n\n***\n### battlePetStats(options, callback)\nRetrieves object describing a battle pet.\n\nAdditional options:\n\n* `breedId`\n* `level`\n* `qualityId`\n\n***\n### challenge(options, callback)\nRetrieves an array of challenge mode leaderboard information for a realm.\n\n### challengeRegion(options, callback)\nRetrieves an array of challenge mode leaderboard information for a region.\n\nNote: `challengeRegion` does not take an `id` option.\n\n    armory.challengeRegion({ region: 'us' }, function(err, res) { ... })\n\n***\n### character(options, callback)\nRetrieves an object containing data about a character.\n### guild(options, callback)\nRetrieves an object containing data about a guild.\n\nAdditional options:\n\n* `fields` _(optional)_: must be an array\n* `lastModified` _(optional)_: Date or timestamp to use for If-Modified-Since header\n* `realm`\n\n***\n### defaults(options)\nReturns a new instance of the module where all options will default to the provided values. If the first argument of a method is a number or string, it will be used as the `id`|`name` option.\n\n    var armory = require('armory').defaults({\n      name: 'Dargonaut'\n    , realm: 'Shadowmoon'\n    , region: 'us'\n    })\n\n    armory.character(function(err, character) { ... })\n    armory.character('Dewbaca', function(err, character) { ... })\n\n    armory.character({\n      name: 'Talent'\n    , realm: 'Lightbringer'\n\n    }, function(err, character) { ... });\n\n***\n### achievement(options, callback)\nRetrieves an object containing data about an achievement.\n### auction(options, callback)\nRetrieves an array of auction data URLs.\n### battlePetSpecies(options, callback)\nRetrieves an object containing data about a battle pet species.\n### battlePetAbility(options, callback)\nRetrieves an object containing data about a battle pet ability.\n### item(options, callback)\nRetrieves an object containing data about an item.\n### itemSet(options, callback)\nRetrieves an object containing data about an item set.\n### quest(options, callback)\nRetrieves an object containing data about a quest.\n### recipe(options, callback)\nRetrieves an object containing data about a recipe.\n### spell(options, callback)\nRetrieves an object containing data about a spell.\n\n***\n### realmStatus(options, callback)\nRetrieves an array containing the status of one or more realms.\n\n    armory.realmStatus({ region: 'us' }, function(err, realms) { ... );\n\nA single realm name or an array of realm names can be passed. If no names are provided, the status of all realms will be returned.\n\n***\n### battlegroups(options, callback)\nRetrieves a static array of all battlegroup names.\n### characterAchievements(options, callback)\nRetrieves a static array of all character achievements.\n### classes(options, callback)\nRetrieves a static array of data about character classes.\n### guildAchievements(options, callback)\nRetrieves a static array of all guild achievements.\n### perks(options, callback)\nRetrieves a static array of data about guild perks.\n### races(options, callback)\nRetrieves a static array of data about character races.\n### rewards(options, callback)\nRetrieves a static array of data about guild rewards.\n\nNote: `id` and `name` are not used by these methods.\n\n***\n### Properties\n#### auth.publicKey, auth.privateKey\nKeys to use for generating an authorization header.\n\n    var armory = require('armory')\n\n    armory.auth.publicKey = 'foo'\n    armory.auth.privateKey = 'bar'\n\n    armory.realmStatus(function() { ... })\n\n### Notes on usage:\n\n* If an error occurs (including API errors), it will be passed as an Error object to the first parameter of the callback with its message in the `message` property. Otherwise, the parsed response body will passed as the second parameter and the full response will be passed as the third parameter.\n* `lastModified` must be a `Date` instance or a string recognized by `Date.parse()`. If the requested resource has not been modified since the time of `lastModifed`, the callback will be invoked with the first two parameters empty.\n","readmeFilename":"README.md","_id":"armory@0.6.1","dist":{"shasum":"14fb67a8a603834da1209bbde579e8e52bdf5c2e","tarball":"https://registry.npmjs.org/armory/-/armory-0.6.1.tgz","integrity":"sha512-r05aoa8DRaos/wifLhga5aAP5BPcsqqj6acmz8QLU7WqgS80E8zj9/b5mOhQ9IiGNryilB2nFtBsfTMIIqz1pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfM+cbmmUxEBEm8ZxZS3fnIJg0JjD8QHjw5Tr+NjLJ+wIhALLGbfFav9ElndavoKM2yJrK/ezmjrNfKxLETEgIiTTT"}]},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"xtian","email":"hi@xtian.us"},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}]}},"maintainers":[{"name":"xtian","email":"christian@cwesselhoeft.com"}],"time":{"modified":"2022-06-13T03:27:27.918Z","created":"2011-04-17T05:44:13.908Z","0.1.0":"2011-04-17T05:44:14.215Z","0.1.1":"2011-04-18T15:28:46.838Z","0.1.2":"2011-05-29T22:50:44.267Z","0.1.3":"2011-05-30T12:57:19.567Z","0.2.0":"2011-06-22T14:00:25.336Z","0.2.1":"2011-07-28T17:03:48.748Z","0.3.0":"2011-08-08T01:52:04.717Z","0.3.1":"2011-08-10T23:15:21.908Z","0.4.0":"2011-10-23T23:22:35.112Z","0.4.1":"2011-12-16T15:49:39.063Z","0.4.2":"2012-01-15T01:41:54.009Z","0.5.0":"2012-03-19T14:56:10.622Z","0.6.0":"2013-03-11T05:49:31.949Z","0.6.1":"2013-03-11T15:53:18.345Z"},"author":{"name":"Christian Wesselhoeft","email":"hi@xtian.us"},"repository":{"type":"git","url":"https://github.com/xtian/node-armory.git"}}