{ "type": "File", "start": 0, "end": 918, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 35, "column": 13 } }, "program": { "type": "Program", "start": 0, "end": 918, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 35, "column": 13 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 16, "end": 57, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 41 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 25, "end": 37, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 21 } }, "imported": { "type": "Identifier", "start": 25, "end": 37, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 21 }, "identifierName": "createLogger" }, "name": "createLogger", "leadingComments": null }, "local": { "type": "Identifier", "start": 25, "end": 37, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 21 }, "identifierName": "createLogger" }, "name": "createLogger" }, "leadingComments": null } ], "source": { "type": "StringLiteral", "start": 45, "end": 56, "loc": { "start": { "line": 2, "column": 29 }, "end": { "line": 2, "column": 40 } }, "extra": { "rawValue": "./logging", "raw": "\"./logging\"" }, "value": "./logging" }, "leadingComments": [ { "type": "CommentLine", "value": " @ts-nocheck", "start": 0, "end": 14, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 14 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Logger for assert function\r\n ", "start": 61, "end": 100, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } } ] }, { "type": "VariableDeclaration", "start": 102, "end": 140, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 38 } }, "declarations": [ { "type": "VariableDeclarator", "start": 108, "end": 139, "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 37 } }, "id": { "type": "Identifier", "start": 108, "end": 114, "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 12 }, "identifierName": "logger" }, "name": "logger", "leadingComments": null }, "init": { "type": "CallExpression", "start": 117, "end": 139, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 37 } }, "callee": { "type": "Identifier", "start": 117, "end": 129, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 27 }, "identifierName": "createLogger" }, "name": "createLogger" }, "arguments": [ { "type": "StringLiteral", "start": 130, "end": 138, "loc": { "start": { "line": 7, "column": 28 }, "end": { "line": 7, "column": 36 } }, "extra": { "rawValue": "assert", "raw": "\"assert\"" }, "value": "assert" } ] }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Logger for assert function\r\n ", "start": 61, "end": 100, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Is assertion error shown\r\n ", "start": 144, "end": 181, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 11, "column": 3 } } } ] }, { "type": "VariableDeclaration", "start": 183, "end": 215, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 12, "column": 32 } }, "declarations": [ { "type": "VariableDeclarator", "start": 187, "end": 214, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": 31 } }, "id": { "type": "Identifier", "start": 187, "end": 206, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": 23 }, "identifierName": "assertionErrorShown" }, "name": "assertionErrorShown", "leadingComments": null }, "init": { "type": "BooleanLiteral", "start": 209, "end": 214, "loc": { "start": { "line": 12, "column": 26 }, "end": { "line": 12, "column": 31 } }, "value": false }, "leadingComments": null } ], "kind": "let", "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Is assertion error shown\r\n ", "start": 144, "end": 181, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 11, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Adds the assert function to the window\r\n ", "start": 219, "end": 270, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 16, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 272, "end": 901, "loc": { "start": { "line": 17, "column": 0 }, "end": { "line": 33, "column": 1 } }, "id": { "type": "Identifier", "start": 281, "end": 291, "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 19 }, "identifierName": "initAssert" }, "name": "initAssert", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 294, "end": 901, "loc": { "start": { "line": 17, "column": 22 }, "end": { "line": 33, "column": 1 } }, "body": [ { "type": "ExpressionStatement", "start": 442, "end": 898, "loc": { "start": { "line": 23, "column": 4 }, "end": { "line": 32, "column": 6 } }, "expression": { "type": "AssignmentExpression", "start": 442, "end": 897, "loc": { "start": { "line": 23, "column": 4 }, "end": { "line": 32, "column": 5 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 442, "end": 455, "loc": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": 17 } }, "object": { "type": "Identifier", "start": 442, "end": 448, "loc": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": 10 }, "identifierName": "window" }, "name": "window", "leadingComments": null }, "property": { "type": "Identifier", "start": 449, "end": 455, "loc": { "start": { "line": 23, "column": 11 }, "end": { "line": 23, "column": 17 }, "identifierName": "assert" }, "name": "assert" }, "computed": false, "leadingComments": null }, "right": { "type": "FunctionExpression", "start": 458, "end": 897, "loc": { "start": { "line": 23, "column": 20 }, "end": { "line": 32, "column": 5 } }, "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 467, "end": 476, "loc": { "start": { "line": 23, "column": 29 }, "end": { "line": 23, "column": 38 }, "identifierName": "condition" }, "name": "condition" }, { "type": "RestElement", "start": 478, "end": 495, "loc": { "start": { "line": 23, "column": 40 }, "end": { "line": 23, "column": 57 } }, "argument": { "type": "Identifier", "start": 481, "end": 495, "loc": { "start": { "line": 23, "column": 43 }, "end": { "line": 23, "column": 57 }, "identifierName": "failureMessage" }, "name": "failureMessage" } } ], "body": { "type": "BlockStatement", "start": 497, "end": 897, "loc": { "start": { "line": 23, "column": 59 }, "end": { "line": 32, "column": 5 } }, "body": [ { "type": "IfStatement", "start": 508, "end": 890, "loc": { "start": { "line": 24, "column": 8 }, "end": { "line": 31, "column": 9 } }, "test": { "type": "UnaryExpression", "start": 512, "end": 522, "loc": { "start": { "line": 24, "column": 12 }, "end": { "line": 24, "column": 22 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 513, "end": 522, "loc": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 22 }, "identifierName": "condition" }, "name": "condition" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 524, "end": 890, "loc": { "start": { "line": 24, "column": 24 }, "end": { "line": 31, "column": 9 } }, "body": [ { "type": "ExpressionStatement", "start": 539, "end": 592, "loc": { "start": { "line": 25, "column": 12 }, "end": { "line": 25, "column": 65 } }, "expression": { "type": "CallExpression", "start": 539, "end": 591, "loc": { "start": { "line": 25, "column": 12 }, "end": { "line": 25, "column": 64 } }, "callee": { "type": "MemberExpression", "start": 539, "end": 551, "loc": { "start": { "line": 25, "column": 12 }, "end": { "line": 25, "column": 24 } }, "object": { "type": "Identifier", "start": 539, "end": 545, "loc": { "start": { "line": 25, "column": 12 }, "end": { "line": 25, "column": 18 }, "identifierName": "logger" }, "name": "logger" }, "property": { "type": "Identifier", "start": 546, "end": 551, "loc": { "start": { "line": 25, "column": 19 }, "end": { "line": 25, "column": 24 }, "identifierName": "error" }, "name": "error" }, "computed": false }, "arguments": [ { "type": "StringLiteral", "start": 552, "end": 571, "loc": { "start": { "line": 25, "column": 25 }, "end": { "line": 25, "column": 44 } }, "extra": { "rawValue": "assertion failed:", "raw": "\"assertion failed:\"" }, "value": "assertion failed:" }, { "type": "SpreadElement", "start": 573, "end": 590, "loc": { "start": { "line": 25, "column": 46 }, "end": { "line": 25, "column": 63 } }, "argument": { "type": "Identifier", "start": 576, "end": 590, "loc": { "start": { "line": 25, "column": 49 }, "end": { "line": 25, "column": 63 }, "identifierName": "failureMessage" }, "name": "failureMessage" } } ] } }, { "type": "IfStatement", "start": 606, "end": 802, "loc": { "start": { "line": 26, "column": 12 }, "end": { "line": 29, "column": 13 } }, "test": { "type": "UnaryExpression", "start": 610, "end": 630, "loc": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": 36 } }, "operator": "!", "prefix": true, "argument": { "type": "Identifier", "start": 611, "end": 630, "loc": { "start": { "line": 26, "column": 17 }, "end": { "line": 26, "column": 36 }, "identifierName": "assertionErrorShown" }, "name": "assertionErrorShown" }, "extra": { "parenthesizedArgument": false } }, "consequent": { "type": "BlockStatement", "start": 632, "end": 802, "loc": { "start": { "line": 26, "column": 38 }, "end": { "line": 29, "column": 13 } }, "body": [ { "type": "ExpressionStatement", "start": 760, "end": 787, "loc": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": 43 } }, "expression": { "type": "AssignmentExpression", "start": 760, "end": 786, "loc": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": 42 } }, "operator": "=", "left": { "type": "Identifier", "start": 760, "end": 779, "loc": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": 35 }, "identifierName": "assertionErrorShown" }, "name": "assertionErrorShown", "leadingComments": null }, "right": { "type": "BooleanLiteral", "start": 782, "end": 786, "loc": { "start": { "line": 28, "column": 38 }, "end": { "line": 28, "column": 42 } }, "value": true }, "leadingComments": null }, "leadingComments": [ { "type": "CommentLine", "value": " alert(\"Assertion failed (the game will try to continue to run): \\n\\n\" + failureMessage);", "start": 651, "end": 742, "loc": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 107 } } } ] } ], "directives": [] }, "alternate": null }, { "type": "ThrowStatement", "start": 816, "end": 879, "loc": { "start": { "line": 30, "column": 12 }, "end": { "line": 30, "column": 75 } }, "argument": { "type": "NewExpression", "start": 822, "end": 878, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 74 } }, "callee": { "type": "Identifier", "start": 826, "end": 831, "loc": { "start": { "line": 30, "column": 22 }, "end": { "line": 30, "column": 27 }, "identifierName": "Error" }, "name": "Error" }, "arguments": [ { "type": "BinaryExpression", "start": 832, "end": 877, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 73 } }, "left": { "type": "StringLiteral", "start": 832, "end": 850, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 46 } }, "extra": { "rawValue": "AssertionError: ", "raw": "\"AssertionError: \"" }, "value": "AssertionError: " }, "operator": "+", "right": { "type": "CallExpression", "start": 853, "end": 877, "loc": { "start": { "line": 30, "column": 49 }, "end": { "line": 30, "column": 73 } }, "callee": { "type": "MemberExpression", "start": 853, "end": 872, "loc": { "start": { "line": 30, "column": 49 }, "end": { "line": 30, "column": 68 } }, "object": { "type": "Identifier", "start": 853, "end": 867, "loc": { "start": { "line": 30, "column": 49 }, "end": { "line": 30, "column": 63 }, "identifierName": "failureMessage" }, "name": "failureMessage" }, "property": { "type": "Identifier", "start": 868, "end": 872, "loc": { "start": { "line": 30, "column": 64 }, "end": { "line": 30, "column": 68 }, "identifierName": "join" }, "name": "join" }, "computed": false }, "arguments": [ { "type": "StringLiteral", "start": 873, "end": 876, "loc": { "start": { "line": 30, "column": 69 }, "end": { "line": 30, "column": 72 } }, "extra": { "rawValue": " ", "raw": "\" \"" }, "value": " " } ] } } ] } } ], "directives": [] }, "alternate": null } ], "directives": [] } }, "leadingComments": null }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Expects a given condition to be true\r\n * @param {Boolean} condition\r\n * @param {...String} failureMessage\r\n ", "start": 301, "end": 436, "loc": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": 7 } } } ] } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Adds the assert function to the window\r\n ", "start": 219, "end": 270, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 16, "column": 3 } } } ] }, { "type": "ExpressionStatement", "start": 905, "end": 918, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 35, "column": 13 } }, "expression": { "type": "CallExpression", "start": 905, "end": 917, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 35, "column": 12 } }, "callee": { "type": "Identifier", "start": 905, "end": 915, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 35, "column": 10 }, "identifierName": "initAssert" }, "name": "initAssert" }, "arguments": [] } } ], "directives": [] }, "comments": [ { "type": "CommentLine", "value": " @ts-nocheck", "start": 0, "end": 14, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 14 } } }, { "type": "CommentBlock", "value": "*\r\n * Logger for assert function\r\n ", "start": 61, "end": 100, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "type": "CommentBlock", "value": "*\r\n * Is assertion error shown\r\n ", "start": 144, "end": 181, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 11, "column": 3 } } }, { "type": "CommentBlock", "value": "*\r\n * Adds the assert function to the window\r\n ", "start": 219, "end": 270, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 16, "column": 3 } } }, { "type": "CommentBlock", "value": "*\r\n * Expects a given condition to be true\r\n * @param {Boolean} condition\r\n * @param {...String} failureMessage\r\n ", "start": 301, "end": 436, "loc": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": 7 } } }, { "type": "CommentLine", "value": " alert(\"Assertion failed (the game will try to continue to run): \\n\\n\" + failureMessage);", "start": 651, "end": 742, "loc": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 107 } } } ], "tokens": [ { "type": "CommentLine", "value": " @ts-nocheck", "start": 0, "end": 14, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 14 } } }, { "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": 16, "end": 22, "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": 23, "end": 24, "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": "createLogger", "start": 25, "end": 37, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 21 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 38, "end": 39, "loc": { "start": { "line": 2, "column": 22 }, "end": { "line": 2, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 40, "end": 44, "loc": { "start": { "line": 2, "column": 24 }, "end": { "line": 2, "column": 28 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "./logging", "start": 45, "end": 56, "loc": { "start": { "line": 2, "column": 29 }, "end": { "line": 2, "column": 40 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 56, "end": 57, "loc": { "start": { "line": 2, "column": 40 }, "end": { "line": 2, "column": 41 } } }, { "type": "CommentBlock", "value": "*\r\n * Logger for assert function\r\n ", "start": 61, "end": 100, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 6, "column": 3 } } }, { "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": 102, "end": 107, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 5 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "logger", "start": 108, "end": 114, "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 12 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 115, "end": 116, "loc": { "start": { "line": 7, "column": 13 }, "end": { "line": 7, "column": 14 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "createLogger", "start": 117, "end": 129, "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 7, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 129, "end": 130, "loc": { "start": { "line": 7, "column": 27 }, "end": { "line": 7, "column": 28 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "assert", "start": 130, "end": 138, "loc": { "start": { "line": 7, "column": 28 }, "end": { "line": 7, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 138, "end": 139, "loc": { "start": { "line": 7, "column": 36 }, "end": { "line": 7, "column": 37 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 139, "end": 140, "loc": { "start": { "line": 7, "column": 37 }, "end": { "line": 7, "column": 38 } } }, { "type": "CommentBlock", "value": "*\r\n * Is assertion error shown\r\n ", "start": 144, "end": 181, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 11, "column": 3 } } }, { "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": 183, "end": 186, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 12, "column": 3 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "assertionErrorShown", "start": 187, "end": 206, "loc": { "start": { "line": 12, "column": 4 }, "end": { "line": 12, "column": 23 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 207, "end": 208, "loc": { "start": { "line": 12, "column": 24 }, "end": { "line": 12, "column": 25 } } }, { "type": { "label": "false", "keyword": "false", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "false", "start": 209, "end": 214, "loc": { "start": { "line": 12, "column": 26 }, "end": { "line": 12, "column": 31 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 214, "end": 215, "loc": { "start": { "line": 12, "column": 31 }, "end": { "line": 12, "column": 32 } } }, { "type": "CommentBlock", "value": "*\r\n * Adds the assert function to the window\r\n ", "start": 219, "end": 270, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 16, "column": 3 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 272, "end": 280, "loc": { "start": { "line": 17, "column": 0 }, "end": { "line": 17, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "initAssert", "start": 281, "end": 291, "loc": { "start": { "line": 17, "column": 9 }, "end": { "line": 17, "column": 19 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 291, "end": 292, "loc": { "start": { "line": 17, "column": 19 }, "end": { "line": 17, "column": 20 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 292, "end": 293, "loc": { "start": { "line": 17, "column": 20 }, "end": { "line": 17, "column": 21 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 294, "end": 295, "loc": { "start": { "line": 17, "column": 22 }, "end": { "line": 17, "column": 23 } } }, { "type": "CommentBlock", "value": "*\r\n * Expects a given condition to be true\r\n * @param {Boolean} condition\r\n * @param {...String} failureMessage\r\n ", "start": 301, "end": 436, "loc": { "start": { "line": 18, "column": 4 }, "end": { "line": 22, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "window", "start": 442, "end": 448, "loc": { "start": { "line": 23, "column": 4 }, "end": { "line": 23, "column": 10 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 448, "end": 449, "loc": { "start": { "line": 23, "column": 10 }, "end": { "line": 23, "column": 11 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "assert", "start": 449, "end": 455, "loc": { "start": { "line": 23, "column": 11 }, "end": { "line": 23, "column": 17 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 456, "end": 457, "loc": { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 19 } } }, { "type": { "label": "function", "keyword": "function", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "function", "start": 458, "end": 466, "loc": { "start": { "line": 23, "column": 20 }, "end": { "line": 23, "column": 28 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 466, "end": 467, "loc": { "start": { "line": 23, "column": 28 }, "end": { "line": 23, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "condition", "start": 467, "end": 476, "loc": { "start": { "line": 23, "column": 29 }, "end": { "line": 23, "column": 38 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 476, "end": 477, "loc": { "start": { "line": 23, "column": 38 }, "end": { "line": 23, "column": 39 } } }, { "type": { "label": "...", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 478, "end": 481, "loc": { "start": { "line": 23, "column": 40 }, "end": { "line": 23, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "failureMessage", "start": 481, "end": 495, "loc": { "start": { "line": 23, "column": 43 }, "end": { "line": 23, "column": 57 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 495, "end": 496, "loc": { "start": { "line": 23, "column": 57 }, "end": { "line": 23, "column": 58 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 497, "end": 498, "loc": { "start": { "line": 23, "column": 59 }, "end": { "line": 23, "column": 60 } } }, { "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": 508, "end": 510, "loc": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 511, "end": 512, "loc": { "start": { "line": 24, "column": 11 }, "end": { "line": 24, "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": 512, "end": 513, "loc": { "start": { "line": 24, "column": 12 }, "end": { "line": 24, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "condition", "start": 513, "end": 522, "loc": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 22 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 522, "end": 523, "loc": { "start": { "line": 24, "column": 22 }, "end": { "line": 24, "column": 23 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 524, "end": 525, "loc": { "start": { "line": 24, "column": 24 }, "end": { "line": 24, "column": 25 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "logger", "start": 539, "end": 545, "loc": { "start": { "line": 25, "column": 12 }, "end": { "line": 25, "column": 18 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 545, "end": 546, "loc": { "start": { "line": 25, "column": 18 }, "end": { "line": 25, "column": 19 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "error", "start": 546, "end": 551, "loc": { "start": { "line": 25, "column": 19 }, "end": { "line": 25, "column": 24 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 551, "end": 552, "loc": { "start": { "line": 25, "column": 24 }, "end": { "line": 25, "column": 25 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "assertion failed:", "start": 552, "end": 571, "loc": { "start": { "line": 25, "column": 25 }, "end": { "line": 25, "column": 44 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 571, "end": 572, "loc": { "start": { "line": 25, "column": 44 }, "end": { "line": 25, "column": 45 } } }, { "type": { "label": "...", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 573, "end": 576, "loc": { "start": { "line": 25, "column": 46 }, "end": { "line": 25, "column": 49 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "failureMessage", "start": 576, "end": 590, "loc": { "start": { "line": 25, "column": 49 }, "end": { "line": 25, "column": 63 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 590, "end": 591, "loc": { "start": { "line": 25, "column": 63 }, "end": { "line": 25, "column": 64 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 591, "end": 592, "loc": { "start": { "line": 25, "column": 64 }, "end": { "line": 25, "column": 65 } } }, { "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": 26, "column": 12 }, "end": { "line": 26, "column": 14 } } }, { "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": 26, "column": 15 }, "end": { "line": 26, "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": 610, "end": 611, "loc": { "start": { "line": 26, "column": 16 }, "end": { "line": 26, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "assertionErrorShown", "start": 611, "end": 630, "loc": { "start": { "line": 26, "column": 17 }, "end": { "line": 26, "column": 36 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 630, "end": 631, "loc": { "start": { "line": 26, "column": 36 }, "end": { "line": 26, "column": 37 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 632, "end": 633, "loc": { "start": { "line": 26, "column": 38 }, "end": { "line": 26, "column": 39 } } }, { "type": "CommentLine", "value": " alert(\"Assertion failed (the game will try to continue to run): \\n\\n\" + failureMessage);", "start": 651, "end": 742, "loc": { "start": { "line": 27, "column": 16 }, "end": { "line": 27, "column": 107 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "assertionErrorShown", "start": 760, "end": 779, "loc": { "start": { "line": 28, "column": 16 }, "end": { "line": 28, "column": 35 } } }, { "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": 36 }, "end": { "line": 28, "column": 37 } } }, { "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": 782, "end": 786, "loc": { "start": { "line": 28, "column": 38 }, "end": { "line": 28, "column": 42 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 786, "end": 787, "loc": { "start": { "line": 28, "column": 42 }, "end": { "line": 28, "column": 43 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 801, "end": 802, "loc": { "start": { "line": 29, "column": 12 }, "end": { "line": 29, "column": 13 } } }, { "type": { "label": "throw", "keyword": "throw", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "throw", "start": 816, "end": 821, "loc": { "start": { "line": 30, "column": 12 }, "end": { "line": 30, "column": 17 } } }, { "type": { "label": "new", "keyword": "new", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "new", "start": 822, "end": 825, "loc": { "start": { "line": 30, "column": 18 }, "end": { "line": 30, "column": 21 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Error", "start": 826, "end": 831, "loc": { "start": { "line": 30, "column": 22 }, "end": { "line": 30, "column": 27 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 831, "end": 832, "loc": { "start": { "line": 30, "column": 27 }, "end": { "line": 30, "column": 28 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "AssertionError: ", "start": 832, "end": 850, "loc": { "start": { "line": 30, "column": 28 }, "end": { "line": 30, "column": 46 } } }, { "type": { "label": "+/-", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": true, "postfix": false, "binop": 9, "updateContext": null }, "value": "+", "start": 851, "end": 852, "loc": { "start": { "line": 30, "column": 47 }, "end": { "line": 30, "column": 48 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "failureMessage", "start": 853, "end": 867, "loc": { "start": { "line": 30, "column": 49 }, "end": { "line": 30, "column": 63 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 867, "end": 868, "loc": { "start": { "line": 30, "column": 63 }, "end": { "line": 30, "column": 64 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "join", "start": 868, "end": 872, "loc": { "start": { "line": 30, "column": 64 }, "end": { "line": 30, "column": 68 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 872, "end": 873, "loc": { "start": { "line": 30, "column": 68 }, "end": { "line": 30, "column": 69 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": " ", "start": 873, "end": 876, "loc": { "start": { "line": 30, "column": 69 }, "end": { "line": 30, "column": 72 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 876, "end": 877, "loc": { "start": { "line": 30, "column": 72 }, "end": { "line": 30, "column": 73 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 877, "end": 878, "loc": { "start": { "line": 30, "column": 73 }, "end": { "line": 30, "column": 74 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 878, "end": 879, "loc": { "start": { "line": 30, "column": 74 }, "end": { "line": 30, "column": 75 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 889, "end": 890, "loc": { "start": { "line": 31, "column": 8 }, "end": { "line": 31, "column": 9 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 896, "end": 897, "loc": { "start": { "line": 32, "column": 4 }, "end": { "line": 32, "column": 5 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 897, "end": 898, "loc": { "start": { "line": 32, "column": 5 }, "end": { "line": 32, "column": 6 } } }, { "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": 33, "column": 0 }, "end": { "line": 33, "column": 1 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "initAssert", "start": 905, "end": 915, "loc": { "start": { "line": 35, "column": 0 }, "end": { "line": 35, "column": 10 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 915, "end": 916, "loc": { "start": { "line": 35, "column": 10 }, "end": { "line": 35, "column": 11 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 916, "end": 917, "loc": { "start": { "line": 35, "column": 11 }, "end": { "line": 35, "column": 12 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 917, "end": 918, "loc": { "start": { "line": 35, "column": 12 }, "end": { "line": 35, "column": 13 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 918, "end": 918, "loc": { "start": { "line": 35, "column": 13 }, "end": { "line": 35, "column": 13 } } } ] }