{
"_args": [
[
{
"raw": "d3-dispatch@1.0.3",
"scope": null,
"escapedName": "d3-dispatch",
"name": "d3-dispatch",
"rawSpec": "1.0.3",
"spec": "1.0.3",
"type": "version"
},
"C:\\Users\\Giuliano\\worldwind\\nasaworldwind\\node\\node_modules\\d3"
]
],
"_from": "d3-dispatch@1.0.3",
"_id": "d3-dispatch@1.0.3",
"_inCache": true,
"_location": "/d3-dispatch",
"_nodeVersion": "7.3.0",
"_npmOperationalInternal": {
"host": "packages-18-east.internal.npmjs.com",
"tmp": "tmp/d3-dispatch-1.0.3.tgz_1489169468457_0.6898476383648813"
},
"_npmUser": {
"name": "mbostock",
"email": "mike@ocks.org"
},
"_npmVersion": "3.10.10",
"_phantomChildren": {},
"_requested": {
"raw": "d3-dispatch@1.0.3",
"scope": null,
"escapedName": "d3-dispatch",
"name": "d3-dispatch",
"rawSpec": "1.0.3",
"spec": "1.0.3",
"type": "version"
},
"_requiredBy": [
"/d3",
"/d3-brush",
"/d3-drag",
"/d3-force",
"/d3-request",
"/d3-transition",
"/d3-zoom"
],
"_resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz",
"_shasum": "46e1491eaa9b58c358fce5be4e8bed626e7871f8",
"_shrinkwrap": null,
"_spec": "d3-dispatch@1.0.3",
"_where": "C:\\Users\\Giuliano\\worldwind\\nasaworldwind\\node\\node_modules\\d3",
"author": {
"name": "Mike Bostock",
"url": "http://bost.ocks.org/mike"
},
"bugs": {
"url": "https://github.com/d3/d3-dispatch/issues"
},
"dependencies": {},
"description": "Register named callbacks and call them with arguments.",
"devDependencies": {
"eslint": "3",
"package-preamble": "0.0",
"rollup": "0.41",
"tape": "4",
"uglify-js": "^2.8.11"
},
"directories": {},
"dist": {
"shasum": "46e1491eaa9b58c358fce5be4e8bed626e7871f8",
"tarball": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz"
},
"gitHead": "12558bc80c7d0b3600107108b51e260713319cda",
"homepage": "https://d3js.org/d3-dispatch/",
"jsnext:main": "index",
"keywords": [
"d3",
"d3-module",
"event",
"listener",
"dispatch"
],
"license": "BSD-3-Clause",
"main": "build/d3-dispatch.js",
"maintainers": [
{
"name": "mbostock",
"email": "mike@ocks.org"
}
],
"module": "index",
"name": "d3-dispatch",
"optionalDependencies": {},
"readme": "# d3-dispatch\n\nDispatching is a convenient mechanism for separating concerns with loosely-coupled code: register named callbacks and then call them with arbitrary arguments. A variety of D3 components, such as [d3-request](https://github.com/d3/d3-request), use this mechanism to emit events to listeners. Think of this like Node’s [EventEmitter](https://nodejs.org/api/events.html), except every listener has a well-defined name so it’s easy to remove or replace them.\n\nFor example, to create a dispatch for *start* and *end* events:\n\n```js\nvar dispatch = d3.dispatch(\"start\", \"end\");\n```\n\nYou can then register callbacks for these events using [*dispatch*.on](#dispatch_on):\n\n```js\ndispatch.on(\"start\", callback1);\ndispatch.on(\"start.foo\", callback2);\ndispatch.on(\"end\", callback3);\n```\n\nThen, you can invoke all the *start* callbacks using [*dispatch*.call](#dispatch_call) or [*dispatch*.apply](#dispatch_apply):\n\n```js\ndispatch.call(\"start\");\n```\n\nLike *function*.call, you may also specify the `this` context and any arguments:\n\n```js\ndispatch.call(\"start\", {about: \"I am a context object\"}, \"I am an argument\");\n```\n\nWant a more involved example? See how to use [d3-dispatch for coordinated views](http://bl.ocks.org/mbostock/5872848).\n\n## Installing\n\nIf you use NPM, `npm install d3-dispatch`. Otherwise, download the [latest release](https://github.com/d3/d3-dispatch/releases/latest). You can also load directly from [d3js.org](https://d3js.org), either as a [standalone library](https://d3js.org/d3-dispatch.v1.min.js) or as part of [D3 4.0](https://github.com/d3/d3). AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported:\n\n```html\n\n\n```\n\n[Try d3-dispatch in your browser.](https://tonicdev.com/npm/d3-dispatch)\n\n## API Reference\n\n# d3.dispatch(types…) [<>](https://github.com/d3/d3-dispatch/blob/master/src/dispatch.js \"Source\")\n\nCreates a new dispatch for the specified event *types*. Each *type* is a string, such as `\"start\"` or `\"end\"`.\n\n# *dispatch*.on(typenames[, callback]) [<>](https://github.com/d3/d3-dispatch/blob/master/src/dispatch.js#L26 \"Source\")\n\nAdds, removes or gets the *callback* for the specified *typenames*. If a *callback* function is specified, it is registered for the specified (fully-qualified) *typenames*. If a callback was already registered for the given *typenames*, the existing callback is removed before the new callback is added.\n\nThe specified *typenames* is a string, such as `start` or `end.foo`. The type may be optionally followed by a period (`.`) and a name; the optional name allows multiple callbacks to be registered to receive events of the same type, such as `start.foo` and `start.bar`. To specify multiple typenames, separate typenames with spaces, such as `start end` or `start.foo start.bar`.\n\nTo remove all callbacks for a given name `foo`, say `dispatch.on(\".foo\", null)`.\n\nIf *callback* is not specified, returns the current callback for the specified *typenames*, if any. If multiple typenames are specified, the first matching callback is returned.\n\n# *dispatch*.copy() [<>](https://github.com/d3/d3-dispatch/blob/master/src/dispatch.js#L49 \"Source\")\n\nReturns a copy of this dispatch object. Changes to this dispatch do not affect the returned copy and vice versa.\n\n# *dispatch*.call(type[, that[, arguments…]]) [<>](https://github.com/d3/d3-dispatch/blob/master/src/dispatch.js#L54 \"Source\")\n\nLike [*function*.call](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call), invokes each registered callback for the specified *type*, passing the callback the specified *arguments*, with *that* as the `this` context. See [*dispatch*.apply](#dispatch_apply) for more information.\n\n# *dispatch*.apply(type[, that[, arguments]]) [<>](https://github.com/d3/d3-dispatch/blob/master/src/dispatch.js#L59 \"Source\")\n\nLike [*function*.apply](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call), invokes each registered callback for the specified *type*, passing the callback the specified *arguments*, with *that* as the `this` context. For example, if you wanted to dispatch your *custom* callbacks after handling a native *click* event, while preserving the current `this` context and arguments, you could say:\n\n```js\nselection.on(\"click\", function() {\n dispatch.apply(\"custom\", this, arguments);\n});\n```\n\nYou can pass whatever arguments you want to callbacks; most commonly, you might create an object that represents an event, or pass the current datum (*d*) and index (*i*). See [function.call](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Call) and [function.apply](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Apply) for further information.\n",
"readmeFilename": "README.md",
"repository": {
"type": "git",
"url": "git+https://github.com/d3/d3-dispatch.git"
},
"scripts": {
"postpublish": "git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3-dispatch/build/d3-dispatch.js d3-dispatch.v1.js && cp ../d3-dispatch/build/d3-dispatch.min.js d3-dispatch.v1.min.js && git add d3-dispatch.v1.js d3-dispatch.v1.min.js && git commit -m \"d3-dispatch ${npm_package_version}\" && git push && cd - && zip -j build/d3-dispatch.zip -- LICENSE README.md build/d3-dispatch.js build/d3-dispatch.min.js",
"prepublish": "npm run test && uglifyjs --preamble \"$(preamble)\" build/d3-dispatch.js -c -m -o build/d3-dispatch.min.js",
"pretest": "rm -rf build && mkdir build && rollup --banner \"$(preamble)\" -f umd -n d3 -o build/d3-dispatch.js -- index.js",
"test": "tape 'test/**/*-test.js' && eslint index.js src"
},
"version": "1.0.3"
}