{"version":3,"sources":["jsdelivr-header.js","/npm/hers-image-resolver@1.0.2/src/ImageResolver.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,MAAgB,QAAQ,WAExB,cAAgB,QAAQ,2BACxB,QAAgB,QAAQ,qBACxB,UAAgB,QAAQ,uBACxB,UAAgB,QAAQ,uBAExB,WAAgB,QAAQ,wBACxB,OAAgB,QAAQ,oBACxB,SAAgB,QAAQ,sBACxB,UAAgB,QAAQ,uBACxB,QAAgB,QAAQ,qBAE5B,SAAS,YAAa,EAAM,GAC1B,KAAK,KAAO,EACZ,KAAK,IAAM,CACb,CAiBA,SAAS,cAAe,GAEpB,KAAK,QAAU,EACf,KAAK,MAAQ,IAAI,MAAO,GACxB,KAAK,QAAU,EAEnB,CAtBA,YAAY,UAAU,OAAS,SAAU,GAClC,KAAK,OAGL,EACD,KAAK,KAAM,CACP,IAAO,KAAK,IACZ,MAAS,IAGb,KAAK,KAAM,MAEf,KAAK,KAAO,KACZ,KAAK,IAAM,KACb,EAUA,cAAc,UAAU,SAAW,SAAS,GAGxC,OADA,KAAK,QAAQ,KAAK,GACX,IAEX,EAEA,cAAc,UAAU,gBAAkB,SAAU,EAAK,EAAM,EAAO,GAErD,OAAT,EACA,KAAK,KAAK,EAAK,EAAM,EAAM,GAE3B,EAAK,OAAO,GAEhB,EAAM,KACN,EAAO,KACP,EAAQ,IAEZ,EAEA,cAAc,UAAU,KAAO,SAAS,EAAK,EAAM,GAE/C,IAAI,GACJ,EAAQ,GAAS,IACJ,KAAK,QAAQ,OACxB,EAAK,OAAO,OAGd,EAAS,KAAK,QAAQ,IAElB,EAAO,QAAS,EAAK,KAAK,gBAAgB,KAAK,KAAM,EAAK,EAAM,GAAQ,KAAK,QAAS,KAAK,OAE3F,EAAK,OAAO,KAIpB,EAEA,cAAc,UAAU,QAAU,SAAS,EAAK,GAG5C,OADA,KAAK,KAAK,EAAK,IAAI,YAAY,EAAM,IAC9B,IAEX,EAGA,cAAc,cAAgB,cAC9B,cAAc,QAAgB,QAC9B,cAAc,UAAgB,UAC9B,cAAc,UAAgB,UAE9B,cAAc,SAAgB,SAC9B,cAAc,WAAgB,WAC9B,cAAc,OAAgB,OAC9B,cAAc,UAAgB,UAC9B,cAAc,QAAgB,QAE9B,OAAO,QAAU","file":"/npm/hers-image-resolver@1.0.2/src/ImageResolver.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hers-image-resolver@1.0.2/src/ImageResolver.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 Utils         = require('./Utils');\n\nvar FileExtension = require('./plugins/FileExtension');\nvar NineGag       = require('./plugins/NineGag');\nvar Instagram     = require('./plugins/Instagram');\nvar ImgurPage     = require('./plugins/ImgurPage');\n\nvar ImgurAlbum    = require('./plugins/ImgurAlbum');\nvar Flickr        = require('./plugins/Flickr');\nvar MimeType      = require('./plugins/MimeType');\nvar Opengraph     = require('./plugins/Opengraph');\nvar Webpage       = require('./plugins/Webpage');\n\nfunction ClbkInvoker (clbk, url) {\n  this.clbk = clbk;\n  this.url = url;\n}\nClbkInvoker.prototype.invoke = function (image) {\n  if (!this.clbk) {\n    return;\n  }\n  if ( image ) {\n      this.clbk( {\n          'url': this.url,\n          'image': image\n      } );\n  } else {\n      this.clbk( null );\n  }\n  this.clbk = null;\n  this.url = null;\n};\n\nfunction ImageResolver( options ) {\n\n    this.options = options;\n    this.utils = new Utils( options );\n    this.filters = [];\n\n}\n\nImageResolver.prototype.register = function(fn) {\n\n    this.filters.push(fn);\n    return this;\n\n};\n\nImageResolver.prototype.onFilterResolve = function (url, clbk, index, data) {\n\n    if (data === null) {\n        this.next(url, clbk, index+1);\n    } else {\n        clbk.invoke(data);\n    }\n    url = null;\n    clbk = null;\n    index = null;\n\n};\n\nImageResolver.prototype.next = function(url, clbk, index) {\n\n    var filter;\n    index = index || 0;\n    if (index >= this.filters.length) {\n      clbk.invoke(null);\n      return;\n    }\n    filter = this.filters[index];\n    if (filter) {\n        filter.resolve( url, this.onFilterResolve.bind(this, url, clbk, index), this.options, this.utils );\n    } else {\n        clbk.invoke(null);\n        return;\n    }\n\n};\n\nImageResolver.prototype.resolve = function(url, clbk) {\n\n    this.next(url, new ClbkInvoker(clbk, url));\n    return this;\n\n};\n\n// Expose plugins\nImageResolver.FileExtension = FileExtension;\nImageResolver.NineGag       = NineGag;\nImageResolver.Instagram     = Instagram;\nImageResolver.ImgurPage     = ImgurPage;\n\nImageResolver.MimeType      = MimeType;\nImageResolver.ImgurAlbum    = ImgurAlbum;\nImageResolver.Flickr        = Flickr;\nImageResolver.Opengraph     = Opengraph;\nImageResolver.Webpage       = Webpage;\n\nmodule.exports = ImageResolver;\n"]}