Neoanthropic Preternatural Murmurings

    jetemit

    7.0.3 • Public • Published

    NPM

    Version Minzipped size Downloads License

    An event manager very simple

    Compatibility

    All browser Backend (Nodejs) Mobile (React Native)

    Compatibility with all javascript project

    Install

    npm install jetemit
    

    Import

    const { on, emit } = require("jetemit");
    //or
    import { on, emit } from "jetemit";

    Use

    Call

    import { emit } from "jetemit";
    
    /**
     * emit(name, value);
     * name is string
     * value any
     */
    emit("TIME", "2018-12-01 12:30");

    Listener

    import { on } from "jetemit";
    
    /**
     * on(name,function)
     * name is string
     */
    on("TIME", time => {
      console.log(time);
    });
    import { once } from "jetemit";
    
    /**
     * Like on but run one time
     */
    once("TIME", time => {
      console.log(time);
    });

    Unsubscribe listener

    import { on } from "jetemit";
    
    /**
     * on return unsubscribe function
     */
    const unsubscribe = on("TIME", time => {
      console.log(time);
    });
    
    unsubscribe();

    Using unsubscribeOf function

    import { unsubscribeOf } from "jetemit";
    
    /**
     * Unsubscribe all subscribed functions for TIME
     */
    unsubscribeOf("TIME");

    or

    /**
     * Unsubscribe a Function which subscribed for TIME
     */
    unsubscribeOf("TIME", timeFunction);

    Refund from all listener

    Please see this sample:

    // file a.js
    import { on } from "jetemit";
    
    on("CACHE_STSTEM_HEALTH", () => {
      return { state: "OK", id: "CACHE_SYSTEM_1" };
    });
    // file b.jd
    import { on } from "jetemit";
    
    on("CACHE_STSTEM_HEALTH", () => {
      return { state: "OK", id: "CACHE_SYSTEM_2" };
    });
    // file c.js
    import { on, emit } from "jetemit";
    
    const status = emit("CACHE_STSTEM_HEALTH");
    console.log(status);
    /*
    [
      { state: "OK", id: "CACHE_SYSTEM_1" },
      { state: "OK", id: "CACHE_SYSTEM_2" }
    ]
    */

    Donate

    BTC: 1NV1sjQnXwuyHgxQ8G5eWprhxsD5A8yN6r

    Install

    npm i jetemit

    DownloadsWeekly Downloads

    211

    Version

    7.0.3

    License

    ISC

    Unpacked Size

    7.13 kB

    Total Files

    5

    Last publish

    Collaborators

    • itten