mapslice
Version:
Slices a given image into tiles to be used for a interactive map display. (including command-line tool)
19 lines (16 loc) • 445 B
JavaScript
const { EventEmitter } = require('events')
const map = new WeakMap()
module.exports = function abortDisposers (signal) {
if (!signal) {
return
}
let emitters = map.get(signal)
if (!emitters) {
const emitter = new EventEmitter()
signal.addEventListener('abort', () => emitter.emit('abort'))
emitter.setMaxListeners(0)
emitters = [{ emitter, events: ['abort'] }]
map.set(signal, emitters)
}
return emitters
}