{ "_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" }