UNPKG

concern

Version:

A library for seperating your application logic into concerns.

51 lines (39 loc) 948 B
/** * Mailbox interface representing a queue where messages * are stored for Concerns before they are processed. * @interface */ class Mailbox { /** * enqueue puts a message into the queue and alerts the * listener of the change. Messages may be stringified for * remote storage. * @param {Concern} to * @param {Reference} from * @param {*} message */ enqueue(to, from, message) { } /** * dequeue furnishes the next message to be processed. * @returns {Envelope} */ dequeue() { } } /** * MailboxListener is the interface of classes interested in reacting to * enqueue events on the Mailbox. * @interface */ class EnqueueListener { /** * onEnqueue is called when a new item has been enqueued by * the Mailbox. * @param {Mailbox} mailbox */ onEnqueue() { } } Mailbox.EnqueueListener = EnqueueListener; export default Mailbox