{"version":3,"file":"silentium-jsdom.min.mjs","sources":["../src/JSDomDocument.ts","../src/JSDomElement.ts"],"sourcesContent":["import { JSDOM } from \"jsdom\";\nimport { give, guestCast, GuestType, SourceType, value } from \"silentium\";\n\n/**\n * Helps to get Document from html string\n */\nexport const jsdomDocument = (\n  body: SourceType<string> = \"\",\n  domGuest?: GuestType<JSDOM>,\n): SourceType<Document> => {\n  return (g: GuestType<Document>) => {\n    value(\n      body,\n      guestCast(g, (body) => {\n        const dom = new JSDOM(`<!DOCTYPE html><body>${body}</body></html>`);\n        if (domGuest) {\n          give(dom, domGuest);\n        }\n        give(dom.window.document, g);\n      }),\n    );\n  };\n};\n","import {\n  patron,\n  sourceAll,\n  sourceChangeable,\n  SourceType,\n  value,\n} from \"silentium\";\n\n/**\n * Helps to get HTMLElement from html string\n */\nexport const jsDomElement = (\n  documentSrc: SourceType<Document>,\n  htmlSrc: SourceType<string>,\n) => {\n  const result = sourceChangeable<HTMLElement>();\n  const all = sourceAll<[Document, string]>([documentSrc, htmlSrc]);\n\n  value(\n    all,\n    patron(([document, html]) => {\n      const div = document.createElement(\"div\");\n      div.innerHTML = html;\n      result.give(div.children[0] as HTMLElement);\n    }),\n  );\n\n  return result;\n};\n"],"names":["jsdomDocument","body","domGuest","g","value","guestCast","dom","JSDOM","give","window","document","jsDomElement","documentSrc","htmlSrc","result","sourceChangeable","all","sourceAll","patron","html","div","createElement","innerHTML","children"],"mappings":"0IAMO,MAAMA,EAAgB,CAC3BC,EAA2B,GAC3BC,IAEQC,IACNC,EACEH,EACAI,EAAUF,GAAIF,IACZ,MAAMK,EAAM,IAAIC,EAAM,wBAAwBN,mBAC1CC,GACFM,EAAKF,EAAKJ,GAEPM,EAAAF,EAAIG,OAAOC,SAAUP,EAAC,IAE/B,ECTSQ,EAAe,CAC1BC,EACAC,KAEA,MAAMC,EAASC,IACTC,EAAMC,EAA8B,CAACL,EAAaC,IAWjD,OATPT,EACEY,EACAE,GAAO,EAAER,EAAUS,MACX,MAAAC,EAAMV,EAASW,cAAc,OACnCD,EAAIE,UAAYH,EAChBL,EAAON,KAAKY,EAAIG,SAAS,GAAiB,KAIvCT,CAAA"}