UNPKG

roc

Version:

Build modern web applications easily

1,888 lines (1,887 loc) 67.3 kB
{ "type": "Program", "start": 0, "end": 1927, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 90, "column": 0 } }, "sourceType": "module", "body": [ { "type": "ImportDeclaration", "start": 0, "end": 26, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 26 } }, "specifiers": [ { "type": "ImportDefaultSpecifier", "start": 7, "end": 12, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 12 } }, "local": { "type": "Identifier", "start": 7, "end": 12, "loc": { "start": { "line": 1, "column": 7 }, "end": { "line": 1, "column": 12 } }, "name": "chalk" } } ], "importKind": "value", "source": { "type": "Literal", "start": 18, "end": 25, "loc": { "start": { "line": 1, "column": 18 }, "end": { "line": 1, "column": 25 } }, "value": "chalk", "rawValue": "chalk", "raw": "'chalk'" }, "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error output.\n*\n* @param {string} text - The text to format for errors.\n*\n* @returns {string} - The formatted text.\n", "start": 28, "end": 182, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 9, "column": 2 } }, "range": [ 28, 182 ] } ] }, { "type": "ExportNamedDeclaration", "start": 183, "end": 242, "loc": { "start": { "line": 10, "column": 0 }, "end": { "line": 12, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 190, "end": 242, "loc": { "start": { "line": 10, "column": 7 }, "end": { "line": 12, "column": 1 } }, "id": { "type": "Identifier", "start": 199, "end": 204, "loc": { "start": { "line": 10, "column": 16 }, "end": { "line": 10, "column": 21 } }, "name": "error", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 205, "end": 209, "loc": { "start": { "line": 10, "column": 22 }, "end": { "line": 10, "column": 26 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 211, "end": 242, "loc": { "start": { "line": 10, "column": 28 }, "end": { "line": 12, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 217, "end": 240, "loc": { "start": { "line": 11, "column": 4 }, "end": { "line": 11, "column": 27 } }, "argument": { "type": "CallExpression", "start": 224, "end": 239, "loc": { "start": { "line": 11, "column": 11 }, "end": { "line": 11, "column": 26 } }, "callee": { "type": "MemberExpression", "start": 224, "end": 233, "loc": { "start": { "line": 11, "column": 11 }, "end": { "line": 11, "column": 20 } }, "object": { "type": "Identifier", "start": 224, "end": 229, "loc": { "start": { "line": 11, "column": 11 }, "end": { "line": 11, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 230, "end": 233, "loc": { "start": { "line": 11, "column": 17 }, "end": { "line": 11, "column": 20 } }, "name": "red" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 234, "end": 238, "loc": { "start": { "line": 11, "column": 21 }, "end": { "line": 11, "column": 25 } }, "name": "text" } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error output.\n*\n* @param {string} text - The text to format for errors.\n*\n* @returns {string} - The formatted text.\n", "start": 28, "end": 182, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 9, "column": 2 } }, "range": [ 28, 182 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warnings.\n*\n* @param {string} text - The text to format for warnings.\n*\n* @returns {string} - The formatted text.\n", "start": 244, "end": 396, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 20, "column": 2 } }, "range": [ 244, 396 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error output.\n*\n* @param {string} text - The text to format for errors.\n*\n* @returns {string} - The formatted text.\n", "start": 28, "end": 182, "loc": { "start": { "line": 3, "column": 0 }, "end": { "line": 9, "column": 2 } }, "range": [ 28, 182 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warnings.\n*\n* @param {string} text - The text to format for warnings.\n*\n* @returns {string} - The formatted text.\n", "start": 244, "end": 396, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 20, "column": 2 } }, "range": [ 244, 396 ] } ] }, { "type": "ExportNamedDeclaration", "start": 397, "end": 461, "loc": { "start": { "line": 21, "column": 0 }, "end": { "line": 23, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 404, "end": 461, "loc": { "start": { "line": 21, "column": 7 }, "end": { "line": 23, "column": 1 } }, "id": { "type": "Identifier", "start": 413, "end": 420, "loc": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": 23 } }, "name": "warning", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 421, "end": 425, "loc": { "start": { "line": 21, "column": 24 }, "end": { "line": 21, "column": 28 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 427, "end": 461, "loc": { "start": { "line": 21, "column": 30 }, "end": { "line": 23, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 433, "end": 459, "loc": { "start": { "line": 22, "column": 4 }, "end": { "line": 22, "column": 30 } }, "argument": { "type": "CallExpression", "start": 440, "end": 458, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 29 } }, "callee": { "type": "MemberExpression", "start": 440, "end": 452, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 23 } }, "object": { "type": "Identifier", "start": 440, "end": 445, "loc": { "start": { "line": 22, "column": 11 }, "end": { "line": 22, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 446, "end": 452, "loc": { "start": { "line": 22, "column": 17 }, "end": { "line": 22, "column": 23 } }, "name": "yellow" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 453, "end": 457, "loc": { "start": { "line": 22, "column": 24 }, "end": { "line": 22, "column": 28 } }, "name": "text" } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warnings.\n*\n* @param {string} text - The text to format for warnings.\n*\n* @returns {string} - The formatted text.\n", "start": 244, "end": 396, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 20, "column": 2 } }, "range": [ 244, 396 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmations.\n*\n* @param {string} text - The text to format for confirmations.\n*\n* @returns {string} - The formatted text.\n", "start": 463, "end": 625, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 31, "column": 2 } }, "range": [ 463, 625 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warnings.\n*\n* @param {string} text - The text to format for warnings.\n*\n* @returns {string} - The formatted text.\n", "start": 244, "end": 396, "loc": { "start": { "line": 14, "column": 0 }, "end": { "line": 20, "column": 2 } }, "range": [ 244, 396 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmations.\n*\n* @param {string} text - The text to format for confirmations.\n*\n* @returns {string} - The formatted text.\n", "start": 463, "end": 625, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 31, "column": 2 } }, "range": [ 463, 625 ] } ] }, { "type": "ExportNamedDeclaration", "start": 626, "end": 684, "loc": { "start": { "line": 32, "column": 0 }, "end": { "line": 34, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 633, "end": 684, "loc": { "start": { "line": 32, "column": 7 }, "end": { "line": 34, "column": 1 } }, "id": { "type": "Identifier", "start": 642, "end": 644, "loc": { "start": { "line": 32, "column": 16 }, "end": { "line": 32, "column": 18 } }, "name": "ok", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 645, "end": 649, "loc": { "start": { "line": 32, "column": 19 }, "end": { "line": 32, "column": 23 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 651, "end": 684, "loc": { "start": { "line": 32, "column": 25 }, "end": { "line": 34, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 657, "end": 682, "loc": { "start": { "line": 33, "column": 4 }, "end": { "line": 33, "column": 29 } }, "argument": { "type": "CallExpression", "start": 664, "end": 681, "loc": { "start": { "line": 33, "column": 11 }, "end": { "line": 33, "column": 28 } }, "callee": { "type": "MemberExpression", "start": 664, "end": 675, "loc": { "start": { "line": 33, "column": 11 }, "end": { "line": 33, "column": 22 } }, "object": { "type": "Identifier", "start": 664, "end": 669, "loc": { "start": { "line": 33, "column": 11 }, "end": { "line": 33, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 670, "end": 675, "loc": { "start": { "line": 33, "column": 17 }, "end": { "line": 33, "column": 22 } }, "name": "green" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 676, "end": 680, "loc": { "start": { "line": 33, "column": 23 }, "end": { "line": 33, "column": 27 } }, "name": "text" } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmations.\n*\n* @param {string} text - The text to format for confirmations.\n*\n* @returns {string} - The formatted text.\n", "start": 463, "end": 625, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 31, "column": 2 } }, "range": [ 463, 625 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for important messages.\n*\n* @param {string} text - The text to format for important messages.\n*\n* @returns {string} - The formatted text.\n", "start": 686, "end": 858, "loc": { "start": { "line": 36, "column": 0 }, "end": { "line": 42, "column": 2 } }, "range": [ 686, 858 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmations.\n*\n* @param {string} text - The text to format for confirmations.\n*\n* @returns {string} - The formatted text.\n", "start": 463, "end": 625, "loc": { "start": { "line": 25, "column": 0 }, "end": { "line": 31, "column": 2 } }, "range": [ 463, 625 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for important messages.\n*\n* @param {string} text - The text to format for important messages.\n*\n* @returns {string} - The formatted text.\n", "start": 686, "end": 858, "loc": { "start": { "line": 36, "column": 0 }, "end": { "line": 42, "column": 2 } }, "range": [ 686, 858 ] } ] }, { "type": "ExportNamedDeclaration", "start": 859, "end": 923, "loc": { "start": { "line": 43, "column": 0 }, "end": { "line": 45, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 866, "end": 923, "loc": { "start": { "line": 43, "column": 7 }, "end": { "line": 45, "column": 1 } }, "id": { "type": "Identifier", "start": 875, "end": 884, "loc": { "start": { "line": 43, "column": 16 }, "end": { "line": 43, "column": 25 } }, "name": "important", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 885, "end": 889, "loc": { "start": { "line": 43, "column": 26 }, "end": { "line": 43, "column": 30 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 891, "end": 923, "loc": { "start": { "line": 43, "column": 32 }, "end": { "line": 45, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 897, "end": 921, "loc": { "start": { "line": 44, "column": 4 }, "end": { "line": 44, "column": 28 } }, "argument": { "type": "CallExpression", "start": 904, "end": 920, "loc": { "start": { "line": 44, "column": 11 }, "end": { "line": 44, "column": 27 } }, "callee": { "type": "MemberExpression", "start": 904, "end": 914, "loc": { "start": { "line": 44, "column": 11 }, "end": { "line": 44, "column": 21 } }, "object": { "type": "Identifier", "start": 904, "end": 909, "loc": { "start": { "line": 44, "column": 11 }, "end": { "line": 44, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 910, "end": 914, "loc": { "start": { "line": 44, "column": 17 }, "end": { "line": 44, "column": 21 } }, "name": "cyan" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 915, "end": 919, "loc": { "start": { "line": 44, "column": 22 }, "end": { "line": 44, "column": 26 } }, "name": "text" } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for important messages.\n*\n* @param {string} text - The text to format for important messages.\n*\n* @returns {string} - The formatted text.\n", "start": 686, "end": 858, "loc": { "start": { "line": 36, "column": 0 }, "end": { "line": 42, "column": 2 } }, "range": [ 686, 858 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error labels.\n*\n* @param {string} text - The text to format for error labels.\n*\n* @returns {string} - The formatted text.\n", "start": 925, "end": 1085, "loc": { "start": { "line": 47, "column": 0 }, "end": { "line": 53, "column": 2 } }, "range": [ 925, 1085 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for important messages.\n*\n* @param {string} text - The text to format for important messages.\n*\n* @returns {string} - The formatted text.\n", "start": 686, "end": 858, "loc": { "start": { "line": 36, "column": 0 }, "end": { "line": 42, "column": 2 } }, "range": [ 686, 858 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error labels.\n*\n* @param {string} text - The text to format for error labels.\n*\n* @returns {string} - The formatted text.\n", "start": 925, "end": 1085, "loc": { "start": { "line": 47, "column": 0 }, "end": { "line": 53, "column": 2 } }, "range": [ 925, 1085 ] } ] }, { "type": "ExportNamedDeclaration", "start": 1086, "end": 1165, "loc": { "start": { "line": 54, "column": 0 }, "end": { "line": 56, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 1093, "end": 1165, "loc": { "start": { "line": 54, "column": 7 }, "end": { "line": 56, "column": 1 } }, "id": { "type": "Identifier", "start": 1102, "end": 1112, "loc": { "start": { "line": 54, "column": 16 }, "end": { "line": 54, "column": 26 } }, "name": "errorLabel", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1113, "end": 1117, "loc": { "start": { "line": 54, "column": 27 }, "end": { "line": 54, "column": 31 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 1119, "end": 1165, "loc": { "start": { "line": 54, "column": 33 }, "end": { "line": 56, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 1125, "end": 1163, "loc": { "start": { "line": 55, "column": 4 }, "end": { "line": 55, "column": 42 } }, "argument": { "type": "CallExpression", "start": 1132, "end": 1162, "loc": { "start": { "line": 55, "column": 11 }, "end": { "line": 55, "column": 41 } }, "callee": { "type": "MemberExpression", "start": 1132, "end": 1143, "loc": { "start": { "line": 55, "column": 11 }, "end": { "line": 55, "column": 22 } }, "object": { "type": "Identifier", "start": 1132, "end": 1137, "loc": { "start": { "line": 55, "column": 11 }, "end": { "line": 55, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 1138, "end": 1143, "loc": { "start": { "line": 55, "column": 17 }, "end": { "line": 55, "column": 22 } }, "name": "bgRed" }, "computed": false }, "arguments": [ { "type": "CallExpression", "start": 1144, "end": 1161, "loc": { "start": { "line": 55, "column": 23 }, "end": { "line": 55, "column": 40 } }, "callee": { "type": "MemberExpression", "start": 1144, "end": 1155, "loc": { "start": { "line": 55, "column": 23 }, "end": { "line": 55, "column": 34 } }, "object": { "type": "Identifier", "start": 1144, "end": 1149, "loc": { "start": { "line": 55, "column": 23 }, "end": { "line": 55, "column": 28 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 1150, "end": 1155, "loc": { "start": { "line": 55, "column": 29 }, "end": { "line": 55, "column": 34 } }, "name": "white" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1156, "end": 1160, "loc": { "start": { "line": 55, "column": 35 }, "end": { "line": 55, "column": 39 } }, "name": "text" } ] } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error labels.\n*\n* @param {string} text - The text to format for error labels.\n*\n* @returns {string} - The formatted text.\n", "start": 925, "end": 1085, "loc": { "start": { "line": 47, "column": 0 }, "end": { "line": 53, "column": 2 } }, "range": [ 925, 1085 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warning labels.\n*\n* @param {string} text - The text to format for warning labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1167, "end": 1331, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 64, "column": 2 } }, "range": [ 1167, 1331 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for error labels.\n*\n* @param {string} text - The text to format for error labels.\n*\n* @returns {string} - The formatted text.\n", "start": 925, "end": 1085, "loc": { "start": { "line": 47, "column": 0 }, "end": { "line": 53, "column": 2 } }, "range": [ 925, 1085 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warning labels.\n*\n* @param {string} text - The text to format for warning labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1167, "end": 1331, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 64, "column": 2 } }, "range": [ 1167, 1331 ] } ] }, { "type": "ExportNamedDeclaration", "start": 1332, "end": 1416, "loc": { "start": { "line": 65, "column": 0 }, "end": { "line": 67, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 1339, "end": 1416, "loc": { "start": { "line": 65, "column": 7 }, "end": { "line": 67, "column": 1 } }, "id": { "type": "Identifier", "start": 1348, "end": 1360, "loc": { "start": { "line": 65, "column": 16 }, "end": { "line": 65, "column": 28 } }, "name": "warningLabel", "leadingComments": null }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 1361, "end": 1365, "loc": { "start": { "line": 65, "column": 29 }, "end": { "line": 65, "column": 33 } }, "name": "text" } ], "body": { "type": "BlockStatement", "start": 1367, "end": 1416, "loc": { "start": { "line": 65, "column": 35 }, "end": { "line": 67, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 1373, "end": 1414, "loc": { "start": { "line": 66, "column": 4 }, "end": { "line": 66, "column": 45 } }, "argument": { "type": "CallExpression", "start": 1380, "end": 1413, "loc": { "start": { "line": 66, "column": 11 }, "end": { "line": 66, "column": 44 } }, "callee": { "type": "MemberExpression", "start": 1380, "end": 1394, "loc": { "start": { "line": 66, "column": 11 }, "end": { "line": 66, "column": 25 } }, "object": { "type": "Identifier", "start": 1380, "end": 1385, "loc": { "start": { "line": 66, "column": 11 }, "end": { "line": 66, "column": 16 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 1386, "end": 1394, "loc": { "start": { "line": 66, "column": 17 }, "end": { "line": 66, "column": 25 } }, "name": "bgYellow" }, "computed": false }, "arguments": [ { "type": "CallExpression", "start": 1395, "end": 1412, "loc": { "start": { "line": 66, "column": 26 }, "end": { "line": 66, "column": 43 } }, "callee": { "type": "MemberExpression", "start": 1395, "end": 1406, "loc": { "start": { "line": 66, "column": 26 }, "end": { "line": 66, "column": 37 } }, "object": { "type": "Identifier", "start": 1395, "end": 1400, "loc": { "start": { "line": 66, "column": 26 }, "end": { "line": 66, "column": 31 } }, "name": "chalk" }, "property": { "type": "Identifier", "start": 1401, "end": 1406, "loc": { "start": { "line": 66, "column": 32 }, "end": { "line": 66, "column": 37 } }, "name": "white" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 1407, "end": 1411, "loc": { "start": { "line": 66, "column": 38 }, "end": { "line": 66, "column": 42 } }, "name": "text" } ] } ] } } ], "trailingComments": null }, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warning labels.\n*\n* @param {string} text - The text to format for warning labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1167, "end": 1331, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 64, "column": 2 } }, "range": [ 1167, 1331 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmation labels.\n*\n* @param {string} text - The text to format for confirmation labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1418, "end": 1592, "loc": { "start": { "line": 69, "column": 0 }, "end": { "line": 75, "column": 2 } }, "range": [ 1418, 1592 ] } ] }, "specifiers": [], "source": null, "leadingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for warning labels.\n*\n* @param {string} text - The text to format for warning labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1167, "end": 1331, "loc": { "start": { "line": 58, "column": 0 }, "end": { "line": 64, "column": 2 } }, "range": [ 1167, 1331 ] } ], "trailingComments": [ { "type": "Block", "value": "*\n* Formats a string suitable for confirmation labels.\n*\n* @param {string} text - The text to format for confirmation labels.\n*\n* @returns {string} - The formatted text.\n", "start": 1418, "end": 1592, "loc": { "start": { "line": 69, "column": 0 }, "end": { "line": 75, "column": 2 } }, "range": [ 1418, 1592 ] } ] }, { "type": "ExportNamedDeclaration", "start": 1593, "end": 1671, "loc": { "start": { "line": 76, "column": 0 }, "end": { "line": 78, "column": 1 } }, "declaration": { "type": "FunctionDeclaration", "start": 1600, "end": 1671, "loc": { "start": {