{ "type": "Program", "body": [ { "type": "ImportDeclaration", "specifiers": [ { "type": "ImportDefaultSpecifier", "local": { "type": "Identifier", "name": "Str", "range": [ 39, 42 ], "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 10 } } }, "range": [ 39, 42 ], "loc": { "start": { "line": 5, "column": 7 }, "end": { "line": 5, "column": 10 } } } ], "source": { "type": "Literal", "value": "./string", "raw": "'./string'", "range": [ 48, 58 ], "loc": { "start": { "line": 5, "column": 16 }, "end": { "line": 5, "column": 26 } } }, "range": [ 32, 59 ], "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 27 } }, "leadingComments": [ { "type": "Block", "value": "*\r\n * Array utilities\r\n ", "range": [ 0, 28 ], "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 3 } } } ] }, { "type": "ExportDefaultDeclaration", "declaration": { "type": "ObjectExpression", "properties": [ { "type": "Property", "key": { "type": "Identifier", "name": "has", "range": [ 85, 88 ], "loc": { "start": { "line": 8, "column": 4 }, "end": { "line": 8, "column": 7 } } }, "value": { "type": "FunctionExpression", "id": null, "params": [ { "type": "Identifier", "name": "arr", "range": [ 99, 102 ], "loc": { "start": { "line": 8, "column": 18 }, "end": { "line": 8, "column": 21 } } }, { "type": "Identifier", "name": "val", "range": [ 104, 107 ], "loc": { "start": { "line": 8, "column": 23 }, "end": { "line": 8, "column": 26 } } }, { "type": "Identifier", "name": "caseSensitive", "range": [ 109, 122 ], "loc": { "start": { "line": 8, "column": 28 }, "end": { "line": 8, "column": 41 } } } ], "body": { "type": "BlockStatement", "body": [ { "type": "VariableDeclaration", "declarations": [ { "type": "VariableDeclarator", "id": { "type": "Identifier", "name": "sCase", "range": [ 138, 143 ], "loc": { "start": { "line": 9, "column": 12 }, "end": { "line": 9, "column": 17 } } }, "init": { "type": "ConditionalExpression", "test": { "type": "BinaryExpression", "operator": "===", "left": { "type": "Identifier", "name": "caseSensitive", "range": [ 146, 159 ], "loc": { "start": { "line": 9, "column": 20 }, "end": { "line": 9, "column": 33 } } }, "right": { "type": "Identifier", "name": "undefined", "range": [ 162, 171 ], "loc": { "start": { "line": 9, "column": 36 }, "end": { "line": 9, "column": 45 } } }, "range": [ 146, 171 ], "loc": { "start": { "line": 9, "column": 20 }, "end": { "line": 9, "column": 45 } } }, "consequent": { "type": "Literal", "value": false, "raw": "false", "range": [ 174, 179 ], "loc": { "start": { "line": 9, "column": 48 }, "end": { "line": 9, "column": 53 } } }, "alternate": { "type": "Identifier", "name": "caseSensitive", "range": [ 182, 195 ], "loc": { "start": { "line": 9, "column": 56 }, "end": { "line": 9, "column": 69 } } }, "range": [ 146, 195 ], "loc": { "start": { "line": 9, "column": 20 }, "end": { "line": 9, "column": 69 } } }, "range": [ 138, 195 ], "loc": { "start": { "line": 9, "column": 12 }, "end": { "line": 9, "column": 69 } } } ], "kind": "let", "range": [ 134, 196 ], "loc": { "start": { "line": 9, "column": 8 }, "end": { "line": 9, "column": 70 } } }, { "type": "ForStatement", "init": { "type": "VariableDeclaration", "declarations": [ { "type": "VariableDeclarator", "id": { "type": "Identifier", "name": "i", "range": [ 215, 216 ], "loc": { "start": { "line": 10, "column": 17 }, "end": { "line": 10, "column": 18 } } }, "init": { "type": "Literal", "value": 0, "raw": "0", "range": [ 217, 218 ], "loc": { "start": { "line": 10, "column": 19 }, "end": { "line": 10, "column": 20 } } }, "range": [ 215, 218 ], "loc": { "start": { "line": 10, "column": 17 }, "end": { "line": 10, "column": 20 } } } ], "kind": "var", "range": [ 211, 218 ], "loc": { "start": { "line": 10, "column": 13 }, "end": { "line": 10, "column": 20 } } }, "test": { "type": "BinaryExpression", "operator": "<", "left": { "type": "Identifier", "name": "i", "range": [ 220, 221 ], "loc": { "start": { "line": 10, "column": 22 }, "end": { "line": 10, "column": 23 } } }, "right": { "type": "MemberExpression", "computed": false, "object": { "type": "Identifier", "name": "arr", "range": [ 222, 225 ], "loc": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 27 } } }, "property": { "type": "Identifier", "name": "length", "range": [ 226, 232 ], "loc": { "start": { "line": 10, "column": 28 }, "end": { "line": 10, "column": 34 } } }, "range": [ 222, 232 ], "loc": { "start": { "line": 10, "column": 24 }, "end": { "line": 10, "column": 34 } } }, "range": [ 220, 232 ], "loc": { "start": { "line": 10, "column": 22 }, "end": { "line": 10, "column": 34 } } }, "update": { "type": "UpdateExpression", "operator": "++", "argument": { "type": "Identifier", "name": "i", "range": [ 234, 235 ], "loc": { "start": { "line": 10, "column": 36 }, "end": { "line": 10, "column": 37 } } }, "prefix": false, "range": [ 234, 237 ], "loc": { "start": { "line": 10, "column": 36 }, "end": { "line": 10, "column": 39 } } }, "body": { "type": "BlockStatement", "body": [ { "type": "IfStatement", "test": { "type": "BinaryExpression", "operator": "==", "left": { "type": "CallExpression", "callee": { "type": "MemberExpression", "computed": false, "object": { "type": "Identifier", "name": "Str", "range": [ 256, 259 ], "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 18 } } }, "property": { "type": "Identifier", "name": "matchCase", "range": [ 260, 269 ], "loc": { "start": { "line": 11, "column": 19 }, "end": { "line": 11, "column": 28 } } }, "range": [ 256, 269 ], "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 28 } } }, "arguments": [ { "type": "CallExpression", "callee": { "type": "MemberExpression", "computed": false, "object": { "type": "MemberExpression", "computed": true, "object": { "type": "Identifier", "name": "arr", "range": [ 270, 273 ], "loc": { "start": { "line": 11, "column": 29 }, "end": { "line": 11, "column": 32 } } }, "property": { "type": "Identifier", "name": "i", "range": [ 274, 275 ], "loc": { "start": { "line": 11, "column": 33 }, "end": { "line": 11, "column": 34 } } }, "range": [ 270, 276 ], "loc": { "start": { "line": 11, "column": 29 }, "end": { "line": 11, "column": 35 } } }, "property": { "type": "Identifier", "name": "toString", "range": [ 277, 285 ], "loc": { "start": { "line": 11, "column": 36 }, "end": { "line": 11, "column": 44 } } }, "range": [ 270, 285 ], "loc": { "start": { "line": 11, "column": 29 }, "end": { "line": 11, "column": 44 } } }, "arguments": [], "range": [ 270, 287 ], "loc": { "start": { "line": 11, "column": 29 }, "end": { "line": 11, "column": 46 } } }, { "type": "Identifier", "name": "sCase", "range": [ 289, 294 ], "loc": { "start": { "line": 11, "column": 48 }, "end": { "line": 11, "column": 53 } } } ], "range": [ 256, 295 ], "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 54 } } }, "right": { "type": "Identifier", "name": "val", "range": [ 299, 302 ], "loc": { "start": { "line": 11, "column": 58 }, "end": { "line": 11, "column": 61 } } }, "range": [ 256, 302 ], "loc": { "start": { "line": 11, "column": 15 }, "end": { "line": 11, "column": 61 } } }, "consequent": { "type": "BlockStatement", "body": [ { "type": "ReturnStatement", "argument": { "type": "Literal", "value": true, "raw": "true", "range": [ 329, 333 ], "loc": { "start": { "line": 12, "column": 23 }, "end": { "line": 12, "column": 27 } } }, "range": [ 322, 334 ], "loc": { "start": { "line": 12, "column": 16 }, "end": { "line": 12, "column": 28 } } } ], "range": [ 303, 349 ], "loc": { "start": { "line": 11, "column": 62 }, "end": { "line": 13, "column": 13 } } }, "alternate": null, "range": [ 253, 349 ], "loc": { "start": { "line": 11, "column": 12 }, "end": { "line": 13, "column": 13 } } } ], "range": [ 238, 360 ], "loc": { "start": { "line": 10, "column": 40 }, "end": { "line": 14, "column": 9 } } }, "range": [ 206, 360 ], "loc": { "start": { "line": 10, "column": 8 }, "end": { "line": 14, "column": 9 } } }, { "type": "ReturnStatement", "argument": { "type": "Literal", "value": false, "raw": "false", "range": [ 377, 382 ], "loc": { "start": { "line": 15, "column": 15 }, "end": { "line": 15, "column": 20 } } }, "range": [ 370, 383 ], "loc": { "start": { "line": 15, "column": 8 }, "end": { "line": 15, "column": 21 } } } ], "range": [ 123, 390 ], "loc": { "start": { "line": 8, "column": 42 }, "end": { "line": 16, "column": 5 } } }, "generator": false, "expression": false, "range": [ 90, 390 ], "loc": { "start": { "line": 8, "column": 9 }, "end": { "line": 16, "column": 5 } } }, "kind": "init", "method": false, "shorthand": false, "computed": false, "range": [ 85, 390 ], "loc": { "start": { "line": 8, "column": 4 }, "end": { "line": 16, "column": 5 } } }, { "type": "Property", "key": { "type": "Identifier", "name": "indexByValue", "range": [ 397, 409 ], "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 17, "column": 16 } } }, "value": { "type": "FunctionExpression", "id": null, "params": [ { "type": "Identifier", "name": "arr", "range": [ 420, 423 ], "loc": { "start": { "line": 17, "column": 27 }, "end": { "line": 17, "column": 30 } } }, { "type": "Identifier", "name": "val", "range": [ 425, 428 ], "loc": { "start": { "line": 17, "column": 32 }, "end": { "line": 17, "column": 35 } } }, { "type": "Identifier", "name": "caseSensitive", "range": [ 430, 443 ], "loc": { "start": { "line": 17, "column": 37 }, "end": { "line": 17, "column": 50 } } } ], "body": { "type": "BlockStatement", "body": [ { "type": "VariableDeclaration", "declarations": [ { "type": "VariableDeclarator", "id": { "type": "Identifier", "name": "sCase", "range": [ 459, 464 ], "loc": { "start": { "line": 18, "column": 12 }, "end": { "line": 18, "column": 17 } } }, "init": { "type": "ConditionalExpression", "test": { "type": "BinaryExpression", "operator": "===", "left": { "type": "Identifier", "name": "caseSensitive", "range": [ 467, 480 ], "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 33 } } }, "right": { "type": "Identifier", "name": "undefined", "range": [ 483, 492 ], "loc": { "start": { "line": 18, "column": 36 }, "end": { "line": 18, "column": 45 } } }, "range": [ 467, 492 ], "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 45 } } }, "consequent": { "type": "Literal", "value": false, "raw": "false", "range": [ 495, 500 ], "loc": { "start": { "line": 18, "column": 48 }, "end": { "line": 18, "column": 53 } } }, "alternate": { "type": "Identifier", "name": "caseSensitive", "range": [ 503, 516 ], "loc": { "start": { "line": 18, "column": 56 }, "end": { "line": 18, "column": 69 } } }, "range": [ 467, 516 ], "loc": { "start": { "line": 18, "column": 20 }, "end": { "line": 18, "column": 69 } } }, "range": [ 459, 516 ], "loc": { "start": { "line": 18, "column": 12 }, "end": { "line": 18, "column": 69 } } } ], "kind": "let", "range": [ 455, 517 ], "loc": { "start": { "line": 18, "column": 8 }, "end": { "line": 18, "column": 70 } } }, { "type": "ForStatement", "init": { "type": "VariableDeclaration", "declarations": [ { "type": "VariableDeclarator", "id": { "type": "Identifier", "name": "i", "range": [ 536, 537 ], "loc": { "start": { "line": 19, "column": 17 }, "end": { "line": 19, "column": 18 } } }, "init": { "type": "Literal", "value": 0, "raw": "0", "range": [ 538, 539 ], "loc": { "start": { "line": 19, "column": 19 }, "end": { "line": 19, "column": 20 } } }, "range": [ 536, 539 ], "loc": { "start": { "line": 19, "column": 17 }, "end": { "line": 19, "column": 20 } } } ], "kind": "var", "range": [ 532, 539 ], "loc": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 20 } } }, "test": { "type": "BinaryExpression", "operator": "<", "left": { "type": "Identifier", "name": "i", "range": [ 541, 542 ], "loc": { "start": { "line": 19, "column": 22 }, "end": { "line": 19, "column": 23 } } }, "right": { "type": "MemberExpression", "computed": false, "object": { "type": "Identifier", "name": "arr", "range": [ 543, 546 ], "loc": { "start": { "line": 19, "column": 24 }, "end": { "line": 19, "column": 27 } } }, "property": { "type": "Identifier", "name": "length", "range": [ 547, 553 ], "loc": { "start": { "line": 19, "column": 28 }, "end": { "line": 19, "column": 34 } } }, "range": [ 543, 553 ], "loc": { "start": { "line": 19, "column": 24 }, "end": { "line": 19, "column": 34 } } }, "range": [ 541, 553 ], "loc": { "start": { "line": 19, "column": 22 }, "end": { "line": 19, "column": 34 } } }, "update": { "type": "UpdateExpression", "operator": "++", "argument": { "type": "Identifier", "name": "i", "range": [ 555, 556 ], "loc": { "start": { "line": 19, "column": 36 }, "end": { "line": 19, "column": 37 } } }, "prefix": false, "range": [ 555, 558 ], "loc": { "start": { "line": 19, "column": 36 }, "end": { "line": 19, "column": 39 } } }, "body": { "type": "BlockStatement", "body": [ { "type": "IfStatement", "test": { "type": "BinaryExpression", "operator": "==", "left": { "type": "CallExpression", "callee": { "type": "MemberExpression", "computed": false, "object": { "type": "Identifier", "name": "Str", "range": [ 577, 580 ], "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 18 } } }, "property": { "type": "Identifier", "name": "matchCase", "range": [ 581, 590 ], "loc": { "start": { "line": 20, "column": 19 }, "end": { "line": 20, "column": 28 } } }, "range": [ 577, 590 ], "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 28 } } }, "arguments": [ { "type": "CallExpression", "callee": { "type": "MemberExpression", "computed": false, "object": { "type": "MemberExpression", "computed": true, "object": { "type": "Identifier", "name": "arr", "range": [ 591, 594 ], "loc": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": 32 } } }, "property": { "type": "Identifier", "name": "i", "range": [ 595, 596 ], "loc": { "start": { "line": 20, "column": 33 }, "end": { "line": 20, "column": 34 } } }, "range": [ 591, 597 ], "loc": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": 35 } } }, "property": { "type": "Identifier", "name": "toString", "range": [ 598, 606 ], "loc": { "start": { "line": 20, "column": 36 }, "end": { "line": 20, "column": 44 } } }, "range": [ 591, 606 ], "loc": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": 44 } } }, "arguments": [], "range": [ 591, 608 ], "loc": { "start": { "line": 20, "column": 29 }, "end": { "line": 20, "column": 46 } } }, { "type": "Identifier", "name": "sCase", "range": [ 610, 615 ], "loc": { "start": { "line": 20, "column": 48 }, "end": { "line": 20, "column": 53 } } } ], "range": [ 577, 616 ], "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 54 } } }, "right": { "type": "Identifier", "name": "val", "range": [ 620, 623 ], "loc": { "start": { "line": 20, "column": 58 }, "end": { "line": 20, "column": 61 } } }, "range": [ 577, 623 ], "loc": { "start": { "line": 20, "column": 15 }, "end": { "line": 20, "column": 61 } } }, "consequent": { "type": "BlockStatement", "body": [ { "type": "ReturnStatement", "argument": { "type": "Identifier", "name": "i", "range": [ 650, 651 ], "loc": { "start": { "line": 21, "column": 23 }, "end": { "line": 21, "column": 24 } } }, "range": [ 643, 652 ], "loc": { "start": { "line": 21, "column": 16 }, "end": { "line": 21, "column": 25 } } } ], "range": [ 624, 667 ], "loc": { "start": { "line": 20, "column": 62 }, "end": { "line": 22, "column": 13 } } }, "alternate": null, "range": [ 574, 667 ], "loc": { "start": { "line": 20, "column": 12 }, "end": { "line": 22, "column": 13 } } } ], "range": [ 559, 678 ], "loc": { "start": { "line": 19, "column": 40 }, "end": { "line": 23, "column": 9 } } }, "range": [ 527, 678 ], "loc": { "start": { "line": 19, "column": 8 }, "end": { "line": 23, "column": 9 } } }, { "type": "ReturnStatement", "argument": { "type": "UnaryExpression", "operator": "-", "argument": { "type": "Literal", "value": 1, "raw": "1", "range": [ 696, 697 ], "loc": { "start": { "line": 24, "column": 16 }, "end": { "line": 24, "column": 17 } } }, "prefix": true, "range": [ 695, 697 ], "loc": { "start": { "line": 24, "column": 15 }, "end": { "line": 24, "column": 17 } } }, "range": [ 688, 698 ], "loc": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": 18 } } } ], "range": [ 444, 705 ], "loc": { "start": { "line": 17, "column": 51 }, "end": { "line": 25, "column": 5 } } }, "generator": false, "expression": false, "range": [ 411, 705 ], "loc": { "start": { "line": 17, "column": 18 }, "end": { "line": 25, "column": 5 } } }, "kind": "init", "method": false, "shorthand": false, "computed": false, "range": [ 397, 705 ], "loc": { "start": { "line": 17, "column": 4 }, "end": { "line": 25, "column": 5 } } } ], "range": [ 78, 708 ], "loc": { "start": { "line": 7, "column": 15 }, "end": { "line": 26, "column": 1 } }, "leadingComments": [], "trailingComments": [] }, "range": [ 63, 709 ], "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 26, "column": 2 } } } ], "sourceType": "module", "range": [ 32, 709 ], "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 26, "column": 2 } }, "comments": [ { "type": "Block", "value": "*\r\n * Array utilities\r\n ", "range": [ 0, 28 ], "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 3, "column": 3 } } } ] }