{
  "_args": [
    [
      {
        "raw": "once@^1.3.0",
        "scope": null,
        "escapedName": "once",
        "name": "once",
        "rawSpec": "^1.3.0",
        "spec": ">=1.3.0 <2.0.0",
        "type": "range"
      },
      "/Users/steveng/repo/cordova/cordova-browser/node_modules/glob"
    ]
  ],
  "_from": "once@>=1.3.0 <2.0.0",
  "_id": "once@1.4.0",
  "_inCache": true,
  "_location": "/once",
  "_nodeVersion": "6.5.0",
  "_npmOperationalInternal": {
    "host": "packages-12-west.internal.npmjs.com",
    "tmp": "tmp/once-1.4.0.tgz_1473196269128_0.537820661207661"
  },
  "_npmUser": {
    "name": "isaacs",
    "email": "i@izs.me"
  },
  "_npmVersion": "3.10.7",
  "_phantomChildren": {},
  "_requested": {
    "raw": "once@^1.3.0",
    "scope": null,
    "escapedName": "once",
    "name": "once",
    "rawSpec": "^1.3.0",
    "spec": ">=1.3.0 <2.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/glob",
    "/inflight"
  ],
  "_resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz",
  "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
  "_shrinkwrap": null,
  "_spec": "once@^1.3.0",
  "_where": "/Users/steveng/repo/cordova/cordova-browser/node_modules/glob",
  "author": {
    "name": "Isaac Z. Schlueter",
    "email": "i@izs.me",
    "url": "http://blog.izs.me/"
  },
  "bugs": {
    "url": "https://github.com/isaacs/once/issues"
  },
  "dependencies": {
    "wrappy": "1"
  },
  "description": "Run a function exactly one time",
  "devDependencies": {
    "tap": "^7.0.1"
  },
  "directories": {
    "test": "test"
  },
  "dist": {
    "shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
    "tarball": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
  },
  "files": [
    "once.js"
  ],
  "gitHead": "0e614d9f5a7e6f0305c625f6b581f6d80b33b8a6",
  "homepage": "https://github.com/isaacs/once#readme",
  "keywords": [
    "once",
    "function",
    "one",
    "single"
  ],
  "license": "ISC",
  "main": "once.js",
  "maintainers": [
    {
      "name": "isaacs",
      "email": "i@izs.me"
    }
  ],
  "name": "once",
  "optionalDependencies": {},
  "readme": "# once\n\nOnly call a function once.\n\n## usage\n\n```javascript\nvar once = require('once')\n\nfunction load (file, cb) {\n  cb = once(cb)\n  loader.load('file')\n  loader.once('load', cb)\n  loader.once('error', cb)\n}\n```\n\nOr add to the Function.prototype in a responsible way:\n\n```javascript\n// only has to be done once\nrequire('once').proto()\n\nfunction load (file, cb) {\n  cb = cb.once()\n  loader.load('file')\n  loader.once('load', cb)\n  loader.once('error', cb)\n}\n```\n\nIronically, the prototype feature makes this module twice as\ncomplicated as necessary.\n\nTo check whether you function has been called, use `fn.called`. Once the\nfunction is called for the first time the return value of the original\nfunction is saved in `fn.value` and subsequent calls will continue to\nreturn this value.\n\n```javascript\nvar once = require('once')\n\nfunction load (cb) {\n  cb = once(cb)\n  var stream = createStream()\n  stream.once('data', cb)\n  stream.once('end', function () {\n    if (!cb.called) cb(new Error('not found'))\n  })\n}\n```\n\n## `once.strict(func)`\n\nThrow an error if the function is called twice.\n\nSome functions are expected to be called only once. Using `once` for them would\npotentially hide logical errors.\n\nIn the example below, the `greet` function has to call the callback only once:\n\n```javascript\nfunction greet (name, cb) {\n  // return is missing from the if statement\n  // when no name is passed, the callback is called twice\n  if (!name) cb('Hello anonymous')\n  cb('Hello ' + name)\n}\n\nfunction log (msg) {\n  console.log(msg)\n}\n\n// this will print 'Hello anonymous' but the logical error will be missed\ngreet(null, once(msg))\n\n// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time\ngreet(null, once.strict(msg))\n```\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git://github.com/isaacs/once.git"
  },
  "scripts": {
    "test": "tap test/*.js"
  },
  "version": "1.4.0"
}
