{"version":3,"sources":["jsdelivr-header.js","/npm/achecker@0.0.6/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,KAAc,QAAQ,WACtB,SAAc,QAAQ,aACtB,YAAc,QAAQ,UAAU,YAEhC,SAAW,SAAS,EAAS,GAE/B,IAAK,EAAQ,IACX,OAAO,EAAS,IAAI,MAAM,+BAAgC,MAG5D,GAAI,EAAQ,MAAQ,SAAS,SAAS,EAAQ,KAC5C,OAAO,EAAS,IAAI,MAAM,eAAgB,MAG5C,IAAK,EAAQ,IACX,OAAO,EAAS,IAAI,MAAM,8BAA+B,MAI3D,IAAI,EAAS,CACX,MAAO,CACL,IAAK,EAAQ,IACb,GAAI,EAAQ,IACZ,OAAQ,OACR,MAAO,EAAQ,OAAS,WACxB,OAAQ,EAAQ,QAAU,GAE5B,QAAS,CACP,eAAgB,mBAChB,KAAQ,cACR,eAAgB,wBAIpB,KAAK,IAAI,kCAAmC,GAC3C,GAAG,OAAO,WACP,EAAS,YAAa,KAC1B,IACC,GAAG,OAAO,WACP,EAAS,cAAe,KAC5B,IACC,GAAG,OAAO,WACP,EAAS,uBAAwB,KACrC,IACC,GAAG,OAAO,WACP,EAAS,yBAA0B,KACvC,IACC,GAAG,OAAO,WACP,EAAS,0BAA2B,KACxC,IACC,GAAG,YAAY,SAAS,GACvB,YAAY,EAAO,CACjB,MAAM,EACN,WAAW,EACX,eAAe,IAEhB,SAAU,EAAK,GAEf,IAAI,EAAU,CACb,UAAW,EAAK,UAAU,QAAQ,UAClC,OAAQ,SAAS,EAAK,UAAU,QAAQ,aACxC,eAAgB,SAAS,EAAK,UAAU,QAAQ,qBAChD,kBAAmB,SAAS,EAAK,UAAU,QAAQ,0BAGtC,EAAK,UAAU,QAAQ,QAAU,CAAC,GACxC,SAAQ,SAAS,EAAM,EAAG,GACjC,GAAG,EAAK,SAAS,CACf,IAAI,EAAM,EAAK,SAAS,MAAM,kBAC1B,EAAO,EAAK,SAAS,MAAM,kBAC/B,EAAE,GAAG,SAAW,CAAC,IAAK,EAAI,GAAI,QAAS,EAAK,GAC9C,CACD,IAEA,EAAU,CACT,QAAU,EACV,QAAS,EAAK,UAAU,QAAQ,QAGlC,GACF,GACF,EAGA,OAAO,QAAU","file":"/npm/achecker@0.0.6/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/achecker@0.0.6/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\nvar rest        = require('restler');\nvar validUrl    = require('valid-url');\nvar parseString = require('xml2js').parseString;\n\nvar achecker = function(options, callback) {\n\n  if (!options.uri) {\n    return callback(new Error('Missing required param: uri'), null);\n  }\n\n  if (options.uri && !validUrl.isWebUri(options.uri)) {\n    return callback(new Error('Invalid url'), null);\n  }\n\n  if (!options.key) {\n    return callback(new Error('Web Service ID is required'), null);\n  }\n\n\n  var params = {\n    query: {\n      uri: options.uri,\n      id: options.key,\n      output: 'rest',\n      guide: options.guide || 'WCAG2-AA',\n      offset: options.offset || 0\n    },\n    headers: {\n      'Content-Type': 'application/json',\n      'Host': 'achecker.ca',\n      'X-Target-URI': 'http://achecker.ca/'\n    }\n  };\n\n  rest.get('http://achecker.ca/checkacc.php', params)\n  .on('401', function(){\n      callback('Empty URI', null);\n  })\n  .on('402', function(){\n      callback('Invalid URI', null);\n  })\n  .on('403', function(){\n      callback('Empty Web Service ID', null);\n  })\n  .on('404', function(){\n      callback('Invalid Web Service ID', null);\n  })\n  .on('405', function(){\n      callback('No sequence id is given', null);\n  })\n  .on('complete', function(result) {\n    parseString(result,{\n      trim: true,\n      normalize: true,\n      explicitArray: false\n    },\n     function (err, json) {\n\n     var summary = {\n      sessionID: json.resultset.summary.sessionID,\n      errors: parseInt(json.resultset.summary.NumOfErrors),\n      likelyProblems: parseInt(json.resultset.summary.NumOfLikelyProblems),\n      potentialProblems: parseInt(json.resultset.summary.NumOfPotentialProblems)\n     };\n\n     var results = json.resultset.results.result || {};\n     results.forEach(function(item, i, r){\n      if(item.errorMsg){\n        var url = item.errorMsg.match(/href=\"([^\"]*)\"/);\n        var text = item.errorMsg.match(/\">([^\"]*)<\\/a>/);\n        r[i].errorMsg = {url: url[1], message: text[1]};\n      }\n     });\n\n     callback( {\n      summary : summary,\n      results: json.resultset.results.result\n     });\n\n    });\n  });\n};\n\n\nmodule.exports = achecker;"]}