@microlink/mql
Advanced tools
Comparing version 0.4.3 to 0.4.4
@@ -5,2 +5,9 @@ # Changelog | ||
### [0.4.4](https://github.com/microlinkhq/mql/compare/v1.0.22...v0.4.4) (2019-09-26) | ||
### Bug Fixes | ||
* pass headers ([d79f883](https://github.com/microlinkhq/mql/commit/d79f883)) | ||
### [0.4.3](https://github.com/microlinkhq/mql/compare/v0.4.2...v0.4.3) (2019-09-10) | ||
@@ -7,0 +14,0 @@ |
@@ -2499,3 +2499,3 @@ (function (global, factory) { | ||
// TODO: `json` because always is the output serialized. | ||
const got = async (url, { json, headers, cache, ...opts }) => { | ||
const got = async (url, { json, cache, ...opts }) => { | ||
try { | ||
@@ -2522,3 +2522,3 @@ const response = await ky(url, opts); | ||
flatten: flat, | ||
VERSION: '0.4.3' | ||
VERSION: '0.4.4' | ||
}); | ||
@@ -2525,0 +2525,0 @@ |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("url")):"function"==typeof define&&define.amd?define(["url"],t):(e=e||self).mql=t(e.url)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t=Object.freeze({default:e=>e});const r=(e,t)=>{for(const r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};var o=r,a=r;o.default=a;var s={isFunction:e=>"function"==typeof e,isString:e=>"string"==typeof e,composeErrorMessage:(e,t)=>`${e}, ${t}`,inherits:(e,t)=>{e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}};const{isFunction:n,composeErrorMessage:i}=s;var c=function(e,...t){Object.assign(e,...t),e.description=n(e.message)?e.message(e):e.message,e.message=e.code?i(e.code,e.description):e.description},l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.default||e}var d=u(t);const{isString:p}=s;var h=function(e,t){function r(r){const o=new e,a=p(r)?{message:r}:r;return c(o,t,a),o.stack=d(o.stack),o}return r.prototype=e.prototype,o(r,e),r};const{inherits:f}=s,m=/[^0-9a-zA-Z_$]/;var g=function(e){if("string"!=typeof e)throw new TypeError("Expected className to be a string");if(m.test(e))throw new Error("className contains invalid characters");function t(){Object.defineProperty(this,"name",{configurable:!0,value:e,writable:!0}),Error.captureStackTrace(this,this.constructor)}return f(t,Error),o(t,Error),t};const b=e=>(t,r)=>{const o=g(t||e.name);return h(o,r)};var y=b(Error),w=b(TypeError),v=b(RangeError),k=b(EvalError),x=b(SyntaxError),j=b(ReferenceError),_=b(URIError);function $(e){if(!e)return"";var t=decodeURIComponent(e);return"false"!==t&&("true"===t||(0*+t==0?+t:t))}y.type=w,y.range=v,y.eval=k,y.syntax=x,y.reference=j,y.uri=_;var E=Object.freeze({encode:function(e,t){var r,o,a,s="";for(r in e)if(void 0!==(a=e[r]))if(Array.isArray(a))for(o=0;o<a.length;o++)s&&(s+="&"),s+=encodeURIComponent(r)+"="+encodeURIComponent(a[o]);else s&&(s+="&"),s+=encodeURIComponent(r)+"="+encodeURIComponent(a);return(t||"")+s},decode:function(e){for(var t,r,o={},a=e.split("&");t=a.shift();)void 0!==o[r=(t=t.split("=")).shift()]?o[r]=[].concat(o[r],$(t.shift())):o[r]=$(t.shift());return o}});const R=e=>e&&e.includeBoundaries?"(?:(?<=\\s|^)(?=[a-fA-F\\d:])|(?<=[a-fA-F\\d:])(?=\\s|$))":"",z="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",T="[a-fA-F\\d]{1,4}",O=`\n(\n(?:${T}:){7}(?:${T}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${T}:){6}(?:${z}|:${T}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${T}:){5}(?::${z}|(:${T}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${T}:){4}(?:(:${T}){0,1}:${z}|(:${T}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${T}:){3}(?:(:${T}){0,2}:${z}|(:${T}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${T}:){2}(?:(:${T}){0,3}:${z}|(:${T}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${T}:){1}(?:(:${T}){0,4}:${z}|(:${T}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::((?::${T}){0,5}:${z}|(?::${T}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),U=e=>e&&e.exact?new RegExp(`(?:^${z}$)|(?:^${O}$)`):new RegExp(`(?:${R(e)}${z}${R(e)})|(?:${R(e)}${O}${R(e)})`,"g");U.v4=e=>e&&e.exact?new RegExp(`^${z}$`):new RegExp(`${R(e)}${z}${R(e)}`,"g"),U.v6=e=>e&&e.exact?new RegExp(`^${O}$`):new RegExp(`${R(e)}${O}${R(e)}`,"g");var S=U,C=["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","active","actor","ad","adac","ads","adult","ae","aeg","aero","aetna","af","afamilycompany","afl","africa","ag","agakhan","agency","ai","aig","aigo","airbus","airforce","airtel","akdn","al","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blanco","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnl","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","budapest","bugatti","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","cartier","casa","case","caseih","cash","casino","cat","catering","catholic","cba","cbn","cbre","cbs","cc","cd","ceb","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","chase","chat","cheap","chintai","christmas","chrome","chrysler","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","coop","corsica","country","coupon","coupons","courses","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","csc","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dodge","dog","doha","domains","dot","download","drive","dtv","dubai","duck","dunlop","duns","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epost","epson","equipment","er","ericsson","erni","es","esq","estate","esurance","et","etisalat","eu","eurovision","eus","events","everbank","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fujixerox","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glade","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodhands","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","guardian","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","honeywell","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","industries","infiniti","info","ing","ink","institute","insurance","insure","int","intel","international","intuit","investments","io","ipiranga","iq","ir","irish","is","iselect","ismaili","ist","istanbul","it","itau","itv","iveco","iwc","jaguar","java","jcb","jcp","je","jeep","jetzt","jewelry","jio","jlc","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerrylogistics","kerryproperties","kfh","kg","kh","ki","kia","kim","kinder","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","ladbrokes","lamborghini","lamer","lancaster","lancia","lancome","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","liaison","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","lixil","lk","llc","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","lupin","luxe","luxury","lv","ly","ma","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","meo","merckmsd","metlife","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","mobily","moda","moe","moi","mom","monash","money","monster","mopar","mormon","mortgage","moscow","moto","motorcycles","mov","movie","movistar","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","mutual","mv","mw","mx","my","mz","na","nab","nadex","nagoya","name","nationwide","natura","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","newholland","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","northwesternmutual","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","off","office","okinawa","olayan","olayangroup","oldnavy","ollo","om","omega","one","ong","onl","online","onyourside","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","panerai","paris","pars","partners","parts","party","passagens","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","piaget","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","pramerica","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","qvc","racing","radio","raid","re","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","rightathome","ril","rio","rip","rmit","ro","rocher","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sapo","sarl","sas","save","saxo","sb","sbi","sbs","sc","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scjohnson","scor","scot","sd","se","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","shriram","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","space","spiegel","sport","spot","spreadbetting","sr","srl","srt","st","stada","staples","star","starhub","statebank","statefarm","statoil","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiftcover","swiss","sx","sy","sydney","symantec","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","telecity","telefonica","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","uconnect","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","vista","vistaprint","viva","vivo","vlaanderen","vn","vodka","volkswagen","volvo","vote","voting","voto","voyage","vu","vuelos","wales","walmart","walter","wang","wanggou","warman","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","ಭಾರತ","慈善","集团","在线","한국","ଭାରତ","大众汽车","点看","คอม","ভাৰত","ভারত","八卦","موقع","বাংলা","公益","公司","香格里拉","网站","移动","我爱你","москва","қаз","католик","онлайн","сайт","联通","срб","бг","бел","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","ею","ポイント","新闻","工行","家電","كوم","中文网","中信","中国","中國","娱乐","谷歌","భారత్","ලංකා","電訊盈科","购物","クラウド","ભારત","通販","भारतम्","भारत","भारोत","网店","संगठन","餐厅","网络","ком","укр","香港","诺基亚","食品","飞利浦","台湾","台灣","手表","手机","мон","الجزائر","عمان","ارامكو","ایران","العليان","اتصالات","امارات","بازار","پاکستان","الاردن","موبايلي","بارت","بھارت","المغرب","ابوظبي","السعودية","ڀارت","كاثوليك","سودان","همراه","عراق","مليسيا","澳門","닷컴","政府","شبكة","بيتك","عرب","გე","机构","组织机构","健康","ไทย","سورية","招聘","рус","рф","珠宝","تونس","大拿","みんな","グーグル","ελ","世界","書籍","ഭാരതം","ਭਾਰਤ","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","مصر","قطر","广东","இலங்கை","இந்தியா","հայ","新加坡","فلسطين","政务","xperia","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zippo","zm","zone","zuerich","zw"];const P=l.window?window.URL:e.URL,q=(e=>{const t=`(?:${`(?:(?:[a-z]+:)?//)${(e={strict:!0,...e}).strict?"":"?"}`}|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${S.v4().source}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*${`(?:\\.${e.strict?"(?:[a-z\\u00a1-\\uffff]{2,})":`(?:${C.sort((e,t)=>t.length-e.length).join("|")})`})\\.?`})(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return e.exact?new RegExp(`(?:^${t}$)`,"i"):new RegExp(t,"ig")})({exact:!0}),A=/^https?:\/\//i;var N,I=function(e,t){return e(t={exports:{}},t.exports),t.exports}(function(e,t){!function(e){const t=e=>"undefined"!=typeof self&&self&&e in self?self[e]:"undefined"!=typeof window&&window&&e in window?window[e]:void 0!==l&&l&&e in l?l[e]:"undefined"!=typeof globalThis&&globalThis?globalThis[e]:void 0,r=t("document"),o=t("Headers"),a=t("Request"),s=t("Response"),n=t("ReadableStream"),i=t("fetch"),c=t("AbortController"),u=t("FormData"),d=e=>null!==e&&"object"==typeof e,p="function"==typeof c,h="function"==typeof n,f="function"==typeof u,m=(...e)=>{let t={};for(const r of e)if(Array.isArray(r))Array.isArray(t)||(t=[]),t=[...t,...r];else if(d(r))for(let[e,o]of Object.entries(r))d(o)&&Reflect.has(t,e)&&(o=m(t[e],o)),t={...t,[e]:o};return t},g=["get","post","put","patch","head","delete"],b={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},y=new Set(["get","put","head","delete","options","trace"]),w=new Set([408,413,429,500,502,503,504]),v=new Set([413,429,503]);class k extends Error{constructor(e){super(e.statusText),this.name="HTTPError",this.response=e}}class x extends Error{constructor(){super("Request timed out"),this.name="TimeoutError"}}const j=(e,t,r)=>(r>2147483647&&t(new RangeError("The `timeout` option cannot be greater than 2147483647")),setTimeout(e,r)),_=e=>new Promise((t,r)=>j(t,r,e)),$=(e,t,r)=>new Promise((o,a)=>{const s=j(()=>{p&&r.abort(),a(new x)},a,t);e.then(o).catch(a).then(()=>{clearTimeout(s)})}),E=e=>g.includes(e)?e.toUpperCase():e;class R{constructor(e,{timeout:t=1e4,hooks:n,throwHttpErrors:i=!0,searchParams:l,json:d,...g}){if(this._retryCount=0,this._options={method:"get",credentials:"same-origin",retry:2,...g},e instanceof a)this._input=e,this._options={...this._options,method:g.method||e.method,headers:g.headers||e.headers,body:g.body||e.body,credentials:g.credentials||e.credentials};else{if(this._input=String(e||""),this._options.prefixUrl=String(this._options.prefixUrl||""),this._options.prefixUrl&&this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");if(this._options.prefixUrl&&!this._options.prefixUrl.endsWith("/")&&(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input,l){const e=new URL(this._input,r&&r.baseURI);if("string"==typeof l||URLSearchParams&&l instanceof URLSearchParams)e.search=l;else{if(!Object.values(l).every(e=>"number"==typeof e||"string"==typeof e))throw new Error("The `searchParams` option must be either a string, `URLSearchParams` instance or an object with string and number values");e.search=new URLSearchParams(l).toString()}this._input=e.toString()}}p&&(this.abortController=new c,this._options.signal&&this._options.signal.addEventListener("abort",()=>{this.abortController.abort()}),this._options.signal=this.abortController.signal),this._options.method=E(this._options.method),this._timeout=t,this._hooks=m({beforeRequest:[],afterResponse:[]},n),this._throwHttpErrors=i;const w=new o(this._options.headers||{});if((f&&this._options.body instanceof u||this._options.body instanceof URLSearchParams)&&w.has("content-type"))throw new Error(`The \`content-type\` header cannot be used with a ${this._options.body.constructor.name} body. It will be set automatically.`);if(d){if(this._options.body)throw new Error("The `json` option cannot be used with the `body` option");w.set("content-type","application/json"),this._options.body=JSON.stringify(d)}this._options.headers=w;const v=async()=>{await _(1);let e=await this._fetch();for(const t of this._hooks.afterResponse){const r=await t(e.clone());r instanceof s&&(e=r)}if(!e.ok&&this._throwHttpErrors)throw new k(e);if(this._options.onDownloadProgress){if("function"!=typeof this._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!h)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return this._stream(e.clone(),this._options.onDownloadProgress)}return e},x=y.has(this._options.method.toLowerCase())?this._retry(v):v();for(const[e,t]of Object.entries(b))x[e]=async()=>(w.set("accept",t),(await x).clone()[e]());return x}_calculateRetryDelay(e){if(this._retryCount++,this._retryCount<this._options.retry&&!(e instanceof x)){if(e instanceof k){if(!w.has(e.response.status))return 0;const t=e.response.headers.get("Retry-After");if(t&&v.has(e.response.status)){let e=Number(t);return Number.isNaN(e)?e=Date.parse(t)-Date.now():e*=1e3,e}if(413===e.response.status)return 0}return.3*2**(this._retryCount-1)*1e3}return 0}async _retry(e){try{return await e()}catch(t){const r=this._calculateRetryDelay(t);if(0!==r&&this._retryCount>0)return await _(r),this._retry(e);if(this._throwHttpErrors)throw t}}async _fetch(){for(const e of this._hooks.beforeRequest)await e(this._options);return!1===this._timeout?i(this._input,this._options):$(i(this._input,this._options),this._timeout,this.abortController)}_stream(e,t){const r=Number(e.headers.get("content-length"))||0;let o=0;return new s(new n({start(a){const s=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),async function e(){const{done:n,value:i}=await s.read();n?a.close():(t&&(o+=i.byteLength,t({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),a.enqueue(i),e())}()}}))}}const z=(...e)=>{for(const t of e)if((!d(t)||Array.isArray(t))&&void 0!==t)throw new TypeError("The `options` argument must be an object");return m({},...e)},T=e=>{const t=(t,r)=>new R(t,z(e,r));for(const r of g)t[r]=(t,o)=>new R(t,z(e,o,{method:r}));return t.create=e=>T(z(e)),t.extend=t=>T(z(e,t)),t};var O=T();e.HTTPError=k,e.TimeoutError=x,e.default=O,Object.defineProperty(e,"__esModule",{value:!0})}(t)});(N=I)&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")&&N.default;var L=I,D=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},M=B;function B(e,t){var r=(t=t||{}).delimiter||".",o=t.maxDepth,a={};return function e(s,n,i){i=i||1,Object.keys(s).forEach(function(c){var l=s[c],u=t.safe&&Array.isArray(l),d=Object.prototype.toString.call(l),p=D(l),h=n?n+r+c:c;if(!u&&!p&&("[object Object]"===d||"[object Array]"===d)&&Object.keys(l).length&&(!t.maxDepth||i<o))return e(l,h,i+1);a[h]=l})}(e),a}B.flatten=B,B.unflatten=function e(t,r){r=r||{};var o=r.delimiter||".";var a=r.overwrite||!1;var s={};var n=D(t);if(n||"[object Object]"!==Object.prototype.toString.call(t))return t;function i(e){var t=Number(e);return isNaN(t)||-1!==e.indexOf(".")||r.object?e:t}var c=Object.keys(t).sort(function(e,t){return e.length-t.length});c.forEach(function(n){for(var c=n.split(o),l=i(c.shift()),u=i(c[0]),d=s;void 0!==u;){var p=Object.prototype.toString.call(d[l]),h="[object Object]"===p||"[object Array]"===p;if(!a&&!h&&void 0!==d[l])return;(a&&!h||!a&&null==d[l])&&(d[l]="number"!=typeof u||r.object?{}:[]),d=d[l],c.length>0&&(l=i(c.shift()),u=i(c[0]))}d[l]=e(t[n],r)});return s};const H={FREE:"https://api.microlink.io",PRO:"https://pro.microlink.io"},F=e=>"TimeoutError"===e.name||"HTTPError"===e.name&&"5"===e.statusCode.toString()[0]||"invalid-json"===e.type;var V=function({VERSION:e,MicrolinkError:t,isUrlHttp:r,stringify:o,got:a,flatten:s}){const n=(e={})=>{const t=s(e);return Object.keys(t).reduce((e,r)=>({...e,[`data.${r}`]:t[r]}),{})},i=(e,{rules:t,apiKey:r,endpoint:a,...s}={})=>{const i=!!r;return[`${a||H[i?"PRO":"FREE"]}?${o({url:e,...n(t),...s})}`,{headers:i?{"x-api-key":r}:{}}]},c=async(e,{encoding:o="utf8",cache:s=!1,retry:n=2,timeout:c=3e4,json:l=!0,...u}={})=>{((e="")=>{if(!r(e)){const r=`The \`url\` as \`${e}\` is not valid. Ensure it has protocol (http or https) and hostname.`;throw new t({url:e,data:{url:r},status:"fail",code:"EINVALURLCLIENT",message:r,more:"https://microlink.io/docs/api/api-parameters/url"})}})(e);const[d,{headers:p}]=i(e,u);return(async(e,r,o)=>{try{const s=await a(r,o),{body:n}=s;return{...n,response:s}}catch(r){const{name:a,statusCode:s=500,body:n,message:i}=r;if(F(r)){const r=`The \`url\` as \`${e}\` reached timeout after ${o.retry.maxRetryAfter}ms.`;throw new t({url:e,data:{url:r},status:"fail",code:"TimeoutError"===a?"ETIMEOUTCLIENT":"ETIMEOUT",message:r,more:"https://microlink.io/docs/api/api-parameters/url",statusCode:s})}const c=n?"string"==typeof n||Buffer.isBuffer(n)?JSON.parse(n):n:{message:i,status:"fail"},l=c.data?c.data[Object.keys(c.data)[0]]:c.message;throw t({...c,message:l,url:e,statusCode:s})}})(e,d,{encoding:o,cache:s,retry:n,timeout:c,headers:p,json:l})};return c.MicrolinkError=t,c.apiUrl=i,c.mapRules=n,c.version=e,c.stream=a.stream,c},J=u(E);const K=y("MicrolinkError"),{encode:W}=J,{default:Z}=L;return V({MicrolinkError:K,isUrlHttp:e=>{try{return new P(e)&&A.test(e)&&q.test(e)}catch(e){return!1}},stringify:W,got:async(e,{json:t,headers:r,cache:o,...a})=>{try{const t=await Z(e,a),r=await t.json(),{headers:o,status:s,statusText:n}=t;return{url:t.url,body:r,headers:o,statusCode:s,statusMessage:n}}catch(e){throw e.response&&(e.body=await e.response.json(),e.statusCode=e.response.status,e.headers=e.response.headers),e}},flatten:M,VERSION:"0.4.3"})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("url")):"function"==typeof define&&define.amd?define(["url"],t):(e=e||self).mql=t(e.url)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t=Object.freeze({default:e=>e});const r=(e,t)=>{for(const r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};var o=r,a=r;o.default=a;var s={isFunction:e=>"function"==typeof e,isString:e=>"string"==typeof e,composeErrorMessage:(e,t)=>`${e}, ${t}`,inherits:(e,t)=>{e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}};const{isFunction:n,composeErrorMessage:i}=s;var c=function(e,...t){Object.assign(e,...t),e.description=n(e.message)?e.message(e):e.message,e.message=e.code?i(e.code,e.description):e.description},l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.default||e}var d=u(t);const{isString:p}=s;var h=function(e,t){function r(r){const o=new e,a=p(r)?{message:r}:r;return c(o,t,a),o.stack=d(o.stack),o}return r.prototype=e.prototype,o(r,e),r};const{inherits:f}=s,m=/[^0-9a-zA-Z_$]/;var g=function(e){if("string"!=typeof e)throw new TypeError("Expected className to be a string");if(m.test(e))throw new Error("className contains invalid characters");function t(){Object.defineProperty(this,"name",{configurable:!0,value:e,writable:!0}),Error.captureStackTrace(this,this.constructor)}return f(t,Error),o(t,Error),t};const b=e=>(t,r)=>{const o=g(t||e.name);return h(o,r)};var y=b(Error),w=b(TypeError),v=b(RangeError),k=b(EvalError),x=b(SyntaxError),j=b(ReferenceError),_=b(URIError);function $(e){if(!e)return"";var t=decodeURIComponent(e);return"false"!==t&&("true"===t||(0*+t==0?+t:t))}y.type=w,y.range=v,y.eval=k,y.syntax=x,y.reference=j,y.uri=_;var E=Object.freeze({encode:function(e,t){var r,o,a,s="";for(r in e)if(void 0!==(a=e[r]))if(Array.isArray(a))for(o=0;o<a.length;o++)s&&(s+="&"),s+=encodeURIComponent(r)+"="+encodeURIComponent(a[o]);else s&&(s+="&"),s+=encodeURIComponent(r)+"="+encodeURIComponent(a);return(t||"")+s},decode:function(e){for(var t,r,o={},a=e.split("&");t=a.shift();)void 0!==o[r=(t=t.split("=")).shift()]?o[r]=[].concat(o[r],$(t.shift())):o[r]=$(t.shift());return o}});const R=e=>e&&e.includeBoundaries?"(?:(?<=\\s|^)(?=[a-fA-F\\d:])|(?<=[a-fA-F\\d:])(?=\\s|$))":"",z="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",T="[a-fA-F\\d]{1,4}",O=`\n(\n(?:${T}:){7}(?:${T}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${T}:){6}(?:${z}|:${T}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${T}:){5}(?::${z}|(:${T}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${T}:){4}(?:(:${T}){0,1}:${z}|(:${T}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${T}:){3}(?:(:${T}){0,2}:${z}|(:${T}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${T}:){2}(?:(:${T}){0,3}:${z}|(:${T}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${T}:){1}(?:(:${T}){0,4}:${z}|(:${T}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::((?::${T}){0,5}:${z}|(?::${T}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),U=e=>e&&e.exact?new RegExp(`(?:^${z}$)|(?:^${O}$)`):new RegExp(`(?:${R(e)}${z}${R(e)})|(?:${R(e)}${O}${R(e)})`,"g");U.v4=e=>e&&e.exact?new RegExp(`^${z}$`):new RegExp(`${R(e)}${z}${R(e)}`,"g"),U.v6=e=>e&&e.exact?new RegExp(`^${O}$`):new RegExp(`${R(e)}${O}${R(e)}`,"g");var S=U,C=["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","active","actor","ad","adac","ads","adult","ae","aeg","aero","aetna","af","afamilycompany","afl","africa","ag","agakhan","agency","ai","aig","aigo","airbus","airforce","airtel","akdn","al","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blanco","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnl","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","budapest","bugatti","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","cartier","casa","case","caseih","cash","casino","cat","catering","catholic","cba","cbn","cbre","cbs","cc","cd","ceb","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","chase","chat","cheap","chintai","christmas","chrome","chrysler","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","coop","corsica","country","coupon","coupons","courses","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","csc","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dodge","dog","doha","domains","dot","download","drive","dtv","dubai","duck","dunlop","duns","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epost","epson","equipment","er","ericsson","erni","es","esq","estate","esurance","et","etisalat","eu","eurovision","eus","events","everbank","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fujixerox","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glade","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodhands","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","guardian","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","honeywell","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","industries","infiniti","info","ing","ink","institute","insurance","insure","int","intel","international","intuit","investments","io","ipiranga","iq","ir","irish","is","iselect","ismaili","ist","istanbul","it","itau","itv","iveco","iwc","jaguar","java","jcb","jcp","je","jeep","jetzt","jewelry","jio","jlc","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerrylogistics","kerryproperties","kfh","kg","kh","ki","kia","kim","kinder","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","ladbrokes","lamborghini","lamer","lancaster","lancia","lancome","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","liaison","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","lixil","lk","llc","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","lupin","luxe","luxury","lv","ly","ma","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","meo","merckmsd","metlife","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","mobily","moda","moe","moi","mom","monash","money","monster","mopar","mormon","mortgage","moscow","moto","motorcycles","mov","movie","movistar","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","mutual","mv","mw","mx","my","mz","na","nab","nadex","nagoya","name","nationwide","natura","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","newholland","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","northwesternmutual","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","off","office","okinawa","olayan","olayangroup","oldnavy","ollo","om","omega","one","ong","onl","online","onyourside","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","panerai","paris","pars","partners","parts","party","passagens","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","piaget","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","pramerica","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","qvc","racing","radio","raid","re","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","rightathome","ril","rio","rip","rmit","ro","rocher","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sapo","sarl","sas","save","saxo","sb","sbi","sbs","sc","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scjohnson","scor","scot","sd","se","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","shriram","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","space","spiegel","sport","spot","spreadbetting","sr","srl","srt","st","stada","staples","star","starhub","statebank","statefarm","statoil","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiftcover","swiss","sx","sy","sydney","symantec","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","telecity","telefonica","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","uconnect","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","vista","vistaprint","viva","vivo","vlaanderen","vn","vodka","volkswagen","volvo","vote","voting","voto","voyage","vu","vuelos","wales","walmart","walter","wang","wanggou","warman","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","ಭಾರತ","慈善","集团","在线","한국","ଭାରତ","大众汽车","点看","คอม","ভাৰত","ভারত","八卦","موقع","বাংলা","公益","公司","香格里拉","网站","移动","我爱你","москва","қаз","католик","онлайн","сайт","联通","срб","бг","бел","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","ею","ポイント","新闻","工行","家電","كوم","中文网","中信","中国","中國","娱乐","谷歌","భారత్","ලංකා","電訊盈科","购物","クラウド","ભારત","通販","भारतम्","भारत","भारोत","网店","संगठन","餐厅","网络","ком","укр","香港","诺基亚","食品","飞利浦","台湾","台灣","手表","手机","мон","الجزائر","عمان","ارامكو","ایران","العليان","اتصالات","امارات","بازار","پاکستان","الاردن","موبايلي","بارت","بھارت","المغرب","ابوظبي","السعودية","ڀارت","كاثوليك","سودان","همراه","عراق","مليسيا","澳門","닷컴","政府","شبكة","بيتك","عرب","გე","机构","组织机构","健康","ไทย","سورية","招聘","рус","рф","珠宝","تونس","大拿","みんな","グーグル","ελ","世界","書籍","ഭാരതം","ਭਾਰਤ","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","مصر","قطر","广东","இலங்கை","இந்தியா","հայ","新加坡","فلسطين","政务","xperia","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zippo","zm","zone","zuerich","zw"];const P=l.window?window.URL:e.URL,q=(e=>{const t=`(?:${`(?:(?:[a-z]+:)?//)${(e={strict:!0,...e}).strict?"":"?"}`}|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${S.v4().source}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*${`(?:\\.${e.strict?"(?:[a-z\\u00a1-\\uffff]{2,})":`(?:${C.sort((e,t)=>t.length-e.length).join("|")})`})\\.?`})(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return e.exact?new RegExp(`(?:^${t}$)`,"i"):new RegExp(t,"ig")})({exact:!0}),A=/^https?:\/\//i;var N,I=function(e,t){return e(t={exports:{}},t.exports),t.exports}(function(e,t){!function(e){const t=e=>"undefined"!=typeof self&&self&&e in self?self[e]:"undefined"!=typeof window&&window&&e in window?window[e]:void 0!==l&&l&&e in l?l[e]:"undefined"!=typeof globalThis&&globalThis?globalThis[e]:void 0,r=t("document"),o=t("Headers"),a=t("Request"),s=t("Response"),n=t("ReadableStream"),i=t("fetch"),c=t("AbortController"),u=t("FormData"),d=e=>null!==e&&"object"==typeof e,p="function"==typeof c,h="function"==typeof n,f="function"==typeof u,m=(...e)=>{let t={};for(const r of e)if(Array.isArray(r))Array.isArray(t)||(t=[]),t=[...t,...r];else if(d(r))for(let[e,o]of Object.entries(r))d(o)&&Reflect.has(t,e)&&(o=m(t[e],o)),t={...t,[e]:o};return t},g=["get","post","put","patch","head","delete"],b={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},y=new Set(["get","put","head","delete","options","trace"]),w=new Set([408,413,429,500,502,503,504]),v=new Set([413,429,503]);class k extends Error{constructor(e){super(e.statusText),this.name="HTTPError",this.response=e}}class x extends Error{constructor(){super("Request timed out"),this.name="TimeoutError"}}const j=(e,t,r)=>(r>2147483647&&t(new RangeError("The `timeout` option cannot be greater than 2147483647")),setTimeout(e,r)),_=e=>new Promise((t,r)=>j(t,r,e)),$=(e,t,r)=>new Promise((o,a)=>{const s=j(()=>{p&&r.abort(),a(new x)},a,t);e.then(o).catch(a).then(()=>{clearTimeout(s)})}),E=e=>g.includes(e)?e.toUpperCase():e;class R{constructor(e,{timeout:t=1e4,hooks:n,throwHttpErrors:i=!0,searchParams:l,json:d,...g}){if(this._retryCount=0,this._options={method:"get",credentials:"same-origin",retry:2,...g},e instanceof a)this._input=e,this._options={...this._options,method:g.method||e.method,headers:g.headers||e.headers,body:g.body||e.body,credentials:g.credentials||e.credentials};else{if(this._input=String(e||""),this._options.prefixUrl=String(this._options.prefixUrl||""),this._options.prefixUrl&&this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");if(this._options.prefixUrl&&!this._options.prefixUrl.endsWith("/")&&(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input,l){const e=new URL(this._input,r&&r.baseURI);if("string"==typeof l||URLSearchParams&&l instanceof URLSearchParams)e.search=l;else{if(!Object.values(l).every(e=>"number"==typeof e||"string"==typeof e))throw new Error("The `searchParams` option must be either a string, `URLSearchParams` instance or an object with string and number values");e.search=new URLSearchParams(l).toString()}this._input=e.toString()}}p&&(this.abortController=new c,this._options.signal&&this._options.signal.addEventListener("abort",()=>{this.abortController.abort()}),this._options.signal=this.abortController.signal),this._options.method=E(this._options.method),this._timeout=t,this._hooks=m({beforeRequest:[],afterResponse:[]},n),this._throwHttpErrors=i;const w=new o(this._options.headers||{});if((f&&this._options.body instanceof u||this._options.body instanceof URLSearchParams)&&w.has("content-type"))throw new Error(`The \`content-type\` header cannot be used with a ${this._options.body.constructor.name} body. It will be set automatically.`);if(d){if(this._options.body)throw new Error("The `json` option cannot be used with the `body` option");w.set("content-type","application/json"),this._options.body=JSON.stringify(d)}this._options.headers=w;const v=async()=>{await _(1);let e=await this._fetch();for(const t of this._hooks.afterResponse){const r=await t(e.clone());r instanceof s&&(e=r)}if(!e.ok&&this._throwHttpErrors)throw new k(e);if(this._options.onDownloadProgress){if("function"!=typeof this._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!h)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return this._stream(e.clone(),this._options.onDownloadProgress)}return e},x=y.has(this._options.method.toLowerCase())?this._retry(v):v();for(const[e,t]of Object.entries(b))x[e]=async()=>(w.set("accept",t),(await x).clone()[e]());return x}_calculateRetryDelay(e){if(this._retryCount++,this._retryCount<this._options.retry&&!(e instanceof x)){if(e instanceof k){if(!w.has(e.response.status))return 0;const t=e.response.headers.get("Retry-After");if(t&&v.has(e.response.status)){let e=Number(t);return Number.isNaN(e)?e=Date.parse(t)-Date.now():e*=1e3,e}if(413===e.response.status)return 0}return.3*2**(this._retryCount-1)*1e3}return 0}async _retry(e){try{return await e()}catch(t){const r=this._calculateRetryDelay(t);if(0!==r&&this._retryCount>0)return await _(r),this._retry(e);if(this._throwHttpErrors)throw t}}async _fetch(){for(const e of this._hooks.beforeRequest)await e(this._options);return!1===this._timeout?i(this._input,this._options):$(i(this._input,this._options),this._timeout,this.abortController)}_stream(e,t){const r=Number(e.headers.get("content-length"))||0;let o=0;return new s(new n({start(a){const s=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),async function e(){const{done:n,value:i}=await s.read();n?a.close():(t&&(o+=i.byteLength,t({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),a.enqueue(i),e())}()}}))}}const z=(...e)=>{for(const t of e)if((!d(t)||Array.isArray(t))&&void 0!==t)throw new TypeError("The `options` argument must be an object");return m({},...e)},T=e=>{const t=(t,r)=>new R(t,z(e,r));for(const r of g)t[r]=(t,o)=>new R(t,z(e,o,{method:r}));return t.create=e=>T(z(e)),t.extend=t=>T(z(e,t)),t};var O=T();e.HTTPError=k,e.TimeoutError=x,e.default=O,Object.defineProperty(e,"__esModule",{value:!0})}(t)});(N=I)&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")&&N.default;var L=I,D=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},M=B;function B(e,t){var r=(t=t||{}).delimiter||".",o=t.maxDepth,a={};return function e(s,n,i){i=i||1,Object.keys(s).forEach(function(c){var l=s[c],u=t.safe&&Array.isArray(l),d=Object.prototype.toString.call(l),p=D(l),h=n?n+r+c:c;if(!u&&!p&&("[object Object]"===d||"[object Array]"===d)&&Object.keys(l).length&&(!t.maxDepth||i<o))return e(l,h,i+1);a[h]=l})}(e),a}B.flatten=B,B.unflatten=function e(t,r){r=r||{};var o=r.delimiter||".";var a=r.overwrite||!1;var s={};var n=D(t);if(n||"[object Object]"!==Object.prototype.toString.call(t))return t;function i(e){var t=Number(e);return isNaN(t)||-1!==e.indexOf(".")||r.object?e:t}var c=Object.keys(t).sort(function(e,t){return e.length-t.length});c.forEach(function(n){for(var c=n.split(o),l=i(c.shift()),u=i(c[0]),d=s;void 0!==u;){var p=Object.prototype.toString.call(d[l]),h="[object Object]"===p||"[object Array]"===p;if(!a&&!h&&void 0!==d[l])return;(a&&!h||!a&&null==d[l])&&(d[l]="number"!=typeof u||r.object?{}:[]),d=d[l],c.length>0&&(l=i(c.shift()),u=i(c[0]))}d[l]=e(t[n],r)});return s};const H={FREE:"https://api.microlink.io",PRO:"https://pro.microlink.io"},F=e=>"TimeoutError"===e.name||"HTTPError"===e.name&&"5"===e.statusCode.toString()[0]||"invalid-json"===e.type;var V=function({VERSION:e,MicrolinkError:t,isUrlHttp:r,stringify:o,got:a,flatten:s}){const n=(e={})=>{const t=s(e);return Object.keys(t).reduce((e,r)=>({...e,[`data.${r}`]:t[r]}),{})},i=(e,{rules:t,apiKey:r,endpoint:a,...s}={})=>{const i=!!r;return[`${a||H[i?"PRO":"FREE"]}?${o({url:e,...n(t),...s})}`,{headers:i?{"x-api-key":r}:{}}]},c=async(e,{encoding:o="utf8",cache:s=!1,retry:n=2,timeout:c=3e4,json:l=!0,...u}={})=>{((e="")=>{if(!r(e)){const r=`The \`url\` as \`${e}\` is not valid. Ensure it has protocol (http or https) and hostname.`;throw new t({url:e,data:{url:r},status:"fail",code:"EINVALURLCLIENT",message:r,more:"https://microlink.io/docs/api/api-parameters/url"})}})(e);const[d,{headers:p}]=i(e,u);return(async(e,r,o)=>{try{const s=await a(r,o),{body:n}=s;return{...n,response:s}}catch(r){const{name:a,statusCode:s=500,body:n,message:i}=r;if(F(r)){const r=`The \`url\` as \`${e}\` reached timeout after ${o.retry.maxRetryAfter}ms.`;throw new t({url:e,data:{url:r},status:"fail",code:"TimeoutError"===a?"ETIMEOUTCLIENT":"ETIMEOUT",message:r,more:"https://microlink.io/docs/api/api-parameters/url",statusCode:s})}const c=n?"string"==typeof n||Buffer.isBuffer(n)?JSON.parse(n):n:{message:i,status:"fail"},l=c.data?c.data[Object.keys(c.data)[0]]:c.message;throw t({...c,message:l,url:e,statusCode:s})}})(e,d,{encoding:o,cache:s,retry:n,timeout:c,headers:p,json:l})};return c.MicrolinkError=t,c.apiUrl=i,c.mapRules=n,c.version=e,c.stream=a.stream,c},J=u(E);const K=y("MicrolinkError"),{encode:W}=J,{default:Z}=L;return V({MicrolinkError:K,isUrlHttp:e=>{try{return new P(e)&&A.test(e)&&q.test(e)}catch(e){return!1}},stringify:W,got:async(e,{json:t,cache:r,...o})=>{try{const t=await Z(e,o),r=await t.json(),{headers:a,status:s,statusText:n}=t;return{url:t.url,body:r,headers:a,statusCode:s,statusMessage:n}}catch(e){throw e.response&&(e.body=await e.response.json(),e.statusCode=e.response.status,e.headers=e.response.headers),e}},flatten:M,VERSION:"0.4.4"})}); | ||
//# sourceMappingURL=mql.min.js.map |
@@ -5,3 +5,3 @@ { | ||
"homepage": "https://nicedoc.io/microlinkhq/mql", | ||
"version": "0.4.3", | ||
"version": "0.4.4", | ||
"browser": "src/browser.js", | ||
@@ -8,0 +8,0 @@ "main": "src/node.js", |
@@ -11,3 +11,3 @@ const MicrolinkError = require('whoops')('MicrolinkError') | ||
// TODO: `json` because always is the output serialized. | ||
const got = async (url, { json, headers, cache, ...opts }) => { | ||
const got = async (url, { json, cache, ...opts }) => { | ||
try { | ||
@@ -14,0 +14,0 @@ const response = await ky(url, opts) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
265315