Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1x 1x 1x 1x 2x 1x 2x 2x 2x 1x 1x 1x 1x 1x |
/**
* @param {Raid::Signal} signal - the Raid::Signal to attach to
* @returns {Func} void - a function to dispose the current update function
*/
export const lock = signal => {
let dispose = null
let cached = []
return fn => {
if (dispose) {
dispose()
}
cached.push(fn)
dispose = signal.register(fn)
return () => {
// Dispose from signal, dump from cached update array
dispose()
cached.pop()
// If there was a previous one, reinstate it
let last = cached.pop()
Eif (last) {
dispose = signal.register(last)
}
}
}
}
|