{"version":3,"sources":["jsdelivr-header.js","/npm/@vweevers/docker-pull@1.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,OAAS,QAAQ,qBACjB,MAAQ,QAAQ,sBAChB,YAAc,QAAQ,gBACtB,QAAU,QAAQ,YAClB,OAAS,QAAQ,UACjB,KAAO,QAAQ,QAEf,KAAO,SAAU,EAAO,EAAM,GAChC,GAAoB,mBAAT,EAAqB,OAAO,KAAK,EAAO,KAAM,GAIzD,GAHK,IAAM,EAAO,CAAC,KAEnB,EAAQ,MAAM,IACF,MAAM,IAAI,MAAM,iBAE5B,IAAI,EAAU,OAAO,CAAC,KAAM,EAAK,KAAM,QAAS,EAAK,SAAW,UAC5D,EAAO,IAAI,OAAO,aAClB,EAAS,CAAC,EACV,EAAW,CAAC,EAEhB,EAAK,MAAQ,EAAM,KAEnB,EAAS,OAAS,EAAK,OAAS,EAChC,EAAS,YAAc,EAAK,YAAc,EAC1C,EAAS,OAAS,EAAK,OAAS,EAEhC,IAAI,EAAQ,SAAU,EAAM,EAAK,GAC/B,GAAI,EAAK,MAAO,OAAO,EAAG,IAAI,MAAM,EAAK,MAAM,SAC/C,IAAK,EAAK,KAAO,EAAK,iBAAmB,EAAK,eAAe,QAAS,OAAO,SAErD,IAApB,EAAO,EAAK,MACd,EAAO,EAAK,IAAM,EAClB,EAAS,OAAS,EAAK,OAAS,EAAK,OAAS,EAC9C,EAAS,OAAS,EAAK,OAAS,EAAK,QAAU,EAAK,eAAe,OAAS,IAG9E,IAAI,EAAM,EAAK,eAAe,QAC9B,EAAS,YAAc,EAAK,YAAc,EAAK,aAAe,EAAM,EAAO,EAAK,KAChF,EAAO,EAAK,IAAM,EAElB,EAAK,KAAK,WAAY,GAEtB,GACF,EAEI,EAAY,EAAM,WAElB,EAAM,YACR,EAAY,EAAM,UAAY,IAAM,GAGlC,EAAM,WACR,EAAY,EAAM,SAAW,IAAM,GAGrC,IAAI,EAAO,EAAQ,KAAK,iBAAkB,CACxC,GAAI,CACF,UAAW,EACX,IAAK,EAAM,KAAO,UAEpB,QAAS,CACP,kBAAmB,CACjB,SAAU,EAAK,UAAY,OAC3B,SAAU,EAAK,UAAY,GAC3B,MAAO,EAAK,QAGhB,KAAM,OACL,SAAU,EAAK,GAChB,GAAI,EAAK,OAAO,EAAK,KAAK,QAAS,GAEnC,KAAK,EAAU,cAAe,QAAQ,IAAI,IAAQ,SAAU,GAC1D,GAAI,EAAK,OAAO,EAAK,KAAK,QAAS,GACnC,EAAK,KAAK,MACZ,GACF,IAWA,OATA,EAAK,QAAU,WACb,EAAK,SACP,EAEI,IACF,EAAK,GAAG,MAAO,GACf,EAAK,GAAG,QAAS,IAGZ,CACT,EAEA,OAAO,QAAU","file":"/npm/@vweevers/docker-pull@1.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@vweevers/docker-pull@1.1.1/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","var docker = require('docker-remote-api')\nvar parse = require('docker-parse-image')\nvar throughJSON = require('through-json')\nvar through = require('through2')\nvar events = require('events')\nvar pump = require('pump')\n\nvar pull = function (image, opts, cb) {\n  if (typeof opts === 'function') return pull(image, null, opts)\n  if (!opts) opts = {}\n\n  image = parse(image)\n  if (!image) throw new Error('Invalid image')\n\n  var request = docker({host: opts.host, version: opts.version || 'v1.21'})\n  var that = new events.EventEmitter()\n  var layers = {}\n  var progress = {}\n\n  that.image = image.name\n\n  progress.layers = that.layers = 0\n  progress.transferred = that.transferred = 0\n  progress.length = that.length = 0\n\n  var write = function (data, enc, cb) {\n    if (data.error) return cb(new Error(data.error.trim()))\n    if (!data.id || !data.progressDetail || !data.progressDetail.current) return cb()\n\n    if (layers[data.id] === undefined) {\n      layers[data.id] = 0\n      progress.layers = that.layers = that.layers + 1\n      progress.length = that.length = that.length + (data.progressDetail.total || 0)\n    }\n\n    var cur = data.progressDetail.current\n    progress.transferred = that.transferred = that.transferred + (cur - layers[data.id])\n    layers[data.id] = cur\n\n    that.emit('progress', progress)\n\n    cb()\n  }\n\n  var fromImage = image.repository\n\n  if (image.namespace) {\n    fromImage = image.namespace + '/' + fromImage\n  }\n\n  if (image.registry) {\n    fromImage = image.registry + '/' + fromImage\n  }\n\n  var post = request.post('/images/create', {\n    qs: {\n      fromImage: fromImage,\n      tag: image.tag || 'latest'\n    },\n    headers: {\n      'X-Registry-Auth': {\n        username: opts.username || 'anon',\n        password: opts.password || '',\n        email: opts.email\n      }\n    },\n    body: null\n  }, function (err, response) {\n    if (err) return that.emit('error', err)\n\n    pump(response, throughJSON(), through.obj(write), function (err) {\n      if (err) return that.emit('error', err)\n      that.emit('end')\n    })\n  })\n\n  that.destroy = function () {\n    post.destroy()\n  }\n\n  if (cb) {\n    that.on('end', cb)\n    that.on('error', cb)\n  }\n\n  return that\n}\n\nmodule.exports = pull\n"]}