{"id":16760313,"url":"https://github.com/ryanve/energy","last_synced_at":"2025-04-10T17:37:09.715Z","repository":{"id":472671,"uuid":"14383929","full_name":"ryanve/energy","owner":"ryanve","description":"Universal JavaScript event emitter","archived":false,"fork":false,"pushed_at":"2023-04-15T15:34:42.000Z","size":72,"stargazers_count":8,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T18:56:25.866Z","etag":null,"topics":["cross-platform","event-emitter","event-listener","eventemitter","javascript"],"latest_commit_sha":null,"homepage":"https://npm.im/energy/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-11-14T03:22:43.000Z","updated_at":"2024-02-04T16:51:15.000Z","dependencies_parsed_at":"2023-07-05T14:56:27.815Z","dependency_job_id":null,"html_url":"https://github.com/ryanve/energy","commit_stats":{"total_commits":57,"total_committers":1,"mean_commits":57.0,"dds":0.0,"last_synced_commit":"59318d78f92494fa217a10bd229866e98bcd1655"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanve%2Fenergy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanve%2Fenergy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanve%2Fenergy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanve%2Fenergy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanve","download_url":"https://codeload.github.com/ryanve/energy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262039,"owners_count":21074236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","event-emitter","event-listener","eventemitter","javascript"],"created_at":"2024-10-13T04:23:06.440Z","updated_at":"2025-04-10T17:37:09.698Z","avatar_url":"https://github.com/ryanve.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# energy\n#### simple [cross-platform](#platforms) event emitter based on [`EventEmitter`](http://nodejs.org/api/events.html)\n\n## API\n\n#### Create an emitter instance\n\n```js\nconst energy = require(\"energy\")\nconst emitter = energy()\n```\n\nOr use `new` if you prefer. Either way works :)\n\n```js\nconst energy = require(\"energy\")\nconst emitter = new energy\n```\n\n#### Methods\n- [emitter.\u003cb\u003eon\u003c/b\u003e(event, listener)](#emitter-on)\n- [emitter.\u003cb\u003eoff\u003c/b\u003e(event?, listener?, quota?)](#emitter-off)\n- [emitter.\u003cb\u003eemit\u003c/b\u003e(event, ...args)](#emitter-emit)\n- [emitter.\u003cb\u003eonce\u003c/b\u003e(event, listener)](#emitter-once)\n- [emitter.\u003cb\u003eclone\u003c/b\u003e()](#emitter-clone)\n- [emitter.\u003cb\u003elisteners\u003c/b\u003e(event)](#emitter-listeners)\n- [emitter.\u003cb\u003einit\u003c/b\u003e()](#emitter-init)\n- [emitter.\u003cb\u003eto\u003c/b\u003e(target)](#emitter-to)\n- [\u003cb\u003eenergy\u003c/b\u003e.to(target)](#energy-to)\n\n#### Parameters\n\n- \u003cvar\u003eemitter\u003c/var\u003e refers to an `energy()` object\n- \u003cvar\u003eevent\u003c/var\u003e refers to an event name\n- \u003cvar\u003elistener\u003c/var\u003e refers to a function that listens to an event\n\n\u003ca name=\"emitter-on\"\u003e\u003c/a\u003e\n#### `emitter.on(event, listener)`\n- Add \u003cvar\u003elistener\u003c/var\u003e for \u003cvar\u003eevent\u003c/var\u003e\n- \u003cb\u003e@return\u003c/b\u003e emitter\n\n\u003ca name=\"emitter-off\"\u003e\u003c/a\u003e\n#### `emitter.off(event?, listener?, quota?)`\n- Remove listener(s)\n  - `.off()` removes all listeners for all events\n  - `.off(event)` removes all \u003cvar\u003eevent\u003c/var\u003e listeners\n  - `.off(event, listener)` removes all occurrences of \u003cvar\u003eevent\u003c/var\u003e \u003cvar\u003elistener\u003c/var\u003e\n  - `.off(event, listener, quota)` remove \u003cvar\u003equota\u003c/var\u003e occurrences of \u003cvar\u003eevent\u003c/var\u003e \u003cvar\u003elistener\u003c/var\u003e\n- \u003cb\u003e@return\u003c/b\u003e emitter\n\n\u003ca name=\"emitter-emit\"\u003e\u003c/a\u003e\n#### `emitter.emit(event, ...args)`\n- Fire \u003cvar\u003eevent\u003c/var\u003e listeners (in sequence) with the supplied arguments\n- Listeners run in the context of \u003cvar\u003eemitter\u003c/var\u003e\n- \u003cb\u003e@return\u003c/b\u003e number of invoked listeners\n\n\u003ca name=\"emitter-once\"\u003e\u003c/a\u003e\n#### `emitter.once(event, listener)`\n- Add a one-time \u003cvar\u003eevent\u003c/var\u003e \u003cvar\u003elistener\u003c/var\u003e\n- \u003cb\u003e@return\u003c/b\u003e \u003cvar\u003eemitter\u003c/var\u003e\n\n\u003ca name=\"emitter-clone\"\u003e\u003c/a\u003e\n#### `emitter.clone()`\n- Clone an emitter at its current state\n- \u003cb\u003e@return\u003c/b\u003e a new emitter\n\n\u003ca name=\"emitter-listeners\"\u003e\u003c/a\u003e\n#### `emitter.listeners(event)`\n- Access the listeners array for the specified \u003cvar\u003eevent\u003c/var\u003e\n- \u003cb\u003e@return\u003c/b\u003e array (reference)\n\n\u003ca name=\"emitter-init\"\u003e\u003c/a\u003e\n#### `emitter.init()`\n- Reinitialize an emitter\n- \u003cb\u003e@return\u003c/b\u003e \u003cvar\u003eemitter\u003c/var\u003e\n\n\u003ca name=\"emitter-to\"\u003e\u003c/a\u003e\n#### `emitter.to(target)`\n- Make \u003cvar\u003etarget\u003c/var\u003e [emitter-like](../../issues/3) based on `emitter` as the source.\n- \u003cb\u003e@return\u003c/b\u003e \u003cvar\u003eemitter\u003c/var\u003e\n\n\u003ca name=\"energy-to\"\u003e\u003c/a\u003e\n#### `energy.to(target)`\n- Make \u003cvar\u003etarget\u003c/var\u003e emitter-like based on a `energy()` object as the source\n- \u003cb\u003e@return\u003c/b\u003e \u003cvar\u003etarget\u003c/var\u003e with emitter methods and properties\n\n\u003ca name=\"platforms\"\u003e\u003c/a\u003e\n## Compatibility\n\nWorks in [node](http://nodejs.org) **and** in any browser. Tested in node, Chrome, FF, Opera, IE8\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanve%2Fenergy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanve%2Fenergy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanve%2Fenergy/lists"}