diff options
Diffstat (limited to 'deps/npm/node_modules/npmconf/lib/set-credentials-by-uri.js')
-rw-r--r-- | deps/npm/node_modules/npmconf/lib/set-credentials-by-uri.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/deps/npm/node_modules/npmconf/lib/set-credentials-by-uri.js b/deps/npm/node_modules/npmconf/lib/set-credentials-by-uri.js new file mode 100644 index 0000000000..2fa0d19e36 --- /dev/null +++ b/deps/npm/node_modules/npmconf/lib/set-credentials-by-uri.js @@ -0,0 +1,34 @@ +var assert = require("assert") + +var toNerfDart = require("./nerf-dart.js") + +module.exports = setCredentialsByURI + +function setCredentialsByURI (uri, c) { + assert(uri && typeof uri === "string", "registry URL is required") + assert(c && typeof c === "object", "credentials are required") + + var nerfed = toNerfDart(uri) + + if (c.token) { + this.set(nerfed + ":_authToken", c.token, "user") + this.del(nerfed + ":_password", "user") + this.del(nerfed + ":username", "user") + this.del(nerfed + ":email", "user") + } + else if (c.username || c.password || c.email) { + assert(c.username, "must include username") + assert(c.password, "must include password") + assert(c.email, "must include email address") + + this.del(nerfed + ":_authToken", "user") + + var encoded = new Buffer(c.password, "utf8").toString("base64") + this.set(nerfed + ":_password", encoded, "user") + this.set(nerfed + ":username", c.username, "user") + this.set(nerfed + ":email", c.email, "user") + } + else { + throw new Error("No credentials to set.") + } +} |