1 line
6.2 KiB
Plaintext
Executable File
1 line
6.2 KiB
Plaintext
Executable File
{"version":3,"sources":["Frameworks/JsonFramework.coffee"],"names":[],"mappings":"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","file":"Frameworks/JsonFramework.js","sourceRoot":"/source/","sourcesContent":["\njson_types_uninitialized = require \"../Types/JsonTypes\"\nHistoryBuffer = require \"../HistoryBuffer\"\nEngine = require \"../Engine\"\nadaptConnector = require \"../ConnectorAdapter\"\n\n\n#\n# Framework for Json data-structures.\n# Known values that are supported:\n# * String\n# * Integer\n# * Array\n#\nclass JsonFramework\n\n #\n # @param {String} user_id Unique id of the peer.\n # @param {Connector} Connector the connector class.\n #\n constructor: (user_id, @connector)->\n @HB = new HistoryBuffer user_id\n type_manager = json_types_uninitialized @HB\n @types = type_manager.types\n @engine = new Engine @HB, type_manager.parser\n @HB.engine = @engine # TODO: !! only for debugging\n adaptConnector @connector, @engine, @HB, type_manager.execution_listener\n first_word = new @types.JsonType(@HB.getReservedUniqueIdentifier())\n @HB.addOperation(first_word).execute()\n\n uid_beg = @HB.getReservedUniqueIdentifier()\n uid_end = @HB.getReservedUniqueIdentifier()\n beg = @HB.addOperation(new @types.Delimiter uid_beg, undefined, uid_end).execute()\n end = @HB.addOperation(new @types.Delimiter uid_end, beg, undefined).execute()\n\n @root_element = new @types.ReplaceManager undefined, @HB.getReservedUniqueIdentifier(), beg, end\n @HB.addOperation(@root_element).execute()\n @root_element.replace first_word, @HB.getReservedUniqueIdentifier()\n\n #\n # @return JsonType\n #\n getSharedObject: ()->\n @root_element.val()\n\n #\n # Get the initialized connector.\n #\n getConnector: ()->\n @connector\n\n #\n # @see HistoryBuffer\n #\n getHistoryBuffer: ()->\n @HB\n\n #\n # @see JsonType.setMutableDefault\n #\n setMutableDefault: (mutable)->\n @getSharedObject().setMutableDefault(mutable)\n\n #\n # Get the UserId from the HistoryBuffer object.\n # In most cases this will be the same as the user_id value with which\n # JsonFramework was initialized (Depending on the HistoryBuffer implementation).\n #\n getUserId: ()->\n @HB.getUserId()\n\n #\n # @see JsonType.toJson\n #\n toJson : ()->\n @getSharedObject().toJson()\n\n #\n # @see JsonType.val\n #\n val : ()->\n @getSharedObject().val arguments...\n\n #\n # @see Operation.on\n #\n on: ()->\n @getSharedObject().on arguments...\n\n #\n # @see Operation.deleteListener\n #\n deleteListener: ()->\n @getSharedObject().deleteListener arguments...\n\n #\n # @see JsonType.value\n #\n Object.defineProperty JsonFramework.prototype, 'value',\n get : -> @getSharedObject().value\n set : (o)->\n if o.constructor is {}.constructor\n for o_name,o_obj of o\n @val(o_name, o_obj, 'immutable')\n else\n throw new Error \"You must only set Object values!\"\n\nmodule.exports = JsonFramework\nif window?\n if not window.Y?\n window.Y = {}\n window.Y.JsonFramework = JsonFramework\n"]} |