"readme":"# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"npm://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath –but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n Looks like `/-/package/<package name>/access`.\n* `params` {Object} Object containing per-request properties.\n * `access` {String} New access level for the package. Can be either\n `public` or `restricted`. Registry will raise an error if trying\n to change the access level of an unscoped package.\n * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n###client.adduser(uri,params,cb)\n\n*`uri`{String}BaseregistryURL.\n*`params`{Object}Objectcontainingper-requestproperties.\n*`auth`{Credentials}\n*`cb`{Function}\n*`error`{Error|null}\n*`data`{Object}theparseddataobject\n*`raw`{String}thejson\n*`res`{ResponseObject}responsefromcouch\n\nAddauseraccounttotheregistry,orverifythecredentials.\n\n###client.deprecate(uri,params,cb)\n\n*`uri`{String}FullregistryURIforthedeprecatedpackage.\n*`params`{Object}Objectcontainingper-requestproperties.\n*`version`{String}Semverversionrange.\n*`message`{String}Themessagetouseasadeprecationwarning.\n*`auth`{Credentials}\n*`cb`{Function}\n\nDeprecateaversionofapackageintheregistry.\n\n###client.distTags.fetch(uri,params,cb)\n\n*`uri`{String}BaseURLfortheregistry.\n*`params`{Object}Objectcontainingper-requestproperties.\n*`package`{String}Nameofthepackage.\n*`auth`{Credentials}\n*`cb`{Function}\n\nFetchallofthe`dist-tags`forthenamedpackage.\n\n###client.distTags.add(uri,params,cb)\n\n*`uri`{String}BaseURLfortheregistry.\n*`params`{Object}Objectcontainingper-requestproperties.\n*`package`{String}Nameofthepackage.\n*`distTag`{String}Nameofthenew`dist-tag`.\n*`version`{String}Exactversiontobemappedtothe`dist-tag`.\n*`auth`{Credentials}\n*`cb`{Function}\n\nAdd(orreplace)asingledist-tagontothenamedpackage.\n\n###client.distTags.set(uri,params,cb)\n\n*`uri`{String}BaseURLfortheregistry.\n*`params`{Object}Objectcontainingper-requestproperties.\n*`package`{String}Nameofthepackage.\n*`distTags`{Object}Objectcontainingamapfromtagnamestopackage\nversions.\n*`auth`{Credentials}\n*`cb`{Function}\n\nSetallofthe`dist-tags`forthenamedpackageatonce,creatingany\n`dist-tags`thatdonotalreadyexit.Any`dist-tags`not