@chaibuilder/pages 0.1.4 → 0.1.5
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 +12 -12
- package/dist/server.js +17 -15
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var C=Object.defineProperty;var S=(i,a,t)=>a in i?C(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var s=(i,a,t)=>S(i,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("lodash-es"),P={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={},k=(i,a)=>{c[i]={key:i,...a,hasSlug:!0}},b=(i,a)=>{c[i]={key:i,...a,hasSlug:!1}},g=()=>Object.values(c),o=i=>c[i];let _=async(i,a=!1,t=!1)=>({lang:i,isDraft:a,inBuilder:t});const A=i=>_=i,d=async(i,a,t)=>await _(i,a,t),w=(i,a)=>{({...a})},y="https://api.chaibuilder.com";class f{constructor(a){s(this,"userId","");this.token=a,console.log("Token",this.token)}async verifyToken(){return this.userId="mock-chai-user",!0}async isUserActive(){return!0}async getUserPermissions(){return["add_block","delete_block","edit_block","move_block","edit_theme","save_page","edit_styles","import_html","add_page","edit_page","edit_slug","delete_page","publish_page","unpublish_page","add_partial","edit_partial","delete_partial","publish_partial","unpublish_partial","edit_seo","restore_revision","delete_revision","publish_theme","add_library_block","add_library_template","edit_library_block","edit_library_template","delete_library_block","delete_library_template","add_media","edit_media","delete_media"]}getUserId(){return this.userId}}class E{constructor(a="",t=y){this.apiKey=a,this.apiUrl=t}async handleAction(a,t=""){return await(await fetch(`${this.apiUrl}/v1/api/chai`,{cache:"no-store",method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,...t?{"x-chai-user":t}:{}}})).json()}}class p{constructor(a){s(this,"fallbackLang","");s(this,"currentLang","");s(this,"draftMode",!1);s(this,"auth",new f("DUMMY_TOKEN"));this.backend=a,this._registerPageTypes()}_registerPageTypes(){k("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),b("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setAuth(a){this.auth=a}setFallbackLang(a){this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async verifyToken(){return await this.auth.verifyToken()}async getUserInfo(a){return{id:a,email:`${a}@chaibuilder.com`,name:"Mock Chai User",avatar:"https://i.pravatar.cc/300"}}async handle(a){switch(a.action){case"CHECK_USER_STATUS":return this.auth.isUserActive(a.data.authToken);case"GET_PERMISSIONS":return this.auth.getUserPermissions(a.data.authToken);case"GET_CHAI_USER":return this.getUserInfo(a.data.userId)}if(a.action==="GET_BUILDER_PAGE_DATA"){const e=await d(a.data.lang,!0,!0),n=o(a.data.pageType);return n?{...n.dataProvider?await n.dataProvider({},a.data.lang,!0,!0):{},global:e}:{global:e}}if(a.action==="GET_PAGE_TYPES")return Promise.all(g().map(async e=>({key:e.key,helpText:e.helpText??"",icon:e.icon??"",dynamicSegments:e.dynamicSegments??"",dynamicSlug:e.dynamicSlug??"",hasSlug:e.hasSlug??!0,name:typeof e.name=="function"?await e.name():e.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const e=o(a.data.pageType);return e?e.search?await e.search(a.data.query):this.backend.handleAction(a):{error:"Page type not found"}}const t=await this.backend.handleAction(a,this.auth.getUserId());return this.emit(a.action,t),t}emit(a,t){var r,l,h;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const e=u.get(t,"page");if(!e)return;const n=o(e.pageType);if(n)switch(a){case"CREATE_PAGE":return(r=n.onCreate)==null?void 0:r.call(n,e);case"UPDATE_PAGE":return(l=n.onUpdate)==null?void 0:l.call(n,e);case"DELETE_PAGE":return(h=n.onDelete)==null?void 0:h.call(n,e)}}setLanguageFromSlug(a){const t=u.first(a||[""]);Object.keys(P).includes(t)?this.setCurrentLang(t):this.setCurrentLang("")}async resolveLink(a,t){const e=o(a);if(!e)return"/not-found";const n=this.isDraftMode(),r=this.getCurrentLang();return e.resolveLink?await e.resolveLink(t,n,r):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:t,draft:n,lang:r}})}async getPageBySlug(a){const t=this.isDraftMode(),e={};return g().forEach(n=>{u.has(n,"dynamicSegments")&&n.dynamicSegments&&(e[n.key]=n.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:e}})}async getFullPage(a){const t=this.isDraftMode(),e=this.getCurrentLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:e,draft:t,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,t){var m;const e=this.isDraftMode(),n=this.getCurrentLang(),r=o(a),[l,h]=await Promise.all([this.getGlobalData(),((m=r==null?void 0:r.dataProvider)==null?void 0:m.call(r,t,n,e))||Promise.resolve({})]);return r?{...h,global:l}:{global:l}}async getGlobalData(){const a=this.getCurrentLang();return await d(a,this.isDraftMode())}async request(a){return await this.backend.handleAction(a)}}exports.ChaiBuilderPages=p;exports.ChaiBuilderPagesBackend=E;exports.ChaiBuilderPagesBaseAuth=f;exports.getChaiGlobalData=d;exports.getChaiPageType=o;exports.getChaiPageTypes=g;exports.registerChaiGlobalDataProvider=A;exports.registerChaiPageType=k;exports.registerChaiPartialType=b;exports.registerChaiTaxonomy=w;
|
package/dist/server.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ export declare type ChaiBuilderPage = {
|
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
11
|
-
|
|
11
|
+
protected backend: ChaiBuilderPagesBackendInterface;
|
|
12
12
|
private fallbackLang;
|
|
13
13
|
private currentLang;
|
|
14
14
|
private draftMode;
|
|
15
15
|
private auth;
|
|
16
|
-
constructor(backend
|
|
16
|
+
constructor(backend: ChaiBuilderPagesBackendInterface);
|
|
17
17
|
private _registerPageTypes;
|
|
18
18
|
setAuth(auth: ChaiBuilderPagesAuthInterface): void;
|
|
19
19
|
setFallbackLang(lang: string): void;
|
|
@@ -59,6 +59,16 @@ export declare interface ChaiBuilderPagesBackendInterface {
|
|
|
59
59
|
handleAction(body: any, chaiUser?: string): Promise<any>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
export declare class ChaiBuilderPagesBaseAuth implements ChaiBuilderPagesAuthInterface {
|
|
63
|
+
protected token: string;
|
|
64
|
+
protected userId: string;
|
|
65
|
+
constructor(token: string);
|
|
66
|
+
verifyToken(): Promise<boolean>;
|
|
67
|
+
isUserActive(): Promise<boolean>;
|
|
68
|
+
getUserPermissions(): Promise<string[]>;
|
|
69
|
+
getUserId(): string;
|
|
70
|
+
}
|
|
71
|
+
|
|
62
72
|
declare interface ChaiBuilderPagesInterface {
|
|
63
73
|
setFallbackLang(lang: string): void;
|
|
64
74
|
getFallbackLang(): string;
|
|
@@ -80,16 +90,6 @@ declare interface ChaiBuilderPagesInterface {
|
|
|
80
90
|
getGlobalData(): Promise<any>;
|
|
81
91
|
}
|
|
82
92
|
|
|
83
|
-
export declare class ChaiBuilderPagesMockAuth implements ChaiBuilderPagesAuthInterface {
|
|
84
|
-
private token;
|
|
85
|
-
private userId;
|
|
86
|
-
constructor(token?: string);
|
|
87
|
-
verifyToken(): Promise<boolean>;
|
|
88
|
-
isUserActive(): Promise<boolean>;
|
|
89
|
-
getUserPermissions(): Promise<string[]>;
|
|
90
|
-
getUserId(): string;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
93
|
export declare type ChaiBuilderPageType = {
|
|
94
94
|
key: string;
|
|
95
95
|
helpText?: string;
|
package/dist/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var k = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var s = (i, a, t) =>
|
|
4
|
-
import { get as
|
|
2
|
+
var _ = (i, a, t) => a in i ? k(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
|
|
3
|
+
var s = (i, a, t) => _(i, typeof a != "symbol" ? a + "" : a, t);
|
|
4
|
+
import { get as b, first as f, has as S } from "lodash-es";
|
|
5
5
|
const w = {
|
|
6
6
|
ab: "Abkhazian",
|
|
7
7
|
aa: "Afar",
|
|
@@ -200,11 +200,11 @@ let m = async (i, a = !1, t = !1) => ({
|
|
|
200
200
|
isDraft: a,
|
|
201
201
|
inBuilder: t
|
|
202
202
|
});
|
|
203
|
-
const
|
|
203
|
+
const y = (i) => m = i, d = async (i, a, t) => await m(i, a, t), T = (i, a) => {
|
|
204
204
|
({ ...a });
|
|
205
205
|
}, v = "https://api.chaibuilder.com";
|
|
206
206
|
class p {
|
|
207
|
-
constructor(a
|
|
207
|
+
constructor(a) {
|
|
208
208
|
s(this, "userId", "");
|
|
209
209
|
this.token = a, console.log("Token", this.token);
|
|
210
210
|
}
|
|
@@ -254,7 +254,7 @@ class p {
|
|
|
254
254
|
return this.userId;
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
|
-
class
|
|
257
|
+
class M {
|
|
258
258
|
constructor(a = "", t = v) {
|
|
259
259
|
this.apiKey = a, this.apiUrl = t;
|
|
260
260
|
}
|
|
@@ -270,12 +270,14 @@ class C {
|
|
|
270
270
|
})).json();
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
class
|
|
274
|
-
constructor(a
|
|
273
|
+
class G {
|
|
274
|
+
constructor(a) {
|
|
275
275
|
s(this, "fallbackLang", "");
|
|
276
276
|
s(this, "currentLang", "");
|
|
277
277
|
s(this, "draftMode", !1);
|
|
278
|
-
s(this, "auth", new p(
|
|
278
|
+
s(this, "auth", new p(
|
|
279
|
+
"DUMMY_TOKEN"
|
|
280
|
+
));
|
|
279
281
|
this.backend = a, this._registerPageTypes();
|
|
280
282
|
}
|
|
281
283
|
_registerPageTypes() {
|
|
@@ -362,7 +364,7 @@ class L {
|
|
|
362
364
|
emit(a, t) {
|
|
363
365
|
var r, o, h;
|
|
364
366
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
365
|
-
const e =
|
|
367
|
+
const e = b(t, "page");
|
|
366
368
|
if (!e) return;
|
|
367
369
|
const n = l(e.pageType);
|
|
368
370
|
if (n)
|
|
@@ -438,14 +440,14 @@ class L {
|
|
|
438
440
|
}
|
|
439
441
|
}
|
|
440
442
|
export {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
p as
|
|
443
|
+
G as ChaiBuilderPages,
|
|
444
|
+
M as ChaiBuilderPagesBackend,
|
|
445
|
+
p as ChaiBuilderPagesBaseAuth,
|
|
444
446
|
d as getChaiGlobalData,
|
|
445
447
|
l as getChaiPageType,
|
|
446
448
|
g as getChaiPageTypes,
|
|
447
|
-
|
|
449
|
+
y as registerChaiGlobalDataProvider,
|
|
448
450
|
A as registerChaiPageType,
|
|
449
451
|
E as registerChaiPartialType,
|
|
450
|
-
|
|
452
|
+
T as registerChaiTaxonomy
|
|
451
453
|
};
|