Code Monkey home page Code Monkey logo

pea-event's Introduction

pea-event · travis-ci Status soverage Status npm version MIT

An event model, extended in your js app

What is this?

pea-event is a class of js that helps you manage event/listener model

class App extends PeAEvent{};

var app =new App();
app.on('click',function(date){
  console.log('app be clicked',date);
});

app.execEventAll('click',[new Date]);

Is nothing to be surprised at?

How about this:

class App extends PeAEvent{};

var app =new App();
setTimeout(function(){
  app.execEventAll('load');
},1000);

(async function(){
  await app.wait('load');
  console.log('app loaded');
}());

It's very semantic right?

pea-event can do more than this, maybe you should look at the APIs

APIs

PeAEvent

Kind: global class

new PeAEvent([asTools])

recommend extend this class, direct construct will throw an error

Param Type Default Description
[asTools] boolean false if you really want just construct it, call with true

PeAEvent.on(eventType, listener, [options])

listen a event, add a listener for event

Kind: instance method of PeAEvent

Param Type Description
eventType string "*" means all
listener function
[options] Object
options.once boolean If true, the listener would be automatically removed when invoked.

PeAEvent.one(eventType, listener, [options])

listen a event but once. it's alias for PeAEvent#on(eventType,listener,{once:true})

Kind: instance method of PeAEvent

Param Type Description
eventType string "*" means all
listener function
[options] Object

PeAEvent.off(eventType, listener) ⇒ boolean

remove a event listener.

note: if you use * in listener, waiter will be remove too

Kind: instance method of PeAEvent
Returns: boolean - success or no

Param Type Description
eventType string
listener function | string "*" means all

PeAEvent.wait(eventType, [checker]) ⇒ Promise

wait a event. you can add a checker, return a boolean to specify whether to wait if return a true, promise will be resolve

Kind: instance method of PeAEvent

Param Type Description
eventType string "*" means all
[checker] function a checker function, it will call by event dispatch and received dispatch's argument, return a boolean for resolve or keep waiting

PeAEvent.has(eventType) ⇒ Number

return the number of listeners for a given event type

Kind: instance method of PeAEvent

Param Type
eventType string

PeAEvent.reset()

reset all event listener

Kind: instance method of PeAEvent

PeAEvent.execEventAll(type, args) ⇒ Promise

trigger a event, exec this event's listener all. you can overwrite this method to changed you want, but overwrite method should use PeAEvent#execListener(listener ,arguments ,eventType) to exec a listener.

Kind: instance abstract method of PeAEvent

Param Type Description
type string event name to trigger
args Array passed argument

PeAEvent.execListener(listener, args, eventType)

how call a event listener. you can overwrite this method to changed you want.

Kind: instance abstract method of PeAEvent

Param Type Description
listener function event listener
args Array the parameters passed in when the event is trigger
eventType string the event name

License

MIT

pea-event's People

Contributors

pea3nut avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.