PageSourceSearch

https://freeguardvpn.com/_nuxt/r_-aCnWc.js

js freeguardvpn.com collected 2026-10-02 00:30:56 UTC 1,598 bytes, 1 lines download raw bytes

1import{K as e,e as a}from"./B7KPf6zm.js";import{n as r,m as t}from"./LyKRkq-l.js";import{b as o,d as l}from"./mcRfthuO.js";const s=e("pricing",(()=>{const e=o([]),s=o(!1),n=o(null),c=o(!1),i=o(!1),u=l((()=>c.value&&(n.value||0===e.value.length))),g=l((()=>!s.value&&!n.value&&e.value.length>0)),d=(a,r=1,o="plus")=>{const l="month"===a&&12===r?"yearly":1===r?{week:"weekly",month:"monthly",year:"yearly"}[a]:"";return t(e.value,o,l)};return{products:e,loading:s,error:n,hasTriedFetch:c,isApiUnavailable:i,shouldShowFallback:u,canShowDynamicPricing:g,fetchProducts:async()=>{s.value=!0,n.value=null,i.value=!1;try{const t=await a("/v2/user/get/products?price_scope=all",{},!1);if(!(t&&200===t.code&&t.data&&t.data.price_info))throw new Error("pricingPage.errors.genericSubscriptionError");e.value=r(t.data.price_info),c.value=!0}catch(t){c.value=!0,t.message&&(t.message.includes("404")||404===t.statusCode||404===t.status)?(i.value=!0,n.value="pricingPage.fallback.apiUnavailable"):t.message&&(t.message.includes("network")||t.message.includes("Network")||t.message.includes("fetch"))?n.value="pricingPage.fallback.networkError":n.value="pricingPage.errors.genericSubscriptionError"}finally{s.value=!1}},getProductByInterval:d,getWeeklyProduct:()=>d("week",1),getMonthlyProduct:()=>d("month",1),getYearlyProduct:()=>d("year",1)||d("month",12),formatPrice:(e,a)=>{const r=e/100;return"usd"===a.toLowerCase()?`$${r.toFixed(2)}`:`${r.toFixed(2)} ${a.toUpperCase()}`},formatInterval:(e,a)=>{const r={day:"day",week:"week",month:"month",year:"year"}[e]||e;return a>1?`${a} ${r}s`:r}}}));export{s as u};

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.