@chaibuilder/pages 0.1.0-beta.64 → 0.1.0-beta.65
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/dist/server.cjs +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +39 -35
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var y=Object.defineProperty;var S=(s,a,n)=>a in s?y(s,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[a]=n;var g=(s,a,n)=>S(s,typeof a!="symbol"?a+"":a,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("lodash-es"),p="https://api.chaibuilder.com",k=async(s,a,n=p)=>{try{const e=new Headers;e.append("x-chai-api-key",a);const i={headers:e,method:"POST",body:JSON.stringify(s)},t=await fetch(n+"/v1/api/chai",i);if(t.ok)return await t.json();{const r=await t.json();throw new Error((r==null?void 0:r.error)||t.statusText)}}catch(e){return{error:e.message}}},m={},l=(s,a)=>{m[s]={key:s,...a}},d=()=>Object.values(m),u=s=>m[s],f={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},c="https://api.chaibuilder.com";class E{constructor(a,n=c){g(this,"currentLang","");g(this,"draftMode",!1);this.apiKey=a,this.apiUrl=n,l("page",{name:"Static Page"}),l("global",{name:"Global Block"})}setCurrentLang(a){this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}setLanguageFromSlug(a){const n=h.first(a||[""]);Object.keys(f).includes(n)?this.setCurrentLang(n):this.setCurrentLang("")}defaultMatchSlug(a,n){return a.match(`^${n}`)}async getPageTypeFromSlug(a){return a==="/"||a===`/${this.getCurrentLang()}`,"page"}async handle(a){if(a.action==="GET_PAGE_TYPES"||a.action==="GET_COLLECTIONS")return Promise.all(d().map(async e=>({key:e.key,name:typeof e.name=="function"?await e.name():e.name})));if(a.action==="SEARCH_COLLECTION_ITEMS"||a.action==="SEARCH_PAGE_TYPE_ITEMS"){const e=u(a.data.pageType);return e?e.search?await e.search(a.data.query):await(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"SEARCH_PAGES",data:{query:a.data.query,collection:a.data.collection}}),headers:{"x-chai-api-key":this.apiKey}})).json():{error:"Page type not found"}}const n=await k(a,this.apiKey,this.apiUrl);return this.emit(a.action,n),n}emit(a,n){var t,r,o;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const e=h.get(n,"page");if(!e)return;const i=u(e.collection);if(i)switch(a){case"CREATE_PAGE":return(t=i.onCreate)==null?void 0:t.call(i,e);case"UPDATE_PAGE":return(r=i.onUpdate)==null?void 0:r.call(i,e);case"DELETE_PAGE":return(o=i.onDelete)==null?void 0:o.call(i,e)}}async resolveLink(a,n){const e=u(a);if(!e)return"/not-found";const i=this.isDraftMode(),t=this.getCurrentLang();if(e.resolveLink)return await e.resolveLink(n,i,t);const o=await(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_LINK",data:{collection:a,pageType:a,id:n,draft:i,...t?{lang:t}:{}}}),headers:{"x-chai-api-key":this.apiKey}})).json();return h.get(o,"link","/not-found")}async getPageBySlug(a,n){const e={};return d().forEach(t=>{h.has(t,"dynamicSegments")&&t.dynamicSegments&&(e[t.key]=t.dynamicSegments)}),(await fetch(`${c}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE_META",data:{slug:a,draft:n,dynamicSegments:e}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getFullPage(a,n,e){return(await fetch(`${c}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE",data:{id:a,lang:n,draft:e,mergeGlobal:!0}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getSiteSettings(a){return(await fetch(`${c}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_WEBSITE_SETTINGS",data:{draft:a}}),headers:{"x-chai-api-key":this.apiKey}})).json()}}exports.ChaiBuilderPages=E;exports.getChaiPageType=u;exports.getChaiPageTypes=d;exports.registerChaiPageType=l;
|
package/dist/server.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare class ChaiBuilderPages {
|
|
|
23
23
|
handle(body: any): Promise<any>;
|
|
24
24
|
emit(action: string, data: any): Promise<void> | undefined;
|
|
25
25
|
resolveLink(pageTypeKey: string, id: string): Promise<any>;
|
|
26
|
-
getPageBySlug(slug: string, draft: boolean
|
|
26
|
+
getPageBySlug(slug: string, draft: boolean): Promise<any>;
|
|
27
27
|
getFullPage(id: string, lang: string, draft: boolean): Promise<any>;
|
|
28
28
|
getSiteSettings(draft: boolean): Promise<any>;
|
|
29
29
|
}
|
package/dist/server.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
var
|
|
2
|
-
var p = (
|
|
3
|
-
var
|
|
4
|
-
import { first as y, get as g } from "lodash-es";
|
|
5
|
-
const
|
|
1
|
+
var S = Object.defineProperty;
|
|
2
|
+
var p = (s, a, n) => a in s ? S(s, a, { enumerable: !0, configurable: !0, writable: !0, value: n }) : s[a] = n;
|
|
3
|
+
var c = (s, a, n) => p(s, typeof a != "symbol" ? a + "" : a, n);
|
|
4
|
+
import { first as y, get as g, has as k } from "lodash-es";
|
|
5
|
+
const f = "https://api.chaibuilder.com", E = async (s, a, n = f) => {
|
|
6
6
|
try {
|
|
7
7
|
const e = new Headers();
|
|
8
8
|
e.append("x-chai-api-key", a);
|
|
9
9
|
const i = {
|
|
10
10
|
headers: e,
|
|
11
11
|
method: "POST",
|
|
12
|
-
body: JSON.stringify(
|
|
13
|
-
},
|
|
12
|
+
body: JSON.stringify(s)
|
|
13
|
+
}, t = await fetch(
|
|
14
14
|
n + "/v1/api/chai",
|
|
15
15
|
i
|
|
16
16
|
);
|
|
17
|
-
if (
|
|
18
|
-
return await
|
|
17
|
+
if (t.ok)
|
|
18
|
+
return await t.json();
|
|
19
19
|
{
|
|
20
|
-
const
|
|
21
|
-
throw new Error((
|
|
20
|
+
const r = await t.json();
|
|
21
|
+
throw new Error((r == null ? void 0 : r.error) || t.statusText);
|
|
22
22
|
}
|
|
23
23
|
} catch (e) {
|
|
24
24
|
return { error: e.message };
|
|
25
25
|
}
|
|
26
|
-
}, l = {}, d = (
|
|
27
|
-
l[
|
|
28
|
-
},
|
|
26
|
+
}, l = {}, d = (s, a) => {
|
|
27
|
+
l[s] = { key: s, ...a };
|
|
28
|
+
}, m = () => Object.values(l), u = (s) => l[s], T = {
|
|
29
29
|
ab: "Abkhazian",
|
|
30
30
|
aa: "Afar",
|
|
31
31
|
af: "Afrikaans",
|
|
@@ -214,10 +214,10 @@ const S = "https://api.chaibuilder.com", k = async (t, a, n = S) => {
|
|
|
214
214
|
za: "Zhuang, Chuang",
|
|
215
215
|
zu: "Zulu"
|
|
216
216
|
}, h = "https://api.chaibuilder.com";
|
|
217
|
-
class
|
|
217
|
+
class A {
|
|
218
218
|
constructor(a, n = h) {
|
|
219
|
-
|
|
220
|
-
|
|
219
|
+
c(this, "currentLang", "");
|
|
220
|
+
c(this, "draftMode", !1);
|
|
221
221
|
this.apiKey = a, this.apiUrl = n, d("page", { name: "Static Page" }), d("global", { name: "Global Block" });
|
|
222
222
|
}
|
|
223
223
|
setCurrentLang(a) {
|
|
@@ -234,7 +234,7 @@ class w {
|
|
|
234
234
|
}
|
|
235
235
|
setLanguageFromSlug(a) {
|
|
236
236
|
const n = y(a || [""]);
|
|
237
|
-
Object.keys(
|
|
237
|
+
Object.keys(T).includes(n) ? this.setCurrentLang(n) : this.setCurrentLang("");
|
|
238
238
|
}
|
|
239
239
|
defaultMatchSlug(a, n) {
|
|
240
240
|
return a.match(`^${n}`);
|
|
@@ -245,13 +245,13 @@ class w {
|
|
|
245
245
|
async handle(a) {
|
|
246
246
|
if (a.action === "GET_PAGE_TYPES" || a.action === "GET_COLLECTIONS")
|
|
247
247
|
return Promise.all(
|
|
248
|
-
|
|
248
|
+
m().map(async (e) => ({
|
|
249
249
|
key: e.key,
|
|
250
250
|
name: typeof e.name == "function" ? await e.name() : e.name
|
|
251
251
|
}))
|
|
252
252
|
);
|
|
253
253
|
if (a.action === "SEARCH_COLLECTION_ITEMS" || a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
254
|
-
const e =
|
|
254
|
+
const e = u(
|
|
255
255
|
a.data.pageType
|
|
256
256
|
);
|
|
257
257
|
return e ? e.search ? await e.search(a.data.query) : await (await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
@@ -263,55 +263,59 @@ class w {
|
|
|
263
263
|
headers: { "x-chai-api-key": this.apiKey }
|
|
264
264
|
})).json() : { error: "Page type not found" };
|
|
265
265
|
}
|
|
266
|
-
const n = await
|
|
266
|
+
const n = await E(a, this.apiKey, this.apiUrl);
|
|
267
267
|
return this.emit(a.action, n), n;
|
|
268
268
|
}
|
|
269
269
|
emit(a, n) {
|
|
270
|
-
var
|
|
270
|
+
var t, r, o;
|
|
271
271
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a))
|
|
272
272
|
return;
|
|
273
273
|
const e = g(n, "page");
|
|
274
274
|
if (!e)
|
|
275
275
|
return;
|
|
276
|
-
const i =
|
|
276
|
+
const i = u(e.collection);
|
|
277
277
|
if (i)
|
|
278
278
|
switch (a) {
|
|
279
279
|
case "CREATE_PAGE":
|
|
280
|
-
return (
|
|
280
|
+
return (t = i.onCreate) == null ? void 0 : t.call(i, e);
|
|
281
281
|
case "UPDATE_PAGE":
|
|
282
|
-
return (
|
|
282
|
+
return (r = i.onUpdate) == null ? void 0 : r.call(i, e);
|
|
283
283
|
case "DELETE_PAGE":
|
|
284
284
|
return (o = i.onDelete) == null ? void 0 : o.call(i, e);
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
async resolveLink(a, n) {
|
|
288
|
-
const e =
|
|
288
|
+
const e = u(a);
|
|
289
289
|
if (!e)
|
|
290
290
|
return "/not-found";
|
|
291
|
-
const i = this.isDraftMode(),
|
|
291
|
+
const i = this.isDraftMode(), t = this.getCurrentLang();
|
|
292
292
|
if (e.resolveLink)
|
|
293
|
-
return await e.resolveLink(n, i,
|
|
293
|
+
return await e.resolveLink(n, i, t);
|
|
294
294
|
const o = await (await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
295
295
|
method: "POST",
|
|
296
296
|
body: JSON.stringify({
|
|
297
297
|
action: "GET_LINK",
|
|
298
298
|
data: {
|
|
299
299
|
collection: a,
|
|
300
|
+
pageType: a,
|
|
300
301
|
id: n,
|
|
301
302
|
draft: i,
|
|
302
|
-
...
|
|
303
|
+
...t ? { lang: t } : {}
|
|
303
304
|
}
|
|
304
305
|
}),
|
|
305
306
|
headers: { "x-chai-api-key": this.apiKey }
|
|
306
307
|
})).json();
|
|
307
308
|
return g(o, "link", "/not-found");
|
|
308
309
|
}
|
|
309
|
-
async getPageBySlug(a, n
|
|
310
|
-
|
|
310
|
+
async getPageBySlug(a, n) {
|
|
311
|
+
const e = {};
|
|
312
|
+
return m().forEach((t) => {
|
|
313
|
+
k(t, "dynamicSegments") && t.dynamicSegments && (e[t.key] = t.dynamicSegments);
|
|
314
|
+
}), (await fetch(`${h}/v1/api/chai`, {
|
|
311
315
|
method: "POST",
|
|
312
316
|
body: JSON.stringify({
|
|
313
317
|
action: "GET_PAGE_META",
|
|
314
|
-
data: { slug: a, draft: n,
|
|
318
|
+
data: { slug: a, draft: n, dynamicSegments: e }
|
|
315
319
|
}),
|
|
316
320
|
headers: { "x-chai-api-key": this.apiKey }
|
|
317
321
|
})).json();
|
|
@@ -338,8 +342,8 @@ class w {
|
|
|
338
342
|
}
|
|
339
343
|
}
|
|
340
344
|
export {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
345
|
+
A as ChaiBuilderPages,
|
|
346
|
+
u as getChaiPageType,
|
|
347
|
+
m as getChaiPageTypes,
|
|
344
348
|
d as registerChaiPageType
|
|
345
349
|
};
|