{ "type": "File", "start": 0, "end": 1021, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 37, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1021, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 37, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 53, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 53 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 9, "end": 21, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 21 } }, "imported": { "type": "Identifier", "start": 9, "end": 21, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 21 }, "identifierName": "createLogger" }, "name": "createLogger" }, "local": { "type": "Identifier", "start": 9, "end": 21, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 21 }, "identifierName": "createLogger" }, "name": "createLogger" } } ], "source": { "type": "StringLiteral", "start": 29, "end": 52, "loc": { "start": { "line": 1, "column": 29 }, "end": { "line": 1, "column": 52 } }, "extra": { "rawValue": "../../core/logging.js", "raw": "\"../../core/logging.js\"" }, "value": "../../core/logging.js" } }, { "type": "ImportDeclaration", "start": 55, "end": 107, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 52 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 64, "end": 87, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 32 } }, "imported": { "type": "Identifier", "start": 64, "end": 87, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 32 }, "identifierName": "SavegameInterface_V1003" }, "name": "SavegameInterface_V1003" }, "local": { "type": "Identifier", "start": 64, "end": 87, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 32 }, "identifierName": "SavegameInterface_V1003" }, "name": "SavegameInterface_V1003" } } ], "source": { "type": "StringLiteral", "start": 95, "end": 106, "loc": { "start": { "line": 2, "column": 40 }, "end": { "line": 2, "column": 51 } }, "extra": { "rawValue": "./1003.js", "raw": "\"./1003.js\"" }, "value": "./1003.js" } }, { "type": "VariableDeclaration", "start": 111, "end": 149, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 117, "end": 148, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 37 } }, "id": { "type": "Identifier", "start": 117, "end": 123, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 12 }, "identifierName": "schema" }, "name": "schema" }, "init": { "type": "CallExpression", "start": 126, "end": 148, "loc": { "start": { "line": 4, "column": 15 }, "end": { "line": 4, "column": 37 } }, "callee": { "type": "Identifier", "start": 126, "end": 133, "loc": { "start": { "line": 4, "column": 15 }, "end": { "line": 4, "column": 22 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 134, "end": 147, "loc": { "start": { "line": 4, "column": 23 }, "end": { "line": 4, "column": 36 } }, "extra": { "rawValue": "./1004.json", "raw": "\"./1004.json\"" }, "value": "./1004.json" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 151, "end": 206, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 55 } }, "declarations": [ { "type": "VariableDeclarator", "start": 157, "end": 205, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 5, "column": 54 } }, "id": { "type": "Identifier", "start": 157, "end": 163, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 5, "column": 12 }, "identifierName": "logger" }, "name": "logger" }, "init": { "type": "CallExpression", "start": 166, "end": 205, "loc": { "start": { "line": 5, "column": 15 }, "end": { "line": 5, "column": 54 } }, "callee": { "type": "Identifier", "start": 166, "end": 178, "loc": { "start": { "line": 5, "column": 15 }, "end": { "line": 5, "column": 27 }, "identifierName": "createLogger" }, "name": "createLogger" }, "arguments": [ { "type": "StringLiteral", "start": 179, "end": 204, "loc": { "start": { "line": 5, "column": 28 }, "end": { "line": 5, "column": 53 } }, "extra": { "rawValue": "savegame_interface/1004", "raw": "\"savegame_interface/1004\"" }, "value": "savegame_interface/1004" } ] } } ], "kind": "const" }, { "type": "ExportNamedDeclaration", "start": 210, "end": 1019, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 36, "column": 1 } }, "specifiers": [], "source": null, "declaration": { "type": "ClassDeclaration", "start": 217, "end": 1019, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 36, "column": 1 } }, "id": { "type": "Identifier", "start": 223, "end": 246, "loc": { "start": { "line": 7, "column": 13 }, "end": { "line": 7, "column": 36 }, "identifierName": "SavegameInterface_V1004" }, "name": "SavegameInterface_V1004" }, "superClass": { "type": "Identifier", "start": 255, "end": 278, "loc": { "start": { "line": 7, "column": 45 }, "end": { "line": 7, "column": 68 }, "identifierName": "SavegameInterface_V1003" }, "name": "SavegameInterface_V1003" }, "body": { "type": "ClassBody", "start": 279, "end": 1019, "loc": { "start": { "line": 7, "column": 69 }, "end": { "line": 36, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 286, "end": 329, "loc": { "start": { "line": 8, "column": 4 }, "end": { "line": 10, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 286, "end": 296, "loc": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": 14 }, "identifierName": "getVersion" }, "name": "getVersion" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 299, "end": 329, "loc": { "start": { "line": 8, "column": 17 }, "end": { "line": 10, "column": 5 } }, "body": [ { "type": "ReturnStatement", "start": 310, "end": 322, "loc": { "start": { "line": 9, "column": 8 }, "end": { "line": 9, "column": 20 } }, "argument": { "type": "NumericLiteral", "start": 317, "end": 321, "loc": { "start": { "line": 9, "column": 15 }, "end": { "line": 9, "column": 19 } }, "extra": { "rawValue": 1004, "raw": "1004" }, "value": 1004 } } ], "directives": [] } }, { "type": "ClassMethod", "start": 337, "end": 389, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 14, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 337, "end": 354, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": 21 }, "identifierName": "getSchemaUncached" }, "name": "getSchemaUncached" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 357, "end": 389, "loc": { "start": { "line": 12, "column": 24 }, "end": { "line": 14, "column": 5 } }, "body": [ { "type": "ReturnStatement", "start": 368, "end": 382, "loc": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": 22 } }, "argument": { "type": "Identifier", "start": 375, "end": 381, "loc": { "start": { "line": 13, "column": 15 }, "end": { "line": 13, "column": 21 }, "identifierName": "schema" }, "name": "schema" } } ], "directives": [], "trailingComments": null }, "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * @param {import(\"../savegame_typedefs.js\").SavegameData} data\r\n ", "start": 397, "end": 478, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 18, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 484, "end": 1016, "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 35, "column": 5 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 491, "end": 508, "loc": { "start": { "line": 19, "column": 11 }, "end": { "line": 19, "column": 28 }, "identifierName": "migrate1003to1004" }, "name": "migrate1003to1004" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 509, "end": 513, "loc": { "start": { "line": 19, "column": 29 }, "end": { "line": 19, "column": 33 }, "identifierName": "data" }, "name": "data" } ], "body": { "type": "BlockStatement", "start": 515, "end": 1016, "loc": { "start": { "line": 19, "column": 35 }, "end": { "line": 35, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 526, "end": 563, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 45 } }, "expression": { "type": "CallExpression", "start": 526, "end": 562, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 44 } }, "callee": { "type": "MemberExpression", "start": 526, "end": 536, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 18 } }, "object": { "type": "Identifier", "start": 526, "end": 532, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 14 }, "identifierName": "logger" }, "name": "logger" }, "property": { "type": "Identifier", "start": 533, "end": 536, "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 18 }, "identifierName": "log" }, "name": "log" }, "computed": false }, "arguments": [ { "type": "StringLiteral", "start": 537, "end": 561, "loc": { "start": { "line": 20, "column": 19 }, "end": { "line": 20, "column": 43 } }, "extra": { "rawValue": "Migrating 1003 to 1004", "raw": "\"Migrating 1003 to 1004\"" }, "value": "Migrating 1003 to 1004" } ] } }, { "type": "VariableDeclaration", "start": 573, "end": 596, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 31 } }, "declarations": [ { "type": "VariableDeclarator", "start": 579, "end": 595, "loc": { "start": { "line": 21, "column": 14 }, "end": { "line": 21, "column": 30 } }, "id": { "type": "Identifier", "start": 579, "end": 583, "loc": { "start": { "line": 21, "column": 14 }, "end": { "line": 21, "column": 18 }, "identifierName": "dump" }, "name": "dump" }, "init": { "type": "MemberExpression", "start": 586, "end": 595, "loc": { "start": { "line": 21, "column": 21 }, "end": { "line": 21, "column": 30 } }, "object": { "type": "Identifier", "start": 586, "end": 590, "loc": { "start": { "line": 21, "column": 21 }, "end": { "line": 21, "column": 25 }, "identifierName": "data" }, "name": "data" }, "property": { "type": "Identifier", "start": 591, "end": 595, "loc": { "start": { "line": 21, "column": 26 }, "end": { "line": 21, "column": 30 }, "identifierName": "dump" }, "name": "dump" }, "computed": false } } ], "kind": "const" }, { "type": "IfStatement", "start": 606, "end": 655, "loc": { "start": { "line": 22, "column": 8 }, "end": { "line": 24, "column": 9 } }, "test": { "type": "UnaryExpression", "start": 610, "end": 615, "loc": { "start": { "line": 22, "column": 12 }, "end": { "line": 22, "column": 17 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 611, "end": 615, "loc": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 }, "identifierName": "dump" }, "name": "dump" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 617, "end": 655, "loc": { "start": { "line": 22, "column": 19 }, "end": { "line": 24, "column": 9 } }, "body": [ { "type": "ReturnStatement", "start": 632, "end": 644, "loc": { "start": { "line": 23, "column": 12 }, "end": { "line": 23, "column": 24 } }, "argument": { "type": "BooleanLiteral", "start": 639, "end": 643, "loc": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 23 } }, "value": true } } ], "directives": [], "trailingComments": null }, "alternate": null, "trailingComments": [ { "type": "CommentLine", "value": " The hub simply has an empty label", "start": 667, "end": 703, "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 26, "column": 44 } } } ] }, { "type": "VariableDeclaration", "start": 713, "end": 759, "loc": { "start": { "line": 27, "column": 8 }, "end": { "line": 27, "column": 54 } }, "declarations": [ { "type": "VariableDeclarator", "start": 719, "end": 758, "loc": { "start": { "line": 27, "column": 14 }, "end": { "line": 27, "column": 53 } }, "id": { "type": "Identifier", "start": 719, "end": 731, "loc": { "start": { "line": 27, "column": 14 }, "end": { "line": 27, "column": 26 }, "identifierName": "waypointData" }, "name": "waypointData", "leadingComments": null }, "init": { "type": "MemberExpression", "start": 734, "end": 758, "loc": { "start": { "line": 27, "column": 29 }, "end": { "line": 27, "column": 53 } }, "object": { "type": "MemberExpression", "start": 734, "end": 748, "loc": { "start": { "line": 27, "column": 29 }, "end": { "line": 27, "column": 43 } }, "object": { "type": "Identifier", "start": 734, "end": 738, "loc": { "start": { "line": 27, "column": 29 }, "end": { "line": 27, "column": 33 }, "identifierName": "dump" }, "name": "dump" }, "property": { "type": "Identifier", "start": 739, "end": 748, "loc": { "start": { "line": 27, "column": 34 }, "end": { "line": 27, "column": 43 }, "identifierName": "waypoints" }, "name": "waypoints" }, "computed": false }, "property": { "type": "Identifier", "start": 749, "end": 758, "loc": { "start": { "line": 27, "column": 44 }, "end": { "line": 27, "column": 53 }, "identifierName": "waypoints" }, "name": "waypoints" }, "computed": false }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentLine", "value": " The hub simply has an empty label", "start": 667, "end": 703, "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 26, "column": 44 } } } ] }, { "type": "ForStatement", "start": 769, "end": 1009, "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 34, "column": 9 } }, "init": { "type": "VariableDeclaration", "start": 774, "end": 783, "loc": { "start": { "line": 28, "column": 13 }, "end": { "line": 28, "column": 22 } }, "declarations": [ { "type": "VariableDeclarator", "start": 778, "end": 783, "loc": { "start": { "line": 28, "column": 17 }, "end": { "line": 28, "column": 22 } }, "id": { "type": "Identifier", "start": 778, "end": 779, "loc": { "start": { "line": 28, "column": 17 }, "end": { "line": 28, "column": 18 }, "identifierName": "i" }, "name": "i" }, "init": { "type": "NumericLiteral", "start": 782, "end": 783, "loc": { "start": { "line": 28, "column": 21 }, "end": { "line": 28, "column": 22 } }, "extra": { "rawValue": 0, "raw": "0" }, "value": 0 } } ], "kind": "let" }, "test": { "type": "BinaryExpression", "start": 785, "end": 808, "loc": { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 47 } }, "left": { "type": "Identifier", "start": 785, "end": 786, "loc": { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 25 }, "identifierName": "i" }, "name": "i" }, "operator": "<", "right": { "type": "MemberExpression", "start": 789, "end": 808, "loc": { "start": { "line": 28, "column": 28 }, "end": { "line": 28, "column": 47 } }, "object": { "type": "Identifier", "start": 789, "end": 801, "loc": { "start": { "line": 28, "column": 28 }, "end": { "line": 28, "column": 40 }, "identifierName": "waypointData" }, "name": "waypointData" }, "property": { "type": "Identifier", "start": 802, "end": 808, "loc": { "start": { "line": 28, "column": 41 }, "end": { "line": 28, "column": 47 }, "identifierName": "length" }, "name": "length" }, "computed": false } }, "update": { "type": "UpdateExpression", "start": 810, "end": 813, "loc": { "start": { "line": 28, "column": 49 }, "end": { "line": 28, "column": 52 } }, "operator": "++", "prefix": true, "argument": { "type": "Identifier", "start": 812, "end": 813, "loc": { "start": { "line": 28, "column": 51 }, "end": { "line": 28, "column": 52 }, "identifierName": "i" }, "name": "i" }, "extra": { "parenthesizedArgument": false } }, "body": { "type": "BlockStatement", "start": 815, "end": 1009, "loc": { "start": { "line": 28, "column": 54 }, "end": { "line": 34, "column": 9 } }, "body": [ { "type": "VariableDeclaration", "start": 830, "end": 863, "loc": { "start": { "line": 29, "column": 12 }, "end": { "line": 29, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 836, "end": 862, "loc": { "start": { "line": 29, "column": 18 }, "end": { "line": 29, "column": 44 } }, "id": { "type": "Identifier", "start": 836, "end": 844, "loc": { "start": { "line": 29, "column": 18 }, "end": { "line": 29, "column": 26 }, "identifierName": "waypoint" }, "name": "waypoint" }, "init": { "type": "MemberExpression", "start": 847, "end": 862, "loc": { "start": { "line": 29, "column": 29 }, "end": { "line": 29, "column": 44 } }, "object": { "type": "Identifier", "start": 847, "end": 859, "loc": { "start": { "line": 29, "column": 29 }, "end": { "line": 29, "column": 41 }, "identifierName": "waypointData" }, "name": "waypointData" }, "property": { "type": "Identifier", "start": 860, "end": 861, "loc": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": 43 }, "identifierName": "i" }, "name": "i" }, "computed": true } } ], "kind": "const" }, { "type": "IfStatement", "start": 877, "end": 958, "loc": { "start": { "line": 30, "column": 12 }, "end": { "line": 32, "column": 13 } }, "test": { "type": "UnaryExpression", "start": 881, "end": 900, "loc": { "start": { "line": 30, "column": 16 }, "end": { "line": 30, "column": 35 } }, "operator": "!", "prefix": true, "argument": { "type": "MemberExpression", "start": 882, "end": 900, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 35 } }, "object": { "type": "Identifier", "start": 882, "end": 890, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 25 }, "identifierName": "waypoint" }, "name": "waypoint" }, "property": { "type": "Identifier", "start": 891, "end": 900, "loc": { "start": { "line": 30, "column": 26 }, "end": { "line": 30, "column": 35 }, "identifierName": "deletable" }, "name": "deletable" }, "computed": false }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 902, "end": 958, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 32, "column": 13 } }, "body": [ { "type": "ExpressionStatement", "start": 921, "end": 943, "loc": { "start": { "line": 31, "column": 16 }, "end": { "line": 31, "column": 38 } }, "expression": { "type": "AssignmentExpression", "start": 921, "end": 942, "loc": { "start": { "line": 31, "column": 16 }, "end": { "line": 31, "column": 37 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 921, "end": 935, "loc": { "start": { "line": 31, "column": 16 }, "end": { "line": 31, "column": 30 } }, "object": { "type": "Identifier", "start": 921, "end": 929, "loc": { "start": { "line": 31, "column": 16 }, "end": { "line": 31, "column": 24 }, "identifierName": "waypoint" }, "name": "waypoint" }, "property": { "type": "Identifier", "start": 930, "end": 935, "loc": { "start": { "line": 31, "column": 25 }, "end": { "line": 31, "column": 30 }, "identifierName": "label" }, "name": "label" }, "computed": false }, "right": { "type": "NullLiteral", "start": 938, "end": 942, "loc": { "start": { "line": 31, "column": 33 }, "end": { "line": 31, "column": 37 } } } } } ], "directives": [] }, "alternate": null }, { "type": "ExpressionStatement", "start": 972, "end": 998, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 38 } }, "expression": { "type": "UnaryExpression", "start": 972, "end": 997, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 37 } }, "operator": "delete", "prefix": true, "argument": { "type": "MemberExpression", "start": 979, "end": 997, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 37 } }, "object": { "type": "Identifier", "start": 979, "end": 987, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 27 }, "identifierName": "waypoint" }, "name": "waypoint" }, "property": { "type": "Identifier", "start": 988, "end": 997, "loc": { "start": { "line": 33, "column": 28 }, "end": { "line": 33, "column": 37 }, "identifierName": "deletable" }, "name": "deletable" }, "computed": false }, "extra": { "parenthesizedArgument": false } } } ], "directives": [] } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * @param {import(\"../savegame_typedefs.js\").SavegameData} data\r\n ", "start": 397, "end": 478, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 18, "column": 7 } } } ] } ] }, "leadingComments": [], "trailingComments": [] } } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\r\n * @param {import(\"../savegame_typedefs.js\").SavegameData} data\r\n ", "start": 397, "end": 478, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 18, "column": 7 } } }, { "type": "CommentLine", "value": " The hub simply has an empty label", "start": 667, "end": 703, "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 26, "column": 44 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7, "end": 8, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createLogger", "start": 9, "end": 21, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 22, "end": 23, "loc": { "start": { "line": 1, "column": 22 }, "end": { "line": 1, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 24, "end": 28, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 28 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "../../core/logging.js", "start": 29, "end": 52, "loc": { "start": { "line": 1, "column": 29 }, "end": { "line": 1, "column": 52 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 52, "end": 53, "loc": { "start": { "line": 1, "column": 52 }, "end": { "line": 1, "column": 53 } } }, { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 55, "end": 61, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 62, "end": 63, "loc": { "start": { "line": 2, "column": 7 }, "end": { "line": 2, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SavegameInterface_V1003", "start": 64, "end": 87, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 32 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 88, "end": 89, "loc": { "start": { "line": 2, "column": 33 }, "end": { "line": 2, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 90, "end": 94, "loc": { "start": { "line": 2, "column": 35 }, "end": { "line": 2, "column": 39 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./1003.js", "start": 95, "end": 106, "loc": { "start": { "line": 2, "column": 40 }, "end": { "line": 2, "column": 51 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 106, "end": 107, "loc": { "start": { "line": 2, "column": 51 }, "end": { "line": 2, "column": 52 } } }, { "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": 111, "end": 116, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "schema", "start": 117, "end": 123, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 124, "end": 125, "loc": { "start": { "line": 4, "column": 13 }, "end": { "line": 4, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "require", "start": 126, "end": 133, "loc": { "start": { "line": 4, "column": 15 }, "end": { "line": 4, "column": 22 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 133, "end": 134, "loc": { "start": { "line": 4, "column": 22 }, "end": { "line": 4, "column": 23 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./1004.json", "start": 134, "end": 147, "loc": { "start": { "line": 4, "column": 23 }, "end": { "line": 4, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 147, "end": 148, "loc": { "start": { "line": 4, "column": 36 }, "end": { "line": 4, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 148, "end": 149, "loc": { "start": { "line": 4, "column": 37 }, "end": { "line": 4, "column": 38 } } }, { "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": 151, "end": 156, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "logger", "start": 157, "end": 163, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 5, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 164, "end": 165, "loc": { "start": { "line": 5, "column": 13 }, "end": { "line": 5, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createLogger", "start": 166, "end": 178, "loc": { "start": { "line": 5, "column": 15 }, "end": { "line": 5, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 178, "end": 179, "loc": { "start": { "line": 5, "column": 27 }, "end": { "line": 5, "column": 28 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "savegame_interface/1004", "start": 179, "end": 204, "loc": { "start": { "line": 5, "column": 28 }, "end": { "line": 5, "column": 53 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 204, "end": 205, "loc": { "start": { "line": 5, "column": 53 }, "end": { "line": 5, "column": 54 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 205, "end": 206, "loc": { "start": { "line": 5, "column": 54 }, "end": { "line": 5, "column": 55 } } }, { "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": 210, "end": 216, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 6 } } }, { "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": 217, "end": 222, "loc": { "start": { "line": 7, "column": 7 }, "end": { "line": 7, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SavegameInterface_V1004", "start": 223, "end": 246, "loc": { "start": { "line": 7, "column": 13 }, "end": { "line": 7, "column": 36 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 247, "end": 254, "loc": { "start": { "line": 7, "column": 37 }, "end": { "line": 7, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "SavegameInterface_V1003", "start": 255, "end": 278, "loc": { "start": { "line": 7, "column": 45 }, "end": { "line": 7, "column": 68 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 279, "end": 280, "loc": { "start": { "line": 7, "column": 69 }, "end": { "line": 7, "column": 70 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getVersion", "start": 286, "end": 296, "loc": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": 14 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 296, "end": 297, "loc": { "start": { "line": 8, "column": 14 }, "end": { "line": 8, "column": 15 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 297, "end": 298, "loc": { "start": { "line": 8, "column": 15 }, "end": { "line": 8, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 299, "end": 300, "loc": { "start": { "line": 8, "column": 17 }, "end": { "line": 8, "column": 18 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 310, "end": 316, "loc": { "start": { "line": 9, "column": 8 }, "end": { "line": 9, "column": 14 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 1004, "start": 317, "end": 321, "loc": { "start": { "line": 9, "column": 15 }, "end": { "line": 9, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 321, "end": 322, "loc": { "start": { "line": 9, "column": 19 }, "end": { "line": 9, "column": 20 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 328, "end": 329, "loc": { "start": { "line": 10, "column": 4 }, "end": { "line": 10, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getSchemaUncached", "start": 337, "end": 354, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": 21 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 354, "end": 355, "loc": { "start": { "line": 12, "column": 21 }, "end": { "line": 12, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 355, "end": 356, "loc": { "start": { "line": 12, "column": 22 }, "end": { "line": 12, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 357, "end": 358, "loc": { "start": { "line": 12, "column": 24 }, "end": { "line": 12, "column": 25 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 368, "end": 374, "loc": { "start": { "line": 13, "column": 8 }, "end": { "line": 13, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "schema", "start": 375, "end": 381, "loc": { "start": { "line": 13, "column": 15 }, "end": { "line": 13, "column": 21 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 381, "end": 382, "loc": { "start": { "line": 13, "column": 21 }, "end": { "line": 13, "column": 22 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 388, "end": 389, "loc": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * @param {import(\"../savegame_typedefs.js\").SavegameData} data\r\n ", "start": 397, "end": 478, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 18, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 484, "end": 490, "loc": { "start": { "line": 19, "column": 4 }, "end": { "line": 19, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "migrate1003to1004", "start": 491, "end": 508, "loc": { "start": { "line": 19, "column": 11 }, "end": { "line": 19, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 508, "end": 509, "loc": { "start": { "line": 19, "column": 28 }, "end": { "line": 19, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "data", "start": 509, "end": 513, "loc": { "start": { "line": 19, "column": 29 }, "end": { "line": 19, "column": 33 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 513, "end": 514, "loc": { "start": { "line": 19, "column": 33 }, "end": { "line": 19, "column": 34 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 515, "end": 516, "loc": { "start": { "line": 19, "column": 35 }, "end": { "line": 19, "column": 36 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "logger", "start": 526, "end": 532, "loc": { "start": { "line": 20, "column": 8 }, "end": { "line": 20, "column": 14 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 532, "end": 533, "loc": { "start": { "line": 20, "column": 14 }, "end": { "line": 20, "column": 15 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "log", "start": 533, "end": 536, "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 18 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 536, "end": 537, "loc": { "start": { "line": 20, "column": 18 }, "end": { "line": 20, "column": 19 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "Migrating 1003 to 1004", "start": 537, "end": 561, "loc": { "start": { "line": 20, "column": 19 }, "end": { "line": 20, "column": 43 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 561, "end": 562, "loc": { "start": { "line": 20, "column": 43 }, "end": { "line": 20, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 562, "end": 563, "loc": { "start": { "line": 20, "column": 44 }, "end": { "line": 20, "column": 45 } } }, { "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": 573, "end": 578, "loc": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dump", "start": 579, "end": 583, "loc": { "start": { "line": 21, "column": 14 }, "end": { "line": 21, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 584, "end": 585, "loc": { "start": { "line": 21, "column": 19 }, "end": { "line": 21, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "data", "start": 586, "end": 590, "loc": { "start": { "line": 21, "column": 21 }, "end": { "line": 21, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 590, "end": 591, "loc": { "start": { "line": 21, "column": 25 }, "end": { "line": 21, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dump", "start": 591, "end": 595, "loc": { "start": { "line": 21, "column": 26 }, "end": { "line": 21, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 595, "end": 596, "loc": { "start": { "line": 21, "column": 30 }, "end": { "line": 21, "column": 31 } } }, { "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": 606, "end": 608, "loc": { "start": { "line": 22, "column": 8 }, "end": { "line": 22, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 609, "end": 610, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 12 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 610, "end": 611, "loc": { "start": { "line": 22, "column": 12 }, "end": { "line": 22, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dump", "start": 611, "end": 615, "loc": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 615, "end": 616, "loc": { "start": { "line": 22, "column": 17 }, "end": { "line": 22, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 617, "end": 618, "loc": { "start": { "line": 22, "column": 19 }, "end": { "line": 22, "column": 20 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 632, "end": 638, "loc": { "start": { "line": 23, "column": 12 }, "end": { "line": 23, "column": 18 } } }, { "type": { "label": "true", "keyword": "true", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "true", "start": 639, "end": 643, "loc": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 23 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 643, "end": 644, "loc": { "start": { "line": 23, "column": 23 }, "end": { "line": 23, "column": 24 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 654, "end": 655, "loc": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": 9 } } }, { "type": "CommentLine", "value": " The hub simply has an empty label", "start": 667, "end": 703, "loc": { "start": { "line": 26, "column": 8 }, "end": { "line": 26, "column": 44 } } }, { "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": 713, "end": 718, "loc": { "start": { "line": 27, "column": 8 }, "end": { "line": 27, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypointData", "start": 719, "end": 731, "loc": { "start": { "line": 27, "column": 14 }, "end": { "line": 27, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 732, "end": 733, "loc": { "start": { "line": 27, "column": 27 }, "end": { "line": 27, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "dump", "start": 734, "end": 738, "loc": { "start": { "line": 27, "column": 29 }, "end": { "line": 27, "column": 33 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 738, "end": 739, "loc": { "start": { "line": 27, "column": 33 }, "end": { "line": 27, "column": 34 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoints", "start": 739, "end": 748, "loc": { "start": { "line": 27, "column": 34 }, "end": { "line": 27, "column": 43 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 748, "end": 749, "loc": { "start": { "line": 27, "column": 43 }, "end": { "line": 27, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoints", "start": 749, "end": 758, "loc": { "start": { "line": 27, "column": 44 }, "end": { "line": 27, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 758, "end": 759, "loc": { "start": { "line": 27, "column": 53 }, "end": { "line": 27, "column": 54 } } }, { "type": { "label": "for", "keyword": "for", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": true, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "for", "start": 769, "end": 772, "loc": { "start": { "line": 28, "column": 8 }, "end": { "line": 28, "column": 11 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 773, "end": 774, "loc": { "start": { "line": 28, "column": 12 }, "end": { "line": 28, "column": 13 } } }, { "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": 774, "end": 777, "loc": { "start": { "line": 28, "column": 13 }, "end": { "line": 28, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 778, "end": 779, "loc": { "start": { "line": 28, "column": 17 }, "end": { "line": 28, "column": 18 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 780, "end": 781, "loc": { "start": { "line": 28, "column": 19 }, "end": { "line": 28, "column": 20 } } }, { "type": { "label": "num", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": 0, "start": 782, "end": 783, "loc": { "start": { "line": 28, "column": 21 }, "end": { "line": 28, "column": 22 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 783, "end": 784, "loc": { "start": { "line": 28, "column": 22 }, "end": { "line": 28, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 785, "end": 786, "loc": { "start": { "line": 28, "column": 24 }, "end": { "line": 28, "column": 25 } } }, { "type": { "label": "", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": 7, "updateContext": null }, "value": "<", "start": 787, "end": 788, "loc": { "start": { "line": 28, "column": 26 }, "end": { "line": 28, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypointData", "start": 789, "end": 801, "loc": { "start": { "line": 28, "column": 28 }, "end": { "line": 28, "column": 40 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 801, "end": 802, "loc": { "start": { "line": 28, "column": 40 }, "end": { "line": 28, "column": 41 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "length", "start": 802, "end": 808, "loc": { "start": { "line": 28, "column": 41 }, "end": { "line": 28, "column": 47 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 808, "end": 809, "loc": { "start": { "line": 28, "column": 47 }, "end": { "line": 28, "column": 48 } } }, { "type": { "label": "++/--", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": true, "binop": null }, "value": "++", "start": 810, "end": 812, "loc": { "start": { "line": 28, "column": 49 }, "end": { "line": 28, "column": 51 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 812, "end": 813, "loc": { "start": { "line": 28, "column": 51 }, "end": { "line": 28, "column": 52 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 813, "end": 814, "loc": { "start": { "line": 28, "column": 52 }, "end": { "line": 28, "column": 53 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 815, "end": 816, "loc": { "start": { "line": 28, "column": 54 }, "end": { "line": 28, "column": 55 } } }, { "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": 830, "end": 835, "loc": { "start": { "line": 29, "column": 12 }, "end": { "line": 29, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoint", "start": 836, "end": 844, "loc": { "start": { "line": 29, "column": 18 }, "end": { "line": 29, "column": 26 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 845, "end": 846, "loc": { "start": { "line": 29, "column": 27 }, "end": { "line": 29, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypointData", "start": 847, "end": 859, "loc": { "start": { "line": 29, "column": 29 }, "end": { "line": 29, "column": 41 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 859, "end": 860, "loc": { "start": { "line": 29, "column": 41 }, "end": { "line": 29, "column": 42 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "i", "start": 860, "end": 861, "loc": { "start": { "line": 29, "column": 42 }, "end": { "line": 29, "column": 43 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 861, "end": 862, "loc": { "start": { "line": 29, "column": 43 }, "end": { "line": 29, "column": 44 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 862, "end": 863, "loc": { "start": { "line": 29, "column": 44 }, "end": { "line": 29, "column": 45 } } }, { "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": 877, "end": 879, "loc": { "start": { "line": 30, "column": 12 }, "end": { "line": 30, "column": 14 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 880, "end": 881, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 16 } } }, { "type": { "label": "prefix", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "!", "start": 881, "end": 882, "loc": { "start": { "line": 30, "column": 16 }, "end": { "line": 30, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoint", "start": 882, "end": 890, "loc": { "start": { "line": 30, "column": 17 }, "end": { "line": 30, "column": 25 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 890, "end": 891, "loc": { "start": { "line": 30, "column": 25 }, "end": { "line": 30, "column": 26 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "deletable", "start": 891, "end": 900, "loc": { "start": { "line": 30, "column": 26 }, "end": { "line": 30, "column": 35 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 900, "end": 901, "loc": { "start": { "line": 30, "column": 35 }, "end": { "line": 30, "column": 36 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 902, "end": 903, "loc": { "start": { "line": 30, "column": 37 }, "end": { "line": 30, "column": 38 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoint", "start": 921, "end": 929, "loc": { "start": { "line": 31, "column": 16 }, "end": { "line": 31, "column": 24 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 929, "end": 930, "loc": { "start": { "line": 31, "column": 24 }, "end": { "line": 31, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "label", "start": 930, "end": 935, "loc": { "start": { "line": 31, "column": 25 }, "end": { "line": 31, "column": 30 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 936, "end": 937, "loc": { "start": { "line": 31, "column": 31 }, "end": { "line": 31, "column": 32 } } }, { "type": { "label": "null", "keyword": "null", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "null", "start": 938, "end": 942, "loc": { "start": { "line": 31, "column": 33 }, "end": { "line": 31, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 942, "end": 943, "loc": { "start": { "line": 31, "column": 37 }, "end": { "line": 31, "column": 38 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 957, "end": 958, "loc": { "start": { "line": 32, "column": 12 }, "end": { "line": 32, "column": 13 } } }, { "type": { "label": "delete", "keyword": "delete", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": null, "updateContext": null }, "value": "delete", "start": 972, "end": 978, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 18 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "waypoint", "start": 979, "end": 987, "loc": { "start": { "line": 33, "column": 19 }, "end": { "line": 33, "column": 27 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 987, "end": 988, "loc": { "start": { "line": 33, "column": 27 }, "end": { "line": 33, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "deletable", "start": 988, "end": 997, "loc": { "start": { "line": 33, "column": 28 }, "end": { "line": 33, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 997, "end": 998, "loc": { "start": { "line": 33, "column": 37 }, "end": { "line": 33, "column": 38 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1008, "end": 1009, "loc": { "start": { "line": 34, "column": 8 }, "end": { "line": 34, "column": 9 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1015, "end": 1016, "loc": { "start": { "line": 35, "column": 4 }, "end": { "line": 35, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1018, "end": 1019, "loc": { "start": { "line": 36, "column": 0 }, "end": { "line": 36, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1021, "end": 1021, "loc": { "start": { "line": 37, "column": 0 }, "end": { "line": 37, "column": 0 } } } ] }