{ "type": "File", "start": 0, "end": 1583, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 76, "column": 1 } }, "program": { "type": "Program", "start": 0, "end": 1583, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 76, "column": 1 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 23, "end": 77, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 54 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 32, "end": 50, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 27 } }, "imported": { "type": "Identifier", "start": 32, "end": 50, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 27 }, "identifierName": "enumHubGoalRewards" }, "name": "enumHubGoalRewards", "leadingComments": null }, "local": { "type": "Identifier", "start": 32, "end": 50, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 27 }, "identifierName": "enumHubGoalRewards" }, "name": "enumHubGoalRewards" }, "leadingComments": null } ], "source": { "type": "StringLiteral", "start": 58, "end": 76, "loc": { "start": { "line": 2, "column": 35 }, "end": { "line": 2, "column": 53 } }, "extra": { "rawValue": "./tutorial_goals", "raw": "\"./tutorial_goals\"" }, "value": "./tutorial_goals" }, "leadingComments": [ { "type": "CommentBlock", "value": " typehints:start ", "start": 0, "end": 21, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 21 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": " typehints:end ", "start": 79, "end": 98, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } } ] }, { "type": "ImportDeclaration", "start": 102, "end": 136, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 34 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 111, "end": 119, "loc": { "start": { "line": 5, "column": 9 }, "end": { "line": 5, "column": 17 } }, "imported": { "type": "Identifier", "start": 111, "end": 119, "loc": { "start": { "line": 5, "column": 9 }, "end": { "line": 5, "column": 17 }, "identifierName": "GameRoot" }, "name": "GameRoot", "leadingComments": null }, "local": { "type": "Identifier", "start": 111, "end": 119, "loc": { "start": { "line": 5, "column": 9 }, "end": { "line": 5, "column": 17 }, "identifierName": "GameRoot" }, "name": "GameRoot" }, "leadingComments": null } ], "source": { "type": "StringLiteral", "start": 127, "end": 135, "loc": { "start": { "line": 5, "column": 25 }, "end": { "line": 5, "column": 33 } }, "extra": { "rawValue": "./root", "raw": "\"./root\"" }, "value": "./root" }, "leadingComments": [ { "type": "CommentBlock", "value": " typehints:end ", "start": 79, "end": 98, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ", "start": 140, "end": 226, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 10, "column": 27 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * required: Array\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ", "start": 230, "end": 373, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 16, "column": 24 } } }, { "type": "CommentBlock", "value": "* @typedef {Array} UpgradeTiers ", "start": 377, "end": 430, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 53 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ", "start": 434, "end": 585, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 25, "column": 24 } } } ] }, { "type": "ExportNamedDeclaration", "start": 589, "end": 1583, "loc": { "start": { "line": 27, "column": 0 }, "end": { "line": 76, "column": 1 } }, "specifiers": [], "source": null, "declaration": { "type": "ClassDeclaration", "start": 596, "end": 1583, "loc": { "start": { "line": 27, "column": 7 }, "end": { "line": 76, "column": 1 } }, "id": { "type": "Identifier", "start": 602, "end": 610, "loc": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 21 }, "identifierName": "GameMode" }, "name": "GameMode", "leadingComments": null }, "superClass": null, "body": { "type": "ClassBody", "start": 611, "end": 1583, "loc": { "start": { "line": 27, "column": 22 }, "end": { "line": 76, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 675, "end": 728, "loc": { "start": { "line": 32, "column": 4 }, "end": { "line": 34, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 675, "end": 686, "loc": { "start": { "line": 32, "column": 4 }, "end": { "line": 32, "column": 15 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 687, "end": 691, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 20 }, "identifierName": "root" }, "name": "root" } ], "body": { "type": "BlockStatement", "start": 693, "end": 728, "loc": { "start": { "line": 32, "column": 22 }, "end": { "line": 34, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 704, "end": 721, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 25 } }, "expression": { "type": "AssignmentExpression", "start": 704, "end": 720, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 24 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 704, "end": 713, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 17 } }, "object": { "type": "ThisExpression", "start": 704, "end": 708, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 12 } } }, "property": { "type": "Identifier", "start": 709, "end": 713, "loc": { "start": { "line": 33, "column": 13 }, "end": { "line": 33, "column": 17 }, "identifierName": "root" }, "name": "root" }, "computed": false }, "right": { "type": "Identifier", "start": 716, "end": 720, "loc": { "start": { "line": 33, "column": 20 }, "end": { "line": 33, "column": 24 }, "identifierName": "root" }, "name": "root" } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n *\r\n * @param {GameRoot} root\r\n ", "start": 618, "end": 669, "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 31, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 736, "end": 813, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 39, "column": 5 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 743, "end": 748, "loc": { "start": { "line": 36, "column": 11 }, "end": { "line": 36, "column": 16 }, "identifierName": "getId" }, "name": "getId" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 751, "end": 813, "loc": { "start": { "line": 36, "column": 19 }, "end": { "line": 39, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 762, "end": 771, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 17 } }, "expression": { "type": "Identifier", "start": 762, "end": 770, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 16 }, "identifierName": "abstract" }, "name": "abstract" } }, { "type": "ReturnStatement", "start": 781, "end": 806, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 33 } }, "argument": { "type": "StringLiteral", "start": 788, "end": 805, "loc": { "start": { "line": 38, "column": 15 }, "end": { "line": 38, "column": 32 } }, "extra": { "rawValue": "unknow-gamemode", "raw": "\"unknow-gamemode\"" }, "value": "unknow-gamemode" } } ], "directives": [], "trailingComments": null }, "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Should return all available upgrades\r\n * @returns {Object}\r\n ", "start": 821, "end": 926, "loc": { "start": { "line": 41, "column": 4 }, "end": { "line": 44, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 932, "end": 995, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 48, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 932, "end": 943, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 15 }, "identifierName": "getUpgrades" }, "name": "getUpgrades", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 946, "end": 995, "loc": { "start": { "line": 45, "column": 18 }, "end": { "line": 48, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 957, "end": 966, "loc": { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": 17 } }, "expression": { "type": "Identifier", "start": 957, "end": 965, "loc": { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": 16 }, "identifierName": "abstract" }, "name": "abstract" } }, { "type": "ReturnStatement", "start": 976, "end": 988, "loc": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": 20 } }, "argument": { "type": "NullLiteral", "start": 983, "end": 987, "loc": { "start": { "line": 47, "column": 15 }, "end": { "line": 47, "column": 19 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Should return all available upgrades\r\n * @returns {Object}\r\n ", "start": 821, "end": 926, "loc": { "start": { "line": 41, "column": 4 }, "end": { "line": 44, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ", "start": 1003, "end": 1081, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 53, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 1087, "end": 1159, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 57, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1087, "end": 1107, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 24 }, "identifierName": "getBlueprintShapeKey" }, "name": "getBlueprintShapeKey", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 1110, "end": 1159, "loc": { "start": { "line": 54, "column": 27 }, "end": { "line": 57, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 1121, "end": 1130, "loc": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": 17 } }, "expression": { "type": "Identifier", "start": 1121, "end": 1129, "loc": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": 16 }, "identifierName": "abstract" }, "name": "abstract" } }, { "type": "ReturnStatement", "start": 1140, "end": 1152, "loc": { "start": { "line": 56, "column": 8 }, "end": { "line": 56, "column": 20 } }, "argument": { "type": "NullLiteral", "start": 1147, "end": 1151, "loc": { "start": { "line": 56, "column": 15 }, "end": { "line": 56, "column": 19 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ", "start": 1003, "end": 1081, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 53, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array}\r\n ", "start": 1167, "end": 1285, "loc": { "start": { "line": 59, "column": 4 }, "end": { "line": 62, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 1291, "end": 1362, "loc": { "start": { "line": 63, "column": 4 }, "end": { "line": 66, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1291, "end": 1310, "loc": { "start": { "line": 63, "column": 4 }, "end": { "line": 63, "column": 23 }, "identifierName": "getLevelDefinitions" }, "name": "getLevelDefinitions", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 1313, "end": 1362, "loc": { "start": { "line": 63, "column": 26 }, "end": { "line": 66, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 1324, "end": 1333, "loc": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": 17 } }, "expression": { "type": "Identifier", "start": 1324, "end": 1332, "loc": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": 16 }, "identifierName": "abstract" }, "name": "abstract" } }, { "type": "ReturnStatement", "start": 1343, "end": 1355, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 20 } }, "argument": { "type": "NullLiteral", "start": 1350, "end": 1354, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 19 } } } } ], "directives": [], "trailingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array}\r\n ", "start": 1167, "end": 1285, "loc": { "start": { "line": 59, "column": 4 }, "end": { "line": 62, "column": 7 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ", "start": 1370, "end": 1519, "loc": { "start": { "line": 68, "column": 4 }, "end": { "line": 72, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 1525, "end": 1580, "loc": { "start": { "line": 73, "column": 4 }, "end": { "line": 75, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 1525, "end": 1547, "loc": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": 26 }, "identifierName": "getIsFreeplayAvailable" }, "name": "getIsFreeplayAvailable", "leadingComments": null }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 1550, "end": 1580, "loc": { "start": { "line": 73, "column": 29 }, "end": { "line": 75, "column": 5 } }, "body": [ { "type": "ReturnStatement", "start": 1561, "end": 1573, "loc": { "start": { "line": 74, "column": 8 }, "end": { "line": 74, "column": 20 } }, "argument": { "type": "BooleanLiteral", "start": 1568, "end": 1572, "loc": { "start": { "line": 74, "column": 15 }, "end": { "line": 74, "column": 19 } }, "value": true } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ", "start": 1370, "end": 1519, "loc": { "start": { "line": 68, "column": 4 }, "end": { "line": 72, "column": 7 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ", "start": 140, "end": 226, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 10, "column": 27 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * required: Array\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ", "start": 230, "end": 373, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 16, "column": 24 } } }, { "type": "CommentBlock", "value": "* @typedef {Array} UpgradeTiers ", "start": 377, "end": 430, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 53 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ", "start": 434, "end": 585, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 25, "column": 24 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ", "start": 140, "end": 226, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 10, "column": 27 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * required: Array\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ", "start": 230, "end": 373, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 16, "column": 24 } } }, { "type": "CommentBlock", "value": "* @typedef {Array} UpgradeTiers ", "start": 377, "end": 430, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 53 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ", "start": 434, "end": 585, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 25, "column": 24 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": " typehints:start ", "start": 0, "end": 21, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 21 } } }, { "type": "CommentBlock", "value": " typehints:end ", "start": 79, "end": 98, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ", "start": 140, "end": 226, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 10, "column": 27 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * required: Array\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ", "start": 230, "end": 373, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 16, "column": 24 } } }, { "type": "CommentBlock", "value": "* @typedef {Array} UpgradeTiers ", "start": 377, "end": 430, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 53 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ", "start": 434, "end": 585, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 25, "column": 24 } } }, { "type": "CommentBlock", "value": "*\r\n *\r\n * @param {GameRoot} root\r\n ", "start": 618, "end": 669, "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 31, "column": 7 } } }, { "type": "CommentBlock", "value": "*\r\n * Should return all available upgrades\r\n * @returns {Object}\r\n ", "start": 821, "end": 926, "loc": { "start": { "line": 41, "column": 4 }, "end": { "line": 44, "column": 7 } } }, { "type": "CommentBlock", "value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ", "start": 1003, "end": 1081, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 53, "column": 7 } } }, { "type": "CommentBlock", "value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array}\r\n ", "start": 1167, "end": 1285, "loc": { "start": { "line": 59, "column": 4 }, "end": { "line": 62, "column": 7 } } }, { "type": "CommentBlock", "value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ", "start": 1370, "end": 1519, "loc": { "start": { "line": 68, "column": 4 }, "end": { "line": 72, "column": 7 } } } ], "tokens": [ { "type": "CommentBlock", "value": " typehints:start ", "start": 0, "end": 21, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 21 } } }, { "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": 23, "end": 29, "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": 30, "end": 31, "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": "enumHubGoalRewards", "start": 32, "end": 50, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 27 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 51, "end": 52, "loc": { "start": { "line": 2, "column": 28 }, "end": { "line": 2, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 53, "end": 57, "loc": { "start": { "line": 2, "column": 30 }, "end": { "line": 2, "column": 34 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./tutorial_goals", "start": 58, "end": 76, "loc": { "start": { "line": 2, "column": 35 }, "end": { "line": 2, "column": 53 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 76, "end": 77, "loc": { "start": { "line": 2, "column": 53 }, "end": { "line": 2, "column": 54 } } }, { "type": "CommentBlock", "value": " typehints:end ", "start": 79, "end": 98, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 3, "column": 19 } } }, { "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": 102, "end": 108, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 109, "end": 110, "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "GameRoot", "start": 111, "end": 119, "loc": { "start": { "line": 5, "column": 9 }, "end": { "line": 5, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 120, "end": 121, "loc": { "start": { "line": 5, "column": 18 }, "end": { "line": 5, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 122, "end": 126, "loc": { "start": { "line": 5, "column": 20 }, "end": { "line": 5, "column": 24 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./root", "start": 127, "end": 135, "loc": { "start": { "line": 5, "column": 25 }, "end": { "line": 5, "column": 33 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 135, "end": 136, "loc": { "start": { "line": 5, "column": 33 }, "end": { "line": 5, "column": 34 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * amount: number\r\n * }} UpgradeRequirement ", "start": 140, "end": 226, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 10, "column": 27 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * required: Array\r\n * improvement?: number,\r\n * excludePrevious?: boolean\r\n * }} TierRequirement ", "start": 230, "end": 373, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 16, "column": 24 } } }, { "type": "CommentBlock", "value": "* @typedef {Array} UpgradeTiers ", "start": 377, "end": 430, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 53 } } }, { "type": "CommentBlock", "value": "* @typedef {{\r\n * shape: string,\r\n * required: number,\r\n * reward: enumHubGoalRewards,\r\n * throughputOnly?: boolean\r\n * }} LevelDefinition ", "start": 434, "end": 585, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 25, "column": 24 } } }, { "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": 589, "end": 595, "loc": { "start": { "line": 27, "column": 0 }, "end": { "line": 27, "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": 596, "end": 601, "loc": { "start": { "line": 27, "column": 7 }, "end": { "line": 27, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "GameMode", "start": 602, "end": 610, "loc": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 21 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 611, "end": 612, "loc": { "start": { "line": 27, "column": 22 }, "end": { "line": 27, "column": 23 } } }, { "type": "CommentBlock", "value": "*\r\n *\r\n * @param {GameRoot} root\r\n ", "start": 618, "end": 669, "loc": { "start": { "line": 28, "column": 4 }, "end": { "line": 31, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 675, "end": 686, "loc": { "start": { "line": 32, "column": 4 }, "end": { "line": 32, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 686, "end": 687, "loc": { "start": { "line": 32, "column": 15 }, "end": { "line": 32, "column": 16 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "root", "start": 687, "end": 691, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 691, "end": 692, "loc": { "start": { "line": 32, "column": 20 }, "end": { "line": 32, "column": 21 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 693, "end": 694, "loc": { "start": { "line": 32, "column": 22 }, "end": { "line": 32, "column": 23 } } }, { "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": 704, "end": 708, "loc": { "start": { "line": 33, "column": 8 }, "end": { "line": 33, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 708, "end": 709, "loc": { "start": { "line": 33, "column": 12 }, "end": { "line": 33, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "root", "start": 709, "end": 713, "loc": { "start": { "line": 33, "column": 13 }, "end": { "line": 33, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 714, "end": 715, "loc": { "start": { "line": 33, "column": 18 }, "end": { "line": 33, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "root", "start": 716, "end": 720, "loc": { "start": { "line": 33, "column": 20 }, "end": { "line": 33, "column": 24 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 720, "end": 721, "loc": { "start": { "line": 33, "column": 24 }, "end": { "line": 33, "column": 25 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 727, "end": 728, "loc": { "start": { "line": 34, "column": 4 }, "end": { "line": 34, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 736, "end": 742, "loc": { "start": { "line": 36, "column": 4 }, "end": { "line": 36, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getId", "start": 743, "end": 748, "loc": { "start": { "line": 36, "column": 11 }, "end": { "line": 36, "column": 16 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 748, "end": 749, "loc": { "start": { "line": 36, "column": 16 }, "end": { "line": 36, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 749, "end": 750, "loc": { "start": { "line": 36, "column": 17 }, "end": { "line": 36, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 751, "end": 752, "loc": { "start": { "line": 36, "column": 19 }, "end": { "line": 36, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "abstract", "start": 762, "end": 770, "loc": { "start": { "line": 37, "column": 8 }, "end": { "line": 37, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 770, "end": 771, "loc": { "start": { "line": 37, "column": 16 }, "end": { "line": 37, "column": 17 } } }, { "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": 781, "end": 787, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 14 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "unknow-gamemode", "start": 788, "end": 805, "loc": { "start": { "line": 38, "column": 15 }, "end": { "line": 38, "column": 32 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 805, "end": 806, "loc": { "start": { "line": 38, "column": 32 }, "end": { "line": 38, "column": 33 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 812, "end": 813, "loc": { "start": { "line": 39, "column": 4 }, "end": { "line": 39, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * Should return all available upgrades\r\n * @returns {Object}\r\n ", "start": 821, "end": 926, "loc": { "start": { "line": 41, "column": 4 }, "end": { "line": 44, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getUpgrades", "start": 932, "end": 943, "loc": { "start": { "line": 45, "column": 4 }, "end": { "line": 45, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 943, "end": 944, "loc": { "start": { "line": 45, "column": 15 }, "end": { "line": 45, "column": 16 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 944, "end": 945, "loc": { "start": { "line": 45, "column": 16 }, "end": { "line": 45, "column": 17 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 946, "end": 947, "loc": { "start": { "line": 45, "column": 18 }, "end": { "line": 45, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "abstract", "start": 957, "end": 965, "loc": { "start": { "line": 46, "column": 8 }, "end": { "line": 46, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 965, "end": 966, "loc": { "start": { "line": 46, "column": 16 }, "end": { "line": 46, "column": 17 } } }, { "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": 976, "end": 982, "loc": { "start": { "line": 47, "column": 8 }, "end": { "line": 47, "column": 14 } } }, { "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": 983, "end": 987, "loc": { "start": { "line": 47, "column": 15 }, "end": { "line": 47, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 987, "end": 988, "loc": { "start": { "line": 47, "column": 19 }, "end": { "line": 47, "column": 20 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 994, "end": 995, "loc": { "start": { "line": 48, "column": 4 }, "end": { "line": 48, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * Returns the blueprint shape key\r\n * @returns {string}\r\n ", "start": 1003, "end": 1081, "loc": { "start": { "line": 50, "column": 4 }, "end": { "line": 53, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getBlueprintShapeKey", "start": 1087, "end": 1107, "loc": { "start": { "line": 54, "column": 4 }, "end": { "line": 54, "column": 24 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1107, "end": 1108, "loc": { "start": { "line": 54, "column": 24 }, "end": { "line": 54, "column": 25 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1108, "end": 1109, "loc": { "start": { "line": 54, "column": 25 }, "end": { "line": 54, "column": 26 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1110, "end": 1111, "loc": { "start": { "line": 54, "column": 27 }, "end": { "line": 54, "column": 28 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "abstract", "start": 1121, "end": 1129, "loc": { "start": { "line": 55, "column": 8 }, "end": { "line": 55, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1129, "end": 1130, "loc": { "start": { "line": 55, "column": 16 }, "end": { "line": 55, "column": 17 } } }, { "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": 1140, "end": 1146, "loc": { "start": { "line": 56, "column": 8 }, "end": { "line": 56, "column": 14 } } }, { "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": 1147, "end": 1151, "loc": { "start": { "line": 56, "column": 15 }, "end": { "line": 56, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1151, "end": 1152, "loc": { "start": { "line": 56, "column": 19 }, "end": { "line": 56, "column": 20 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1158, "end": 1159, "loc": { "start": { "line": 57, "column": 4 }, "end": { "line": 57, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * Returns the goals for all levels including their reward\r\n * @returns {Array}\r\n ", "start": 1167, "end": 1285, "loc": { "start": { "line": 59, "column": 4 }, "end": { "line": 62, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getLevelDefinitions", "start": 1291, "end": 1310, "loc": { "start": { "line": 63, "column": 4 }, "end": { "line": 63, "column": 23 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1310, "end": 1311, "loc": { "start": { "line": 63, "column": 23 }, "end": { "line": 63, "column": 24 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1311, "end": 1312, "loc": { "start": { "line": 63, "column": 24 }, "end": { "line": 63, "column": 25 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1313, "end": 1314, "loc": { "start": { "line": 63, "column": 26 }, "end": { "line": 63, "column": 27 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "abstract", "start": 1324, "end": 1332, "loc": { "start": { "line": 64, "column": 8 }, "end": { "line": 64, "column": 16 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1332, "end": 1333, "loc": { "start": { "line": 64, "column": 16 }, "end": { "line": 64, "column": 17 } } }, { "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": 1343, "end": 1349, "loc": { "start": { "line": 65, "column": 8 }, "end": { "line": 65, "column": 14 } } }, { "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": 1350, "end": 1354, "loc": { "start": { "line": 65, "column": 15 }, "end": { "line": 65, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1354, "end": 1355, "loc": { "start": { "line": 65, "column": 19 }, "end": { "line": 65, "column": 20 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1361, "end": 1362, "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 66, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * Should return whether free play is available or if the game stops\r\n * after the predefined levels\r\n * @returns {boolean}\r\n ", "start": 1370, "end": 1519, "loc": { "start": { "line": 68, "column": 4 }, "end": { "line": 72, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getIsFreeplayAvailable", "start": 1525, "end": 1547, "loc": { "start": { "line": 73, "column": 4 }, "end": { "line": 73, "column": 26 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1547, "end": 1548, "loc": { "start": { "line": 73, "column": 26 }, "end": { "line": 73, "column": 27 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1548, "end": 1549, "loc": { "start": { "line": 73, "column": 27 }, "end": { "line": 73, "column": 28 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1550, "end": 1551, "loc": { "start": { "line": 73, "column": 29 }, "end": { "line": 73, "column": 30 } } }, { "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": 1561, "end": 1567, "loc": { "start": { "line": 74, "column": 8 }, "end": { "line": 74, "column": 14 } } }, { "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": 1568, "end": 1572, "loc": { "start": { "line": 74, "column": 15 }, "end": { "line": 74, "column": 19 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1572, "end": 1573, "loc": { "start": { "line": 74, "column": 19 }, "end": { "line": 74, "column": 20 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1579, "end": 1580, "loc": { "start": { "line": 75, "column": 4 }, "end": { "line": 75, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1582, "end": 1583, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 76, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1583, "end": 1583, "loc": { "start": { "line": 76, "column": 1 }, "end": { "line": 76, "column": 1 } } } ] }