{"id":16037304,"url":"https://github.com/stevenroose/dart-event-emitter","last_synced_at":"2025-04-05T05:40:57.484Z","repository":{"id":21293045,"uuid":"24609141","full_name":"stevenroose/dart-event-emitter","owner":"stevenroose","description":"An event emitter implementation","archived":false,"fork":false,"pushed_at":"2014-09-30T22:23:59.000Z","size":121,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-10T13:28:44.593Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stevenroose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-29T19:14:01.000Z","updated_at":"2016-11-28T16:16:12.000Z","dependencies_parsed_at":"2022-08-20T16:40:30.729Z","dependency_job_id":null,"html_url":"https://github.com/stevenroose/dart-event-emitter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fdart-event-emitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fdart-event-emitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fdart-event-emitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenroose%2Fdart-event-emitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevenroose","download_url":"https://codeload.github.com/stevenroose/dart-event-emitter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294459,"owners_count":20915337,"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":[],"created_at":"2024-10-08T22:12:12.614Z","updated_at":"2025-04-05T05:40:57.465Z","avatar_url":"https://github.com/stevenroose.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"Event Emitter\n=============\nAn event emitter implementation. Good for loose coupling of components.\n\nExamples\n--------\n```dart\nimport 'package:event_emitter/event_emitter.dart';\n\nmain() {\n\n  var events  = new EventEmitter();\n  var handler = (v) =\u003e print(\"*** called handler\");\n\n  events.emit(\"boom\", \"some data\");\n  print(\"should not have called handler.\");\n\n  events.on(\"boom\", handler);\n  events.emit(\"boom\", \"some data\");\n  print(\"should have called handler.\");\n\n  events.off(\"boom\", handler);\n  events.emit(\"boom\", \"some data\");\n  print(\"should not have called handler.\");\n\n  events.on(\"boom\", handler);\n  events.clearListeners();\n  events.emit(\"boom\", \"some data\");\n  print(\"should not have called handler.\");\n\n}\n```\n\nPublic Interface\n----------------\n```dart\nlibrary event_emitter;\n\nimport 'package:dictionary/dictionary.dart';\n\nclass EventEmitter {\n\n  /**\n   * Typical constructor\n   */\n  EventEmitter();\n\n  /**\n   * This function triggers all the handlers currently listening\n   * to `event` and passes them `data`.\n   *\n   * @param {String} event - The event to trigger\n   * @param {dynamic} data - The data to send to each handler\n   * @return {void}\n   */\n  void emit(String event, dynamic data);\n\n  /**\n   * This function binds the `handler` as a listener to the `event`\n   *\n   * @param {String} event     - The event to add the handler to\n   * @param {Function} handler - The handler to bind to the event\n   * @return {void}\n   */\n  void on(String event, Function handler);\n\n  /**\n   * This function attempts to unbind the `handler` fromt the `event`\n   *\n   * @param {String} event     - The event to remove the handler from\n   * @param {Function} handler - The handler to remove\n   * @return {void}\n   */\n  void off(String event, Function handler);\n\n  /**\n   * This function unbinds all the handlers for all the events\n   *\n   * @return {void}\n   */\n  void clearListeners();\n\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenroose%2Fdart-event-emitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenroose%2Fdart-event-emitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenroose%2Fdart-event-emitter/lists"}