PageSourceSearch

https://hou.la/chunk-2NO5AS5G.js

js hou.la collected 2026-10-02 15:58:20 UTC 4,957 bytes, 1 lines download raw bytes

1import{c as u}from"./chunk-DIGPPQJE.js";import{f as g}from"./chunk-SRTXE2HR.js";import{Fa as o,Z as c,da as n}from"./chunk-NTTV6FWH.js";import{a,b as l}from"./chunk-W7GRJBO5.js";var m=class d{document=n(g);platformId=n(o);translate=n(u);setJsonLd(t,e="structured-data"){let r=this.document.getElementsByTagName("head")[0];if(!r)return;let i=this.document.getElementById(e);i&&i.remove();let s=this.document.createElement("script");s.id=e,s.type="application/ld+json",s.text=JSON.stringify(t),r.appendChild(s)}removeJsonLd(t="structured-data"){let e=this.document.getElementById(t);e&&e.remove()}setOrganizationData(){let t={"@context":"https://schema.org","@type":"Organization",name:"Hou.la",url:"https://hou.la",logo:"https://hou.la/assets/images/logo-hou.la-512x512.jpg",description:this.translate.instant("SEO.STRUCTURED.ORG_DESCRIPTION"),sameAs:[],contactPoint:{"@type":"ContactPoint",contactType:"customer service",url:"https://hou.la/support"}};this.setJsonLd(t,"org-data")}setSoftwareApplicationData(){let t={"@context":"https://schema.org","@type":"SoftwareApplication",name:"Hou.la",applicationCategory:"SocialNetworkingApplication",operatingSystem:"Any",offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"},description:this.translate.instant("SEO.STRUCTURED.APP_DESCRIPTION"),url:"https://hou.la",screenshot:"https://hou.la/assets/images/logo-hou.la-512x512.jpg",featureList:[this.translate.instant("SEO.STRUCTURED.FEAT_VIDEO"),this.translate.instant("SEO.STRUCTURED.FEAT_LIVE"),this.translate.instant("SEO.STRUCTURED.FEAT_SHOP"),this.translate.instant("SEO.STRUCTURED.FEAT_LINK_IN_BIO"),this.translate.instant("SEO.STRUCTURED.FEAT_URL_SHORTENER"),this.translate.instant("SEO.STRUCTURED.FEAT_QR_CODES"),this.translate.instant("SEO.STRUCTURED.FEAT_ANALYTICS")]};this.setJsonLd(t,"app-data")}setDesktopAppData(t){let e=a(a(a({"@context":"https://schema.org","@type":"SoftwareApplication",name:t.name,applicationCategory:t.category,operatingSystem:t.operatingSystem,offers:{"@type":"Offer",price:"0",priceCurrency:"EUR"},description:t.description,url:t.url,publisher:{"@type":"Organization",name:"Hou.la",url:"https://hou.la"}},t.screenshot&&{screenshot:t.screenshot}),t.downloadUrl&&{downloadUrl:t.downloadUrl}),t.features?.length&&{featureList:t.features});this.setJsonLd(e,"desktop-app-data")}setWebPageData(t){let e=a(a({"@context":"https://schema.org","@type":"WebPage",name:t.title,description:t.description,url:t.url,isPartOf:{"@type":"WebSite",name:"Hou.la",url:"https://hou.la"}},t.datePublished&&{datePublished:t.datePublished}),t.dateModified&&{dateModified:t.dateModified});this.setJsonLd(e,"webpage-data")}setArticleData(t){let e=a(a({"@context":"https://schema.org","@type":"Article",headline:t.title,description:t.description,url:t.url,image:t.image||"https://hou.la/assets/images/logo-hou.la-512x512.jpg",author:{"@type":"Organization",name:"Hou.la"},publisher:{"@type":"Organization",name:"Hou.la",logo:{"@type":"ImageObject",url:"https://hou.la/assets/images/logo-hou.la-512x512.jpg"}}},t.datePublished&&{datePublished:t.datePublished}),t.dateModified&&{dateModified:t.dateModified});this.setJsonLd(e,"article-data")}setProfilePageData(t){let e={"@context":"https://schema.org","@type":"ProfilePage",mainEntity:a(a({"@type":"Person",name:t.name,alternateName:`@${t.username}`,description:t.description,url:t.url},t.image&&{image:t.image}),t.socialLinks&&t.socialLinks.length>0&&{sameAs:t.socialLinks.map(r=>r.url)})};this.setJsonLd(e,"profile-data")}setProductData(t){let e=l(a(a(a(a(a({"@context":"https://schema.org","@type":"Product",name:t.name},t.description&&{description:t.description}),t.image&&{image:t.image}),t.brand&&{brand:{"@type":"Brand",name:t.brand}}),t.gtin&&{gtin:t.gtin}),t.sku&&{sku:t.sku}),{offers:a({"@type":"Offer",url:t.url,priceCurrency:t.currency,price:(t.priceCents/100).toFixed(2),availability:t.availability==="in_stock"?"https://schema.org/InStock":"https://schema.org/OutOfStock"},t.sellerName&&{seller:{"@type":"Organization",name:t.sellerName}})});t.averageRating&&t.reviewCount&&(e.aggregateRating={"@type":"AggregateRating",ratingValue:t.averageRating,reviewCount:t.reviewCount}),this.setJsonLd(e,"product-data")}setFAQData(t){let e={"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.map(r=>
1({"@type":"Question",name:r.question,acceptedAnswer:{"@type":"Answer",text:r.answer}}))};this.setJsonLd(e,"faq-data")}setBreadcrumbData(t){let e={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.map((r,i)=>({"@type":"ListItem",position:i+1,name:r.name,item:r.url}))};this.setJsonLd(e,"breadcrumb-data")}setHowToData(t){let e={"@context":"https://schema.org","@type":"HowTo",name:t.name,description:t.description,step:t.steps.map((r,i)=>({"@type":"HowToStep",position:i+1,name:r.name,text:r.text}))};this.setJsonLd(e,"howto-data")}static \u0275fac=function(e){return new(e||d)};static \u0275prov=c({token:d,factory:d.\u0275fac,providedIn:"root"})};export{m as a};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.