yjs/build/node/Engine.js.map

1 line
5.0 KiB
Plaintext

{"version":3,"sources":["Engine.coffee"],"names":[],"mappings":"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","file":"Engine.js","sourceRoot":"/source/","sourcesContent":["\nwindow?.unprocessed_counter = 0 # del this\nwindow?.unprocessed_exec_counter = 0 # TODO\nwindow?.unprocessed_types = []\n\n#\n# @nodoc\n# The Engine handles how and in which order to execute operations and add operations to the HistoryBuffer.\n#\nclass Engine\n\n #\n # @param {HistoryBuffer} HB\n # @param {Array} parser Defines how to parse encoded messages.\n #\n constructor: (@HB, @parser)->\n @unprocessed_ops = []\n\n #\n # Parses an operatio from the json format. It uses the specified parser in your OperationType module.\n #\n parseOperation: (json)->\n typeParser = @parser[json.type]\n if typeParser?\n typeParser json\n else\n throw new Error \"You forgot to specify a parser for type #{json.type}. The message is #{JSON.stringify json}.\"\n\n\n #\n # Apply a set of operations. E.g. the operations you received from another users HB._encode().\n # @note You must not use this method when you already have ops in your HB!\n #\n applyOpsBundle: (ops_json)->\n ops = []\n for o in ops_json\n ops.push @parseOperation o\n for o in ops\n if not o.execute()\n @unprocessed_ops.push o\n @tryUnprocessed()\n\n #\n # Same as applyOps but operations that are already in the HB are not applied.\n # @see Engine.applyOps\n #\n applyOpsCheckDouble: (ops_json)->\n for o in ops_json\n if not @HB.getOperation(o.uid)?\n @applyOp o\n\n #\n # Apply a set of operations. (Helper for using applyOp on Arrays)\n # @see Engine.applyOp\n applyOps: (ops_json)->\n for o in ops_json\n @applyOp o\n\n #\n # Apply an operation that you received from another peer.\n #\n applyOp: (op_json)->\n # $parse_and_execute will return false if $o_json was parsed and executed, otherwise the parsed operadion\n o = @parseOperation op_json\n @HB.addToCounter o\n # @HB.addOperation o\n if @HB.getOperation(o)?\n else if not o.execute()\n @unprocessed_ops.push o\n window?.unprocessed_counter++ # TODO: del this\n window?.unprocessed_types.push o.type\n @tryUnprocessed()\n\n #\n # Call this method when you applied a new operation.\n # It checks if operations that were previously not executable are now executable.\n #\n tryUnprocessed: ()->\n while true\n window?.unprocessed_exec_counter++ # TODO: del this\n old_length = @unprocessed_ops.length\n unprocessed = []\n for op in @unprocessed_ops\n if @HB.getOperation(op)?\n else if not op.execute()\n unprocessed.push op\n @unprocessed_ops = unprocessed\n if @unprocessed_ops.length is old_length\n break\n\n\n\n\nmodule.exports = Engine\n\n\n\n\n\n\n\n\n\n\n\n\n"]}