{"version":3,"file":"silentium-jsdom.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":["body"],"mappings":";;;AAMO,MAAM,aAAgB,GAAA,CAC3B,IAA2B,GAAA,EAAA,EAC3B,QACyB,KAAA;AACzB,EAAA,OAAO,CAAC,CAA2B,KAAA;AACjC,IAAA,KAAA;AAAA,MACE,IAAA;AAAA,MACA,SAAA,CAAU,CAAG,EAAA,CAACA,KAAS,KAAA;AACrB,QAAA,MAAM,GAAM,GAAA,IAAI,KAAM,CAAA,CAAA,qBAAA,EAAwBA,KAAI,CAAgB,cAAA,CAAA,CAAA;AAClE,QAAA,IAAI,QAAU,EAAA;AACZ,UAAA,IAAA,CAAK,KAAK,QAAQ,CAAA;AAAA;AAEpB,QAAK,IAAA,CAAA,GAAA,CAAI,MAAO,CAAA,QAAA,EAAU,CAAC,CAAA;AAAA,OAC5B;AAAA,KACH;AAAA,GACF;AACF;;ACXa,MAAA,YAAA,GAAe,CAC1B,WAAA,EACA,OACG,KAAA;AACH,EAAA,MAAM,SAAS,gBAA8B,EAAA;AAC7C,EAAA,MAAM,GAAM,GAAA,SAAA,CAA8B,CAAC,WAAA,EAAa,OAAO,CAAC,CAAA;AAEhE,EAAA,KAAA;AAAA,IACE,GAAA;AAAA,IACA,MAAO,CAAA,CAAC,CAAC,QAAA,EAAU,IAAI,CAAM,KAAA;AAC3B,MAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA;AACxC,MAAA,GAAA,CAAI,SAAY,GAAA,IAAA;AAChB,MAAA,MAAA,CAAO,IAAK,CAAA,GAAA,CAAI,QAAS,CAAA,CAAC,CAAgB,CAAA;AAAA,KAC3C;AAAA,GACH;AAEA,EAAO,OAAA,MAAA;AACT;;;;"}