{ "type": "File", "start": 0, "end": 2389, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 79, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 2389, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 79, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ExportDefaultDeclaration", "start": 870, "end": 1986, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 62, "column": 1 } }, "declaration": { "type": "ClassDeclaration", "start": 885, "end": 1986, "loc": { "start": { "line": 25, "column": 15 }, "end": { "line": 62, "column": 1 } }, "id": { "type": "Identifier", "start": 891, "end": 902, "loc": { "start": { "line": 25, "column": 21 }, "end": { "line": 25, "column": 32 }, "identifierName": "Transaction" }, "name": "Transaction", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 903, "end": 1986, "loc": { "start": { "line": 25, "column": 33 }, "end": { "line": 62, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 907, "end": 1984, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 61, "column": 3 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 907, "end": 918, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 13 }, "identifierName": "constructor" }, "name": "constructor" }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 920, "end": 921, "loc": { "start": { "line": 26, "column": 15 }, "end": { "line": 26, "column": 16 }, "identifierName": "y" }, "name": "y" } ], "body": { "type": "BlockStatement", "start": 923, "end": 1984, "loc": { "start": { "line": 26, "column": 18 }, "end": { "line": 61, "column": 3 } }, "body": [ { "type": "ExpressionStatement", "start": 980, "end": 990, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 14 } }, "expression": { "type": "AssignmentExpression", "start": 980, "end": 990, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 14 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 980, "end": 986, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 10 } }, "object": { "type": "ThisExpression", "start": 980, "end": 984, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 985, "end": 986, "loc": { "start": { "line": 30, "column": 9 }, "end": { "line": 30, "column": 10 }, "identifierName": "y" }, "name": "y" }, "computed": false, "leadingComments": null }, "right": { "type": "Identifier", "start": 989, "end": 990, "loc": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 14 }, "identifierName": "y" }, "name": "y", "leadingComments": null, "trailingComments": null }, "leadingComments": null, "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * @type {Y} The Yjs instance.\n ", "start": 929, "end": 975, "loc": { "start": { "line": 27, "column": 4 }, "end": { "line": 29, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * All new types that are added during a transaction.\n * @type {Set}\n ", "start": 995, "end": 1089, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 34, "column": 7 } } } ] }, { "type": "ExpressionStatement", "start": 1094, "end": 1119, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 29 } }, "expression": { "type": "AssignmentExpression", "start": 1094, "end": 1119, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 29 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1094, "end": 1107, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 17 } }, "object": { "type": "ThisExpression", "start": 1094, "end": 1098, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1099, "end": 1107, "loc": { "start": { "line": 35, "column": 9 }, "end": { "line": 35, "column": 17 }, "identifierName": "newTypes" }, "name": "newTypes" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 1110, "end": 1119, "loc": { "start": { "line": 35, "column": 20 }, "end": { "line": 35, "column": 29 } }, "callee": { "type": "Identifier", "start": 1114, "end": 1117, "loc": { "start": { "line": 35, "column": 24 }, "end": { "line": 35, "column": 27 }, "identifierName": "Set" }, "name": "Set" }, "arguments": [], "trailingComments": null }, "leadingComments": null, "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * All new types that are added during a transaction.\n * @type {Set}\n ", "start": 995, "end": 1089, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 34, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * All types that were directly modified (property added or child\n * inserted/deleted). New types are not included in this Set.\n * Maps from type to parentSubs (`item._parentSub = null` for YArray)\n * @type {Set}\n ", "start": 1124, "end": 1378, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 41, "column": 7 } } } ] }, { "type": "ExpressionStatement", "start": 1383, "end": 1412, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 33 } }, "expression": { "type": "AssignmentExpression", "start": 1383, "end": 1412, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 33 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1383, "end": 1400, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 21 } }, "object": { "type": "ThisExpression", "start": 1383, "end": 1387, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1388, "end": 1400, "loc": { "start": { "line": 42, "column": 9 }, "end": { "line": 42, "column": 21 }, "identifierName": "changedTypes" }, "name": "changedTypes" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 1403, "end": 1412, "loc": { "start": { "line": 42, "column": 24 }, "end": { "line": 42, "column": 33 } }, "callee": { "type": "Identifier", "start": 1407, "end": 1410, "loc": { "start": { "line": 42, "column": 28 }, "end": { "line": 42, "column": 31 }, "identifierName": "Map" }, "name": "Map" }, "arguments": [], "trailingComments": null }, "leadingComments": null, "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * All types that were directly modified (property added or child\n * inserted/deleted). New types are not included in this Set.\n * Maps from type to parentSubs (`item._parentSub = null` for YArray)\n * @type {Set}\n ", "start": 1124, "end": 1378, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 41, "column": 7 } } } ], "trailingComments": [ { "type": "CommentLine", "value": " TODO: rename deletedTypes", "start": 1417, "end": 1445, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n * Set of all deleted Types and Structs.\n * @type {Set}\n ", "start": 1450, "end": 1531, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 47, "column": 7 } } } ] }, { "type": "ExpressionStatement", "start": 1536, "end": 1567, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 35 } }, "expression": { "type": "AssignmentExpression", "start": 1536, "end": 1567, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 35 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1536, "end": 1555, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 23 } }, "object": { "type": "ThisExpression", "start": 1536, "end": 1540, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1541, "end": 1555, "loc": { "start": { "line": 48, "column": 9 }, "end": { "line": 48, "column": 23 }, "identifierName": "deletedStructs" }, "name": "deletedStructs" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 1558, "end": 1567, "loc": { "start": { "line": 48, "column": 26 }, "end": { "line": 48, "column": 35 } }, "callee": { "type": "Identifier", "start": 1562, "end": 1565, "loc": { "start": { "line": 48, "column": 30 }, "end": { "line": 48, "column": 33 }, "identifierName": "Set" }, "name": "Set" }, "arguments": [], "trailingComments": null }, "leadingComments": null, "trailingComments": null }, "leadingComments": [ { "type": "CommentLine", "value": " TODO: rename deletedTypes", "start": 1417, "end": 1445, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n * Set of all deleted Types and Structs.\n * @type {Set}\n ", "start": 1450, "end": 1531, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 47, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Saves the old state set of the Yjs instance. If a state was modified,\n * the original value is saved here.\n * @type {Map}\n ", "start": 1572, "end": 1735, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 53, "column": 7 } } } ] }, { "type": "ExpressionStatement", "start": 1740, "end": 1768, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 32 } }, "expression": { "type": "AssignmentExpression", "start": 1740, "end": 1768, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 32 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1740, "end": 1756, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 20 } }, "object": { "type": "ThisExpression", "start": 1740, "end": 1744, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1745, "end": 1756, "loc": { "start": { "line": 54, "column": 9 }, "end": { "line": 54, "column": 20 }, "identifierName": "beforeState" }, "name": "beforeState" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 1759, "end": 1768, "loc": { "start": { "line": 54, "column": 23 }, "end": { "line": 54, "column": 32 } }, "callee": { "type": "Identifier", "start": 1763, "end": 1766, "loc": { "start": { "line": 54, "column": 27 }, "end": { "line": 54, "column": 30 }, "identifierName": "Map" }, "name": "Map" }, "arguments": [], "trailingComments": null }, "leadingComments": null, "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Saves the old state set of the Yjs instance. If a state was modified,\n * the original value is saved here.\n * @type {Map}\n ", "start": 1572, "end": 1735, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 53, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * Stores the events for the types that observe also child elements.\n * It is mainly used by `observeDeep`.\n * @type {Map>}\n ", "start": 1773, "end": 1940, "loc": { "start": { "line": 55, "column": 4 }, "end": { "line": 59, "column": 7 } } } ] }, { "type": "ExpressionStatement", "start": 1945, "end": 1980, "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 60, "column": 39 } }, "expression": { "type": "AssignmentExpression", "start": 1945, "end": 1980, "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 60, "column": 39 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 1945, "end": 1968, "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 60, "column": 27 } }, "object": { "type": "ThisExpression", "start": 1945, "end": 1949, "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 60, "column": 8 } }, "leadingComments": null }, "property": { "type": "Identifier", "start": 1950, "end": 1968, "loc": { "start": { "line": 60, "column": 9 }, "end": { "line": 60, "column": 27 }, "identifierName": "changedParentTypes" }, "name": "changedParentTypes" }, "computed": false, "leadingComments": null }, "right": { "type": "NewExpression", "start": 1971, "end": 1980, "loc": { "start": { "line": 60, "column": 30 }, "end": { "line": 60, "column": 39 } }, "callee": { "type": "Identifier", "start": 1975, "end": 1978, "loc": { "start": { "line": 60, "column": 34 }, "end": { "line": 60, "column": 37 }, "identifierName": "Map" }, "name": "Map" }, "arguments": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * Stores the events for the types that observe also child elements.\n * It is mainly used by `observeDeep`.\n * @type {Map>}\n ", "start": 1773, "end": 1940, "loc": { "start": { "line": 55, "column": 4 }, "end": { "line": 59, "column": 7 } } } ] } ], "directives": [] } } ], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A transaction is created for every change on the Yjs model. It is possible\n * to bundle changes on the Yjs model in a single transaction to\n * minimize the number on messages sent and the number of observer calls.\n * If possible the user of this library should bundle as many changes as\n * possible. Here is an example to illustrate the advantages of bundling:\n *\n * @example\n * const map = y.define('map', YMap)\n * // Log content when change is triggered\n * map.observe(function () {\n * console.log('change triggered')\n * })\n * // Each change on the map type triggers a log message:\n * map.set('a', 0) // => \"change triggered\"\n * map.set('b', 0) // => \"change triggered\"\n * // When put in a transaction, it will trigger the log after the transaction:\n * y.transact(function () {\n * map.set('a', 1)\n * map.set('b', 1)\n * }) // => \"change triggered\"\n *\n ", "start": 1, "end": 869, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 24, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A transaction is created for every change on the Yjs model. It is possible\n * to bundle changes on the Yjs model in a single transaction to\n * minimize the number on messages sent and the number of observer calls.\n * If possible the user of this library should bundle as many changes as\n * possible. Here is an example to illustrate the advantages of bundling:\n *\n * @example\n * const map = y.define('map', YMap)\n * // Log content when change is triggered\n * map.observe(function () {\n * console.log('change triggered')\n * })\n * // Each change on the map type triggers a log message:\n * map.set('a', 0) // => \"change triggered\"\n * map.set('b', 0) // => \"change triggered\"\n * // When put in a transaction, it will trigger the log after the transaction:\n * y.transact(function () {\n * map.set('a', 1)\n * map.set('b', 1)\n * }) // => \"change triggered\"\n *\n ", "start": 1, "end": 869, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 24, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } } ] }, { "type": "ExportNamedDeclaration", "start": 2008, "end": 2388, "loc": { "start": { "line": 67, "column": 0 }, "end": { "line": 78, "column": 1 } }, "specifiers": [], "source": null, "declaration": { "type": "FunctionDeclaration", "start": 2015, "end": 2388, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 78, "column": 1 } }, "id": { "type": "Identifier", "start": 2024, "end": 2046, "loc": { "start": { "line": 67, "column": 16 }, "end": { "line": 67, "column": 38 }, "identifierName": "transactionTypeChanged" }, "name": "transactionTypeChanged", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 2048, "end": 2049, "loc": { "start": { "line": 67, "column": 40 }, "end": { "line": 67, "column": 41 }, "identifierName": "y" }, "name": "y" }, { "type": "Identifier", "start": 2051, "end": 2055, "loc": { "start": { "line": 67, "column": 43 }, "end": { "line": 67, "column": 47 }, "identifierName": "type" }, "name": "type" }, { "type": "Identifier", "start": 2057, "end": 2060, "loc": { "start": { "line": 67, "column": 49 }, "end": { "line": 67, "column": 52 }, "identifierName": "sub" }, "name": "sub" } ], "body": { "type": "BlockStatement", "start": 2062, "end": 2388, "loc": { "start": { "line": 67, "column": 54 }, "end": { "line": 78, "column": 1 } }, "body": [ { "type": "IfStatement", "start": 2066, "end": 2386, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 77, "column": 3 } }, "test": { "type": "LogicalExpression", "start": 2070, "end": 2136, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 72 } }, "left": { "type": "LogicalExpression", "start": 2070, "end": 2098, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 34 } }, "left": { "type": "BinaryExpression", "start": 2070, "end": 2080, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 16 } }, "left": { "type": "Identifier", "start": 2070, "end": 2074, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 10 }, "identifierName": "type" }, "name": "type" }, "operator": "!==", "right": { "type": "Identifier", "start": 2079, "end": 2080, "loc": { "start": { "line": 68, "column": 15 }, "end": { "line": 68, "column": 16 }, "identifierName": "y" }, "name": "y" } }, "operator": "&&", "right": { "type": "UnaryExpression", "start": 2084, "end": 2098, "loc": { "start": { "line": 68, "column": 20 }, "end": { "line": 68, "column": 34 } }, "operator": "!", "prefix": true, "argument": { "type": "MemberExpression", "start": 2085, "end": 2098, "loc": { "start": { "line": 68, "column": 21 }, "end": { "line": 68, "column": 34 } }, "object": { "type": "Identifier", "start": 2085, "end": 2089, "loc": { "start": { "line": 68, "column": 21 }, "end": { "line": 68, "column": 25 }, "identifierName": "type" }, "name": "type" }, "property": { "type": "Identifier", "start": 2090, "end": 2098, "loc": { "start": { "line": 68, "column": 26 }, "end": { "line": 68, "column": 34 }, "identifierName": "_deleted" }, "name": "_deleted" }, "computed": false }, "extra": { "parenthesizedArgument": false } } }, "operator": "&&", "right": { "type": "UnaryExpression", "start": 2102, "end": 2136, "loc": { "start": { "line": 68, "column": 38 }, "end": { "line": 68, "column": 72 } }, "operator": "!", "prefix": true, "argument": { "type": "CallExpression", "start": 2103, "end": 2136, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 72 } }, "callee": { "type": "MemberExpression", "start": 2103, "end": 2130, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 66 } }, "object": { "type": "MemberExpression", "start": 2103, "end": 2126, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 62 } }, "object": { "type": "MemberExpression", "start": 2103, "end": 2117, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 53 } }, "object": { "type": "Identifier", "start": 2103, "end": 2104, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 40 }, "identifierName": "y" }, "name": "y" }, "property": { "type": "Identifier", "start": 2105, "end": 2117, "loc": { "start": { "line": 68, "column": 41 }, "end": { "line": 68, "column": 53 }, "identifierName": "_transaction" }, "name": "_transaction" }, "computed": false }, "property": { "type": "Identifier", "start": 2118, "end": 2126, "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 68, "column": 62 }, "identifierName": "newTypes" }, "name": "newTypes" }, "computed": false }, "property": { "type": "Identifier", "start": 2127, "end": 2130, "loc": { "start": { "line": 68, "column": 63 }, "end": { "line": 68, "column": 66 }, "identifierName": "has" }, "name": "has" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2131, "end": 2135, "loc": { "start": { "line": 68, "column": 67 }, "end": { "line": 68, "column": 71 }, "identifierName": "type" }, "name": "type" } ] }, "extra": { "parenthesizedArgument": false } } }, "consequent": { "type": "BlockStatement", "start": 2138, "end": 2386, "loc": { "start": { "line": 68, "column": 74 }, "end": { "line": 77, "column": 3 } }, "body": [ { "type": "VariableDeclaration", "start": 2144, "end": 2192, "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 69, "column": 52 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2150, "end": 2192, "loc": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 52 } }, "id": { "type": "Identifier", "start": 2150, "end": 2162, "loc": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 22 }, "identifierName": "changedTypes" }, "name": "changedTypes" }, "init": { "type": "MemberExpression", "start": 2165, "end": 2192, "loc": { "start": { "line": 69, "column": 25 }, "end": { "line": 69, "column": 52 } }, "object": { "type": "MemberExpression", "start": 2165, "end": 2179, "loc": { "start": { "line": 69, "column": 25 }, "end": { "line": 69, "column": 39 } }, "object": { "type": "Identifier", "start": 2165, "end": 2166, "loc": { "start": { "line": 69, "column": 25 }, "end": { "line": 69, "column": 26 }, "identifierName": "y" }, "name": "y" }, "property": { "type": "Identifier", "start": 2167, "end": 2179, "loc": { "start": { "line": 69, "column": 27 }, "end": { "line": 69, "column": 39 }, "identifierName": "_transaction" }, "name": "_transaction" }, "computed": false }, "property": { "type": "Identifier", "start": 2180, "end": 2192, "loc": { "start": { "line": 69, "column": 40 }, "end": { "line": 69, "column": 52 }, "identifierName": "changedTypes" }, "name": "changedTypes" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 2197, "end": 2230, "loc": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": 37 } }, "declarations": [ { "type": "VariableDeclarator", "start": 2201, "end": 2230, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 37 } }, "id": { "type": "Identifier", "start": 2201, "end": 2205, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 12 }, "identifierName": "subs" }, "name": "subs" }, "init": { "type": "CallExpression", "start": 2208, "end": 2230, "loc": { "start": { "line": 70, "column": 15 }, "end": { "line": 70, "column": 37 } }, "callee": { "type": "MemberExpression", "start": 2208, "end": 2224, "loc": { "start": { "line": 70, "column": 15 }, "end": { "line": 70, "column": 31 } }, "object": { "type": "Identifier", "start": 2208, "end": 2220, "loc": { "start": { "line": 70, "column": 15 }, "end": { "line": 70, "column": 27 }, "identifierName": "changedTypes" }, "name": "changedTypes" }, "property": { "type": "Identifier", "start": 2221, "end": 2224, "loc": { "start": { "line": 70, "column": 28 }, "end": { "line": 70, "column": 31 }, "identifierName": "get" }, "name": "get" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2225, "end": 2229, "loc": { "start": { "line": 70, "column": 32 }, "end": { "line": 70, "column": 36 }, "identifierName": "type" }, "name": "type" } ] } } ], "kind": "let" }, { "type": "IfStatement", "start": 2235, "end": 2364, "loc": { "start": { "line": 71, "column": 4 }, "end": { "line": 75, "column": 5 } }, "test": { "type": "BinaryExpression", "start": 2239, "end": 2257, "loc": { "start": { "line": 71, "column": 8 }, "end": { "line": 71, "column": 26 } }, "left": { "type": "Identifier", "start": 2239, "end": 2243, "loc": { "start": { "line": 71, "column": 8 }, "end": { "line": 71, "column": 12 }, "identifierName": "subs" }, "name": "subs" }, "operator": "===", "right": { "type": "Identifier", "start": 2248, "end": 2257, "loc": { "start": { "line": 71, "column": 17 }, "end": { "line": 71, "column": 26 }, "identifierName": "undefined" }, "name": "undefined" } }, "consequent": { "type": "BlockStatement", "start": 2259, "end": 2364, "loc": { "start": { "line": 71, "column": 28 }, "end": { "line": 75, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 2307, "end": 2323, "loc": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": 22 } }, "expression": { "type": "AssignmentExpression", "start": 2307, "end": 2323, "loc": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": 22 } }, "operator": "=", "left": { "type": "Identifier", "start": 2307, "end": 2311, "loc": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": 10 }, "identifierName": "subs" }, "name": "subs", "leadingComments": null }, "right": { "type": "NewExpression", "start": 2314, "end": 2323, "loc": { "start": { "line": 73, "column": 13 }, "end": { "line": 73, "column": 22 } }, "callee": { "type": "Identifier", "start": 2318, "end": 2321, "loc": { "start": { "line": 73, "column": 17 }, "end": { "line": 73, "column": 20 }, "identifierName": "Set" }, "name": "Set" }, "arguments": [] }, "leadingComments": null }, "leadingComments": [ { "type": "CommentLine", "value": " create if it doesn't exist yet", "start": 2267, "end": 2300, "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 39 } } } ] }, { "type": "ExpressionStatement", "start": 2330, "end": 2358, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 34 } }, "expression": { "type": "CallExpression", "start": 2330, "end": 2358, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 34 } }, "callee": { "type": "MemberExpression", "start": 2330, "end": 2346, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 22 } }, "object": { "type": "Identifier", "start": 2330, "end": 2342, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 18 }, "identifierName": "changedTypes" }, "name": "changedTypes" }, "property": { "type": "Identifier", "start": 2343, "end": 2346, "loc": { "start": { "line": 74, "column": 19 }, "end": { "line": 74, "column": 22 }, "identifierName": "set" }, "name": "set" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2347, "end": 2351, "loc": { "start": { "line": 74, "column": 23 }, "end": { "line": 74, "column": 27 }, "identifierName": "type" }, "name": "type" }, { "type": "Identifier", "start": 2353, "end": 2357, "loc": { "start": { "line": 74, "column": 29 }, "end": { "line": 74, "column": 33 }, "identifierName": "subs" }, "name": "subs" } ] } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 2369, "end": 2382, "loc": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": 17 } }, "expression": { "type": "CallExpression", "start": 2369, "end": 2382, "loc": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": 17 } }, "callee": { "type": "MemberExpression", "start": 2369, "end": 2377, "loc": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": 12 } }, "object": { "type": "Identifier", "start": 2369, "end": 2373, "loc": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": 8 }, "identifierName": "subs" }, "name": "subs" }, "property": { "type": "Identifier", "start": 2374, "end": 2377, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 12 }, "identifierName": "add" }, "name": "add" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 2378, "end": 2381, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 16 }, "identifierName": "sub" }, "name": "sub" } ] } } ], "directives": [] }, "alternate": null } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\n * A transaction is created for every change on the Yjs model. It is possible\n * to bundle changes on the Yjs model in a single transaction to\n * minimize the number on messages sent and the number of observer calls.\n * If possible the user of this library should bundle as many changes as\n * possible. Here is an example to illustrate the advantages of bundling:\n *\n * @example\n * const map = y.define('map', YMap)\n * // Log content when change is triggered\n * map.observe(function () {\n * console.log('change triggered')\n * })\n * // Each change on the map type triggers a log message:\n * map.set('a', 0) // => \"change triggered\"\n * map.set('b', 0) // => \"change triggered\"\n * // When put in a transaction, it will trigger the log after the transaction:\n * y.transact(function () {\n * map.set('a', 1)\n * map.set('b', 1)\n * }) // => \"change triggered\"\n *\n ", "start": 1, "end": 869, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 24, "column": 3 } } }, { "type": "CommentBlock", "value": "*\n * @type {Y} The Yjs instance.\n ", "start": 929, "end": 975, "loc": { "start": { "line": 27, "column": 4 }, "end": { "line": 29, "column": 7 } } }, { "type": "CommentBlock", "value": "*\n * All new types that are added during a transaction.\n * @type {Set}\n ", "start": 995, "end": 1089, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 34, "column": 7 } } }, { "type": "CommentBlock", "value": "*\n * All types that were directly modified (property added or child\n * inserted/deleted). New types are not included in this Set.\n * Maps from type to parentSubs (`item._parentSub = null` for YArray)\n * @type {Set}\n ", "start": 1124, "end": 1378, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 41, "column": 7 } } }, { "type": "CommentLine", "value": " TODO: rename deletedTypes", "start": 1417, "end": 1445, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n * Set of all deleted Types and Structs.\n * @type {Set}\n ", "start": 1450, "end": 1531, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 47, "column": 7 } } }, { "type": "CommentBlock", "value": "*\n * Saves the old state set of the Yjs instance. If a state was modified,\n * the original value is saved here.\n * @type {Map}\n ", "start": 1572, "end": 1735, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 53, "column": 7 } } }, { "type": "CommentBlock", "value": "*\n * Stores the events for the types that observe also child elements.\n * It is mainly used by `observeDeep`.\n * @type {Map>}\n ", "start": 1773, "end": 1940, "loc": { "start": { "line": 55, "column": 4 }, "end": { "line": 59, "column": 7 } } }, { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } }, { "type": "CommentLine", "value": " create if it doesn't exist yet", "start": 2267, "end": 2300, "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 39 } } } ], "tokens": [ { "type": "CommentBlock", "value": "*\n * A transaction is created for every change on the Yjs model. It is possible\n * to bundle changes on the Yjs model in a single transaction to\n * minimize the number on messages sent and the number of observer calls.\n * If possible the user of this library should bundle as many changes as\n * possible. Here is an example to illustrate the advantages of bundling:\n *\n * @example\n * const map = y.define('map', YMap)\n * // Log content when change is triggered\n * map.observe(function () {\n * console.log('change triggered')\n * })\n * // Each change on the map type triggers a log message:\n * map.set('a', 0) // => \"change triggered\"\n * map.set('b', 0) // => \"change triggered\"\n * // When put in a transaction, it will trigger the log after the transaction:\n * y.transact(function () {\n * map.set('a', 1)\n * map.set('b', 1)\n * }) // => \"change triggered\"\n *\n ", "start": 1, "end": 869, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 24, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 870, "end": 876, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 25, "column": 6 } } }, { "type": { "label": "default", "keyword": "default", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "default", "start": 877, "end": 884, "loc": { "start": { "line": 25, "column": 7 }, "end": { "line": 25, "column": 14 } } }, { "type": { "label": "class", "keyword": "class", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "class", "start": 885, "end": 890, "loc": { "start": { "line": 25, "column": 15 }, "end": { "line": 25, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Transaction", "start": 891, "end": 902, "loc": { "start": { "line": 25, "column": 21 }, "end": { "line": 25, "column": 32 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 903, "end": 904, "loc": { "start": { "line": 25, "column": 33 }, "end": { "line": 25, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 907, "end": 918, "loc": { "start": { "line": 26, "column": 2 }, "end": { "line": 26, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 919, "end": 920, "loc": { "start": { "line": 26, "column": 14 }, "end": { "line": 26, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 920, "end": 921, "loc": { "start": { "line": 26, "column": 15 }, "end": { "line": 26, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 921, "end": 922, "loc": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 923, "end": 924, "loc": { "start": { "line": 26, "column": 18 }, "end": { "line": 26, "column": 19 } } }, { "type": "CommentBlock", "value": "*\n * @type {Y} The Yjs instance.\n ", "start": 929, "end": 975, "loc": { "start": { "line": 27, "column": 4 }, "end": { "line": 29, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 980, "end": 984, "loc": { "start": { "line": 30, "column": 4 }, "end": { "line": 30, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 984, "end": 985, "loc": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 985, "end": 986, "loc": { "start": { "line": 30, "column": 9 }, "end": { "line": 30, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 987, "end": 988, "loc": { "start": { "line": 30, "column": 11 }, "end": { "line": 30, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 989, "end": 990, "loc": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 14 } } }, { "type": "CommentBlock", "value": "*\n * All new types that are added during a transaction.\n * @type {Set}\n ", "start": 995, "end": 1089, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 34, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1094, "end": 1098, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1098, "end": 1099, "loc": { "start": { "line": 35, "column": 8 }, "end": { "line": 35, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "newTypes", "start": 1099, "end": 1107, "loc": { "start": { "line": 35, "column": 9 }, "end": { "line": 35, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1108, "end": 1109, "loc": { "start": { "line": 35, "column": 18 }, "end": { "line": 35, "column": 19 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1110, "end": 1113, "loc": { "start": { "line": 35, "column": 20 }, "end": { "line": 35, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Set", "start": 1114, "end": 1117, "loc": { "start": { "line": 35, "column": 24 }, "end": { "line": 35, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1117, "end": 1118, "loc": { "start": { "line": 35, "column": 27 }, "end": { "line": 35, "column": 28 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1118, "end": 1119, "loc": { "start": { "line": 35, "column": 28 }, "end": { "line": 35, "column": 29 } } }, { "type": "CommentBlock", "value": "*\n * All types that were directly modified (property added or child\n * inserted/deleted). New types are not included in this Set.\n * Maps from type to parentSubs (`item._parentSub = null` for YArray)\n * @type {Set}\n ", "start": 1124, "end": 1378, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 41, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1383, "end": 1387, "loc": { "start": { "line": 42, "column": 4 }, "end": { "line": 42, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1387, "end": 1388, "loc": { "start": { "line": 42, "column": 8 }, "end": { "line": 42, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedTypes", "start": 1388, "end": 1400, "loc": { "start": { "line": 42, "column": 9 }, "end": { "line": 42, "column": 21 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1401, "end": 1402, "loc": { "start": { "line": 42, "column": 22 }, "end": { "line": 42, "column": 23 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1403, "end": 1406, "loc": { "start": { "line": 42, "column": 24 }, "end": { "line": 42, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Map", "start": 1407, "end": 1410, "loc": { "start": { "line": 42, "column": 28 }, "end": { "line": 42, "column": 31 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1410, "end": 1411, "loc": { "start": { "line": 42, "column": 31 }, "end": { "line": 42, "column": 32 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1411, "end": 1412, "loc": { "start": { "line": 42, "column": 32 }, "end": { "line": 42, "column": 33 } } }, { "type": "CommentLine", "value": " TODO: rename deletedTypes", "start": 1417, "end": 1445, "loc": { "start": { "line": 43, "column": 4 }, "end": { "line": 43, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n * Set of all deleted Types and Structs.\n * @type {Set}\n ", "start": 1450, "end": 1531, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 47, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1536, "end": 1540, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1540, "end": 1541, "loc": { "start": { "line": 48, "column": 8 }, "end": { "line": 48, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "deletedStructs", "start": 1541, "end": 1555, "loc": { "start": { "line": 48, "column": 9 }, "end": { "line": 48, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1556, "end": 1557, "loc": { "start": { "line": 48, "column": 24 }, "end": { "line": 48, "column": 25 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1558, "end": 1561, "loc": { "start": { "line": 48, "column": 26 }, "end": { "line": 48, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Set", "start": 1562, "end": 1565, "loc": { "start": { "line": 48, "column": 30 }, "end": { "line": 48, "column": 33 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1565, "end": 1566, "loc": { "start": { "line": 48, "column": 33 }, "end": { "line": 48, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1566, "end": 1567, "loc": { "start": { "line": 48, "column": 34 }, "end": { "line": 48, "column": 35 } } }, { "type": "CommentBlock", "value": "*\n * Saves the old state set of the Yjs instance. If a state was modified,\n * the original value is saved here.\n * @type {Map}\n ", "start": 1572, "end": 1735, "loc": { "start": { "line": 49, "column": 4 }, "end": { "line": 53, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1740, "end": 1744, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1744, "end": 1745, "loc": { "start": { "line": 54, "column": 8 }, "end": { "line": 54, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "beforeState", "start": 1745, "end": 1756, "loc": { "start": { "line": 54, "column": 9 }, "end": { "line": 54, "column": 20 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1757, "end": 1758, "loc": { "start": { "line": 54, "column": 21 }, "end": { "line": 54, "column": 22 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1759, "end": 1762, "loc": { "start": { "line": 54, "column": 23 }, "end": { "line": 54, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Map", "start": 1763, "end": 1766, "loc": { "start": { "line": 54, "column": 27 }, "end": { "line": 54, "column": 30 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1766, "end": 1767, "loc": { "start": { "line": 54, "column": 30 }, "end": { "line": 54, "column": 31 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1767, "end": 1768, "loc": { "start": { "line": 54, "column": 31 }, "end": { "line": 54, "column": 32 } } }, { "type": "CommentBlock", "value": "*\n * Stores the events for the types that observe also child elements.\n * It is mainly used by `observeDeep`.\n * @type {Map>}\n ", "start": 1773, "end": 1940, "loc": { "start": { "line": 55, "column": 4 }, "end": { "line": 59, "column": 7 } } }, { "type": { "label": "this", "keyword": "this", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "this", "start": 1945, "end": 1949, "loc": { "start": { "line": 60, "column": 4 }, "end": { "line": 60, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1949, "end": 1950, "loc": { "start": { "line": 60, "column": 8 }, "end": { "line": 60, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedParentTypes", "start": 1950, "end": 1968, "loc": { "start": { "line": 60, "column": 9 }, "end": { "line": 60, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 1969, "end": 1970, "loc": { "start": { "line": 60, "column": 28 }, "end": { "line": 60, "column": 29 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 1971, "end": 1974, "loc": { "start": { "line": 60, "column": 30 }, "end": { "line": 60, "column": 33 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Map", "start": 1975, "end": 1978, "loc": { "start": { "line": 60, "column": 34 }, "end": { "line": 60, "column": 37 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1978, "end": 1979, "loc": { "start": { "line": 60, "column": 37 }, "end": { "line": 60, "column": 38 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1979, "end": 1980, "loc": { "start": { "line": 60, "column": 38 }, "end": { "line": 60, "column": 39 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1983, "end": 1984, "loc": { "start": { "line": 61, "column": 2 }, "end": { "line": 61, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1985, "end": 1986, "loc": { "start": { "line": 62, "column": 0 }, "end": { "line": 62, "column": 1 } } }, { "type": "CommentBlock", "value": "*\n * @private\n ", "start": 1988, "end": 2007, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 66, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 2008, "end": 2014, "loc": { "start": { "line": 67, "column": 0 }, "end": { "line": 67, "column": 6 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 2015, "end": 2023, "loc": { "start": { "line": 67, "column": 7 }, "end": { "line": 67, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "transactionTypeChanged", "start": 2024, "end": 2046, "loc": { "start": { "line": 67, "column": 16 }, "end": { "line": 67, "column": 38 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2047, "end": 2048, "loc": { "start": { "line": 67, "column": 39 }, "end": { "line": 67, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2048, "end": 2049, "loc": { "start": { "line": 67, "column": 40 }, "end": { "line": 67, "column": 41 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2049, "end": 2050, "loc": { "start": { "line": 67, "column": 41 }, "end": { "line": 67, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2051, "end": 2055, "loc": { "start": { "line": 67, "column": 43 }, "end": { "line": 67, "column": 47 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2055, "end": 2056, "loc": { "start": { "line": 67, "column": 47 }, "end": { "line": 67, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sub", "start": 2057, "end": 2060, "loc": { "start": { "line": 67, "column": 49 }, "end": { "line": 67, "column": 52 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2060, "end": 2061, "loc": { "start": { "line": 67, "column": 52 }, "end": { "line": 67, "column": 53 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2062, "end": 2063, "loc": { "start": { "line": 67, "column": 54 }, "end": { "line": 67, "column": 55 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2066, "end": 2068, "loc": { "start": { "line": 68, "column": 2 }, "end": { "line": 68, "column": 4 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2069, "end": 2070, "loc": { "start": { "line": 68, "column": 5 }, "end": { "line": 68, "column": 6 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2070, "end": 2074, "loc": { "start": { "line": 68, "column": 6 }, "end": { "line": 68, "column": 10 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "!==", "start": 2075, "end": 2078, "loc": { "start": { "line": 68, "column": 11 }, "end": { "line": 68, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2079, "end": 2080, "loc": { "start": { "line": 68, "column": 15 }, "end": { "line": 68, "column": 16 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 2081, "end": 2083, "loc": { "start": { "line": 68, "column": 17 }, "end": { "line": 68, "column": 19 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 2084, "end": 2085, "loc": { "start": { "line": 68, "column": 20 }, "end": { "line": 68, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2085, "end": 2089, "loc": { "start": { "line": 68, "column": 21 }, "end": { "line": 68, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2089, "end": 2090, "loc": { "start": { "line": 68, "column": 25 }, "end": { "line": 68, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_deleted", "start": 2090, "end": 2098, "loc": { "start": { "line": 68, "column": 26 }, "end": { "line": 68, "column": 34 } } }, { "type": { "label": "&&", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 2, "updateContext": null }, "value": "&&", "start": 2099, "end": 2101, "loc": { "start": { "line": 68, "column": 35 }, "end": { "line": 68, "column": 37 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 2102, "end": 2103, "loc": { "start": { "line": 68, "column": 38 }, "end": { "line": 68, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2103, "end": 2104, "loc": { "start": { "line": 68, "column": 39 }, "end": { "line": 68, "column": 40 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2104, "end": 2105, "loc": { "start": { "line": 68, "column": 40 }, "end": { "line": 68, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_transaction", "start": 2105, "end": 2117, "loc": { "start": { "line": 68, "column": 41 }, "end": { "line": 68, "column": 53 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2117, "end": 2118, "loc": { "start": { "line": 68, "column": 53 }, "end": { "line": 68, "column": 54 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "newTypes", "start": 2118, "end": 2126, "loc": { "start": { "line": 68, "column": 54 }, "end": { "line": 68, "column": 62 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2126, "end": 2127, "loc": { "start": { "line": 68, "column": 62 }, "end": { "line": 68, "column": 63 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "has", "start": 2127, "end": 2130, "loc": { "start": { "line": 68, "column": 63 }, "end": { "line": 68, "column": 66 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2130, "end": 2131, "loc": { "start": { "line": 68, "column": 66 }, "end": { "line": 68, "column": 67 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2131, "end": 2135, "loc": { "start": { "line": 68, "column": 67 }, "end": { "line": 68, "column": 71 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2135, "end": 2136, "loc": { "start": { "line": 68, "column": 71 }, "end": { "line": 68, "column": 72 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2136, "end": 2137, "loc": { "start": { "line": 68, "column": 72 }, "end": { "line": 68, "column": 73 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2138, "end": 2139, "loc": { "start": { "line": 68, "column": 74 }, "end": { "line": 68, "column": 75 } } }, { "type": { "label": "const", "keyword": "const", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "const", "start": 2144, "end": 2149, "loc": { "start": { "line": 69, "column": 4 }, "end": { "line": 69, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedTypes", "start": 2150, "end": 2162, "loc": { "start": { "line": 69, "column": 10 }, "end": { "line": 69, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2163, "end": 2164, "loc": { "start": { "line": 69, "column": 23 }, "end": { "line": 69, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "y", "start": 2165, "end": 2166, "loc": { "start": { "line": 69, "column": 25 }, "end": { "line": 69, "column": 26 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2166, "end": 2167, "loc": { "start": { "line": 69, "column": 26 }, "end": { "line": 69, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "_transaction", "start": 2167, "end": 2179, "loc": { "start": { "line": 69, "column": 27 }, "end": { "line": 69, "column": 39 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2179, "end": 2180, "loc": { "start": { "line": 69, "column": 39 }, "end": { "line": 69, "column": 40 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedTypes", "start": 2180, "end": 2192, "loc": { "start": { "line": 69, "column": 40 }, "end": { "line": 69, "column": 52 } } }, { "type": { "label": "let", "keyword": "let", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "let", "start": 2197, "end": 2200, "loc": { "start": { "line": 70, "column": 4 }, "end": { "line": 70, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "subs", "start": 2201, "end": 2205, "loc": { "start": { "line": 70, "column": 8 }, "end": { "line": 70, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2206, "end": 2207, "loc": { "start": { "line": 70, "column": 13 }, "end": { "line": 70, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedTypes", "start": 2208, "end": 2220, "loc": { "start": { "line": 70, "column": 15 }, "end": { "line": 70, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2220, "end": 2221, "loc": { "start": { "line": 70, "column": 27 }, "end": { "line": 70, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "get", "start": 2221, "end": 2224, "loc": { "start": { "line": 70, "column": 28 }, "end": { "line": 70, "column": 31 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2224, "end": 2225, "loc": { "start": { "line": 70, "column": 31 }, "end": { "line": 70, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2225, "end": 2229, "loc": { "start": { "line": 70, "column": 32 }, "end": { "line": 70, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2229, "end": 2230, "loc": { "start": { "line": 70, "column": 36 }, "end": { "line": 70, "column": 37 } } }, { "type": { "label": "if", "keyword": "if", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "if", "start": 2235, "end": 2237, "loc": { "start": { "line": 71, "column": 4 }, "end": { "line": 71, "column": 6 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2238, "end": 2239, "loc": { "start": { "line": 71, "column": 7 }, "end": { "line": 71, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "subs", "start": 2239, "end": 2243, "loc": { "start": { "line": 71, "column": 8 }, "end": { "line": 71, "column": 12 } } }, { "type": { "label": "==/!=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 6, "updateContext": null }, "value": "===", "start": 2244, "end": 2247, "loc": { "start": { "line": 71, "column": 13 }, "end": { "line": 71, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "undefined", "start": 2248, "end": 2257, "loc": { "start": { "line": 71, "column": 17 }, "end": { "line": 71, "column": 26 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2257, "end": 2258, "loc": { "start": { "line": 71, "column": 26 }, "end": { "line": 71, "column": 27 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2259, "end": 2260, "loc": { "start": { "line": 71, "column": 28 }, "end": { "line": 71, "column": 29 } } }, { "type": "CommentLine", "value": " create if it doesn't exist yet", "start": 2267, "end": 2300, "loc": { "start": { "line": 72, "column": 6 }, "end": { "line": 72, "column": 39 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "subs", "start": 2307, "end": 2311, "loc": { "start": { "line": 73, "column": 6 }, "end": { "line": 73, "column": 10 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 2312, "end": 2313, "loc": { "start": { "line": 73, "column": 11 }, "end": { "line": 73, "column": 12 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 2314, "end": 2317, "loc": { "start": { "line": 73, "column": 13 }, "end": { "line": 73, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Set", "start": 2318, "end": 2321, "loc": { "start": { "line": 73, "column": 17 }, "end": { "line": 73, "column": 20 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2321, "end": 2322, "loc": { "start": { "line": 73, "column": 20 }, "end": { "line": 73, "column": 21 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2322, "end": 2323, "loc": { "start": { "line": 73, "column": 21 }, "end": { "line": 73, "column": 22 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "changedTypes", "start": 2330, "end": 2342, "loc": { "start": { "line": 74, "column": 6 }, "end": { "line": 74, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2342, "end": 2343, "loc": { "start": { "line": 74, "column": 18 }, "end": { "line": 74, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "set", "start": 2343, "end": 2346, "loc": { "start": { "line": 74, "column": 19 }, "end": { "line": 74, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2346, "end": 2347, "loc": { "start": { "line": 74, "column": 22 }, "end": { "line": 74, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "type", "start": 2347, "end": 2351, "loc": { "start": { "line": 74, "column": 23 }, "end": { "line": 74, "column": 27 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2351, "end": 2352, "loc": { "start": { "line": 74, "column": 27 }, "end": { "line": 74, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "subs", "start": 2353, "end": 2357, "loc": { "start": { "line": 74, "column": 29 }, "end": { "line": 74, "column": 33 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2357, "end": 2358, "loc": { "start": { "line": 74, "column": 33 }, "end": { "line": 74, "column": 34 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2363, "end": 2364, "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "subs", "start": 2369, "end": 2373, "loc": { "start": { "line": 76, "column": 4 }, "end": { "line": 76, "column": 8 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2373, "end": 2374, "loc": { "start": { "line": 76, "column": 8 }, "end": { "line": 76, "column": 9 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "add", "start": 2374, "end": 2377, "loc": { "start": { "line": 76, "column": 9 }, "end": { "line": 76, "column": 12 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2377, "end": 2378, "loc": { "start": { "line": 76, "column": 12 }, "end": { "line": 76, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "sub", "start": 2378, "end": 2381, "loc": { "start": { "line": 76, "column": 13 }, "end": { "line": 76, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2381, "end": 2382, "loc": { "start": { "line": 76, "column": 16 }, "end": { "line": 76, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2385, "end": 2386, "loc": { "start": { "line": 77, "column": 2 }, "end": { "line": 77, "column": 3 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 2387, "end": 2388, "loc": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 2389, "end": 2389, "loc": { "start": { "line": 79, "column": 0 }, "end": { "line": 79, "column": 0 } } } ] }