/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/dollar@3.1.0/src/dollar.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import*as cheerio from"cheerio";import*as jsdom from"jsdom";import{promises as fs}from"fs";const jQueryPromise=fs.readFile("./node_modules/jquery/dist/jquery.js","utf8"),defaults={jQuery:!1,url:void 0,html:void 0},dollar=async(r,o)=>{const t=buildOptions(r,o),e=await(t.jQuery?jsdomify(t.html):cheerify(t.html));return e.dollarOptions=t,e},cheerify=async r=>cheerio.load(await r),jsdomify=async r=>{const[o,t]=await Promise.all([jQueryPromise,r]),e=new jsdom.JSDOM(t,{runScripts:"outside-only"});return e.window.eval(o),e.window.$},buildOptions=(r,o)=>{const t=moveUrlToDefaultOptions(r,o);return{...t,html:htmlPromise(t)}},htmlPromise=r=>{if(r.url)return promiseFromUrl(r);if("string"==typeof r.html)return Promise.resolve(r.html);if(r.html)return r.html;throw new Error("Did not get url or html to dollarify.")},promiseFromUrl=async r=>{const o=await fetch(r.url);if(!o.ok)throw new Error(`Failed to fetch ${r.url}: ${o.statusText}`);return await o.text()},moveUrlToDefaultOptions=(r,o={})=>"string"==typeof r?{...defaults,...o,url:r}:{...defaults,...r};export default dollar;
//# sourceMappingURL=/sm/05e2001d06af5a45ec2851c0913949ca77477659511445a80cb38e94a4cea883.map