{"version":3,"sources":["jsdelivr-header.js","/npm/protractor-flake-tests-rerun@3.0.8/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAMA,SAAS,uBAAuB,GAAO,OAAO,GAAO,EAAI,WAAa,EAAM,CAAE,QAAW,EAAO,CAJhG,OAAO,eAAe,QAAS,aAAc,CAC3C,OAAO,IAKT,IAAI,eAAiB,QAAQ,iBAEzB,SAAW,QAAQ,aAEnB,cAAgB,QAAQ,mBAExB,eAAiB,uBAAuB,eAE5C,QAAQ,gBAER,IAAI,QAAU,QAAQ,YAElB,SAAW,uBAAuB,SAEtC,SAAS,WAAW,GAUlB,OATA,EAAiB,EAAe,QAAO,SAAU,GAC/C,OAAQ,oBAAoB,KAAK,EACnC,IACA,CAAC,UAAW,WAAW,SAAQ,SAAU,GACvC,IAAI,EAAQ,EAAe,QAAQ,IACpB,IAAX,GACF,EAAe,OAAO,EAAO,EAEjC,IACO,CACT,CAEA,QAAiB,QAAI,WACnB,IAAI,EAAU,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,CAAC,EAAI,UAAU,GAC/E,EAAW,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,WAAiB,EAAI,UAAU,GAEhG,EAAc,EACd,GAAgB,EAAI,eAAwB,SAAG,GAC/C,GAAS,EAAI,SAAS,WAAW,EAAc,QAC/C,EAAS,IAAI,SAAkB,QAAE,EAAc,OA0BnD,SAAS,IACP,IAAI,EAAY,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,GAAK,UAAU,GACjF,IAAQ,UAAU,QAAU,QAAsB,IAAjB,UAAU,KAA2B,UAAU,GAEhF,EAAS,GACT,EAAiB,CAAC,EAAc,gBAAgB,OAAO,EAAc,gBAErE,GACF,EAAe,KAAK,wBAAwB,GAG1C,EAAU,SACZ,EAAiB,WAAW,IACb,KAAK,UAAW,EAAU,KAAK,MAGhD,IAAI,GAAa,EAAI,eAAe,OAAO,EAAc,QAAS,EAAgB,EAAc,wBAEhG,EAAW,OAAO,GAAG,QAAQ,SAAU,GACrC,IAAI,EAAO,EAAO,WAClB,EAAO,WAAW,GAClB,GAAkB,CACpB,IAEA,EAAW,OAAO,GAAG,QAAQ,SAAU,GACrC,IAAI,EAAO,EAAO,WAClB,EAAO,WAAW,GAClB,GAAkB,CACpB,IAEA,EAAW,GAAG,QAAQ,SAAU,IAtDlC,SAAuB,GACrB,IAAI,EAAS,UAAU,QAAU,QAAsB,IAAjB,UAAU,GAAmB,GAAK,UAAU,GAElF,GAAe,IAAX,EACF,EAAS,OACJ,CACL,KAAM,GAAe,EAAc,YAAa,CAC9C,EAAO,IAAI,OAAQ,WAAa,EAAO,KAAO,sBAC9C,IAAI,EAAc,EAAO,MAAM,GAS/B,OAPA,EAAO,IAAI,OAAQ,kCAAoC,EAAc,MAC1C,IAAvB,EAAY,OACd,EAAO,IAAI,OAAQ,6EAEnB,EAAO,IAAI,OAAQ,0CACnB,EAAO,IAAI,OAAQ,EAAY,KAAK,MAAQ,OAEvC,EAAgB,GAAa,EACtC,CAEA,EAAS,EAAQ,EACnB,CACF,CAiCI,CAAc,EAAQ,EACxB,GACF,CAEA,GACF,EAEA,OAAO,QAAU,QAAiB","file":"/npm/protractor-flake-tests-rerun@3.0.8/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/protractor-flake-tests-rerun@3.0.8/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _child_process = require('child_process');\n\nvar _parsers = require('./parsers');\n\nvar _parseOptions = require('./parse-options');\n\nvar _parseOptions2 = _interopRequireDefault(_parseOptions);\n\nrequire('core-js/shim');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction filterArgs(protractorArgs) {\n  protractorArgs = protractorArgs.filter(function (arg) {\n    return !/^--(suite|specs)=/.test(arg);\n  });\n  ['--suite', '--specs'].forEach(function (item) {\n    var index = protractorArgs.indexOf(item);\n    if (index !== -1) {\n      protractorArgs.splice(index, 2);\n    }\n  });\n  return protractorArgs;\n}\n\nexports['default'] = function () {\n  var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n  var callback = arguments.length <= 1 || arguments[1] === undefined ? function noop() {} : arguments[1];\n\n  var testAttempt = 1;\n  var parsedOptions = (0, _parseOptions2['default'])(options);\n  var parser = (0, _parsers.getParser)(parsedOptions.parser);\n  var logger = new _logger2['default'](parsedOptions.color);\n\n  function handleTestEnd(status) {\n    var output = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\n    if (status === 0) {\n      callback(status);\n    } else {\n      if (++testAttempt <= parsedOptions.maxAttempts) {\n        logger.log('info', '\\nUsing ' + parser.name + ' to parse output\\n');\n        var failedSpecs = parser.parse(output);\n\n        logger.log('info', 'Re-running tests: test attempt ' + testAttempt + '\\n');\n        if (failedSpecs.length === 0) {\n          logger.log('info', '\\nTests failed but no specs were found. All specs will be run again.\\n\\n');\n        } else {\n          logger.log('info', 'Re-running the following test files:\\n');\n          logger.log('info', failedSpecs.join('\\n') + '\\n');\n        }\n        return startProtractor(failedSpecs, true);\n      }\n\n      callback(status, output);\n    }\n  }\n\n  function startProtractor() {\n    var specFiles = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];\n    var retry = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\n    var output = '';\n    var protractorArgs = [parsedOptions.protractorPath].concat(parsedOptions.protractorArgs);\n\n    if (retry) {\n      protractorArgs.push('--params.flake.retry', true);\n    }\n\n    if (specFiles.length) {\n      protractorArgs = filterArgs(protractorArgs);\n      protractorArgs.push('--specs', specFiles.join(','));\n    }\n\n    var protractor = (0, _child_process.spawn)(parsedOptions.nodeBin, protractorArgs, parsedOptions.protractorSpawnOptions);\n\n    protractor.stdout.on('data', function (buffer) {\n      var text = buffer.toString();\n      logger.protractor(text);\n      output = output + text;\n    });\n\n    protractor.stderr.on('data', function (buffer) {\n      var text = buffer.toString();\n      logger.protractor(text);\n      output = output + text;\n    });\n\n    protractor.on('exit', function (status) {\n      handleTestEnd(status, output);\n    });\n  }\n\n  startProtractor();\n};\n\nmodule.exports = exports['default'];"]}