1.1.0 • Published 6 years ago

swappable-obj-proxy v1.1.0

Weekly downloads
397
License
ISC
Repository
github
Last release
6 years ago

createSwappableProxy

Creates a Proxy around any object. Retarget the proxy with setTarget.

usage
const { createSwappableProxy } = require('swappable-obj-proxy')

const original = { sayHello: () => 'hi' }
const next = { sayHello: () => 'haay' }
const proxy = createEventEmitterProxy(original)

proxy.sayHello() // "hi"
proxy.setTarget(next)
proxy.sayHello() // "haay"

createEventEmitterProxy

Creates a Proxy around an EventEmitter. If the proxy has setTarget called with a different EventEmitter, all events will be removed from the old target and transferred to the new EventEmitter.

usage
const { createEventEmitterProxy } = require('swappable-obj-proxy')

const original = new EventEmitter()
const next = new EventEmitter()
const proxy = createEventEmitterProxy(original)

proxy.on('event', () => console.log('saw event!'))

// triggers the event handler
original.emit('event')

// moves listeners over to next
proxy.setTarget(next)

// does NOT trigger the event handler
original.emit('event')
// DOES trigger the event handler
next.emit('event')