{"version":3,"sources":["jsdelivr-header.js","/npm/samsung-tv-scan@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,MACb,MAAQ,QAAQ,SAChB,QAAU,QAAQ,WAElB,KAAO,GAAG,UACV,EAAI,GAAG,SAAS,MAChB,OAAS,EAAE,GAAK,IAAM,EAAE,GAAK,IAAM,EAAE,GAAK,IAEhD,IAAI,OAAS,GAEb,IAAK,IAAI,EAAK,EAAG,EAAK,IAAK,IACzB,OAAO,KAAK,OAAS,GAGvB,OAAO,QAAU,SAAS,EAAU,GAAgB,GAClD,GAAwB,mBAAb,EACT,MAAM,MAAM,uDAEd,IAAI,EAAU,GACd,MAAM,QAAQ,QAAQ,SAAS,EAAI,GACjC,QAAQ,UAAY,EAAK,iBAAiB,SAAS,EAAK,EAAU,GAChE,GAAG,EACD,OAAO,IAET,IAAI,EAAS,KAAK,MAAM,GAUxB,GATA,EAAQ,KAAK,CACX,GAAI,EAAO,KACX,MAAO,EAAO,UACd,aAAc,EAAO,YACrB,UAAW,EAAO,KAClB,GAAI,EAAO,GACX,KAAM,EAAO,WACb,mBAAoB,EAAO,aAE1B,EACD,OAAO,GAAS,EAAM,GAExB,GACF,GACF,IAAG,WACE,EAAQ,OAAS,EAClB,GAAS,EAAO,IAEhB,GAAS,EAAM,EAEnB,GACF","file":"/npm/samsung-tv-scan@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/samsung-tv-scan@1.0.0/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","const ip = require('ip')\nconst async = require('async')\nconst request = require('request')\n\nconst myIp = ip.address()\nconst p = ip.toBuffer(myIp)\nconst prefix = p[0] + '.' + p[1] + '.' + p[2] + '.'\n\nlet allIPs = []\n\nfor (let s2 = 1; s2 < 254; s2++) {\n  allIPs.push(prefix + s2)\n}\n\nmodule.exports = function(callback, stop_on_first = false) {\n  if (typeof callback !== \"function\") {\n    throw Error('Please provide callback function as first argument!')\n  }\n  let devices = []\n  async.forEach(allIPs, function(ip, cb) {\n    request('http://' + ip + ':8001/ms/1.0/', function(err, response, body) {\n      if(err) {\n        return cb()\n      }\n      let device = JSON.parse(body)\n      devices.push({\n        id: device.DUID,\n        model: device.ModelName,\n        network_type: device.NetworkType,\n        wifi_ssid: device.SSID,\n        ip: device.IP,\n        name: device.DeviceName,\n        display_resolution: device.Resolution\n      })\n      if(stop_on_first) {\n        return callback(true, devices)\n      }\n      cb()\n    })\n  }, function() {\n    if(devices.length < 1) {\n      callback(false, [])\n    } else {\n      callback(true, devices)\n    }\n  })\n}"]}