100% documentation

This commit is contained in:
Kevin Jahns
2014-08-09 00:31:30 +02:00
parent baf4660733
commit b340bbe806
73 changed files with 1030 additions and 438 deletions

View File

@@ -11,6 +11,11 @@ Engine = require "../Engine.coffee"
# * Array
#
class JsonYatta
#
# @param {String} user_id Unique id of the peer.
# @param {Connector} Connector the connector class.
#
constructor: (user_id, Connector)->
@HB = new HistoryBuffer user_id
json_types = json_types_uninitialized @HB
@@ -21,7 +26,6 @@ class JsonYatta
@HB.addOperation(first_word).execute()
@root_element = first_word
#
# @result JsonType
#

View File

@@ -7,46 +7,76 @@ Engine = require "../Engine.coffee"
# Framework for Text Datastructures.
#
class TextYatta
#
# @param {String} user_id Uniqe user id that defines this peer.
# @param {Connector} Connector The connector defines how you connect to the other peers.
#
constructor: (user_id, Connector)->
@HB = new HistoryBuffer user_id
text_types = text_types_uninitialized @HB
@engine = new Engine @HB, text_types.parser
@connector = new Connector @engine, @HB, text_types.execution_listener
root_elem = @connector.getRootElement()
if not root_elem?
first_word = new text_types.types.Word @HB.getNextOperationIdentifier()
@HB.addOperation(first_word)
first_word.execute()
@root_element = @HB.addOperation(new text_types.types.ReplaceManager first_word, @HB.getNextOperationIdentifier()).execute()
else
@root_element = @HB.getOperation(root_elem)
first_word = new text_types.types.Word undefined
@HB.addOperation(first_word).execute()
@root_element = first_word
#
# @result Word
#
getRootElement: ()->
@root_element
#
# @see Engine
#
getEngine: ()->
@engine
#
# Get the initialized connector.
#
getConnector: ()->
@connector
#
# @see HistoryBuffer
#
getHistoryBuffer: ()->
@HB
#
# Get the UserId from the HistoryBuffer object.
# In most cases this will be the same as the user_id value with which
# JsonYatta was initialized (Depending on the HistoryBuffer implementation).
#
getUserId: ()->
@HB.getUserId()
#
# @see JsonType.val
#
val: ()->
@root_element.val().val()
@root_element.val()
#
# @see Word.insertText
#
insertText: (pos, content)->
@root_element.val().insertText pos, content
@root_element.insertText pos, content
#
# @see Word.deleteText
#
deleteText: (pos, length)->
@root_element.val().deleteText pos, length
@root_element.deleteText pos, length
#
# @see Word.replaceText
#
replaceText: (text)->
@root_element.val().replaceText text
@root_element.replaceText text
module.exports = TextYatta