summaryrefslogtreecommitdiff
path: root/deps/npm/lib/utils/npm-registry-client/star.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/utils/npm-registry-client/star.js')
-rw-r--r--deps/npm/lib/utils/npm-registry-client/star.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/npm/lib/utils/npm-registry-client/star.js b/deps/npm/lib/utils/npm-registry-client/star.js
new file mode 100644
index 0000000000..474a1786d4
--- /dev/null
+++ b/deps/npm/lib/utils/npm-registry-client/star.js
@@ -0,0 +1,32 @@
+
+module.exports = star
+
+var request = require("./request.js")
+ , GET = request.GET
+ , PUT = request.PUT
+ , log = require("../log.js")
+ , npm = require("../../npm.js")
+
+function star (package, starred, cb) {
+ var users = {}
+
+ GET(package, function (er, fullData) {
+ if (er) return cb(er)
+
+ fullData = { _id: fullData._id
+ , _rev: fullData._rev
+ , users: fullData.users || {} }
+
+ if (starred) {
+ log.info("starring", fullData._id)
+ fullData.users[npm.config.get("username")] = true
+ log.verbose(fullData)
+ } else {
+ delete fullData.users[npm.config.get("username")]
+ log.info("unstarring", fullData._id)
+ log.verbose(fullData)
+ }
+
+ return PUT(package, fullData, cb)
+ })
+}