@flyo/nitro-astro 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,6 +24,7 @@ Then, revise and adjust the configuration in your `astro.config.mjs`:
24
24
  import flyoNitroIntegration from '@flyo/nitro-astro';
25
25
 
26
26
  export default defineConfig({
27
+ site: "https://myflyowebsite.com", // required to make the sitemap.xml work
27
28
  integrations: [
28
29
  flyoNitroIntegration({
29
30
  accessToken: 'ADD_YOUR_TOKEN_HERE', // Switch between dev and prod tokens depending on the environment
@@ -36,9 +37,12 @@ export default defineConfig({
36
37
  }
37
38
  })
38
39
  ],
40
+ output: 'server'
39
41
  });
40
42
  ```
41
43
 
44
+ > The nitro astro integration requires an SSR setup which is done by using `output: 'server'`.
45
+
42
46
  ### Pages
43
47
 
44
48
  Add a `[...slug].astro` file in the pages directory with the following example content as a catch-all CMS handler:
@@ -56,8 +60,8 @@ try {
56
60
  page = await usePagesApi().page({slug: slug === undefined ? '' : slug})
57
61
  } catch (e) {
58
62
  return new Response(e.body.name, {
59
- status: e.status,
60
- statusText: 'Not Found'
63
+ status: 404,
64
+ statusText: 'Page Not Found'
61
65
  });
62
66
  }
63
67
  ---
@@ -67,7 +71,7 @@ try {
67
71
  </Layout>
68
72
  ```
69
73
 
70
- To receive the config in the layout:
74
+ To receive the config in the layout in `src/layouts/Layout.astro`:
71
75
 
72
76
  ```astro
73
77
  ---
@@ -75,17 +79,20 @@ import { useConfigApi } from "@flyo/nitro-astro";
75
79
 
76
80
  const config = await useConfigApi().config();
77
81
  const { title } = Astro.props;
82
+ const currentPath = Astro.url.pathname;
78
83
  ---
79
84
  <!doctype html>
80
85
  <html lang="en">
81
86
  <head>
82
87
  <title>{title}</title>
88
+ <meta charset="UTF-8" />
89
+ <meta name="viewport" content="width=device-width" />
83
90
  <!-- Auto-inject meta information for pages and entities -->
84
91
  <slot name="head" />
85
92
  </head>
86
93
  <body>
87
94
  {config.containers.nav.items.map((item: object) => (
88
- <a style="background-color: red; color: white" href={item.href}>
95
+ <a style="background-color: red; color: white" href={item.href} class={`nav-class ${currentPath === item.href ? 'text-red' : ''}`}>
89
96
  {item.label}<br />
90
97
  </a>
91
98
  ))}
@@ -98,7 +105,7 @@ const { title } = Astro.props;
98
105
 
99
106
  ### Blocks
100
107
 
101
- Block Component Example:
108
+ Block Component Example (which are mostly located in `src/components/flyo`):
102
109
 
103
110
  ```astro
104
111
  ---
@@ -131,10 +138,11 @@ const { block } = Astro.props;
131
138
 
132
139
  ### Entities
133
140
 
134
- Entity Detail Example:
141
+ Entity Detail Example, for a file which is located in `src/pages/blog/[slug].astro`:
135
142
 
136
143
  ```astro
137
144
  ---
145
+ import Layout from '../../layouts/Layout.astro';
138
146
  import { useEntitiesApi } from '@flyo/nitro-astro';
139
147
  import MetaInfoEntity from '@flyo/nitro-astro/MetaInfoEntity.astro';
140
148
 
@@ -144,8 +152,8 @@ try {
144
152
  response = await useEntitiesApi().entityBySlug({ slug });
145
153
  } catch (e) {
146
154
  return new Response(e.body, {
147
- status: e.status,
148
- statusText: 'Not Found'
155
+ status: 404,
156
+ statusText: 'Entity Not Found'
149
157
  });
150
158
  }
151
159
  const isProd = import.meta.env.PROD;
@@ -156,4 +164,4 @@ const isProd = import.meta.env.PROD;
156
164
  <img src={ response.model.image.source } style="width:100%" />
157
165
  </Layout>
158
166
  { isProd && <script is:inline define:vars={{ api: response.entity.entity_metric.api }}>fetch(api)</script> }
159
- ```
167
+ ```
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { AstroIntegration } from "astro";
2
- import { Configuration, ConfigApi, EntitiesApi, PagesApi, SearchApi, SitemapApi, VersionApi, Block } from '@flyo/nitro-typescript';
2
+ import { Configuration, ConfigApi, EntitiesApi, PagesApi, SearchApi, SitemapApi, VersionApi, Block, ConfigResponse } from '@flyo/nitro-typescript';
3
3
  export type IntegrationOptions = {
4
4
  accessToken: string;
5
5
  liveEdit: any;
@@ -9,6 +9,7 @@ export type IntegrationOptions = {
9
9
  };
10
10
  export declare function useConfiguration(): Configuration;
11
11
  export declare function useConfigApi(): ConfigApi;
12
+ export declare function useConfig(): Promise<boolean | ConfigResponse>;
12
13
  export declare function useEntitiesApi(): EntitiesApi;
13
14
  export declare function usePagesApi(): PagesApi;
14
15
  export declare function useSearchApi(): SearchApi;
@@ -1,12 +1,12 @@
1
- (function(d,h){typeof exports=="object"&&typeof module<"u"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(d=typeof globalThis<"u"?globalThis:d||self,h(d.flyoNitroIntegration={}))})(this,function(d){"use strict";const h="https://api.flyo.cloud/nitro/v1".replace(/\/+$/,"");class j{constructor(i={}){this.configuration=i}set config(i){this.configuration=i}get basePath(){return this.configuration.basePath!=null?this.configuration.basePath:h}get fetchApi(){return this.configuration.fetchApi}get middleware(){return this.configuration.middleware||[]}get queryParamsStringify(){return this.configuration.queryParamsStringify||b}get username(){return this.configuration.username}get password(){return this.configuration.password}get apiKey(){const i=this.configuration.apiKey;if(i)return typeof i=="function"?i:()=>i}get accessToken(){const i=this.configuration.accessToken;if(i)return typeof i=="function"?i:async()=>i}get headers(){return this.configuration.headers}get credentials(){return this.configuration.credentials}}const L=new j,_=class U{constructor(i=L){this.configuration=i,this.fetchApi=async(t,r)=>{let a={url:t,init:r};for(const s of this.middleware)s.pre&&(a=await s.pre({fetch:this.fetchApi,...a})||a);let o;try{o=await(this.configuration.fetchApi||fetch)(a.url,a.init)}catch(s){for(const u of this.middleware)u.onError&&(o=await u.onError({fetch:this.fetchApi,url:a.url,init:a.init,error:s,response:o?o.clone():void 0})||o);if(o===void 0)throw s instanceof Error?new O(s,"The request failed and the interceptors did not return an alternative response"):s}for(const s of this.middleware)s.post&&(o=await s.post({fetch:this.fetchApi,url:a.url,init:a.init,response:o.clone()})||o);return o},this.middleware=i.middleware}withMiddleware(...i){const t=this.clone();return t.middleware=t.middleware.concat(...i),t}withPreMiddleware(...i){const t=i.map(r=>({pre:r}));return this.withMiddleware(...t)}withPostMiddleware(...i){const t=i.map(r=>({post:r}));return this.withMiddleware(...t)}isJsonMime(i){return i?U.jsonRegex.test(i):!1}async request(i,t){const{url:r,init:a}=await this.createFetchParams(i,t),o=await this.fetchApi(r,a);if(o&&o.status>=200&&o.status<300)return o;throw new N(o,"Response returned an error code")}async createFetchParams(i,t){let r=this.configuration.basePath+i.path;i.query!==void 0&&Object.keys(i.query).length!==0&&(r+="?"+this.configuration.queryParamsStringify(i.query));const a=Object.assign({},this.configuration.headers,i.headers);Object.keys(a).forEach(g=>a[g]===void 0?delete a[g]:{});const o=typeof t=="function"?t:async()=>t,s={method:i.method,headers:a,body:i.body,credentials:this.configuration.credentials},u={...s,...await o({init:s,context:i})};let c;x(u.body)||u.body instanceof URLSearchParams||K(u.body)?c=u.body:this.isJsonMime(a["Content-Type"])?c=JSON.stringify(u.body):c=u.body;const l={...u,body:c};return{url:r,init:l}}clone(){const i=this.constructor,t=new i(this.configuration);return t.middleware=this.middleware.slice(),t}};_.jsonRegex=new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$","i");let y=_;function K(e){return typeof Blob<"u"&&e instanceof Blob}function x(e){return typeof FormData<"u"&&e instanceof FormData}class N extends Error{constructor(i,t){super(t),this.response=i,this.name="ResponseError"}}class O extends Error{constructor(i,t){super(t),this.cause=i,this.name="FetchError"}}class v extends Error{constructor(i,t){super(t),this.field=i,this.name="RequiredError"}}function n(e,i){return e[i]!=null}function b(e,i=""){return Object.keys(e).map(t=>q(t,e[t],i)).filter(t=>t.length>0).join("&")}function q(e,i,t=""){const r=t+(t.length?`[${e}]`:e);if(i instanceof Array){const a=i.map(o=>encodeURIComponent(String(o))).join(`&${encodeURIComponent(r)}=`);return`${encodeURIComponent(r)}=${a}`}if(i instanceof Set){const a=Array.from(i);return q(e,a,t)}return i instanceof Date?`${encodeURIComponent(r)}=${encodeURIComponent(i.toISOString())}`:i instanceof Object?b(i,r):`${encodeURIComponent(r)}=${encodeURIComponent(String(i))}`}function m(e,i){return Object.keys(e).reduce((t,r)=>({...t,[r]:i(e[r])}),{})}class f{constructor(i,t=r=>r){this.raw=i,this.transformer=t}async value(){return this.transformer(await this.raw.json())}}function $(e){return B(e)}function B(e,i){return e==null?e:{identifier:n(e,"identifier")?e.identifier:void 0,content:n(e,"content")?e.content.map(E):void 0}}function E(e){return F(e)}function F(e,i){return e==null?e:{items:n(e,"items")?e.items:void 0,content:n(e,"content")?e.content:void 0,config:n(e,"config")?e.config:void 0,identifier:n(e,"identifier")?e.identifier:void 0,uid:n(e,"uid")?e.uid:void 0,component:n(e,"component")?e.component:void 0,slots:n(e,"slots")?m(e.slots,$):void 0}}function R(e){return M(e)}function M(e,i){return e==null?e:{type:n(e,"type")?e.type:void 0,target:n(e,"target")?e.target:void 0,label:n(e,"label")?e.label:void 0,href:n(e,"href")?e.href:void 0,slug:n(e,"slug")?e.slug:void 0,properties:n(e,"properties")?e.properties:void 0,children:n(e,"children")?e.children.map(R):void 0}}function D(e){return G(e)}function G(e,i){return e==null?e:{items:n(e,"items")?e.items.map(R):void 0,uid:n(e,"uid")?e.uid:void 0,identifier:n(e,"identifier")?e.identifier:void 0,label:n(e,"label")?e.label:void 0}}function J(e){return V(e)}function V(e,i){return e==null?e:{domain:n(e,"domain")?e.domain:void 0,slug:n(e,"slug")?e.slug:void 0,version:n(e,"version")?e.version:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,language:n(e,"language")?e.language:void 0}}function W(e){return z(e)}function z(e,i){return e==null?e:{nitro:n(e,"nitro")?J(e.nitro):void 0,pages:n(e,"pages")?e.pages:void 0,containers:n(e,"containers")?m(e.containers,D):void 0,globals:n(e,"globals")?e.globals:void 0}}function H(e){return X(e)}function X(e,i){return e==null?e:{api:n(e,"api")?e.api:void 0,image:n(e,"image")?e.image:void 0}}function Z(e){return Q(e)}function Q(e,i){return e==null?e:{_version:n(e,"_version")?e._version:void 0,entity_metric:n(e,"entity_metric")?H(e.entity_metric):void 0,entity_unique_id:n(e,"entity_unique_id")?e.entity_unique_id:void 0,entity_id:n(e,"entity_id")?e.entity_id:void 0,entity_image:n(e,"entity_image")?e.entity_image:void 0,entity_slug:n(e,"entity_slug")?e.entity_slug:void 0,entity_teaser:n(e,"entity_teaser")?e.entity_teaser:void 0,entity_time_end:n(e,"entity_time_end")?e.entity_time_end:void 0,entity_time_start:n(e,"entity_time_start")?e.entity_time_start:void 0,entity_title:n(e,"entity_title")?e.entity_title:void 0,entity_type:n(e,"entity_type")?e.entity_type:void 0,entity_type_id:n(e,"entity_type_id")?e.entity_type_id:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,routes:n(e,"routes")?e.routes:void 0}}function A(e){return Y(e)}function Y(e,i){return e==null?e:{entity:n(e,"entity")?Z(e.entity):void 0,model:n(e,"model")?e.model:void 0,language:n(e,"language")?e.language:void 0,jsonld:n(e,"jsonld")?e.jsonld:void 0}}function C(e){return ee(e)}function ee(e,i){return e==null?e:{entity_unique_id:n(e,"entity_unique_id")?e.entity_unique_id:void 0,entity_title:n(e,"entity_title")?e.entity_title:void 0,entity_teaser:n(e,"entity_teaser")?e.entity_teaser:void 0,entity_slug:n(e,"entity_slug")?e.entity_slug:void 0,entity_time_start:n(e,"entity_time_start")?e.entity_time_start:void 0,entity_type:n(e,"entity_type")?e.entity_type:void 0,entity_type_id:n(e,"entity_type_id")?e.entity_type_id:void 0,entity_image:n(e,"entity_image")?e.entity_image:void 0,routes:n(e,"routes")?e.routes:void 0}}function ie(e){return te(e)}function te(e,i){return e==null?e:{description:n(e,"description")?e.description:void 0,image:n(e,"image")?e.image:void 0,title:n(e,"title")?e.title:void 0}}function ne(e){return oe(e)}function oe(e,i){return e==null?e:{slug:n(e,"slug")?e.slug:void 0,title:n(e,"title")?e.title:void 0}}function re(e){return ae(e)}function ae(e,i){return e==null?e:{value:n(e,"value")?e.value:void 0,navigation:n(e,"navigation")?e.navigation:void 0,propagate:n(e,"propagate")?e.propagate:void 0}}function k(e){return se(e)}function se(e,i){return e==null?e:{id:n(e,"id")?e.id:void 0,title:n(e,"title")?e.title:void 0,href:n(e,"href")?e.href:void 0,slug:n(e,"slug")?e.slug:void 0,json:n(e,"json")?e.json.map(E):void 0,depth:n(e,"depth")?e.depth:void 0,is_home:n(e,"is_home")?e.is_home:void 0,created_at:n(e,"created_at")?e.created_at:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,is_visible:n(e,"is_visible")?e.is_visible:void 0,meta_json:n(e,"meta_json")?ie(e.meta_json):void 0,properties:n(e,"properties")?m(e.properties,re):void 0,uid:n(e,"uid")?e.uid:void 0,type:n(e,"type")?e.type:void 0,target:n(e,"target")?e.target:void 0,container:n(e,"container")?e.container:void 0,breadcrumb:n(e,"breadcrumb")?e.breadcrumb.map(ne):void 0}}function ue(e){return ce(e)}function ce(e,i){return e==null?e:{version:n(e,"version")?e.version:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0}}class de extends y{async configRaw(i){const t={},r={};this.configuration&&this.configuration.apiKey&&(t.token=this.configuration.apiKey("token"));const a=await this.request({path:"/config",method:"GET",headers:r,query:t},i);return new f(a,o=>W(o))}async config(i){return await(await this.configRaw(i)).value()}}class le extends y{async entityBySlugRaw(i,t){if(i.slug===null||i.slug===void 0)throw new v("slug","Required parameter requestParameters.slug was null or undefined when calling entityBySlug.");const r={};i.typeId!==void 0&&(r.typeId=i.typeId);const a={};this.configuration&&this.configuration.apiKey&&(r.token=this.configuration.apiKey("token"));const o=await this.request({path:"/entities/slug/{slug}".replace("{slug}",encodeURIComponent(String(i.slug))),method:"GET",headers:a,query:r},t);return new f(o,s=>A(s))}async entityBySlug(i,t){return await(await this.entityBySlugRaw(i,t)).value()}async entityByUniqueidRaw(i,t){if(i.uniqueid===null||i.uniqueid===void 0)throw new v("uniqueid","Required parameter requestParameters.uniqueid was null or undefined when calling entityByUniqueid.");const r={},a={};this.configuration&&this.configuration.apiKey&&(r.token=this.configuration.apiKey("token"));const o=await this.request({path:"/entities/uniqueid/{uniqueid}".replace("{uniqueid}",encodeURIComponent(String(i.uniqueid))),method:"GET",headers:a,query:r},t);return new f(o,s=>A(s))}async entityByUniqueid(i,t){return await(await this.entityByUniqueidRaw(i,t)).value()}}class fe extends y{async homeRaw(i){const t={},r={};this.configuration&&this.configuration.apiKey&&(t.token=this.configuration.apiKey("token"));const a=await this.request({path:"/pages/home",method:"GET",headers:r,query:t},i);return new f(a,o=>k(o))}async home(i){return await(await this.homeRaw(i)).value()}async pageRaw(i,t){const r={};i.slug!==void 0&&(r.slug=i.slug);const a={};this.configuration&&this.configuration.apiKey&&(r.token=this.configuration.apiKey("token"));const o=await this.request({path:"/pages",method:"GET",headers:a,query:r},t);return new f(o,s=>k(s))}async page(i={},t){return await(await this.pageRaw(i,t)).value()}}class pe extends y{async searchRaw(i,t){if(i.query===null||i.query===void 0)throw new v("query","Required parameter requestParameters.query was null or undefined when calling search.");const r={};i.query!==void 0&&(r.query=i.query);const a={};this.configuration&&this.configuration.apiKey&&(r.token=this.configuration.apiKey("token"));const o=await this.request({path:"/search",method:"GET",headers:a,query:r},t);return new f(o,s=>s.map(C))}async search(i,t){return await(await this.searchRaw(i,t)).value()}}class ye extends y{async sitemapRaw(i){const t={},r={};this.configuration&&this.configuration.apiKey&&(t.token=this.configuration.apiKey("token"));const a=await this.request({path:"/sitemap",method:"GET",headers:r,query:t},i);return new f(a,o=>o.map(C))}async sitemap(i){return await(await this.sitemapRaw(i)).value()}}class he extends y{async versionRaw(i){const t={},r={};this.configuration&&this.configuration.apiKey&&(t.token=this.configuration.apiKey("token"));const a=await this.request({path:"/version",method:"GET",headers:r,query:t},i);return new f(a,o=>ue(o))}async version(i){return await(await this.versionRaw(i)).value()}}const ge=/[\p{Lu}]/u,ve=/[\p{Ll}]/u,I=/^[\p{Lu}](?![\p{Lu}])/gu,S=/([\p{Alpha}\p{N}_]|$)/u,w=/[_.\- ]+/,me=new RegExp("^"+w.source),T=new RegExp(w.source+S.source,"gu"),P=new RegExp("\\d+"+S.source,"gu"),we=(e,i,t,r)=>{let a=!1,o=!1,s=!1,u=!1;for(let c=0;c<e.length;c++){const l=e[c];u=c>2?e[c-3]==="-":!0,a&&ge.test(l)?(e=e.slice(0,c)+"-"+e.slice(c),a=!1,s=o,o=!0,c++):o&&s&&ve.test(l)&&(!u||r)?(e=e.slice(0,c-1)+"-"+e.slice(c-1),s=o,o=!1,a=!0):(a=i(l)===l&&t(l)!==l,s=o,o=t(l)===l&&i(l)!==l)}return e},_e=(e,i)=>(I.lastIndex=0,e.replace(I,t=>i(t))),be=(e,i)=>(T.lastIndex=0,P.lastIndex=0,e.replace(T,(t,r)=>i(r)).replace(P,t=>i(t)));function qe(e,i){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(i={pascalCase:!1,preserveConsecutiveUppercase:!1,...i},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";const t=i.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(i.locale),r=i.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(i.locale);return e.length===1?w.test(e)?"":i.pascalCase?r(e):t(e):(e!==t(e)&&(e=we(e,t,r,i.preserveConsecutiveUppercase)),e=e.replace(me,""),e=i.preserveConsecutiveUppercase?_e(e,t):t(e),i.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),be(e,r))}function Ee(e,i,t){const r="virtual:flyo-components",a="\0"+r;return{name:"vite-plugin-flyo-components",async resolveId(o){if(o===r)return a},async load(o){if(o===a){const s=[];for(const[c,l]of Object.entries(i)){const g=await this.resolve("/"+e+"/"+l+".astro");g&&s.push(`export { default as ${qe(c)} } from "${g.id}"`)}let u=null;return t&&(u=await this.resolve("/"+e+"/"+t+".astro")),u?s.push(`export { default as fallback } from "${u.id}"`):s.push('export { default as fallback } from "@flyo/nitro-astro/FallbackComponent.astro"'),s.join(";")}}}}function p(){return globalThis.flyoNitroInstance||console.error("The Flyo Typescript Configuration has not been initialized correctly"),globalThis.flyoNitroInstance}function Re(){return new de(p())}function Ae(){return new le(p())}function Ce(){return new fe(p())}function ke(){return new pe(p())}function Ie(){return new ye(p())}function Se(){return new he(p())}function Te(e){return{"data-flyo-block-uid":e.uid}}function Pe(e){const i={accessToken:!1,liveEdit:!1,fallbackComponent:null,...e};return i.liveEdit==="true"?i.liveEdit=!0:i.liveEdit==="false"&&(i.liveEdit=!1),{name:"@flyo/nitro-astro",hooks:{"astro:config:setup":({injectScript:t,updateConfig:r,injectRoute:a})=>{a({pattern:"sitemap.xml",entrypoint:"@flyo/nitro-astro/sitemap.ts"}),r({image:{service:{entrypoint:"@flyo/nitro-astro/cdn.ts"}},vite:{plugins:[Ee(e.componentsDir,e.components,e.fallbackComponent)]}}),t("page-ssr",`
1
+ (function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f.flyoNitroIntegration={}))})(this,function(f){"use strict";const g="https://api.flyo.cloud/nitro/v1".replace(/\/+$/,"");class K{constructor(t={}){this.configuration=t}set config(t){this.configuration=t}get basePath(){return this.configuration.basePath!=null?this.configuration.basePath:g}get fetchApi(){return this.configuration.fetchApi}get middleware(){return this.configuration.middleware||[]}get queryParamsStringify(){return this.configuration.queryParamsStringify||E}get username(){return this.configuration.username}get password(){return this.configuration.password}get apiKey(){const t=this.configuration.apiKey;if(t)return typeof t=="function"?t:()=>t}get accessToken(){const t=this.configuration.accessToken;if(t)return typeof t=="function"?t:async()=>t}get headers(){return this.configuration.headers}get credentials(){return this.configuration.credentials}}const N=new K,q=class x{constructor(t=N){this.configuration=t,this.fetchApi=async(i,o)=>{let a={url:i,init:o};for(const s of this.middleware)s.pre&&(a=await s.pre({fetch:this.fetchApi,...a})||a);let r;try{r=await(this.configuration.fetchApi||fetch)(a.url,a.init)}catch(s){for(const u of this.middleware)u.onError&&(r=await u.onError({fetch:this.fetchApi,url:a.url,init:a.init,error:s,response:r?r.clone():void 0})||r);if(r===void 0)throw s instanceof Error?new F(s,"The request failed and the interceptors did not return an alternative response"):s}for(const s of this.middleware)s.post&&(r=await s.post({fetch:this.fetchApi,url:a.url,init:a.init,response:r.clone()})||r);return r},this.middleware=t.middleware}withMiddleware(...t){const i=this.clone();return i.middleware=i.middleware.concat(...t),i}withPreMiddleware(...t){const i=t.map(o=>({pre:o}));return this.withMiddleware(...i)}withPostMiddleware(...t){const i=t.map(o=>({post:o}));return this.withMiddleware(...i)}isJsonMime(t){return t?x.jsonRegex.test(t):!1}async request(t,i){const{url:o,init:a}=await this.createFetchParams(t,i),r=await this.fetchApi(o,a);if(r&&r.status>=200&&r.status<300)return r;throw new B(r,"Response returned an error code")}async createFetchParams(t,i){let o=this.configuration.basePath+t.path;t.query!==void 0&&Object.keys(t.query).length!==0&&(o+="?"+this.configuration.queryParamsStringify(t.query));const a=Object.assign({},this.configuration.headers,t.headers);Object.keys(a).forEach(v=>a[v]===void 0?delete a[v]:{});const r=typeof i=="function"?i:async()=>i,s={method:t.method,headers:a,body:t.body,credentials:this.configuration.credentials},u={...s,...await r({init:s,context:t})};let c;$(u.body)||u.body instanceof URLSearchParams||O(u.body)?c=u.body:this.isJsonMime(a["Content-Type"])?c=JSON.stringify(u.body):c=u.body;const d={...u,body:c};return{url:o,init:d}}clone(){const t=this.constructor,i=new t(this.configuration);return i.middleware=this.middleware.slice(),i}};q.jsonRegex=new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$","i");let h=q;function O(e){return typeof Blob<"u"&&e instanceof Blob}function $(e){return typeof FormData<"u"&&e instanceof FormData}class B extends Error{constructor(t,i){super(i),this.response=t,this.name="ResponseError"}}class F extends Error{constructor(t,i){super(i),this.cause=t,this.name="FetchError"}}class m extends Error{constructor(t,i){super(i),this.field=t,this.name="RequiredError"}}function n(e,t){return e[t]!=null}function E(e,t=""){return Object.keys(e).map(i=>R(i,e[i],t)).filter(i=>i.length>0).join("&")}function R(e,t,i=""){const o=i+(i.length?`[${e}]`:e);if(t instanceof Array){const a=t.map(r=>encodeURIComponent(String(r))).join(`&${encodeURIComponent(o)}=`);return`${encodeURIComponent(o)}=${a}`}if(t instanceof Set){const a=Array.from(t);return R(e,a,i)}return t instanceof Date?`${encodeURIComponent(o)}=${encodeURIComponent(t.toISOString())}`:t instanceof Object?E(t,o):`${encodeURIComponent(o)}=${encodeURIComponent(String(t))}`}function w(e,t){return Object.keys(e).reduce((i,o)=>({...i,[o]:t(e[o])}),{})}class p{constructor(t,i=o=>o){this.raw=t,this.transformer=i}async value(){return this.transformer(await this.raw.json())}}function M(e){return D(e)}function D(e,t){return e==null?e:{identifier:n(e,"identifier")?e.identifier:void 0,content:n(e,"content")?e.content.map(C):void 0}}function C(e){return G(e)}function G(e,t){return e==null?e:{items:n(e,"items")?e.items:void 0,content:n(e,"content")?e.content:void 0,config:n(e,"config")?e.config:void 0,identifier:n(e,"identifier")?e.identifier:void 0,uid:n(e,"uid")?e.uid:void 0,component:n(e,"component")?e.component:void 0,slots:n(e,"slots")?w(e.slots,M):void 0}}function A(e){return J(e)}function J(e,t){return e==null?e:{type:n(e,"type")?e.type:void 0,target:n(e,"target")?e.target:void 0,label:n(e,"label")?e.label:void 0,href:n(e,"href")?e.href:void 0,slug:n(e,"slug")?e.slug:void 0,properties:n(e,"properties")?e.properties:void 0,children:n(e,"children")?e.children.map(A):void 0}}function V(e){return W(e)}function W(e,t){return e==null?e:{items:n(e,"items")?e.items.map(A):void 0,uid:n(e,"uid")?e.uid:void 0,identifier:n(e,"identifier")?e.identifier:void 0,label:n(e,"label")?e.label:void 0}}function z(e){return Q(e)}function Q(e,t){return e==null?e:{domain:n(e,"domain")?e.domain:void 0,slug:n(e,"slug")?e.slug:void 0,version:n(e,"version")?e.version:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,language:n(e,"language")?e.language:void 0}}function H(e){return X(e)}function X(e,t){return e==null?e:{nitro:n(e,"nitro")?z(e.nitro):void 0,pages:n(e,"pages")?e.pages:void 0,containers:n(e,"containers")?w(e.containers,V):void 0,globals:n(e,"globals")?e.globals:void 0}}function Z(e){return Y(e)}function Y(e,t){return e==null?e:{api:n(e,"api")?e.api:void 0,image:n(e,"image")?e.image:void 0}}function ee(e){return te(e)}function te(e,t){return e==null?e:{_version:n(e,"_version")?e._version:void 0,entity_metric:n(e,"entity_metric")?Z(e.entity_metric):void 0,entity_unique_id:n(e,"entity_unique_id")?e.entity_unique_id:void 0,entity_id:n(e,"entity_id")?e.entity_id:void 0,entity_image:n(e,"entity_image")?e.entity_image:void 0,entity_slug:n(e,"entity_slug")?e.entity_slug:void 0,entity_teaser:n(e,"entity_teaser")?e.entity_teaser:void 0,entity_time_end:n(e,"entity_time_end")?e.entity_time_end:void 0,entity_time_start:n(e,"entity_time_start")?e.entity_time_start:void 0,entity_title:n(e,"entity_title")?e.entity_title:void 0,entity_type:n(e,"entity_type")?e.entity_type:void 0,entity_type_id:n(e,"entity_type_id")?e.entity_type_id:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,routes:n(e,"routes")?e.routes:void 0}}function k(e){return ie(e)}function ie(e,t){return e==null?e:{entity:n(e,"entity")?ee(e.entity):void 0,model:n(e,"model")?e.model:void 0,language:n(e,"language")?e.language:void 0,jsonld:n(e,"jsonld")?e.jsonld:void 0}}function I(e){return ne(e)}function ne(e,t){return e==null?e:{entity_unique_id:n(e,"entity_unique_id")?e.entity_unique_id:void 0,entity_title:n(e,"entity_title")?e.entity_title:void 0,entity_teaser:n(e,"entity_teaser")?e.entity_teaser:void 0,entity_slug:n(e,"entity_slug")?e.entity_slug:void 0,entity_time_start:n(e,"entity_time_start")?e.entity_time_start:void 0,entity_type:n(e,"entity_type")?e.entity_type:void 0,entity_type_id:n(e,"entity_type_id")?e.entity_type_id:void 0,entity_image:n(e,"entity_image")?e.entity_image:void 0,routes:n(e,"routes")?e.routes:void 0}}function oe(e){return re(e)}function re(e,t){return e==null?e:{description:n(e,"description")?e.description:void 0,image:n(e,"image")?e.image:void 0,title:n(e,"title")?e.title:void 0}}function ae(e){return se(e)}function se(e,t){return e==null?e:{slug:n(e,"slug")?e.slug:void 0,title:n(e,"title")?e.title:void 0}}function ue(e){return ce(e)}function ce(e,t){return e==null?e:{value:n(e,"value")?e.value:void 0,navigation:n(e,"navigation")?e.navigation:void 0,propagate:n(e,"propagate")?e.propagate:void 0}}function S(e){return le(e)}function le(e,t){return e==null?e:{id:n(e,"id")?e.id:void 0,title:n(e,"title")?e.title:void 0,href:n(e,"href")?e.href:void 0,slug:n(e,"slug")?e.slug:void 0,json:n(e,"json")?e.json.map(C):void 0,depth:n(e,"depth")?e.depth:void 0,is_home:n(e,"is_home")?e.is_home:void 0,created_at:n(e,"created_at")?e.created_at:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0,is_visible:n(e,"is_visible")?e.is_visible:void 0,meta_json:n(e,"meta_json")?oe(e.meta_json):void 0,properties:n(e,"properties")?w(e.properties,ue):void 0,uid:n(e,"uid")?e.uid:void 0,type:n(e,"type")?e.type:void 0,target:n(e,"target")?e.target:void 0,container:n(e,"container")?e.container:void 0,breadcrumb:n(e,"breadcrumb")?e.breadcrumb.map(ae):void 0}}function de(e){return fe(e)}function fe(e,t){return e==null?e:{version:n(e,"version")?e.version:void 0,updated_at:n(e,"updated_at")?e.updated_at:void 0}}class pe extends h{async configRaw(t){const i={},o={};this.configuration&&this.configuration.apiKey&&(i.token=this.configuration.apiKey("token"));const a=await this.request({path:"/config",method:"GET",headers:o,query:i},t);return new p(a,r=>H(r))}async config(t){return await(await this.configRaw(t)).value()}}class ye extends h{async entityBySlugRaw(t,i){if(t.slug===null||t.slug===void 0)throw new m("slug","Required parameter requestParameters.slug was null or undefined when calling entityBySlug.");const o={};t.typeId!==void 0&&(o.typeId=t.typeId);const a={};this.configuration&&this.configuration.apiKey&&(o.token=this.configuration.apiKey("token"));const r=await this.request({path:"/entities/slug/{slug}".replace("{slug}",encodeURIComponent(String(t.slug))),method:"GET",headers:a,query:o},i);return new p(r,s=>k(s))}async entityBySlug(t,i){return await(await this.entityBySlugRaw(t,i)).value()}async entityByUniqueidRaw(t,i){if(t.uniqueid===null||t.uniqueid===void 0)throw new m("uniqueid","Required parameter requestParameters.uniqueid was null or undefined when calling entityByUniqueid.");const o={},a={};this.configuration&&this.configuration.apiKey&&(o.token=this.configuration.apiKey("token"));const r=await this.request({path:"/entities/uniqueid/{uniqueid}".replace("{uniqueid}",encodeURIComponent(String(t.uniqueid))),method:"GET",headers:a,query:o},i);return new p(r,s=>k(s))}async entityByUniqueid(t,i){return await(await this.entityByUniqueidRaw(t,i)).value()}}class he extends h{async homeRaw(t){const i={},o={};this.configuration&&this.configuration.apiKey&&(i.token=this.configuration.apiKey("token"));const a=await this.request({path:"/pages/home",method:"GET",headers:o,query:i},t);return new p(a,r=>S(r))}async home(t){return await(await this.homeRaw(t)).value()}async pageRaw(t,i){const o={};t.slug!==void 0&&(o.slug=t.slug);const a={};this.configuration&&this.configuration.apiKey&&(o.token=this.configuration.apiKey("token"));const r=await this.request({path:"/pages",method:"GET",headers:a,query:o},i);return new p(r,s=>S(s))}async page(t={},i){return await(await this.pageRaw(t,i)).value()}}class ge extends h{async searchRaw(t,i){if(t.query===null||t.query===void 0)throw new m("query","Required parameter requestParameters.query was null or undefined when calling search.");const o={};t.query!==void 0&&(o.query=t.query);const a={};this.configuration&&this.configuration.apiKey&&(o.token=this.configuration.apiKey("token"));const r=await this.request({path:"/search",method:"GET",headers:a,query:o},i);return new p(r,s=>s.map(I))}async search(t,i){return await(await this.searchRaw(t,i)).value()}}class ve extends h{async sitemapRaw(t){const i={},o={};this.configuration&&this.configuration.apiKey&&(i.token=this.configuration.apiKey("token"));const a=await this.request({path:"/sitemap",method:"GET",headers:o,query:i},t);return new p(a,r=>r.map(I))}async sitemap(t){return await(await this.sitemapRaw(t)).value()}}class me extends h{async versionRaw(t){const i={},o={};this.configuration&&this.configuration.apiKey&&(i.token=this.configuration.apiKey("token"));const a=await this.request({path:"/version",method:"GET",headers:o,query:i},t);return new p(a,r=>de(r))}async version(t){return await(await this.versionRaw(t)).value()}}const we=/[\p{Lu}]/u,_e=/[\p{Ll}]/u,T=/^[\p{Lu}](?![\p{Lu}])/gu,j=/([\p{Alpha}\p{N}_]|$)/u,_=/[_.\- ]+/,be=new RegExp("^"+_.source),P=new RegExp(_.source+j.source,"gu"),U=new RegExp("\\d+"+j.source,"gu"),qe=(e,t,i,o)=>{let a=!1,r=!1,s=!1,u=!1;for(let c=0;c<e.length;c++){const d=e[c];u=c>2?e[c-3]==="-":!0,a&&we.test(d)?(e=e.slice(0,c)+"-"+e.slice(c),a=!1,s=r,r=!0,c++):r&&s&&_e.test(d)&&(!u||o)?(e=e.slice(0,c-1)+"-"+e.slice(c-1),s=r,r=!1,a=!0):(a=t(d)===d&&i(d)!==d,s=r,r=i(d)===d&&t(d)!==d)}return e},Ee=(e,t)=>(T.lastIndex=0,e.replace(T,i=>t(i))),Re=(e,t)=>(P.lastIndex=0,U.lastIndex=0,e.replace(P,(i,o)=>t(o)).replace(U,i=>t(i)));function Ce(e,t){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(r=>r.trim()).filter(r=>r.length).join("-"):e=e.trim(),e.length===0)return"";const i=t.locale===!1?r=>r.toLowerCase():r=>r.toLocaleLowerCase(t.locale),o=t.locale===!1?r=>r.toUpperCase():r=>r.toLocaleUpperCase(t.locale);return e.length===1?_.test(e)?"":t.pascalCase?o(e):i(e):(e!==i(e)&&(e=qe(e,i,o,t.preserveConsecutiveUppercase)),e=e.replace(be,""),e=t.preserveConsecutiveUppercase?Ee(e,i):i(e),t.pascalCase&&(e=o(e.charAt(0))+e.slice(1)),Re(e,o))}function Ae(e,t,i){const o="virtual:flyo-components",a="\0"+o;return{name:"vite-plugin-flyo-components",async resolveId(r){if(r===o)return a},async load(r){if(r===a){const s=[];for(const[c,d]of Object.entries(t)){const v=await this.resolve("/"+e+"/"+d+".astro");v&&s.push(`export { default as ${Ce(c)} } from "${v.id}"`)}let u=null;return i&&(u=await this.resolve("/"+e+"/"+i+".astro")),u?s.push(`export { default as fallback } from "${u.id}"`):s.push('export { default as fallback } from "@flyo/nitro-astro/FallbackComponent.astro"'),s.join(";")}}}}let ke=Symbol("clean"),l=[],Ie=(e,t)=>{let i=[],o={get(){return o.lc||o.listen(()=>{})(),o.value},l:t||0,lc:0,listen(a,r){return o.lc=i.push(a,r||o.l)/2,()=>{let s=i.indexOf(a);~s&&(i.splice(s,2),--o.lc||o.off())}},notify(a,r){let s=!l.length;for(let u=0;u<i.length;u+=2)l.push(i[u],i[u+1],o.value,a,r);if(s){for(let u=0;u<l.length;u+=5){let c;for(let d=u+1;!c&&(d+=5)<l.length;)l[d]<l[u+1]&&(c=l.push(l[u],l[u+1],l[u+2],l[u+3],l[u+4]));c||l[u](l[u+2],l[u+3],l[u+4])}l.length=0}},off(){},set(a){let r=o.value;r!==a&&(o.value=a,o.notify(r))},subscribe(a,r){let s=o.listen(a,r);return a(o.value),s},value:e};return process.env.NODE_ENV!=="production"&&(o[ke]=()=>{i=[],o.lc=0,o.off()}),o};function y(){return globalThis.flyoNitroInstance||console.error("The Flyo Typescript Configuration has not been initialized correctly"),globalThis.flyoNitroInstance}function L(){return new pe(y())}const b=Ie(!1);async function Se(){return b.get()||b.set(await L().config()),b.get()}function Te(){return new ye(y())}function je(){return new he(y())}function Pe(){return new ge(y())}function Ue(){return new ve(y())}function Le(){return new me(y())}function xe(e){return{"data-flyo-block-uid":e.uid}}function Ke(e){const t={accessToken:!1,liveEdit:!1,fallbackComponent:null,componentsDir:"src/components/flyo",...e};return t.liveEdit==="true"?t.liveEdit=!0:t.liveEdit==="false"&&(t.liveEdit=!1),{name:"@flyo/nitro-astro",hooks:{"astro:config:setup":({injectScript:i,updateConfig:o,injectRoute:a})=>{a({pattern:"sitemap.xml",entrypoint:"@flyo/nitro-astro/sitemap.ts"}),o({image:{service:{entrypoint:"@flyo/nitro-astro/cdn.ts"}},vite:{plugins:[Ae(e.componentsDir,e.components,e.fallbackComponent)]}}),i("page-ssr",`
2
2
  import { Configuration } from '@flyo/nitro-typescript'
3
3
 
4
4
  var defaultConfig = new Configuration({
5
- apiKey: '${i.accessToken}'
5
+ apiKey: '${t.accessToken}'
6
6
  })
7
7
 
8
8
  globalThis.flyoNitroInstance = defaultConfig;
9
- `),i.liveEdit&&t("page",`
9
+ `),t.liveEdit&&i("page",`
10
10
  window.addEventListener("message", (event) => {
11
11
  if (event.data?.action === 'pageRefresh') {
12
12
  window.location.reload(true);
@@ -37,4 +37,4 @@
37
37
  openBlockInFlyo(this.getAttribute('data-flyo-block-uid'))
38
38
  });
39
39
  });
40
- `)}}}}d.default=Pe,d.editableBlock=Te,d.useConfigApi=Re,d.useConfiguration=p,d.useEntitiesApi=Ae,d.usePagesApi=Ce,d.useSearchApi=ke,d.useSitemapApi=Ie,d.useVersionApi=Se,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
40
+ `)}}}}f.default=Ke,f.editableBlock=xe,f.useConfig=Se,f.useConfigApi=L,f.useConfiguration=y,f.useEntitiesApi=Te,f.usePagesApi=je,f.useSearchApi=Pe,f.useSitemapApi=Ue,f.useVersionApi=Le,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,5 +1,5 @@
1
- const U = "https://api.flyo.cloud/nitro/v1".replace(/\/+$/, "");
2
- class x {
1
+ const j = "https://api.flyo.cloud/nitro/v1".replace(/\/+$/, "");
2
+ class P {
3
3
  constructor(t = {}) {
4
4
  this.configuration = t;
5
5
  }
@@ -7,7 +7,7 @@ class x {
7
7
  this.configuration = t;
8
8
  }
9
9
  get basePath() {
10
- return this.configuration.basePath != null ? this.configuration.basePath : U;
10
+ return this.configuration.basePath != null ? this.configuration.basePath : j;
11
11
  }
12
12
  get fetchApi() {
13
13
  return this.configuration.fetchApi;
@@ -16,7 +16,7 @@ class x {
16
16
  return this.configuration.middleware || [];
17
17
  }
18
18
  get queryParamsStringify() {
19
- return this.configuration.queryParamsStringify || C;
19
+ return this.configuration.queryParamsStringify || A;
20
20
  }
21
21
  get username() {
22
22
  return this.configuration.username;
@@ -41,38 +41,38 @@ class x {
41
41
  return this.configuration.credentials;
42
42
  }
43
43
  }
44
- const P = new x(), R = class E {
45
- constructor(t = P) {
46
- this.configuration = t, this.fetchApi = async (i, r) => {
47
- let a = { url: i, init: r };
44
+ const L = new P(), C = class k {
45
+ constructor(t = L) {
46
+ this.configuration = t, this.fetchApi = async (i, o) => {
47
+ let a = { url: i, init: o };
48
48
  for (const s of this.middleware)
49
49
  s.pre && (a = await s.pre({
50
50
  fetch: this.fetchApi,
51
51
  ...a
52
52
  }) || a);
53
- let o;
53
+ let r;
54
54
  try {
55
- o = await (this.configuration.fetchApi || fetch)(a.url, a.init);
55
+ r = await (this.configuration.fetchApi || fetch)(a.url, a.init);
56
56
  } catch (s) {
57
57
  for (const u of this.middleware)
58
- u.onError && (o = await u.onError({
58
+ u.onError && (r = await u.onError({
59
59
  fetch: this.fetchApi,
60
60
  url: a.url,
61
61
  init: a.init,
62
62
  error: s,
63
- response: o ? o.clone() : void 0
64
- }) || o);
65
- if (o === void 0)
66
- throw s instanceof Error ? new N(s, "The request failed and the interceptors did not return an alternative response") : s;
63
+ response: r ? r.clone() : void 0
64
+ }) || r);
65
+ if (r === void 0)
66
+ throw s instanceof Error ? new $(s, "The request failed and the interceptors did not return an alternative response") : s;
67
67
  }
68
68
  for (const s of this.middleware)
69
- s.post && (o = await s.post({
69
+ s.post && (r = await s.post({
70
70
  fetch: this.fetchApi,
71
71
  url: a.url,
72
72
  init: a.init,
73
- response: o.clone()
74
- }) || o);
75
- return o;
73
+ response: r.clone()
74
+ }) || r);
75
+ return r;
76
76
  }, this.middleware = t.middleware;
77
77
  }
78
78
  withMiddleware(...t) {
@@ -80,11 +80,11 @@ const P = new x(), R = class E {
80
80
  return i.middleware = i.middleware.concat(...t), i;
81
81
  }
82
82
  withPreMiddleware(...t) {
83
- const i = t.map((r) => ({ pre: r }));
83
+ const i = t.map((o) => ({ pre: o }));
84
84
  return this.withMiddleware(...i);
85
85
  }
86
86
  withPostMiddleware(...t) {
87
- const i = t.map((r) => ({ post: r }));
87
+ const i = t.map((o) => ({ post: o }));
88
88
  return this.withMiddleware(...i);
89
89
  }
90
90
  /**
@@ -98,38 +98,38 @@ const P = new x(), R = class E {
98
98
  * @return True if the given MIME is JSON, false otherwise.
99
99
  */
100
100
  isJsonMime(t) {
101
- return t ? E.jsonRegex.test(t) : !1;
101
+ return t ? k.jsonRegex.test(t) : !1;
102
102
  }
103
103
  async request(t, i) {
104
- const { url: r, init: a } = await this.createFetchParams(t, i), o = await this.fetchApi(r, a);
105
- if (o && o.status >= 200 && o.status < 300)
106
- return o;
107
- throw new K(o, "Response returned an error code");
104
+ const { url: o, init: a } = await this.createFetchParams(t, i), r = await this.fetchApi(o, a);
105
+ if (r && r.status >= 200 && r.status < 300)
106
+ return r;
107
+ throw new O(r, "Response returned an error code");
108
108
  }
109
109
  async createFetchParams(t, i) {
110
- let r = this.configuration.basePath + t.path;
111
- t.query !== void 0 && Object.keys(t.query).length !== 0 && (r += "?" + this.configuration.queryParamsStringify(t.query));
110
+ let o = this.configuration.basePath + t.path;
111
+ t.query !== void 0 && Object.keys(t.query).length !== 0 && (o += "?" + this.configuration.queryParamsStringify(t.query));
112
112
  const a = Object.assign({}, this.configuration.headers, t.headers);
113
- Object.keys(a).forEach((y) => a[y] === void 0 ? delete a[y] : {});
114
- const o = typeof i == "function" ? i : async () => i, s = {
113
+ Object.keys(a).forEach((h) => a[h] === void 0 ? delete a[h] : {});
114
+ const r = typeof i == "function" ? i : async () => i, s = {
115
115
  method: t.method,
116
116
  headers: a,
117
117
  body: t.body,
118
118
  credentials: this.configuration.credentials
119
119
  }, u = {
120
120
  ...s,
121
- ...await o({
121
+ ...await r({
122
122
  init: s,
123
123
  context: t
124
124
  })
125
125
  };
126
126
  let c;
127
- L(u.body) || u.body instanceof URLSearchParams || j(u.body) ? c = u.body : this.isJsonMime(a["Content-Type"]) ? c = JSON.stringify(u.body) : c = u.body;
127
+ N(u.body) || u.body instanceof URLSearchParams || K(u.body) ? c = u.body : this.isJsonMime(a["Content-Type"]) ? c = JSON.stringify(u.body) : c = u.body;
128
128
  const l = {
129
129
  ...u,
130
130
  body: c
131
131
  };
132
- return { url: r, init: l };
132
+ return { url: o, init: l };
133
133
  }
134
134
  /**
135
135
  * Create a shallow clone of `this` by constructing a new instance
@@ -140,25 +140,25 @@ const P = new x(), R = class E {
140
140
  return i.middleware = this.middleware.slice(), i;
141
141
  }
142
142
  };
143
- R.jsonRegex = new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$", "i");
144
- let f = R;
145
- function j(e) {
143
+ C.jsonRegex = new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$", "i");
144
+ let p = C;
145
+ function K(e) {
146
146
  return typeof Blob < "u" && e instanceof Blob;
147
147
  }
148
- function L(e) {
148
+ function N(e) {
149
149
  return typeof FormData < "u" && e instanceof FormData;
150
150
  }
151
- class K extends Error {
151
+ class O extends Error {
152
152
  constructor(t, i) {
153
153
  super(i), this.response = t, this.name = "ResponseError";
154
154
  }
155
155
  }
156
- class N extends Error {
156
+ class $ extends Error {
157
157
  constructor(t, i) {
158
158
  super(i), this.cause = t, this.name = "FetchError";
159
159
  }
160
160
  }
161
- class h extends Error {
161
+ class v extends Error {
162
162
  constructor(t, i) {
163
163
  super(i), this.field = t, this.name = "RequiredError";
164
164
  }
@@ -166,48 +166,48 @@ class h extends Error {
166
166
  function n(e, t) {
167
167
  return e[t] != null;
168
168
  }
169
- function C(e, t = "") {
170
- return Object.keys(e).map((i) => k(i, e[i], t)).filter((i) => i.length > 0).join("&");
169
+ function A(e, t = "") {
170
+ return Object.keys(e).map((i) => I(i, e[i], t)).filter((i) => i.length > 0).join("&");
171
171
  }
172
- function k(e, t, i = "") {
173
- const r = i + (i.length ? `[${e}]` : e);
172
+ function I(e, t, i = "") {
173
+ const o = i + (i.length ? `[${e}]` : e);
174
174
  if (t instanceof Array) {
175
- const a = t.map((o) => encodeURIComponent(String(o))).join(`&${encodeURIComponent(r)}=`);
176
- return `${encodeURIComponent(r)}=${a}`;
175
+ const a = t.map((r) => encodeURIComponent(String(r))).join(`&${encodeURIComponent(o)}=`);
176
+ return `${encodeURIComponent(o)}=${a}`;
177
177
  }
178
178
  if (t instanceof Set) {
179
179
  const a = Array.from(t);
180
- return k(e, a, i);
180
+ return I(e, a, i);
181
181
  }
182
- return t instanceof Date ? `${encodeURIComponent(r)}=${encodeURIComponent(t.toISOString())}` : t instanceof Object ? C(t, r) : `${encodeURIComponent(r)}=${encodeURIComponent(String(t))}`;
182
+ return t instanceof Date ? `${encodeURIComponent(o)}=${encodeURIComponent(t.toISOString())}` : t instanceof Object ? A(t, o) : `${encodeURIComponent(o)}=${encodeURIComponent(String(t))}`;
183
183
  }
184
- function g(e, t) {
184
+ function m(e, t) {
185
185
  return Object.keys(e).reduce(
186
- (i, r) => ({ ...i, [r]: t(e[r]) }),
186
+ (i, o) => ({ ...i, [o]: t(e[o]) }),
187
187
  {}
188
188
  );
189
189
  }
190
- class d {
191
- constructor(t, i = (r) => r) {
190
+ class f {
191
+ constructor(t, i = (o) => o) {
192
192
  this.raw = t, this.transformer = i;
193
193
  }
194
194
  async value() {
195
195
  return this.transformer(await this.raw.json());
196
196
  }
197
197
  }
198
- function $(e) {
199
- return F(e);
198
+ function F(e) {
199
+ return B(e);
200
200
  }
201
- function F(e, t) {
201
+ function B(e, t) {
202
202
  return e == null ? e : {
203
203
  identifier: n(e, "identifier") ? e.identifier : void 0,
204
- content: n(e, "content") ? e.content.map(A) : void 0
204
+ content: n(e, "content") ? e.content.map(S) : void 0
205
205
  };
206
206
  }
207
- function A(e) {
208
- return O(e);
207
+ function S(e) {
208
+ return D(e);
209
209
  }
210
- function O(e, t) {
210
+ function D(e, t) {
211
211
  return e == null ? e : {
212
212
  items: n(e, "items") ? e.items : void 0,
213
213
  content: n(e, "content") ? e.content : void 0,
@@ -215,13 +215,13 @@ function O(e, t) {
215
215
  identifier: n(e, "identifier") ? e.identifier : void 0,
216
216
  uid: n(e, "uid") ? e.uid : void 0,
217
217
  component: n(e, "component") ? e.component : void 0,
218
- slots: n(e, "slots") ? g(e.slots, $) : void 0
218
+ slots: n(e, "slots") ? m(e.slots, F) : void 0
219
219
  };
220
220
  }
221
- function I(e) {
222
- return B(e);
221
+ function x(e) {
222
+ return M(e);
223
223
  }
224
- function B(e, t) {
224
+ function M(e, t) {
225
225
  return e == null ? e : {
226
226
  type: n(e, "type") ? e.type : void 0,
227
227
  target: n(e, "target") ? e.target : void 0,
@@ -229,24 +229,24 @@ function B(e, t) {
229
229
  href: n(e, "href") ? e.href : void 0,
230
230
  slug: n(e, "slug") ? e.slug : void 0,
231
231
  properties: n(e, "properties") ? e.properties : void 0,
232
- children: n(e, "children") ? e.children.map(I) : void 0
232
+ children: n(e, "children") ? e.children.map(x) : void 0
233
233
  };
234
234
  }
235
- function M(e) {
236
- return D(e);
235
+ function G(e) {
236
+ return J(e);
237
237
  }
238
- function D(e, t) {
238
+ function J(e, t) {
239
239
  return e == null ? e : {
240
- items: n(e, "items") ? e.items.map(I) : void 0,
240
+ items: n(e, "items") ? e.items.map(x) : void 0,
241
241
  uid: n(e, "uid") ? e.uid : void 0,
242
242
  identifier: n(e, "identifier") ? e.identifier : void 0,
243
243
  label: n(e, "label") ? e.label : void 0
244
244
  };
245
245
  }
246
- function G(e) {
247
- return J(e);
246
+ function V(e) {
247
+ return W(e);
248
248
  }
249
- function J(e, t) {
249
+ function W(e, t) {
250
250
  return e == null ? e : {
251
251
  domain: n(e, "domain") ? e.domain : void 0,
252
252
  slug: n(e, "slug") ? e.slug : void 0,
@@ -255,33 +255,33 @@ function J(e, t) {
255
255
  language: n(e, "language") ? e.language : void 0
256
256
  };
257
257
  }
258
- function V(e) {
259
- return W(e);
258
+ function z(e) {
259
+ return Q(e);
260
260
  }
261
- function W(e, t) {
261
+ function Q(e, t) {
262
262
  return e == null ? e : {
263
- nitro: n(e, "nitro") ? G(e.nitro) : void 0,
263
+ nitro: n(e, "nitro") ? V(e.nitro) : void 0,
264
264
  pages: n(e, "pages") ? e.pages : void 0,
265
- containers: n(e, "containers") ? g(e.containers, M) : void 0,
265
+ containers: n(e, "containers") ? m(e.containers, G) : void 0,
266
266
  globals: n(e, "globals") ? e.globals : void 0
267
267
  };
268
268
  }
269
- function z(e) {
270
- return H(e);
269
+ function H(e) {
270
+ return X(e);
271
271
  }
272
- function H(e, t) {
272
+ function X(e, t) {
273
273
  return e == null ? e : {
274
274
  api: n(e, "api") ? e.api : void 0,
275
275
  image: n(e, "image") ? e.image : void 0
276
276
  };
277
277
  }
278
- function X(e) {
279
- return Z(e);
278
+ function Z(e) {
279
+ return Y(e);
280
280
  }
281
- function Z(e, t) {
281
+ function Y(e, t) {
282
282
  return e == null ? e : {
283
283
  _version: n(e, "_version") ? e._version : void 0,
284
- entity_metric: n(e, "entity_metric") ? z(e.entity_metric) : void 0,
284
+ entity_metric: n(e, "entity_metric") ? H(e.entity_metric) : void 0,
285
285
  entity_unique_id: n(e, "entity_unique_id") ? e.entity_unique_id : void 0,
286
286
  entity_id: n(e, "entity_id") ? e.entity_id : void 0,
287
287
  entity_image: n(e, "entity_image") ? e.entity_image : void 0,
@@ -296,21 +296,21 @@ function Z(e, t) {
296
296
  routes: n(e, "routes") ? e.routes : void 0
297
297
  };
298
298
  }
299
- function m(e) {
300
- return Q(e);
299
+ function _(e) {
300
+ return ee(e);
301
301
  }
302
- function Q(e, t) {
302
+ function ee(e, t) {
303
303
  return e == null ? e : {
304
- entity: n(e, "entity") ? X(e.entity) : void 0,
304
+ entity: n(e, "entity") ? Z(e.entity) : void 0,
305
305
  model: n(e, "model") ? e.model : void 0,
306
306
  language: n(e, "language") ? e.language : void 0,
307
307
  jsonld: n(e, "jsonld") ? e.jsonld : void 0
308
308
  };
309
309
  }
310
- function S(e) {
311
- return Y(e);
310
+ function T(e) {
311
+ return te(e);
312
312
  }
313
- function Y(e, t) {
313
+ function te(e, t) {
314
314
  return e == null ? e : {
315
315
  entity_unique_id: n(e, "entity_unique_id") ? e.entity_unique_id : void 0,
316
316
  entity_title: n(e, "entity_title") ? e.entity_title : void 0,
@@ -323,83 +323,83 @@ function Y(e, t) {
323
323
  routes: n(e, "routes") ? e.routes : void 0
324
324
  };
325
325
  }
326
- function ee(e) {
327
- return te(e);
326
+ function ie(e) {
327
+ return ne(e);
328
328
  }
329
- function te(e, t) {
329
+ function ne(e, t) {
330
330
  return e == null ? e : {
331
331
  description: n(e, "description") ? e.description : void 0,
332
332
  image: n(e, "image") ? e.image : void 0,
333
333
  title: n(e, "title") ? e.title : void 0
334
334
  };
335
335
  }
336
- function ie(e) {
337
- return ne(e);
336
+ function oe(e) {
337
+ return re(e);
338
338
  }
339
- function ne(e, t) {
339
+ function re(e, t) {
340
340
  return e == null ? e : {
341
341
  slug: n(e, "slug") ? e.slug : void 0,
342
342
  title: n(e, "title") ? e.title : void 0
343
343
  };
344
344
  }
345
- function oe(e) {
346
- return re(e);
345
+ function ae(e) {
346
+ return se(e);
347
347
  }
348
- function re(e, t) {
348
+ function se(e, t) {
349
349
  return e == null ? e : {
350
350
  value: n(e, "value") ? e.value : void 0,
351
351
  navigation: n(e, "navigation") ? e.navigation : void 0,
352
352
  propagate: n(e, "propagate") ? e.propagate : void 0
353
353
  };
354
354
  }
355
- function w(e) {
356
- return ae(e);
355
+ function b(e) {
356
+ return ue(e);
357
357
  }
358
- function ae(e, t) {
358
+ function ue(e, t) {
359
359
  return e == null ? e : {
360
360
  id: n(e, "id") ? e.id : void 0,
361
361
  title: n(e, "title") ? e.title : void 0,
362
362
  href: n(e, "href") ? e.href : void 0,
363
363
  slug: n(e, "slug") ? e.slug : void 0,
364
- json: n(e, "json") ? e.json.map(A) : void 0,
364
+ json: n(e, "json") ? e.json.map(S) : void 0,
365
365
  depth: n(e, "depth") ? e.depth : void 0,
366
366
  is_home: n(e, "is_home") ? e.is_home : void 0,
367
367
  created_at: n(e, "created_at") ? e.created_at : void 0,
368
368
  updated_at: n(e, "updated_at") ? e.updated_at : void 0,
369
369
  is_visible: n(e, "is_visible") ? e.is_visible : void 0,
370
- meta_json: n(e, "meta_json") ? ee(e.meta_json) : void 0,
371
- properties: n(e, "properties") ? g(e.properties, oe) : void 0,
370
+ meta_json: n(e, "meta_json") ? ie(e.meta_json) : void 0,
371
+ properties: n(e, "properties") ? m(e.properties, ae) : void 0,
372
372
  uid: n(e, "uid") ? e.uid : void 0,
373
373
  type: n(e, "type") ? e.type : void 0,
374
374
  target: n(e, "target") ? e.target : void 0,
375
375
  container: n(e, "container") ? e.container : void 0,
376
- breadcrumb: n(e, "breadcrumb") ? e.breadcrumb.map(ie) : void 0
376
+ breadcrumb: n(e, "breadcrumb") ? e.breadcrumb.map(oe) : void 0
377
377
  };
378
378
  }
379
- function se(e) {
380
- return ue(e);
379
+ function ce(e) {
380
+ return le(e);
381
381
  }
382
- function ue(e, t) {
382
+ function le(e, t) {
383
383
  return e == null ? e : {
384
384
  version: n(e, "version") ? e.version : void 0,
385
385
  updated_at: n(e, "updated_at") ? e.updated_at : void 0
386
386
  };
387
387
  }
388
- class ce extends f {
388
+ class de extends p {
389
389
  /**
390
390
  * The config API endpoint provides comprehensive information required for configuring the layout of websites. It encompasses various essential elements, including containers with pages, an extensive list of available slugs, globals containing content pool data, and crucial details about the Nitro configuration itself. By accessing this endpoint, developers can gather all the necessary data to effectively design and structure their websites. The endpoint offers a holistic view of the website\'s layout, empowering developers to tailor the user experience and optimize the overall design.
391
391
  * Get Config
392
392
  */
393
393
  async configRaw(t) {
394
- const i = {}, r = {};
394
+ const i = {}, o = {};
395
395
  this.configuration && this.configuration.apiKey && (i.token = this.configuration.apiKey("token"));
396
396
  const a = await this.request({
397
397
  path: "/config",
398
398
  method: "GET",
399
- headers: r,
399
+ headers: o,
400
400
  query: i
401
401
  }, t);
402
- return new d(a, (o) => V(o));
402
+ return new f(a, (r) => z(r));
403
403
  }
404
404
  /**
405
405
  * The config API endpoint provides comprehensive information required for configuring the layout of websites. It encompasses various essential elements, including containers with pages, an extensive list of available slugs, globals containing content pool data, and crucial details about the Nitro configuration itself. By accessing this endpoint, developers can gather all the necessary data to effectively design and structure their websites. The endpoint offers a holistic view of the website\'s layout, empowering developers to tailor the user experience and optimize the overall design.
@@ -409,25 +409,25 @@ class ce extends f {
409
409
  return await (await this.configRaw(t)).value();
410
410
  }
411
411
  }
412
- class le extends f {
412
+ class fe extends p {
413
413
  /**
414
414
  *
415
415
  * Find entity by slug and optional Type-ID
416
416
  */
417
417
  async entityBySlugRaw(t, i) {
418
418
  if (t.slug === null || t.slug === void 0)
419
- throw new h("slug", "Required parameter requestParameters.slug was null or undefined when calling entityBySlug.");
420
- const r = {};
421
- t.typeId !== void 0 && (r.typeId = t.typeId);
419
+ throw new v("slug", "Required parameter requestParameters.slug was null or undefined when calling entityBySlug.");
420
+ const o = {};
421
+ t.typeId !== void 0 && (o.typeId = t.typeId);
422
422
  const a = {};
423
- this.configuration && this.configuration.apiKey && (r.token = this.configuration.apiKey("token"));
424
- const o = await this.request({
423
+ this.configuration && this.configuration.apiKey && (o.token = this.configuration.apiKey("token"));
424
+ const r = await this.request({
425
425
  path: "/entities/slug/{slug}".replace("{slug}", encodeURIComponent(String(t.slug))),
426
426
  method: "GET",
427
427
  headers: a,
428
- query: r
428
+ query: o
429
429
  }, i);
430
- return new d(o, (s) => m(s));
430
+ return new f(r, (s) => _(s));
431
431
  }
432
432
  /**
433
433
  *
@@ -442,16 +442,16 @@ class le extends f {
442
442
  */
443
443
  async entityByUniqueidRaw(t, i) {
444
444
  if (t.uniqueid === null || t.uniqueid === void 0)
445
- throw new h("uniqueid", "Required parameter requestParameters.uniqueid was null or undefined when calling entityByUniqueid.");
446
- const r = {}, a = {};
447
- this.configuration && this.configuration.apiKey && (r.token = this.configuration.apiKey("token"));
448
- const o = await this.request({
445
+ throw new v("uniqueid", "Required parameter requestParameters.uniqueid was null or undefined when calling entityByUniqueid.");
446
+ const o = {}, a = {};
447
+ this.configuration && this.configuration.apiKey && (o.token = this.configuration.apiKey("token"));
448
+ const r = await this.request({
449
449
  path: "/entities/uniqueid/{uniqueid}".replace("{uniqueid}", encodeURIComponent(String(t.uniqueid))),
450
450
  method: "GET",
451
451
  headers: a,
452
- query: r
452
+ query: o
453
453
  }, i);
454
- return new d(o, (s) => m(s));
454
+ return new f(r, (s) => _(s));
455
455
  }
456
456
  /**
457
457
  * The endpoint provides comprehensive information about a specified entity. An entity represents a collection of information pertaining to a specific data type and is defined by a key-value pair. You can use various data types such as blogs, events, or any other relevant data. However, in order to access an entity, it must be properly configured within the nitro config.
@@ -461,21 +461,21 @@ class le extends f {
461
461
  return await (await this.entityByUniqueidRaw(t, i)).value();
462
462
  }
463
463
  }
464
- class de extends f {
464
+ class pe extends p {
465
465
  /**
466
466
  * This endpoint allows you to retrieve the designated homepage of a website. Alternatively, you can utilize the pages endpoint by specifying an empty slug parameter to achieve the same result. By using either of these methods, you can effectively access the desired homepage of the website.
467
467
  * Get Home
468
468
  */
469
469
  async homeRaw(t) {
470
- const i = {}, r = {};
470
+ const i = {}, o = {};
471
471
  this.configuration && this.configuration.apiKey && (i.token = this.configuration.apiKey("token"));
472
472
  const a = await this.request({
473
473
  path: "/pages/home",
474
474
  method: "GET",
475
- headers: r,
475
+ headers: o,
476
476
  query: i
477
477
  }, t);
478
- return new d(a, (o) => w(o));
478
+ return new f(a, (r) => b(r));
479
479
  }
480
480
  /**
481
481
  * This endpoint allows you to retrieve the designated homepage of a website. Alternatively, you can utilize the pages endpoint by specifying an empty slug parameter to achieve the same result. By using either of these methods, you can effectively access the desired homepage of the website.
@@ -489,17 +489,17 @@ class de extends f {
489
489
  * Get Page by slug
490
490
  */
491
491
  async pageRaw(t, i) {
492
- const r = {};
493
- t.slug !== void 0 && (r.slug = t.slug);
492
+ const o = {};
493
+ t.slug !== void 0 && (o.slug = t.slug);
494
494
  const a = {};
495
- this.configuration && this.configuration.apiKey && (r.token = this.configuration.apiKey("token"));
496
- const o = await this.request({
495
+ this.configuration && this.configuration.apiKey && (o.token = this.configuration.apiKey("token"));
496
+ const r = await this.request({
497
497
  path: "/pages",
498
498
  method: "GET",
499
499
  headers: a,
500
- query: r
500
+ query: o
501
501
  }, i);
502
- return new d(o, (s) => w(s));
502
+ return new f(r, (s) => b(s));
503
503
  }
504
504
  /**
505
505
  * This endpoint retrieves comprehensive information from a specified page using either a slug or a path. The slug refers to a unique identifier for the page, while the path is the slug with a leading slash. By providing either the slug or the path as input, the function will gather all the relevant details associated with the page.
@@ -509,25 +509,25 @@ class de extends f {
509
509
  return await (await this.pageRaw(t, i)).value();
510
510
  }
511
511
  }
512
- class fe extends f {
512
+ class ye extends p {
513
513
  /**
514
514
  * This endpoint offers a powerful capability to search through the websites sitemap, encompassing both pages and entities. With this endpoint, users can efficiently explore and retrieve information from your sitemap by creating a paginated search experience.
515
515
  * Get Search by query
516
516
  */
517
517
  async searchRaw(t, i) {
518
518
  if (t.query === null || t.query === void 0)
519
- throw new h("query", "Required parameter requestParameters.query was null or undefined when calling search.");
520
- const r = {};
521
- t.query !== void 0 && (r.query = t.query);
519
+ throw new v("query", "Required parameter requestParameters.query was null or undefined when calling search.");
520
+ const o = {};
521
+ t.query !== void 0 && (o.query = t.query);
522
522
  const a = {};
523
- this.configuration && this.configuration.apiKey && (r.token = this.configuration.apiKey("token"));
524
- const o = await this.request({
523
+ this.configuration && this.configuration.apiKey && (o.token = this.configuration.apiKey("token"));
524
+ const r = await this.request({
525
525
  path: "/search",
526
526
  method: "GET",
527
527
  headers: a,
528
- query: r
528
+ query: o
529
529
  }, i);
530
- return new d(o, (s) => s.map(S));
530
+ return new f(r, (s) => s.map(T));
531
531
  }
532
532
  /**
533
533
  * This endpoint offers a powerful capability to search through the websites sitemap, encompassing both pages and entities. With this endpoint, users can efficiently explore and retrieve information from your sitemap by creating a paginated search experience.
@@ -537,21 +537,21 @@ class fe extends f {
537
537
  return await (await this.searchRaw(t, i)).value();
538
538
  }
539
539
  }
540
- class pe extends f {
540
+ class he extends p {
541
541
  /**
542
542
  * This endpoint provides comprehensive data for generating the sitemap. It encompasses all the necessary information, including pages from containers, as well as all entities that have been mapped.
543
543
  * Get Sitemap
544
544
  */
545
545
  async sitemapRaw(t) {
546
- const i = {}, r = {};
546
+ const i = {}, o = {};
547
547
  this.configuration && this.configuration.apiKey && (i.token = this.configuration.apiKey("token"));
548
548
  const a = await this.request({
549
549
  path: "/sitemap",
550
550
  method: "GET",
551
- headers: r,
551
+ headers: o,
552
552
  query: i
553
553
  }, t);
554
- return new d(a, (o) => o.map(S));
554
+ return new f(a, (r) => r.map(T));
555
555
  }
556
556
  /**
557
557
  * This endpoint provides comprehensive data for generating the sitemap. It encompasses all the necessary information, including pages from containers, as well as all entities that have been mapped.
@@ -561,21 +561,21 @@ class pe extends f {
561
561
  return await (await this.sitemapRaw(t)).value();
562
562
  }
563
563
  }
564
- class ye extends f {
564
+ class ge extends p {
565
565
  /**
566
566
  * The Version API endpoint offers a highly efficient solution for evaluating the current caching status of your application\'s caching mechanism. This functionality allows you to cache the entire application configuration and page responses indefinitely. However, utilizing this endpoint enables you to assess the validity of the cache by sending a request to determine its current status. This caching endpoint is specifically designed for optimal performance when compared to the configuration endpoint, which requires more thorough evaluation and encompasses a substantial response body.
567
567
  * Get Version Information
568
568
  */
569
569
  async versionRaw(t) {
570
- const i = {}, r = {};
570
+ const i = {}, o = {};
571
571
  this.configuration && this.configuration.apiKey && (i.token = this.configuration.apiKey("token"));
572
572
  const a = await this.request({
573
573
  path: "/version",
574
574
  method: "GET",
575
- headers: r,
575
+ headers: o,
576
576
  query: i
577
577
  }, t);
578
- return new d(a, (o) => se(o));
578
+ return new f(a, (r) => ce(r));
579
579
  }
580
580
  /**
581
581
  * The Version API endpoint offers a highly efficient solution for evaluating the current caching status of your application\'s caching mechanism. This functionality allows you to cache the entire application configuration and page responses indefinitely. However, utilizing this endpoint enables you to assess the validity of the cache by sending a request to determine its current status. This caching endpoint is specifically designed for optimal performance when compared to the configuration endpoint, which requires more thorough evaluation and encompasses a substantial response body.
@@ -585,42 +585,42 @@ class ye extends f {
585
585
  return await (await this.versionRaw(t)).value();
586
586
  }
587
587
  }
588
- const he = /[\p{Lu}]/u, ge = /[\p{Ll}]/u, _ = /^[\p{Lu}](?![\p{Lu}])/gu, T = /([\p{Alpha}\p{N}_]|$)/u, v = /[_.\- ]+/, ve = new RegExp("^" + v.source), b = new RegExp(v.source + T.source, "gu"), q = new RegExp("\\d+" + T.source, "gu"), me = (e, t, i, r) => {
589
- let a = !1, o = !1, s = !1, u = !1;
588
+ const ve = /[\p{Lu}]/u, me = /[\p{Ll}]/u, q = /^[\p{Lu}](?![\p{Lu}])/gu, U = /([\p{Alpha}\p{N}_]|$)/u, w = /[_.\- ]+/, we = new RegExp("^" + w.source), E = new RegExp(w.source + U.source, "gu"), R = new RegExp("\\d+" + U.source, "gu"), _e = (e, t, i, o) => {
589
+ let a = !1, r = !1, s = !1, u = !1;
590
590
  for (let c = 0; c < e.length; c++) {
591
591
  const l = e[c];
592
- u = c > 2 ? e[c - 3] === "-" : !0, a && he.test(l) ? (e = e.slice(0, c) + "-" + e.slice(c), a = !1, s = o, o = !0, c++) : o && s && ge.test(l) && (!u || r) ? (e = e.slice(0, c - 1) + "-" + e.slice(c - 1), s = o, o = !1, a = !0) : (a = t(l) === l && i(l) !== l, s = o, o = i(l) === l && t(l) !== l);
592
+ u = c > 2 ? e[c - 3] === "-" : !0, a && ve.test(l) ? (e = e.slice(0, c) + "-" + e.slice(c), a = !1, s = r, r = !0, c++) : r && s && me.test(l) && (!u || o) ? (e = e.slice(0, c - 1) + "-" + e.slice(c - 1), s = r, r = !1, a = !0) : (a = t(l) === l && i(l) !== l, s = r, r = i(l) === l && t(l) !== l);
593
593
  }
594
594
  return e;
595
- }, we = (e, t) => (_.lastIndex = 0, e.replace(_, (i) => t(i))), _e = (e, t) => (b.lastIndex = 0, q.lastIndex = 0, e.replace(b, (i, r) => t(r)).replace(q, (i) => t(i)));
596
- function be(e, t) {
595
+ }, be = (e, t) => (q.lastIndex = 0, e.replace(q, (i) => t(i))), qe = (e, t) => (E.lastIndex = 0, R.lastIndex = 0, e.replace(E, (i, o) => t(o)).replace(R, (i) => t(i)));
596
+ function Ee(e, t) {
597
597
  if (!(typeof e == "string" || Array.isArray(e)))
598
598
  throw new TypeError("Expected the input to be `string | string[]`");
599
599
  if (t = {
600
600
  pascalCase: !1,
601
601
  preserveConsecutiveUppercase: !1,
602
602
  ...t
603
- }, Array.isArray(e) ? e = e.map((o) => o.trim()).filter((o) => o.length).join("-") : e = e.trim(), e.length === 0)
603
+ }, Array.isArray(e) ? e = e.map((r) => r.trim()).filter((r) => r.length).join("-") : e = e.trim(), e.length === 0)
604
604
  return "";
605
- const i = t.locale === !1 ? (o) => o.toLowerCase() : (o) => o.toLocaleLowerCase(t.locale), r = t.locale === !1 ? (o) => o.toUpperCase() : (o) => o.toLocaleUpperCase(t.locale);
606
- return e.length === 1 ? v.test(e) ? "" : t.pascalCase ? r(e) : i(e) : (e !== i(e) && (e = me(e, i, r, t.preserveConsecutiveUppercase)), e = e.replace(ve, ""), e = t.preserveConsecutiveUppercase ? we(e, i) : i(e), t.pascalCase && (e = r(e.charAt(0)) + e.slice(1)), _e(e, r));
605
+ const i = t.locale === !1 ? (r) => r.toLowerCase() : (r) => r.toLocaleLowerCase(t.locale), o = t.locale === !1 ? (r) => r.toUpperCase() : (r) => r.toLocaleUpperCase(t.locale);
606
+ return e.length === 1 ? w.test(e) ? "" : t.pascalCase ? o(e) : i(e) : (e !== i(e) && (e = _e(e, i, o, t.preserveConsecutiveUppercase)), e = e.replace(we, ""), e = t.preserveConsecutiveUppercase ? be(e, i) : i(e), t.pascalCase && (e = o(e.charAt(0)) + e.slice(1)), qe(e, o));
607
607
  }
608
- function qe(e, t, i) {
609
- const r = "virtual:flyo-components", a = "\0" + r;
608
+ function Re(e, t, i) {
609
+ const o = "virtual:flyo-components", a = "\0" + o;
610
610
  return {
611
611
  name: "vite-plugin-flyo-components",
612
- async resolveId(o) {
613
- if (o === r)
612
+ async resolveId(r) {
613
+ if (r === o)
614
614
  return a;
615
615
  },
616
- async load(o) {
617
- if (o === a) {
616
+ async load(r) {
617
+ if (r === a) {
618
618
  const s = [];
619
619
  for (const [c, l] of Object.entries(t)) {
620
- const y = await this.resolve(
620
+ const h = await this.resolve(
621
621
  "/" + e + "/" + l + ".astro"
622
622
  );
623
- y && s.push(`export { default as ${be(c)} } from "${y.id}"`);
623
+ h && s.push(`export { default as ${Ee(c)} } from "${h.id}"`);
624
624
  }
625
625
  let u = null;
626
626
  return i && (u = await this.resolve(
@@ -630,47 +630,114 @@ function qe(e, t, i) {
630
630
  }
631
631
  };
632
632
  }
633
- function p() {
633
+ let Ce = Symbol("clean"), d = [], ke = (e, t) => {
634
+ let i = [], o = {
635
+ get() {
636
+ return o.lc || o.listen(() => {
637
+ })(), o.value;
638
+ },
639
+ l: t || 0,
640
+ lc: 0,
641
+ listen(a, r) {
642
+ return o.lc = i.push(a, r || o.l) / 2, () => {
643
+ let s = i.indexOf(a);
644
+ ~s && (i.splice(s, 2), --o.lc || o.off());
645
+ };
646
+ },
647
+ notify(a, r) {
648
+ let s = !d.length;
649
+ for (let u = 0; u < i.length; u += 2)
650
+ d.push(
651
+ i[u],
652
+ i[u + 1],
653
+ o.value,
654
+ a,
655
+ r
656
+ );
657
+ if (s) {
658
+ for (let u = 0; u < d.length; u += 5) {
659
+ let c;
660
+ for (let l = u + 1; !c && (l += 5) < d.length; )
661
+ d[l] < d[u + 1] && (c = d.push(
662
+ d[u],
663
+ d[u + 1],
664
+ d[u + 2],
665
+ d[u + 3],
666
+ d[u + 4]
667
+ ));
668
+ c || d[u](
669
+ d[u + 2],
670
+ d[u + 3],
671
+ d[u + 4]
672
+ );
673
+ }
674
+ d.length = 0;
675
+ }
676
+ },
677
+ /* It will be called on last listener unsubscribing.
678
+ We will redefine it in onMount and onStop. */
679
+ off() {
680
+ },
681
+ set(a) {
682
+ let r = o.value;
683
+ r !== a && (o.value = a, o.notify(r));
684
+ },
685
+ subscribe(a, r) {
686
+ let s = o.listen(a, r);
687
+ return a(o.value), s;
688
+ },
689
+ value: e
690
+ };
691
+ return process.env.NODE_ENV !== "production" && (o[Ce] = () => {
692
+ i = [], o.lc = 0, o.off();
693
+ }), o;
694
+ };
695
+ function y() {
634
696
  return globalThis.flyoNitroInstance || console.error("The Flyo Typescript Configuration has not been initialized correctly"), globalThis.flyoNitroInstance;
635
697
  }
636
- function Re() {
637
- return new ce(p());
698
+ function Ae() {
699
+ return new de(y());
700
+ }
701
+ const g = ke(!1);
702
+ async function Ie() {
703
+ return g.get() || g.set(await Ae().config()), g.get();
638
704
  }
639
- function Ee() {
640
- return new le(p());
705
+ function Se() {
706
+ return new fe(y());
641
707
  }
642
- function Ce() {
643
- return new de(p());
708
+ function xe() {
709
+ return new pe(y());
644
710
  }
645
- function ke() {
646
- return new fe(p());
711
+ function Te() {
712
+ return new ye(y());
647
713
  }
648
- function Ae() {
649
- return new pe(p());
714
+ function Ue() {
715
+ return new he(y());
650
716
  }
651
- function Ie() {
652
- return new ye(p());
717
+ function je() {
718
+ return new ge(y());
653
719
  }
654
- function Se(e) {
720
+ function Pe(e) {
655
721
  return {
656
722
  "data-flyo-block-uid": e.uid
657
723
  };
658
724
  }
659
- function Te(e) {
725
+ function Le(e) {
660
726
  const t = {
661
727
  accessToken: !1,
662
728
  liveEdit: !1,
663
729
  fallbackComponent: null,
730
+ componentsDir: "src/components/flyo",
664
731
  ...e
665
732
  };
666
733
  return t.liveEdit === "true" ? t.liveEdit = !0 : t.liveEdit === "false" && (t.liveEdit = !1), {
667
734
  name: "@flyo/nitro-astro",
668
735
  hooks: {
669
- "astro:config:setup": ({ injectScript: i, updateConfig: r, injectRoute: a }) => {
736
+ "astro:config:setup": ({ injectScript: i, updateConfig: o, injectRoute: a }) => {
670
737
  a({
671
738
  pattern: "sitemap.xml",
672
739
  entrypoint: "@flyo/nitro-astro/sitemap.ts"
673
- }), r({
740
+ }), o({
674
741
  image: {
675
742
  service: {
676
743
  entrypoint: "@flyo/nitro-astro/cdn.ts"
@@ -678,12 +745,11 @@ function Te(e) {
678
745
  },
679
746
  vite: {
680
747
  plugins: [
681
- qe(
748
+ Re(
682
749
  e.componentsDir,
683
750
  e.components,
684
751
  e.fallbackComponent
685
752
  )
686
- /*vitePluginFlyoUserConfig(resolvedOptions) // tmp disable the unused user config plugin */
687
753
  ]
688
754
  }
689
755
  }), i(
@@ -737,13 +803,14 @@ function Te(e) {
737
803
  };
738
804
  }
739
805
  export {
740
- Te as default,
741
- Se as editableBlock,
742
- Re as useConfigApi,
743
- p as useConfiguration,
744
- Ee as useEntitiesApi,
745
- Ce as usePagesApi,
746
- ke as useSearchApi,
747
- Ae as useSitemapApi,
748
- Ie as useVersionApi
806
+ Le as default,
807
+ Pe as editableBlock,
808
+ Ie as useConfig,
809
+ Ae as useConfigApi,
810
+ y as useConfiguration,
811
+ Se as useEntitiesApi,
812
+ xe as usePagesApi,
813
+ Te as useSearchApi,
814
+ Ue as useSitemapApi,
815
+ je as useVersionApi
749
816
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyo/nitro-astro",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "Astro Framework",
5
5
  "main": "./dist/nitro-astro.js",
6
6
  "module": "./dist/nitro-astro.mjs",
@@ -84,6 +84,7 @@
84
84
  "url": "https://github.com/flyocloud/nitro-astro"
85
85
  },
86
86
  "dependencies": {
87
- "@flyo/nitro-typescript": "^1.0.7"
87
+ "@flyo/nitro-typescript": "^1.0.7",
88
+ "nanostores": "^0.10.0"
88
89
  }
89
90
  }