yjs/docs/ast/source/Transaction.js.json
2018-04-27 18:45:01 +02:00

6330 lines
166 KiB
JSON

{
"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<Item>}\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<Item>}\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<YType,String>}\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<YType,String>}\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<Item>}\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<Item>}\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<Number,Number>}\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<Number,Number>}\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<YType,Array<YEvent>>}\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<YType,Array<YEvent>>}\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<Item>}\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<YType,String>}\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<Item>}\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<Number,Number>}\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<YType,Array<YEvent>>}\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<Item>}\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<YType,String>}\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<Item>}\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<Number,Number>}\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<YType,Array<YEvent>>}\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
}
}
}
]
}