PageSourceSearch

https://www.elliptic.co/_nuxt/Bk_aKFsM.js

js elliptic.co collected 2026-09-24 15:17:33 UTC 3,530 bytes, 1 lines download raw bytes

1import{H as r,B as c}from"./BUa1f-qr.js";import{$ as a,J as i,a0 as u}from"./CHz7KWu6.js";import{C as g}from"./5Fi3Koay.js";import{B as l}from"./lQDcGMYq.js";import{u as h}from"./Hfm2hmmT.js";class m extends a{logos;constructor(t){super(t)}format(t){if(this.isEmpty(t))return;const s=t.filter(e=>e!=null).map(e=>this.formatLogo(e)).filter(e=>e!==void 0);return s.length>0?s:void 0}formatLogo(t){const s=this.getFirst(t.asset);if(!s)return;const e=new i(s);if(!(!e.picture&&!e.video))return{asset:e}}}class x extends a{colourIsInverted;format(t,s=!1){const e=t?.heading?.[0];return this.colourIsInverted=s,{heading:e?new r(e):void 0,blocks:this.formatBlocks(t.contentAreaBlocks)}}formatBlocks(t){return t?.map(s=>this.formatBlock(s)).filter(s=>s!==void 0)}formatBlock(t){if(!t)return;const s=u(t.__typename);if(this.isHeadingBlock(t)){const e=t.heading?.[0];return{type:s,heading:e?new r(e):void 0}}if(this.isTextBlock(t))return{type:s,textBlock:t.textBlock?.rawHtml??void 0};if(this.isButtonBlock(t)){const e=t.buttons;return{type:s,buttons:e?new c(e).buttons:void 0}}if(this.isLogoBlock(t))return{type:s,logos:t.logos?.length?new m(t.logos):void 0};if(this.isContactLinksBlock(t))return{type:s,contactLinks:t?.contactLinks?.length?new g(t.contactLinks).items:void 0};if(this.isStatsBlock(t))return{type:s,stats:t?.stats?.map(e=>({stat:{type:"h3",style:"h1",text:this.colourIsInverted?`<span class="heading__heading-text--gradient-blue-green">${e?.plainText??""}</span>`:e?.plainText??""},text:`<p>${e?.plainText2??""}</p>`}))??void 0};if(this.isChecklistBlock(t))return{type:s,list:t?.bulletList?.map(e=>({text:e?.plainText??""}))??void 0}}isHeadingBlock(t){return t.__typename==="headingBlock_Entry"}isTextBlock(t){return t.__typename==="textBlock_Entry"}isButtonBlock(t){return t.__typename==="buttonBlock_Entry"}isLogoBlock(t){return t.__typename==="logoBlock_Entry"}isContactLinksBlock(t){return t.__typename==="contactLinks_Entry"}isStatsBlock(t){return t.__typename==="statsBlock_Entry"}isChecklistBlock(t){return t.__typename==="checklistBlock_Entry"}}const d=l;class _ extends d{textLines;logos;constructor(t,s){super(t,s),this.textLines=this.formatText(t.plainText??""),this.logos=this.formatLogos(t.logos)}formatText(t){const s=t.trim().split(/\s+/).filter(Boolean);if(!s.length)return[];const e=[];for(let o=0;o<s.length;o+=2)e.push(s.slice(o,o+2).join(" "));return e}formatLogos(t){return t.filter(s=>s!==null).map(s=>{const o=s.asset?.[0];return{asset:o?new i(o):void 0}})}}const f=l;class L extends f{slides=[];testimonials;categoryTestimonials;tag;constructor(t,s){super(t,s);const e=(t.testimonials??[]).filter(o=>!!o).filter(o=>"quote"in o);this.testimonials=e.length?e:void 0,this.categoryTestimonials=t.categoryTestimonials,this.tag=t.plainText??"Trusted since 2015"}async init(){const t=this.testimonials?.length?this.testimonials:await this.fetchCategoryTestimonials();return this.slides=this.formatSlides(t),this}async fetchCategoryTestimonials(){const t=this.categoryTestimonials?.map(e=>
1e?.slug).filter(Boolean)??[];return(await h("testimonials",{categories:()=>t,limit:()=>6}))?.value??[]}formatSlides(t){return t?.length?t.map(s=>({tag:s.categoryTestimonials?.[0]?.title??"",quote:{text:s.quote??"",source:s.source??""},asset:s.asset?.[0]?new i(s.asset[0]):void 0,logo:s.logo?.[0]?.asset?.[0]?new i(s.logo[0].asset[0]):void 0,buttonBlock:s.buttonLink?.[0]?.linkUrl?[{type:"primary",text:s.buttonLink?.[0]?.text??"",link:{url:s.buttonLink?.[0]?.linkUrl??""}}]:void 0})):[]}}export{x as C,_ as L,L as T};

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.