{ "type": "File", "start": 0, "end": 1005, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 42, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 1005, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 42, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 58, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 58 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 9, "end": 22, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 22 } }, "imported": { "type": "Identifier", "start": 9, "end": 22, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 22 }, "identifierName": "enumDirection" }, "name": "enumDirection" }, "local": { "type": "Identifier", "start": 9, "end": 22, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 22 }, "identifierName": "enumDirection" }, "name": "enumDirection" } }, { "type": "ImportSpecifier", "start": 24, "end": 30, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 30 } }, "imported": { "type": "Identifier", "start": 24, "end": 30, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 30 }, "identifierName": "Vector" }, "name": "Vector" }, "local": { "type": "Identifier", "start": 24, "end": 30, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 30 }, "identifierName": "Vector" }, "name": "Vector" } } ], "source": { "type": "StringLiteral", "start": 38, "end": 57, "loc": { "start": { "line": 1, "column": 38 }, "end": { "line": 1, "column": 57 } }, "extra": { "rawValue": "../../core/vector", "raw": "\"../../core/vector\"" }, "value": "../../core/vector" } }, { "type": "ImportDeclaration", "start": 60, "end": 101, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 41 } }, "specifiers": [ { "type": "ImportSpecifier", "start": 69, "end": 78, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 18 } }, "imported": { "type": "Identifier", "start": 69, "end": 78, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 18 }, "identifierName": "Component" }, "name": "Component" }, "local": { "type": "Identifier", "start": 69, "end": 78, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 18 }, "identifierName": "Component" }, "name": "Component" } } ], "source": { "type": "StringLiteral", "start": 86, "end": 100, "loc": { "start": { "line": 2, "column": 26 }, "end": { "line": 2, "column": 40 } }, "extra": { "rawValue": "../component", "raw": "\"../component\"" }, "value": "../component" }, "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * Store which type an underlay is, this is cached so we can easily\r\n * render it.\r\n *\r\n * Full: Render underlay at top and bottom of tile\r\n * Bottom Only: Only render underlay at the bottom half\r\n * Top Only:\r\n * @enum {string}\r\n ", "start": 105, "end": 343, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 12, "column": 3 } } } ] }, { "type": "ExportNamedDeclaration", "start": 345, "end": 487, "loc": { "start": { "line": 13, "column": 0 }, "end": { "line": 18, "column": 2 } }, "specifiers": [], "source": null, "declaration": { "type": "VariableDeclaration", "start": 352, "end": 487, "loc": { "start": { "line": 13, "column": 7 }, "end": { "line": 18, "column": 2 } }, "declarations": [ { "type": "VariableDeclarator", "start": 358, "end": 486, "loc": { "start": { "line": 13, "column": 13 }, "end": { "line": 18, "column": 1 } }, "id": { "type": "Identifier", "start": 358, "end": 385, "loc": { "start": { "line": 13, "column": 13 }, "end": { "line": 13, "column": 40 }, "identifierName": "enumClippedBeltUnderlayType" }, "name": "enumClippedBeltUnderlayType", "leadingComments": null }, "init": { "type": "ObjectExpression", "start": 388, "end": 486, "loc": { "start": { "line": 13, "column": 43 }, "end": { "line": 18, "column": 1 } }, "properties": [ { "type": "ObjectProperty", "start": 395, "end": 407, "loc": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": 16 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 395, "end": 399, "loc": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": 8 }, "identifierName": "full" }, "name": "full" }, "value": { "type": "StringLiteral", "start": 401, "end": 407, "loc": { "start": { "line": 14, "column": 10 }, "end": { "line": 14, "column": 16 } }, "extra": { "rawValue": "full", "raw": "\"full\"" }, "value": "full" } }, { "type": "ObjectProperty", "start": 414, "end": 438, "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": 28 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 414, "end": 424, "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": 14 }, "identifierName": "bottomOnly" }, "name": "bottomOnly" }, "value": { "type": "StringLiteral", "start": 426, "end": 438, "loc": { "start": { "line": 15, "column": 16 }, "end": { "line": 15, "column": 28 } }, "extra": { "rawValue": "bottomOnly", "raw": "\"bottomOnly\"" }, "value": "bottomOnly" } }, { "type": "ObjectProperty", "start": 445, "end": 463, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 16, "column": 22 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 445, "end": 452, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 16, "column": 11 }, "identifierName": "topOnly" }, "name": "topOnly" }, "value": { "type": "StringLiteral", "start": 454, "end": 463, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 22 } }, "extra": { "rawValue": "topOnly", "raw": "\"topOnly\"" }, "value": "topOnly" } }, { "type": "ObjectProperty", "start": 470, "end": 482, "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": 16 } }, "method": false, "shorthand": false, "computed": false, "key": { "type": "Identifier", "start": 470, "end": 474, "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": 8 }, "identifierName": "none" }, "name": "none" }, "value": { "type": "StringLiteral", "start": 476, "end": 482, "loc": { "start": { "line": 17, "column": 10 }, "end": { "line": 17, "column": 16 } }, "extra": { "rawValue": "none", "raw": "\"none\"" }, "value": "none" } } ] }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Store which type an underlay is, this is cached so we can easily\r\n * render it.\r\n *\r\n * Full: Render underlay at top and bottom of tile\r\n * Bottom Only: Only render underlay at the bottom half\r\n * Top Only:\r\n * @enum {string}\r\n ", "start": 105, "end": 343, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 12, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * Store which type an underlay is, this is cached so we can easily\r\n * render it.\r\n *\r\n * Full: Render underlay at top and bottom of tile\r\n * Bottom Only: Only render underlay at the bottom half\r\n * Top Only:\r\n * @enum {string}\r\n ", "start": 105, "end": 343, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 12, "column": 3 } } } ], "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } } ] }, { "type": "ExportNamedDeclaration", "start": 641, "end": 1003, "loc": { "start": { "line": 28, "column": 0 }, "end": { "line": 41, "column": 1 } }, "specifiers": [], "source": null, "declaration": { "type": "ClassDeclaration", "start": 648, "end": 1003, "loc": { "start": { "line": 28, "column": 7 }, "end": { "line": 41, "column": 1 } }, "id": { "type": "Identifier", "start": 654, "end": 676, "loc": { "start": { "line": 28, "column": 13 }, "end": { "line": 28, "column": 35 }, "identifierName": "BeltUnderlaysComponent" }, "name": "BeltUnderlaysComponent", "leadingComments": null }, "superClass": { "type": "Identifier", "start": 685, "end": 694, "loc": { "start": { "line": 28, "column": 44 }, "end": { "line": 28, "column": 53 }, "identifierName": "Component" }, "name": "Component" }, "body": { "type": "ClassBody", "start": 695, "end": 1003, "loc": { "start": { "line": 28, "column": 54 }, "end": { "line": 41, "column": 1 } }, "body": [ { "type": "ClassMethod", "start": 702, "end": 758, "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 31, "column": 5 } }, "static": true, "computed": false, "key": { "type": "Identifier", "start": 709, "end": 714, "loc": { "start": { "line": 29, "column": 11 }, "end": { "line": 29, "column": 16 }, "identifierName": "getId" }, "name": "getId" }, "kind": "method", "id": null, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 717, "end": 758, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 31, "column": 5 } }, "body": [ { "type": "ReturnStatement", "start": 728, "end": 751, "loc": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": 31 } }, "argument": { "type": "StringLiteral", "start": 735, "end": 750, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 30 } }, "extra": { "rawValue": "BeltUnderlays", "raw": "\"BeltUnderlays\"" }, "value": "BeltUnderlays" } } ], "directives": [], "trailingComments": null }, "trailingComments": [ { "type": "CommentBlock", "value": "*\r\n * @param {object} param0\r\n * @param {Array=} param0.underlays Where to render belt underlays\r\n ", "start": 766, "end": 899, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 36, "column": 7 } } } ] }, { "type": "ClassMethod", "start": 905, "end": 1000, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 40, "column": 5 } }, "static": false, "computed": false, "key": { "type": "Identifier", "start": 905, "end": 916, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": 15 }, "identifierName": "constructor" }, "name": "constructor", "leadingComments": null }, "kind": "constructor", "id": null, "generator": false, "expression": false, "async": false, "params": [ { "type": "ObjectPattern", "start": 917, "end": 935, "loc": { "start": { "line": 37, "column": 16 }, "end": { "line": 37, "column": 34 } }, "properties": [ { "type": "ObjectProperty", "start": 919, "end": 933, "loc": { "start": { "line": 37, "column": 18 }, "end": { "line": 37, "column": 32 } }, "method": false, "shorthand": true, "computed": false, "key": { "type": "Identifier", "start": 919, "end": 928, "loc": { "start": { "line": 37, "column": 18 }, "end": { "line": 37, "column": 27 }, "identifierName": "underlays" }, "name": "underlays" }, "value": { "type": "AssignmentPattern", "start": 919, "end": 933, "loc": { "start": { "line": 37, "column": 18 }, "end": { "line": 37, "column": 32 } }, "left": { "type": "Identifier", "start": 919, "end": 928, "loc": { "start": { "line": 37, "column": 18 }, "end": { "line": 37, "column": 27 }, "identifierName": "underlays" }, "name": "underlays" }, "right": { "type": "ArrayExpression", "start": 931, "end": 933, "loc": { "start": { "line": 37, "column": 30 }, "end": { "line": 37, "column": 32 } }, "elements": [] } }, "extra": { "shorthand": true } } ] } ], "body": { "type": "BlockStatement", "start": 937, "end": 1000, "loc": { "start": { "line": 37, "column": 36 }, "end": { "line": 40, "column": 5 } }, "body": [ { "type": "ExpressionStatement", "start": 948, "end": 956, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 16 } }, "expression": { "type": "CallExpression", "start": 948, "end": 955, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 15 } }, "callee": { "type": "Super", "start": 948, "end": 953, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 13 } } }, "arguments": [] } }, { "type": "ExpressionStatement", "start": 966, "end": 993, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 35 } }, "expression": { "type": "AssignmentExpression", "start": 966, "end": 992, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 34 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 966, "end": 980, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 22 } }, "object": { "type": "ThisExpression", "start": 966, "end": 970, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 12 } } }, "property": { "type": "Identifier", "start": 971, "end": 980, "loc": { "start": { "line": 39, "column": 13 }, "end": { "line": 39, "column": 22 }, "identifierName": "underlays" }, "name": "underlays" }, "computed": false }, "right": { "type": "Identifier", "start": 983, "end": 992, "loc": { "start": { "line": 39, "column": 25 }, "end": { "line": 39, "column": 34 }, "identifierName": "underlays" }, "name": "underlays" } } } ], "directives": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * @param {object} param0\r\n * @param {Array=} param0.underlays Where to render belt underlays\r\n ", "start": 766, "end": 899, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 36, "column": 7 } } } ] } ] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } } ], "trailingComments": [] }, "leadingComments": [ { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } } ] } ], "directives": [] }, "comments": [ { "type": "CommentBlock", "value": "*\r\n * Store which type an underlay is, this is cached so we can easily\r\n * render it.\r\n *\r\n * Full: Render underlay at top and bottom of tile\r\n * Bottom Only: Only render underlay at the bottom half\r\n * Top Only:\r\n * @enum {string}\r\n ", "start": 105, "end": 343, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 12, "column": 3 } } }, { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } }, { "type": "CommentBlock", "value": "*\r\n * @param {object} param0\r\n * @param {Array=} param0.underlays Where to render belt underlays\r\n ", "start": 766, "end": 899, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 36, "column": 7 } } } ], "tokens": [ { "type": { "label": "import", "keyword": "import", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "import", "start": 0, "end": 6, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 6 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 7, "end": 8, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 8 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "enumDirection", "start": 9, "end": 22, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 22 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 22, "end": 23, "loc": { "start": { "line": 1, "column": 22 }, "end": { "line": 1, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Vector", "start": 24, "end": 30, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 30 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 31, "end": 32, "loc": { "start": { "line": 1, "column": 31 }, "end": { "line": 1, "column": 32 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 33, "end": 37, "loc": { "start": { "line": 1, "column": 33 }, "end": { "line": 1, "column": 37 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "../../core/vector", "start": 38, "end": 57, "loc": { "start": { "line": 1, "column": 38 }, "end": { "line": 1, "column": 57 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 57, "end": 58, "loc": { "start": { "line": 1, "column": 57 }, "end": { "line": 1, "column": 58 } } }, { "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": 60, "end": 66, "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": 67, "end": 68, "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": "Component", "start": 69, "end": 78, "loc": { "start": { "line": 2, "column": 9 }, "end": { "line": 2, "column": 18 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 79, "end": 80, "loc": { "start": { "line": 2, "column": 19 }, "end": { "line": 2, "column": 20 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "from", "start": 81, "end": 85, "loc": { "start": { "line": 2, "column": 21 }, "end": { "line": 2, "column": 25 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "../component", "start": 86, "end": 100, "loc": { "start": { "line": 2, "column": 26 }, "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": 100, "end": 101, "loc": { "start": { "line": 2, "column": 40 }, "end": { "line": 2, "column": 41 } } }, { "type": "CommentBlock", "value": "*\r\n * Store which type an underlay is, this is cached so we can easily\r\n * render it.\r\n *\r\n * Full: Render underlay at top and bottom of tile\r\n * Bottom Only: Only render underlay at the bottom half\r\n * Top Only:\r\n * @enum {string}\r\n ", "start": 105, "end": 343, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 12, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 345, "end": 351, "loc": { "start": { "line": 13, "column": 0 }, "end": { "line": 13, "column": 6 } } }, { "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": 352, "end": 357, "loc": { "start": { "line": 13, "column": 7 }, "end": { "line": 13, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "enumClippedBeltUnderlayType", "start": 358, "end": 385, "loc": { "start": { "line": 13, "column": 13 }, "end": { "line": 13, "column": 40 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 386, "end": 387, "loc": { "start": { "line": 13, "column": 41 }, "end": { "line": 13, "column": 42 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 388, "end": 389, "loc": { "start": { "line": 13, "column": 43 }, "end": { "line": 13, "column": 44 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "full", "start": 395, "end": 399, "loc": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": 8 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 399, "end": 400, "loc": { "start": { "line": 14, "column": 8 }, "end": { "line": 14, "column": 9 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "full", "start": 401, "end": 407, "loc": { "start": { "line": 14, "column": 10 }, "end": { "line": 14, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 407, "end": 408, "loc": { "start": { "line": 14, "column": 16 }, "end": { "line": 14, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "bottomOnly", "start": 414, "end": 424, "loc": { "start": { "line": 15, "column": 4 }, "end": { "line": 15, "column": 14 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 424, "end": 425, "loc": { "start": { "line": 15, "column": 14 }, "end": { "line": 15, "column": 15 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "bottomOnly", "start": 426, "end": 438, "loc": { "start": { "line": 15, "column": 16 }, "end": { "line": 15, "column": 28 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 438, "end": 439, "loc": { "start": { "line": 15, "column": 28 }, "end": { "line": 15, "column": 29 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "topOnly", "start": 445, "end": 452, "loc": { "start": { "line": 16, "column": 4 }, "end": { "line": 16, "column": 11 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 452, "end": 453, "loc": { "start": { "line": 16, "column": 11 }, "end": { "line": 16, "column": 12 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "topOnly", "start": 454, "end": 463, "loc": { "start": { "line": 16, "column": 13 }, "end": { "line": 16, "column": 22 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 463, "end": 464, "loc": { "start": { "line": 16, "column": 22 }, "end": { "line": 16, "column": 23 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "none", "start": 470, "end": 474, "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": 8 } } }, { "type": { "label": ":", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 474, "end": 475, "loc": { "start": { "line": 17, "column": 8 }, "end": { "line": 17, "column": 9 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "none", "start": 476, "end": 482, "loc": { "start": { "line": 17, "column": 10 }, "end": { "line": 17, "column": 16 } } }, { "type": { "label": ",", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 482, "end": 483, "loc": { "start": { "line": 17, "column": 16 }, "end": { "line": 17, "column": 17 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 485, "end": 486, "loc": { "start": { "line": 18, "column": 0 }, "end": { "line": 18, "column": 1 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 486, "end": 487, "loc": { "start": { "line": 18, "column": 1 }, "end": { "line": 18, "column": 2 } } }, { "type": "CommentBlock", "value": "*\r\n * @typedef {{\r\n * pos: Vector,\r\n * direction: enumDirection,\r\n * cachedType?: enumClippedBeltUnderlayType\r\n * }} BeltUnderlayTile\r\n ", "start": 491, "end": 637, "loc": { "start": { "line": 20, "column": 0 }, "end": { "line": 26, "column": 3 } } }, { "type": { "label": "export", "keyword": "export", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "export", "start": 641, "end": 647, "loc": { "start": { "line": 28, "column": 0 }, "end": { "line": 28, "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": 648, "end": 653, "loc": { "start": { "line": 28, "column": 7 }, "end": { "line": 28, "column": 12 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "BeltUnderlaysComponent", "start": 654, "end": 676, "loc": { "start": { "line": 28, "column": 13 }, "end": { "line": 28, "column": 35 } } }, { "type": { "label": "extends", "keyword": "extends", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "extends", "start": 677, "end": 684, "loc": { "start": { "line": 28, "column": 36 }, "end": { "line": 28, "column": 43 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "Component", "start": 685, "end": 694, "loc": { "start": { "line": 28, "column": 44 }, "end": { "line": 28, "column": 53 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 695, "end": 696, "loc": { "start": { "line": 28, "column": 54 }, "end": { "line": 28, "column": 55 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "static", "start": 702, "end": 708, "loc": { "start": { "line": 29, "column": 4 }, "end": { "line": 29, "column": 10 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "getId", "start": 709, "end": 714, "loc": { "start": { "line": 29, "column": 11 }, "end": { "line": 29, "column": 16 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 714, "end": 715, "loc": { "start": { "line": 29, "column": 16 }, "end": { "line": 29, "column": 17 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 715, "end": 716, "loc": { "start": { "line": 29, "column": 17 }, "end": { "line": 29, "column": 18 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 717, "end": 718, "loc": { "start": { "line": 29, "column": 19 }, "end": { "line": 29, "column": 20 } } }, { "type": { "label": "return", "keyword": "return", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "return", "start": 728, "end": 734, "loc": { "start": { "line": 30, "column": 8 }, "end": { "line": 30, "column": 14 } } }, { "type": { "label": "string", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "BeltUnderlays", "start": 735, "end": 750, "loc": { "start": { "line": 30, "column": 15 }, "end": { "line": 30, "column": 30 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 750, "end": 751, "loc": { "start": { "line": 30, "column": 30 }, "end": { "line": 30, "column": 31 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 757, "end": 758, "loc": { "start": { "line": 31, "column": 4 }, "end": { "line": 31, "column": 5 } } }, { "type": "CommentBlock", "value": "*\r\n * @param {object} param0\r\n * @param {Array=} param0.underlays Where to render belt underlays\r\n ", "start": 766, "end": 899, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 36, "column": 7 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "constructor", "start": 905, "end": 916, "loc": { "start": { "line": 37, "column": 4 }, "end": { "line": 37, "column": 15 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 916, "end": 917, "loc": { "start": { "line": 37, "column": 15 }, "end": { "line": 37, "column": 16 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 917, "end": 918, "loc": { "start": { "line": 37, "column": 16 }, "end": { "line": 37, "column": 17 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "underlays", "start": 919, "end": 928, "loc": { "start": { "line": 37, "column": 18 }, "end": { "line": 37, "column": 27 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 929, "end": 930, "loc": { "start": { "line": 37, "column": 28 }, "end": { "line": 37, "column": 29 } } }, { "type": { "label": "[", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 931, "end": 932, "loc": { "start": { "line": 37, "column": 30 }, "end": { "line": 37, "column": 31 } } }, { "type": { "label": "]", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 932, "end": 933, "loc": { "start": { "line": 37, "column": 31 }, "end": { "line": 37, "column": 32 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 934, "end": 935, "loc": { "start": { "line": 37, "column": 33 }, "end": { "line": 37, "column": 34 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 935, "end": 936, "loc": { "start": { "line": 37, "column": 34 }, "end": { "line": 37, "column": 35 } } }, { "type": { "label": "{", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 937, "end": 938, "loc": { "start": { "line": 37, "column": 36 }, "end": { "line": 37, "column": 37 } } }, { "type": { "label": "super", "keyword": "super", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "super", "start": 948, "end": 953, "loc": { "start": { "line": 38, "column": 8 }, "end": { "line": 38, "column": 13 } } }, { "type": { "label": "(", "beforeExpr": true, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 953, "end": 954, "loc": { "start": { "line": 38, "column": 13 }, "end": { "line": 38, "column": 14 } } }, { "type": { "label": ")", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 954, "end": 955, "loc": { "start": { "line": 38, "column": 14 }, "end": { "line": 38, "column": 15 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 955, "end": 956, "loc": { "start": { "line": 38, "column": 15 }, "end": { "line": 38, "column": 16 } } }, { "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": 966, "end": 970, "loc": { "start": { "line": 39, "column": 8 }, "end": { "line": 39, "column": 12 } } }, { "type": { "label": ".", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 970, "end": 971, "loc": { "start": { "line": 39, "column": 12 }, "end": { "line": 39, "column": 13 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "underlays", "start": 971, "end": 980, "loc": { "start": { "line": 39, "column": 13 }, "end": { "line": 39, "column": 22 } } }, { "type": { "label": "=", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": true, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "value": "=", "start": 981, "end": 982, "loc": { "start": { "line": 39, "column": 23 }, "end": { "line": 39, "column": 24 } } }, { "type": { "label": "name", "beforeExpr": false, "startsExpr": true, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "value": "underlays", "start": 983, "end": 992, "loc": { "start": { "line": 39, "column": 25 }, "end": { "line": 39, "column": 34 } } }, { "type": { "label": ";", "beforeExpr": true, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 992, "end": 993, "loc": { "start": { "line": 39, "column": 34 }, "end": { "line": 39, "column": 35 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 999, "end": 1000, "loc": { "start": { "line": 40, "column": 4 }, "end": { "line": 40, "column": 5 } } }, { "type": { "label": "}", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null }, "start": 1002, "end": 1003, "loc": { "start": { "line": 41, "column": 0 }, "end": { "line": 41, "column": 1 } } }, { "type": { "label": "eof", "beforeExpr": false, "startsExpr": false, "rightAssociative": false, "isLoop": false, "isAssign": false, "prefix": false, "postfix": false, "binop": null, "updateContext": null }, "start": 1005, "end": 1005, "loc": { "start": { "line": 42, "column": 0 }, "end": { "line": 42, "column": 0 } } } ] }