Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

emitter-master

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

emitter-master

Support for offline event emitters, event, listener

  • 1.0.4
  • unpublished
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

emitter-master

Support for offline publishing and subscribing events

Usage

import { Emitter } from "emitter-master"

Emitter.sender("A<->B", 123) // You can send before you receive, which is a characteristic of the library

const ret = await Emitter.receiver("A<->B" ) // This is returned immediately in any case, or null in the case of no value
// or
Emitter.receiver("A<->B",function(val){
    console.log(val)
})

// clear
Emitter.clear("A<->B")
function handle({event_name, data}){
    if(event_name === "A->B"){
        ...
    }else if(event_name === "B->C"){
        ...
    }else{
        ...
    }
}
        
Emitter.receiver(["A->B", "B->C"], handle)

Emitter.clear(["A->B", "B->C"], handle)

sender has an alias called trigger

receiver has an alias called listener

once indicates that the system listens only once

Depending on your scenario, the name you use will provide better semantics.

Recommendation specifications in vue and react

The first thing to be clear is that the library is not framework-related, but many front ends now use vue and react to build websites, so here is my recommendation

**Suggestion 1:**Define the event_name.ts file to store the event name. This file only defines the event name and the comment of the event name. Note that each event name must have A comment, otherwise it is meaningless. The form 'A<->B' indicates that A and B send data to each other. Here is an example

// This describes what the event does, so you can see the details in the ide with a quick preview
const CompA_CompB = "CompA->CompB"

export {
	CompA_CompB
}

Suggestion 2: For non-component-to-component communication that still explicitly specifies the source and destination, such as when I send to component CompA in Axios encapsulation, I can name it:Axios->CompA

**Suggestion 3:**Remember to clear events before the component uninstalls

Example

import {Emitter} from "emitter-master"
Emitter.sender( "a-b" , true); // Comment this out ret will be null, and uncomment will be true

( async function ()
 {
    const ret = await Emitter.receiver( "a-b" );
    console.log("ret")
    console.log( ret ); // true
} )();

Keywords

FAQs

Package last updated on 10 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc