{
  "_args": [
    [
      "ap@~0.2.0",
      "/tmp/tmp.nWYzzELviP/src/node_modules/pg-types"
    ]
  ],
  "_from": "ap@>=0.2.0 <0.3.0",
  "_id": "ap@0.2.0",
  "_inCache": true,
  "_installable": true,
  "_location": "/ap",
  "_npmUser": {
    "email": "mail@substack.net",
    "name": "substack"
  },
  "_npmVersion": "1.1.59",
  "_phantomChildren": {},
  "_requested": {
    "name": "ap",
    "raw": "ap@~0.2.0",
    "rawSpec": "~0.2.0",
    "scope": null,
    "spec": ">=0.2.0 <0.3.0",
    "type": "range"
  },
  "_requiredBy": [
    "/pg-types"
  ],
  "_resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz",
  "_shasum": "ae0942600b29912f0d2b14ec60c45e8f330b6110",
  "_shrinkwrap": null,
  "_spec": "ap@~0.2.0",
  "_where": "/tmp/tmp.nWYzzELviP/src/node_modules/pg-types",
  "author": {
    "email": "mail@substack.net",
    "name": "James Halliday",
    "url": "http://substack.net"
  },
  "bugs": {
    "url": "https://github.com/substack/node-ap/issues"
  },
  "dependencies": {},
  "description": "Currying in javascript. Like .bind() without also setting `this`.",
  "devDependencies": {
    "tap": "0.2.5"
  },
  "directories": {
    "example": "./examples"
  },
  "dist": {
    "shasum": "ae0942600b29912f0d2b14ec60c45e8f330b6110",
    "tarball": "http://registry.npmjs.org/ap/-/ap-0.2.0.tgz"
  },
  "engine": {
    "node": ">=0.4.0"
  },
  "homepage": "https://github.com/substack/node-ap#readme",
  "keywords": [
    "curry",
    "apply",
    "ap",
    "bind",
    "function",
    "functional"
  ],
  "license": "MIT/X11",
  "main": "./index.js",
  "maintainers": [
    {
      "email": "mail@substack.net",
      "name": "substack"
    }
  ],
  "name": "ap",
  "optionalDependencies": {},
  "readme": "ap\n==\n\n`Function.prototype.bind` sets `this` which is super annoying if you just want\nto do currying over arguments while passing `this` through.\n\nInstead you can do:\n\n``` js\nvar ap = require('ap');\nvar z = ap([3], function (x, y) {\n    return this.z * (x * 2 + y);\n}).call({ z : 10 }, 4);\nconsole.log(z);\n```\n\n***\n\n```\n100\n```\n\nmethods\n=======\n\n``` js\nvar ap = require('ap')\n```\n\n## ap(args, fn)\n\nFill in the arguments `args` at the beginning of `fn`'s arguments list.\n\n## ap.pa(args, fn)\n\nFill in the arguments `args` at the end of `fn`'s arguments list.\n\n## ap.apa(left, right, fn)\n\nFill in `left` arguments starting from the beginning of `fn`'s argument list and\n`right` arguments starting from the end.\n\n## ap.partial(fn, args...)\n\nFill in `fn`'s arguments with `args...` from the beginning of `fn`'s arguments\nlist.\n\n## ap.partialRight(fn, args...)\n\nFill in `fn`'s arguments with `args...` starting from the end of `fn`'s\narguments list.\n\n## ap.curry(fn, args...)\n\nCurry `fn`, returning a new function with `args...` partially applied from the\nbeginning of `fn`'s arguments list.\n\n## ap.curryRight(fn, args...)\n\nCurry `fn` returning a new function with `args...` partially applied from the\nend of `fn`'s arguments list.\n",
  "repository": {
    "type": "git",
    "url": "git+ssh://git@github.com/substack/node-ap.git"
  },
  "scripts": {
    "test": "tap ./test"
  },
  "version": "0.2.0"
}
