4chan-x/src/General/lib/callbacks.class

20 lines
455 B
Plaintext

class Callbacks
constructor: (@type) ->
@keys = []
push: ({name, cb}) ->
@keys.push name unless @[name]
@[name] = cb
execute: (node) ->
for name in @keys
try
@[name].call node
catch err
errors = [] unless errors
errors.push
message: ['"', name, '" crashed on node ', @type, ' No.', node.ID, ' (', node.board, ').'].join('')
error: err
Main.handleErrors errors if errors