@stacksjs/cms 0.70.57 → 0.70.58
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/index.js +1 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var f0=Object.defineProperty;var y0=(G)=>G;function D0(G,Z){this[G]=y0.bind(null,Z)}var u=(G,Z)=>{for(var Q in Z)f0(G,Q,{get:Z[Q],enumerable:!0,configurable:!0,set:D0.bind(Z,Q)})};var m0=import.meta.require;var YB={};u(YB,{update:()=>rB,store:()=>eB,findOrCreate:()=>aB,findByUuid:()=>nB,findByUserId:()=>dB,findByName:()=>uB,findByEmail:()=>sB,fetchById:()=>gB,fetchAll:()=>lB,destroy:()=>pB});var bB;async function S(){return bB??=import("@stacksjs/database").then((G)=>G.db),bB}async function pB(G){let Z=await S();try{let Q=await Z.deleteFrom("authors").where("id","=",G).returningAll().executeTakeFirst();if(!Q)throw Error(`Author with ID ${G} not found`);return Q}catch(Q){if(Q instanceof Error)throw TypeError(`Author with ID ${G} not found`);throw Q}}async function gB(G){return await(await S()).selectFrom("authors").where("id","=",G).selectAll().executeTakeFirst()}async function lB(){return await(await S()).selectFrom("authors").selectAll().execute()}async function uB(G){return await(await S()).selectFrom("authors").where("name","=",G).selectAll().executeTakeFirst()}async function sB(G){return await(await S()).selectFrom("authors").where("email","=",G).selectAll().executeTakeFirst()}async function nB(G){return await(await S()).selectFrom("authors").where("uuid","=",G).selectAll().executeTakeFirst()}async function dB(G){return await(await S()).selectFrom("authors").where("user_id","=",G).selectAll().executeTakeFirst()}var{randomUUIDv7:oB}=globalThis.Bun;import{HttpError as a}from"@stacksjs/error-handling";import{formatDate as s,isUniqueViolation as iB}from"@stacksjs/orm";async function aB(G){let Z=await S();try{let Q=await Z.selectFrom("authors").where((K)=>K.or([K("email","=",G.email),K("name","=",G.name)])).selectAll().executeTakeFirst();if(Q)return Q;let Y=await Z.selectFrom("users").where("email","=",G.email).selectAll().executeTakeFirst();if(!Y){let K=await Z.insertInto("users").values({email:G.email,name:G.name,password:oB(),uuid:oB(),created_at:s(new Date),updated_at:s(new Date)}).returningAll().executeTakeFirst();if(!K)throw Error("Failed to create user");Y=K}let $={user_id:Y.id,name:G.name,email:G.email,created_at:s(new Date),updated_at:s(new Date)},O=await Z.insertInto("authors").values($).returningAll().executeTakeFirst();if(!O)throw Error("Failed to create author");return O}catch(Q){if(Q instanceof a)throw Q;if(iB(Q))throw new a(409,"An author with this email already exists");if(Q instanceof Error)throw TypeError(`Failed to find or create author: ${Q.message}`);throw Q}}async function eB(G){let Z=await S();try{let Q=await Z.selectFrom("authors").where((O)=>O.or([O("email","=",G.email),O("name","=",G.name)])).selectAll().executeTakeFirst();if(Q)return Q;let Y={user_id:G.user_id,name:G.name,email:G.email,created_at:s(new Date),updated_at:s(new Date)},$=await Z.insertInto("authors").values(Y).returningAll().executeTakeFirst();if(!$)throw Error("Failed to create author");return $}catch(Q){if(Q instanceof a)throw Q;if(iB(Q))throw new a(409,"An author with this email already exists");if(Q instanceof Error)throw TypeError(`Failed to find or create author: ${Q.message}`);throw Q}}import{HttpError as tB}from"@stacksjs/error-handling";import{formatDate as c0,isUniqueViolation as h0}from"@stacksjs/orm";async function rB(G,Z){let Q=await S();try{let Y={...Z,updated_at:c0(new Date)};return await Q.updateTable("authors").set(Y).where("id","=",G).returningAll().executeTakeFirst()}catch(Y){if(Y instanceof tB)throw Y;if(h0(Y))throw new tB(409,"An author with this email already exists");if(Y instanceof Error)throw TypeError(`Failed to update author: ${Y.message}`);throw Y}}var xB={};u(xB,{update:()=>kP,storeCategorizableModel:()=>RP,store:()=>NP,fetchWithPosts:()=>EP,fetchBySlug:()=>UP,fetchByName:()=>jP,fetchById:()=>PB,fetchAll:()=>CP,destroy:()=>xP,bulkStore:()=>vP,bulkDestroy:()=>FP});var{defineProperty:KB,getOwnPropertyNames:b0,getOwnPropertyDescriptor:p0}=Object,g0=Object.prototype.hasOwnProperty,BP=new WeakMap,l0=(G)=>{var Z=BP.get(G),Q;if(Z)return Z;if(Z=KB({},"__esModule",{value:!0}),G&&typeof G==="object"||typeof G==="function")b0(G).map((Y)=>!g0.call(Z,Y)&&KB(Z,Y,{get:()=>G[Y],enumerable:!(Q=p0(G,Y))||Q.enumerable}));return BP.set(G,Z),Z},u0=(G,Z)=>{for(var Q in Z)KB(G,Q,{get:Z[Q],enumerable:!0,configurable:!0,set:(Y)=>Z[Q]=()=>Y})},s0=(G,Z)=>()=>(G&&(Z=G(G=0)),Z),GP={};u0(GP,{transcode:()=>ZP,resolveObjectURL:()=>QP,kStringMaxLength:()=>o,kMaxLength:()=>zP,isUtf8:()=>HP,isAscii:()=>SP,default:()=>KP,createObjectURL:()=>UB,constants:()=>EB,btoa:()=>jB,atob:()=>CB,File:()=>AB,Buffer:()=>OP,Blob:()=>LB});function QP(G){throw Error("Not implemented")}function ZP(G,Z,Q){throw Error("Not implemented")}var WP,BB,XP,JP,YP,$P,$B=(G,Z)=>()=>(Z||G((Z={exports:{}}).exports,Z),Z.exports),n0=(G,Z)=>{for(var Q in Z)BB(G,Q,{get:Z[Q],enumerable:!0})},VB=(G,Z,Q,Y)=>{if(Z&&typeof Z=="object"||typeof Z=="function")for(let $ of JP(Z))!$P.call(G,$)&&$!==Q&&BB(G,$,{get:()=>Z[$],enumerable:!(Y=XP(Z,$))||Y.enumerable});return G},d0=(G,Z,Q)=>(VB(G,Z,"default"),Q&&VB(Q,Z,"default")),zB=(G,Z,Q)=>(Q=G!=null?WP(YP(G)):{},VB(Z||!G||!G.__esModule?BB(Q,"default",{value:G,enumerable:!0}):Q,G)),PP,MP,e,SB,HB,OB,o,zP=9007199254740991,LB,AB,CB,jB,UB,SP=(G)=>ArrayBuffer.isView(G)?G.every((Z)=>Z<128):G.split("").every((Z)=>Z.charCodeAt(0)<128),HP=(G)=>{throw Error("Not implemented")},EB,OP,KP,o0=s0(()=>{WP=Object.create,BB=Object.defineProperty,XP=Object.getOwnPropertyDescriptor,JP=Object.getOwnPropertyNames,YP=Object.getPrototypeOf,$P=Object.prototype.hasOwnProperty,PP=$B((G)=>{G.byteLength=A,G.toByteArray=j,G.fromByteArray=w;var Z=[],Q=[],Y=typeof Uint8Array<"u"?Uint8Array:Array,$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(O=0,K=$.length;O<K;++O)Z[O]=$[O],Q[$.charCodeAt(O)]=O;var O,K;Q[45]=62,Q[95]=63;function X(V){var C=V.length;if(C%4>0)throw Error("Invalid string. Length must be a multiple of 4");var F=V.indexOf("=");F===-1&&(F=C);var I=F===C?0:4-F%4;return[F,I]}function A(V){var C=X(V),F=C[0],I=C[1];return(F+I)*3/4-I}function L(V,C,F){return(C+F)*3/4-F}function j(V){var C,F=X(V),I=F[0],y=F[1],k=new Y(L(V,I,y)),D=0,c=y>0?I-4:I,f;for(f=0;f<c;f+=4)C=Q[V.charCodeAt(f)]<<18|Q[V.charCodeAt(f+1)]<<12|Q[V.charCodeAt(f+2)]<<6|Q[V.charCodeAt(f+3)],k[D++]=C>>16&255,k[D++]=C>>8&255,k[D++]=C&255;return y===2&&(C=Q[V.charCodeAt(f)]<<2|Q[V.charCodeAt(f+1)]>>4,k[D++]=C&255),y===1&&(C=Q[V.charCodeAt(f)]<<10|Q[V.charCodeAt(f+1)]<<4|Q[V.charCodeAt(f+2)]>>2,k[D++]=C>>8&255,k[D++]=C&255),k}function x(V){return Z[V>>18&63]+Z[V>>12&63]+Z[V>>6&63]+Z[V&63]}function v(V,C,F){for(var I,y=[],k=C;k<F;k+=3)I=(V[k]<<16&16711680)+(V[k+1]<<8&65280)+(V[k+2]&255),y.push(x(I));return y.join("")}function w(V){for(var C,F=V.length,I=F%3,y=[],k=16383,D=0,c=F-I;D<c;D+=k)y.push(v(V,D,D+k>c?c:D+k));return I===1?(C=V[F-1],y.push(Z[C>>2]+Z[C<<4&63]+"==")):I===2&&(C=(V[F-2]<<8)+V[F-1],y.push(Z[C>>10]+Z[C>>4&63]+Z[C<<2&63]+"=")),y.join("")}}),MP=$B((G)=>{G.read=function(Z,Q,Y,$,O){var K,X,A=O*8-$-1,L=(1<<A)-1,j=L>>1,x=-7,v=Y?O-1:0,w=Y?-1:1,V=Z[Q+v];for(v+=w,K=V&(1<<-x)-1,V>>=-x,x+=A;x>0;K=K*256+Z[Q+v],v+=w,x-=8);for(X=K&(1<<-x)-1,K>>=-x,x+=$;x>0;X=X*256+Z[Q+v],v+=w,x-=8);if(K===0)K=1-j;else{if(K===L)return X?NaN:(V?-1:1)*(1/0);X=X+Math.pow(2,$),K=K-j}return(V?-1:1)*X*Math.pow(2,K-$)},G.write=function(Z,Q,Y,$,O,K){var X,A,L,j=K*8-O-1,x=(1<<j)-1,v=x>>1,w=O===23?Math.pow(2,-24)-Math.pow(2,-77):0,V=$?0:K-1,C=$?1:-1,F=Q<0||Q===0&&1/Q<0?1:0;for(Q=Math.abs(Q),isNaN(Q)||Q===1/0?(A=isNaN(Q)?1:0,X=x):(X=Math.floor(Math.log(Q)/Math.LN2),Q*(L=Math.pow(2,-X))<1&&(X--,L*=2),X+v>=1?Q+=w/L:Q+=w*Math.pow(2,1-v),Q*L>=2&&(X++,L/=2),X+v>=x?(A=0,X=x):X+v>=1?(A=(Q*L-1)*Math.pow(2,O),X=X+v):(A=Q*Math.pow(2,v-1)*Math.pow(2,O),X=0));O>=8;Z[Y+V]=A&255,V+=C,A/=256,O-=8);for(X=X<<O|A,j+=O;j>0;Z[Y+V]=X&255,V+=C,X/=256,j-=8);Z[Y+V-C]|=F*128}}),e=$B((G)=>{var Z=PP(),Q=MP(),Y=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;G.Buffer=X,G.SlowBuffer=y,G.INSPECT_MAX_BYTES=50;var $=2147483647;G.kMaxLength=$,X.TYPED_ARRAY_SUPPORT=O(),!X.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function O(){try{let B=new Uint8Array(1),P={foo:function(){return 42}};return Object.setPrototypeOf(P,Uint8Array.prototype),Object.setPrototypeOf(B,P),B.foo()===42}catch{return!1}}Object.defineProperty(X.prototype,"parent",{enumerable:!0,get:function(){if(X.isBuffer(this))return this.buffer}}),Object.defineProperty(X.prototype,"offset",{enumerable:!0,get:function(){if(X.isBuffer(this))return this.byteOffset}});function K(B){if(B>$)throw RangeError('The value "'+B+'" is invalid for option "size"');let P=new Uint8Array(B);return Object.setPrototypeOf(P,X.prototype),P}function X(B,P,M){if(typeof B=="number"){if(typeof P=="string")throw TypeError('The "string" argument must be of type string. Received type number');return x(B)}return A(B,P,M)}X.poolSize=8192;function A(B,P,M){if(typeof B=="string")return v(B,P);if(ArrayBuffer.isView(B))return V(B);if(B==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(h(B,ArrayBuffer)||B&&h(B.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(h(B,SharedArrayBuffer)||B&&h(B.buffer,SharedArrayBuffer)))return C(B,P,M);if(typeof B=="number")throw TypeError('The "value" argument must not be of type number. Received type number');let W=B.valueOf&&B.valueOf();if(W!=null&&W!==B)return X.from(W,P,M);let J=F(B);if(J)return J;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof B[Symbol.toPrimitive]=="function")return X.from(B[Symbol.toPrimitive]("string"),P,M);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B)}X.from=function(B,P,M){return A(B,P,M)},Object.setPrototypeOf(X.prototype,Uint8Array.prototype),Object.setPrototypeOf(X,Uint8Array);function L(B){if(typeof B!="number")throw TypeError('"size" argument must be of type number');if(B<0)throw RangeError('The value "'+B+'" is invalid for option "size"')}function j(B,P,M){return L(B),B<=0?K(B):P!==void 0?typeof M=="string"?K(B).fill(P,M):K(B).fill(P):K(B)}X.alloc=function(B,P,M){return j(B,P,M)};function x(B){return L(B),K(B<0?0:I(B)|0)}X.allocUnsafe=function(B){return x(B)},X.allocUnsafeSlow=function(B){return x(B)};function v(B,P){if((typeof P!="string"||P==="")&&(P="utf8"),!X.isEncoding(P))throw TypeError("Unknown encoding: "+P);let M=k(B,P)|0,W=K(M),J=W.write(B,P);return J!==M&&(W=W.slice(0,J)),W}function w(B){let P=B.length<0?0:I(B.length)|0,M=K(P);for(let W=0;W<P;W+=1)M[W]=B[W]&255;return M}function V(B){if(h(B,Uint8Array)){let P=new Uint8Array(B);return C(P.buffer,P.byteOffset,P.byteLength)}return w(B)}function C(B,P,M){if(P<0||B.byteLength<P)throw RangeError('"offset" is outside of buffer bounds');if(B.byteLength<P+(M||0))throw RangeError('"length" is outside of buffer bounds');let W;return P===void 0&&M===void 0?W=new Uint8Array(B):M===void 0?W=new Uint8Array(B,P):W=new Uint8Array(B,P,M),Object.setPrototypeOf(W,X.prototype),W}function F(B){if(X.isBuffer(B)){let P=I(B.length)|0,M=K(P);return M.length===0||B.copy(M,0,0,P),M}if(B.length!==void 0)return typeof B.length!="number"||JB(B.length)?K(0):w(B);if(B.type==="Buffer"&&Array.isArray(B.data))return w(B.data)}function I(B){if(B>=$)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$.toString(16)+" bytes");return B|0}function y(B){return+B!=B&&(B=0),X.alloc(+B)}X.isBuffer=function(B){return B!=null&&B._isBuffer===!0&&B!==X.prototype},X.compare=function(B,P){if(h(B,Uint8Array)&&(B=X.from(B,B.offset,B.byteLength)),h(P,Uint8Array)&&(P=X.from(P,P.offset,P.byteLength)),!X.isBuffer(B)||!X.isBuffer(P))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(B===P)return 0;let M=B.length,W=P.length;for(let J=0,z=Math.min(M,W);J<z;++J)if(B[J]!==P[J]){M=B[J],W=P[J];break}return M<W?-1:W<M?1:0},X.isEncoding=function(B){switch(String(B).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},X.concat=function(B,P){if(!Array.isArray(B))throw TypeError('"list" argument must be an Array of Buffers');if(B.length===0)return X.alloc(0);let M;if(P===void 0)for(P=0,M=0;M<B.length;++M)P+=B[M].length;let W=X.allocUnsafe(P),J=0;for(M=0;M<B.length;++M){let z=B[M];if(h(z,Uint8Array))J+z.length>W.length?(X.isBuffer(z)||(z=X.from(z)),z.copy(W,J)):Uint8Array.prototype.set.call(W,z,J);else if(X.isBuffer(z))z.copy(W,J);else throw TypeError('"list" argument must be an Array of Buffers');J+=z.length}return W};function k(B,P){if(X.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||h(B,ArrayBuffer))return B.byteLength;if(typeof B!="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);let M=B.length,W=arguments.length>2&&arguments[2]===!0;if(!W&&M===0)return 0;let J=!1;for(;;)switch(P){case"ascii":case"latin1":case"binary":return M;case"utf8":case"utf-8":return XB(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M*2;case"hex":return M>>>1;case"base64":return hB(B).length;default:if(J)return W?-1:XB(B).length;P=(""+P).toLowerCase(),J=!0}}X.byteLength=k;function D(B,P,M){let W=!1;if((P===void 0||P<0)&&(P=0),P>this.length||((M===void 0||M>this.length)&&(M=this.length),M<=0)||(M>>>=0,P>>>=0,M<=P))return"";for(B||(B="utf8");;)switch(B){case"hex":return N0(this,P,M);case"utf8":case"utf-8":return IB(this,P,M);case"ascii":return x0(this,P,M);case"latin1":case"binary":return F0(this,P,M);case"base64":return U0(this,P,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R0(this,P,M);default:if(W)throw TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),W=!0}}X.prototype._isBuffer=!0;function c(B,P,M){let W=B[P];B[P]=B[M],B[M]=W}X.prototype.swap16=function(){let B=this.length;if(B%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let P=0;P<B;P+=2)c(this,P,P+1);return this},X.prototype.swap32=function(){let B=this.length;if(B%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let P=0;P<B;P+=4)c(this,P,P+3),c(this,P+1,P+2);return this},X.prototype.swap64=function(){let B=this.length;if(B%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let P=0;P<B;P+=8)c(this,P,P+7),c(this,P+1,P+6),c(this,P+2,P+5),c(this,P+3,P+4);return this},X.prototype.toString=function(){let B=this.length;return B===0?"":arguments.length===0?IB(this,0,B):D.apply(this,arguments)},X.prototype.toLocaleString=X.prototype.toString,X.prototype.equals=function(B){if(!X.isBuffer(B))throw TypeError("Argument must be a Buffer");return this===B?!0:X.compare(this,B)===0},X.prototype.inspect=function(){let B="",P=G.INSPECT_MAX_BYTES;return B=this.toString("hex",0,P).replace(/(.{2})/g,"$1 ").trim(),this.length>P&&(B+=" ... "),"<Buffer "+B+">"},Y&&(X.prototype[Y]=X.prototype.inspect),X.prototype.compare=function(B,P,M,W,J){if(h(B,Uint8Array)&&(B=X.from(B,B.offset,B.byteLength)),!X.isBuffer(B))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof B);if(P===void 0&&(P=0),M===void 0&&(M=B?B.length:0),W===void 0&&(W=0),J===void 0&&(J=this.length),P<0||M>B.length||W<0||J>this.length)throw RangeError("out of range index");if(W>=J&&P>=M)return 0;if(W>=J)return-1;if(P>=M)return 1;if(P>>>=0,M>>>=0,W>>>=0,J>>>=0,this===B)return 0;let z=J-W,H=M-P,U=Math.min(z,H),_=this.slice(W,J),R=B.slice(P,M);for(let E=0;E<U;++E)if(_[E]!==R[E]){z=_[E],H=R[E];break}return z<H?-1:H<z?1:0};function f(B,P,M,W,J){if(B.length===0)return-1;if(typeof M=="string"?(W=M,M=0):M>2147483647?M=2147483647:M<-2147483648&&(M=-2147483648),M=+M,JB(M)&&(M=J?0:B.length-1),M<0&&(M=B.length+M),M>=B.length){if(J)return-1;M=B.length-1}else if(M<0)if(J)M=0;else return-1;if(typeof P=="string"&&(P=X.from(P,W)),X.isBuffer(P))return P.length===0?-1:qB(B,P,M,W,J);if(typeof P=="number")return P=P&255,typeof Uint8Array.prototype.indexOf=="function"?J?Uint8Array.prototype.indexOf.call(B,P,M):Uint8Array.prototype.lastIndexOf.call(B,P,M):qB(B,[P],M,W,J);throw TypeError("val must be string, number or Buffer")}function qB(B,P,M,W,J){let z=1,H=B.length,U=P.length;if(W!==void 0&&(W=String(W).toLowerCase(),W==="ucs2"||W==="ucs-2"||W==="utf16le"||W==="utf-16le")){if(B.length<2||P.length<2)return-1;z=2,H/=2,U/=2,M/=2}function _(E,q){return z===1?E[q]:E.readUInt16BE(q*z)}let R;if(J){let E=-1;for(R=M;R<H;R++)if(_(B,R)===_(P,E===-1?0:R-E)){if(E===-1&&(E=R),R-E+1===U)return E*z}else E!==-1&&(R-=R-E),E=-1}else for(M+U>H&&(M=H-U),R=M;R>=0;R--){let E=!0;for(let q=0;q<U;q++)if(_(B,R+q)!==_(P,q)){E=!1;break}if(E)return R}return-1}X.prototype.includes=function(B,P,M){return this.indexOf(B,P,M)!==-1},X.prototype.indexOf=function(B,P,M){return f(this,B,P,M,!0)},X.prototype.lastIndexOf=function(B,P,M){return f(this,B,P,M,!1)};function V0(B,P,M,W){M=Number(M)||0;let J=B.length-M;W?(W=Number(W),W>J&&(W=J)):W=J;let z=P.length;W>z/2&&(W=z/2);let H;for(H=0;H<W;++H){let U=parseInt(P.substr(H*2,2),16);if(JB(U))return H;B[M+H]=U}return H}function L0(B,P,M,W){return i(XB(P,B.length-M),B,M,W)}function A0(B,P,M,W){return i(I0(P),B,M,W)}function C0(B,P,M,W){return i(hB(P),B,M,W)}function j0(B,P,M,W){return i(T0(P,B.length-M),B,M,W)}X.prototype.write=function(B,P,M,W){if(P===void 0)W="utf8",M=this.length,P=0;else if(M===void 0&&typeof P=="string")W=P,M=this.length,P=0;else if(isFinite(P))P=P>>>0,isFinite(M)?(M=M>>>0,W===void 0&&(W="utf8")):(W=M,M=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let J=this.length-P;if((M===void 0||M>J)&&(M=J),B.length>0&&(M<0||P<0)||P>this.length)throw RangeError("Attempt to write outside buffer bounds");W||(W="utf8");let z=!1;for(;;)switch(W){case"hex":return V0(this,B,P,M);case"utf8":case"utf-8":return L0(this,B,P,M);case"ascii":case"latin1":case"binary":return A0(this,B,P,M);case"base64":return C0(this,B,P,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j0(this,B,P,M);default:if(z)throw TypeError("Unknown encoding: "+W);W=(""+W).toLowerCase(),z=!0}},X.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U0(B,P,M){return P===0&&M===B.length?Z.fromByteArray(B):Z.fromByteArray(B.slice(P,M))}function IB(B,P,M){M=Math.min(B.length,M);let W=[],J=P;for(;J<M;){let z=B[J],H=null,U=z>239?4:z>223?3:z>191?2:1;if(J+U<=M){let _,R,E,q;switch(U){case 1:z<128&&(H=z);break;case 2:_=B[J+1],(_&192)===128&&(q=(z&31)<<6|_&63,q>127&&(H=q));break;case 3:_=B[J+1],R=B[J+2],(_&192)===128&&(R&192)===128&&(q=(z&15)<<12|(_&63)<<6|R&63,q>2047&&(q<55296||q>57343)&&(H=q));break;case 4:_=B[J+1],R=B[J+2],E=B[J+3],(_&192)===128&&(R&192)===128&&(E&192)===128&&(q=(z&15)<<18|(_&63)<<12|(R&63)<<6|E&63,q>65535&&q<1114112&&(H=q))}}H===null?(H=65533,U=1):H>65535&&(H-=65536,W.push(H>>>10&1023|55296),H=56320|H&1023),W.push(H),J+=U}return E0(W)}var TB=4096;function E0(B){let P=B.length;if(P<=TB)return String.fromCharCode.apply(String,B);let M="",W=0;for(;W<P;)M+=String.fromCharCode.apply(String,B.slice(W,W+=TB));return M}function x0(B,P,M){let W="";M=Math.min(B.length,M);for(let J=P;J<M;++J)W+=String.fromCharCode(B[J]&127);return W}function F0(B,P,M){let W="";M=Math.min(B.length,M);for(let J=P;J<M;++J)W+=String.fromCharCode(B[J]);return W}function N0(B,P,M){let W=B.length;(!P||P<0)&&(P=0),(!M||M<0||M>W)&&(M=W);let J="";for(let z=P;z<M;++z)J+=_0[B[z]];return J}function R0(B,P,M){let W=B.slice(P,M),J="";for(let z=0;z<W.length-1;z+=2)J+=String.fromCharCode(W[z]+W[z+1]*256);return J}X.prototype.slice=function(B,P){let M=this.length;B=~~B,P=P===void 0?M:~~P,B<0?(B+=M,B<0&&(B=0)):B>M&&(B=M),P<0?(P+=M,P<0&&(P=0)):P>M&&(P=M),P<B&&(P=B);let W=this.subarray(B,P);return Object.setPrototypeOf(W,X.prototype),W};function T(B,P,M){if(B%1!==0||B<0)throw RangeError("offset is not uint");if(B+P>M)throw RangeError("Trying to access beyond buffer length")}X.prototype.readUintLE=X.prototype.readUIntLE=function(B,P,M){B=B>>>0,P=P>>>0,M||T(B,P,this.length);let W=this[B],J=1,z=0;for(;++z<P&&(J*=256);)W+=this[B+z]*J;return W},X.prototype.readUintBE=X.prototype.readUIntBE=function(B,P,M){B=B>>>0,P=P>>>0,M||T(B,P,this.length);let W=this[B+--P],J=1;for(;P>0&&(J*=256);)W+=this[B+--P]*J;return W},X.prototype.readUint8=X.prototype.readUInt8=function(B,P){return B=B>>>0,P||T(B,1,this.length),this[B]},X.prototype.readUint16LE=X.prototype.readUInt16LE=function(B,P){return B=B>>>0,P||T(B,2,this.length),this[B]|this[B+1]<<8},X.prototype.readUint16BE=X.prototype.readUInt16BE=function(B,P){return B=B>>>0,P||T(B,2,this.length),this[B]<<8|this[B+1]},X.prototype.readUint32LE=X.prototype.readUInt32LE=function(B,P){return B=B>>>0,P||T(B,4,this.length),(this[B]|this[B+1]<<8|this[B+2]<<16)+this[B+3]*16777216},X.prototype.readUint32BE=X.prototype.readUInt32BE=function(B,P){return B=B>>>0,P||T(B,4,this.length),this[B]*16777216+(this[B+1]<<16|this[B+2]<<8|this[B+3])},X.prototype.readBigUInt64LE=p(function(B){B=B>>>0,l(B,"offset");let P=this[B],M=this[B+7];(P===void 0||M===void 0)&&d(B,this.length-8);let W=P+this[++B]*256+this[++B]*65536+this[++B]*16777216,J=this[++B]+this[++B]*256+this[++B]*65536+M*16777216;return BigInt(W)+(BigInt(J)<<BigInt(32))}),X.prototype.readBigUInt64BE=p(function(B){B=B>>>0,l(B,"offset");let P=this[B],M=this[B+7];(P===void 0||M===void 0)&&d(B,this.length-8);let W=P*16777216+this[++B]*65536+this[++B]*256+this[++B],J=this[++B]*16777216+this[++B]*65536+this[++B]*256+M;return(BigInt(W)<<BigInt(32))+BigInt(J)}),X.prototype.readIntLE=function(B,P,M){B=B>>>0,P=P>>>0,M||T(B,P,this.length);let W=this[B],J=1,z=0;for(;++z<P&&(J*=256);)W+=this[B+z]*J;return J*=128,W>=J&&(W-=Math.pow(2,8*P)),W},X.prototype.readIntBE=function(B,P,M){B=B>>>0,P=P>>>0,M||T(B,P,this.length);let W=P,J=1,z=this[B+--W];for(;W>0&&(J*=256);)z+=this[B+--W]*J;return J*=128,z>=J&&(z-=Math.pow(2,8*P)),z},X.prototype.readInt8=function(B,P){return B=B>>>0,P||T(B,1,this.length),this[B]&128?(255-this[B]+1)*-1:this[B]},X.prototype.readInt16LE=function(B,P){B=B>>>0,P||T(B,2,this.length);let M=this[B]|this[B+1]<<8;return M&32768?M|4294901760:M},X.prototype.readInt16BE=function(B,P){B=B>>>0,P||T(B,2,this.length);let M=this[B+1]|this[B]<<8;return M&32768?M|4294901760:M},X.prototype.readInt32LE=function(B,P){return B=B>>>0,P||T(B,4,this.length),this[B]|this[B+1]<<8|this[B+2]<<16|this[B+3]<<24},X.prototype.readInt32BE=function(B,P){return B=B>>>0,P||T(B,4,this.length),this[B]<<24|this[B+1]<<16|this[B+2]<<8|this[B+3]},X.prototype.readBigInt64LE=p(function(B){B=B>>>0,l(B,"offset");let P=this[B],M=this[B+7];(P===void 0||M===void 0)&&d(B,this.length-8);let W=this[B+4]+this[B+5]*256+this[B+6]*65536+(M<<24);return(BigInt(W)<<BigInt(32))+BigInt(P+this[++B]*256+this[++B]*65536+this[++B]*16777216)}),X.prototype.readBigInt64BE=p(function(B){B=B>>>0,l(B,"offset");let P=this[B],M=this[B+7];(P===void 0||M===void 0)&&d(B,this.length-8);let W=(P<<24)+this[++B]*65536+this[++B]*256+this[++B];return(BigInt(W)<<BigInt(32))+BigInt(this[++B]*16777216+this[++B]*65536+this[++B]*256+M)}),X.prototype.readFloatLE=function(B,P){return B=B>>>0,P||T(B,4,this.length),Q.read(this,B,!0,23,4)},X.prototype.readFloatBE=function(B,P){return B=B>>>0,P||T(B,4,this.length),Q.read(this,B,!1,23,4)},X.prototype.readDoubleLE=function(B,P){return B=B>>>0,P||T(B,8,this.length),Q.read(this,B,!0,52,8)},X.prototype.readDoubleBE=function(B,P){return B=B>>>0,P||T(B,8,this.length),Q.read(this,B,!1,52,8)};function m(B,P,M,W,J,z){if(!X.isBuffer(B))throw TypeError('"buffer" argument must be a Buffer instance');if(P>J||P<z)throw RangeError('"value" argument is out of bounds');if(M+W>B.length)throw RangeError("Index out of range")}X.prototype.writeUintLE=X.prototype.writeUIntLE=function(B,P,M,W){if(B=+B,P=P>>>0,M=M>>>0,!W){let H=Math.pow(2,8*M)-1;m(this,B,P,M,H,0)}let J=1,z=0;for(this[P]=B&255;++z<M&&(J*=256);)this[P+z]=B/J&255;return P+M},X.prototype.writeUintBE=X.prototype.writeUIntBE=function(B,P,M,W){if(B=+B,P=P>>>0,M=M>>>0,!W){let H=Math.pow(2,8*M)-1;m(this,B,P,M,H,0)}let J=M-1,z=1;for(this[P+J]=B&255;--J>=0&&(z*=256);)this[P+J]=B/z&255;return P+M},X.prototype.writeUint8=X.prototype.writeUInt8=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,1,255,0),this[P]=B&255,P+1},X.prototype.writeUint16LE=X.prototype.writeUInt16LE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,2,65535,0),this[P]=B&255,this[P+1]=B>>>8,P+2},X.prototype.writeUint16BE=X.prototype.writeUInt16BE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,2,65535,0),this[P]=B>>>8,this[P+1]=B&255,P+2},X.prototype.writeUint32LE=X.prototype.writeUInt32LE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,4,4294967295,0),this[P+3]=B>>>24,this[P+2]=B>>>16,this[P+1]=B>>>8,this[P]=B&255,P+4},X.prototype.writeUint32BE=X.prototype.writeUInt32BE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,4,4294967295,0),this[P]=B>>>24,this[P+1]=B>>>16,this[P+2]=B>>>8,this[P+3]=B&255,P+4};function _B(B,P,M,W,J){cB(P,W,J,B,M,7);let z=Number(P&BigInt(4294967295));B[M++]=z,z=z>>8,B[M++]=z,z=z>>8,B[M++]=z,z=z>>8,B[M++]=z;let H=Number(P>>BigInt(32)&BigInt(4294967295));return B[M++]=H,H=H>>8,B[M++]=H,H=H>>8,B[M++]=H,H=H>>8,B[M++]=H,M}function wB(B,P,M,W,J){cB(P,W,J,B,M,7);let z=Number(P&BigInt(4294967295));B[M+7]=z,z=z>>8,B[M+6]=z,z=z>>8,B[M+5]=z,z=z>>8,B[M+4]=z;let H=Number(P>>BigInt(32)&BigInt(4294967295));return B[M+3]=H,H=H>>8,B[M+2]=H,H=H>>8,B[M+1]=H,H=H>>8,B[M]=H,M+8}X.prototype.writeBigUInt64LE=p(function(B,P=0){return _B(this,B,P,BigInt(0),BigInt("0xffffffffffffffff"))}),X.prototype.writeBigUInt64BE=p(function(B,P=0){return wB(this,B,P,BigInt(0),BigInt("0xffffffffffffffff"))}),X.prototype.writeIntLE=function(B,P,M,W){if(B=+B,P=P>>>0,!W){let U=Math.pow(2,8*M-1);m(this,B,P,M,U-1,-U)}let J=0,z=1,H=0;for(this[P]=B&255;++J<M&&(z*=256);)B<0&&H===0&&this[P+J-1]!==0&&(H=1),this[P+J]=(B/z>>0)-H&255;return P+M},X.prototype.writeIntBE=function(B,P,M,W){if(B=+B,P=P>>>0,!W){let U=Math.pow(2,8*M-1);m(this,B,P,M,U-1,-U)}let J=M-1,z=1,H=0;for(this[P+J]=B&255;--J>=0&&(z*=256);)B<0&&H===0&&this[P+J+1]!==0&&(H=1),this[P+J]=(B/z>>0)-H&255;return P+M},X.prototype.writeInt8=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,1,127,-128),B<0&&(B=255+B+1),this[P]=B&255,P+1},X.prototype.writeInt16LE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,2,32767,-32768),this[P]=B&255,this[P+1]=B>>>8,P+2},X.prototype.writeInt16BE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,2,32767,-32768),this[P]=B>>>8,this[P+1]=B&255,P+2},X.prototype.writeInt32LE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,4,2147483647,-2147483648),this[P]=B&255,this[P+1]=B>>>8,this[P+2]=B>>>16,this[P+3]=B>>>24,P+4},X.prototype.writeInt32BE=function(B,P,M){return B=+B,P=P>>>0,M||m(this,B,P,4,2147483647,-2147483648),B<0&&(B=4294967295+B+1),this[P]=B>>>24,this[P+1]=B>>>16,this[P+2]=B>>>8,this[P+3]=B&255,P+4},X.prototype.writeBigInt64LE=p(function(B,P=0){return _B(this,B,P,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),X.prototype.writeBigInt64BE=p(function(B,P=0){return wB(this,B,P,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function fB(B,P,M,W,J,z){if(M+W>B.length)throw RangeError("Index out of range");if(M<0)throw RangeError("Index out of range")}function yB(B,P,M,W,J){return P=+P,M=M>>>0,J||fB(B,P,M,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000),Q.write(B,P,M,W,23,4),M+4}X.prototype.writeFloatLE=function(B,P,M){return yB(this,B,P,!0,M)},X.prototype.writeFloatBE=function(B,P,M){return yB(this,B,P,!1,M)};function DB(B,P,M,W,J){return P=+P,M=M>>>0,J||fB(B,P,M,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),Q.write(B,P,M,W,52,8),M+8}X.prototype.writeDoubleLE=function(B,P,M){return DB(this,B,P,!0,M)},X.prototype.writeDoubleBE=function(B,P,M){return DB(this,B,P,!1,M)},X.prototype.copy=function(B,P,M,W){if(!X.isBuffer(B))throw TypeError("argument should be a Buffer");if(M||(M=0),!W&&W!==0&&(W=this.length),P>=B.length&&(P=B.length),P||(P=0),W>0&&W<M&&(W=M),W===M||B.length===0||this.length===0)return 0;if(P<0)throw RangeError("targetStart out of bounds");if(M<0||M>=this.length)throw RangeError("Index out of range");if(W<0)throw RangeError("sourceEnd out of bounds");W>this.length&&(W=this.length),B.length-P<W-M&&(W=B.length-P+M);let J=W-M;return this===B&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(P,M,W):Uint8Array.prototype.set.call(B,this.subarray(M,W),P),J},X.prototype.fill=function(B,P,M,W){if(typeof B=="string"){if(typeof P=="string"?(W=P,P=0,M=this.length):typeof M=="string"&&(W=M,M=this.length),W!==void 0&&typeof W!="string")throw TypeError("encoding must be a string");if(typeof W=="string"&&!X.isEncoding(W))throw TypeError("Unknown encoding: "+W);if(B.length===1){let z=B.charCodeAt(0);(W==="utf8"&&z<128||W==="latin1")&&(B=z)}}else typeof B=="number"?B=B&255:typeof B=="boolean"&&(B=Number(B));if(P<0||this.length<P||this.length<M)throw RangeError("Out of range index");if(M<=P)return this;P=P>>>0,M=M===void 0?this.length:M>>>0,B||(B=0);let J;if(typeof B=="number")for(J=P;J<M;++J)this[J]=B;else{let z=X.isBuffer(B)?B:X.from(B,W),H=z.length;if(H===0)throw TypeError('The value "'+B+'" is invalid for argument "value"');for(J=0;J<M-P;++J)this[J+P]=z[J%H]}return this};var g={};function WB(B,P,M){g[B]=class extends M{constructor(){super(),Object.defineProperty(this,"message",{value:P.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${B}]`,this.stack,delete this.name}get code(){return B}set code(W){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:W,writable:!0})}toString(){return`${this.name} [${B}]: ${this.message}`}}}WB("ERR_BUFFER_OUT_OF_BOUNDS",function(B){return B?`${B} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),WB("ERR_INVALID_ARG_TYPE",function(B,P){return`The "${B}" argument must be of type number. Received type ${typeof P}`},TypeError),WB("ERR_OUT_OF_RANGE",function(B,P,M){let W=`The value of "${B}" is out of range.`,J=M;return Number.isInteger(M)&&Math.abs(M)>4294967296?J=mB(String(M)):typeof M=="bigint"&&(J=String(M),(M>BigInt(2)**BigInt(32)||M<-(BigInt(2)**BigInt(32)))&&(J=mB(J)),J+="n"),W+=` It must be ${P}. Received ${J}`,W},RangeError);function mB(B){let P="",M=B.length,W=B[0]==="-"?1:0;for(;M>=W+4;M-=3)P=`_${B.slice(M-3,M)}${P}`;return`${B.slice(0,M)}${P}`}function v0(B,P,M){l(P,"offset"),(B[P]===void 0||B[P+M]===void 0)&&d(P,B.length-(M+1))}function cB(B,P,M,W,J,z){if(B>M||B<P){let H=typeof P=="bigint"?"n":"",U;throw z>3?P===0||P===BigInt(0)?U=`>= 0${H} and < 2${H} ** ${(z+1)*8}${H}`:U=`>= -(2${H} ** ${(z+1)*8-1}${H}) and < 2 ** ${(z+1)*8-1}${H}`:U=`>= ${P}${H} and <= ${M}${H}`,new g.ERR_OUT_OF_RANGE("value",U,B)}v0(W,J,z)}function l(B,P){if(typeof B!="number")throw new g.ERR_INVALID_ARG_TYPE(P,"number",B)}function d(B,P,M){throw Math.floor(B)!==B?(l(B,M),new g.ERR_OUT_OF_RANGE(M||"offset","an integer",B)):P<0?new g.ERR_BUFFER_OUT_OF_BOUNDS:new g.ERR_OUT_OF_RANGE(M||"offset",`>= ${M?1:0} and <= ${P}`,B)}var k0=/[^+/0-9A-Za-z-_]/g;function q0(B){if(B=B.split("=")[0],B=B.trim().replace(k0,""),B.length<2)return"";for(;B.length%4!==0;)B=B+"=";return B}function XB(B,P){P=P||1/0;let M,W=B.length,J=null,z=[];for(let H=0;H<W;++H){if(M=B.charCodeAt(H),M>55295&&M<57344){if(!J){if(M>56319){(P-=3)>-1&&z.push(239,191,189);continue}else if(H+1===W){(P-=3)>-1&&z.push(239,191,189);continue}J=M;continue}if(M<56320){(P-=3)>-1&&z.push(239,191,189),J=M;continue}M=(J-55296<<10|M-56320)+65536}else J&&(P-=3)>-1&&z.push(239,191,189);if(J=null,M<128){if((P-=1)<0)break;z.push(M)}else if(M<2048){if((P-=2)<0)break;z.push(M>>6|192,M&63|128)}else if(M<65536){if((P-=3)<0)break;z.push(M>>12|224,M>>6&63|128,M&63|128)}else if(M<1114112){if((P-=4)<0)break;z.push(M>>18|240,M>>12&63|128,M>>6&63|128,M&63|128)}else throw Error("Invalid code point")}return z}function I0(B){let P=[];for(let M=0;M<B.length;++M)P.push(B.charCodeAt(M)&255);return P}function T0(B,P){let M,W,J,z=[];for(let H=0;H<B.length&&!((P-=2)<0);++H)M=B.charCodeAt(H),W=M>>8,J=M%256,z.push(J),z.push(W);return z}function hB(B){return Z.toByteArray(q0(B))}function i(B,P,M,W){let J;for(J=0;J<W&&!(J+M>=P.length||J>=B.length);++J)P[J+M]=B[J];return J}function h(B,P){return B instanceof P||B!=null&&B.constructor!=null&&B.constructor.name!=null&&B.constructor.name===P.name}function JB(B){return B!==B}var _0=function(){let B="0123456789abcdef",P=Array(256);for(let M=0;M<16;++M){let W=M*16;for(let J=0;J<16;++J)P[W+J]=B[M]+B[J]}return P}();function p(B){return typeof BigInt>"u"?w0:B}function w0(){throw Error("BigInt not supported")}}),SB={},n0(SB,{Blob:()=>LB,Buffer:()=>OB.Buffer,File:()=>AB,atob:()=>CB,btoa:()=>jB,constants:()=>EB,createObjectURL:()=>UB,default:()=>HB.Buffer,isAscii:()=>SP,isUtf8:()=>HP,kMaxLength:()=>zP,kStringMaxLength:()=>o,resolveObjectURL:()=>QP,transcode:()=>ZP}),d0(SB,zB(e())),HB=zB(e()),OB=zB(e()),o=4294967295,{Blob:LB,File:AB,atob:CB,btoa:jB}=globalThis,{createObjectURL:UB}=URL,EB={__proto__:null,MAX_LENGTH:o,MAX_STRING_LENGTH:o,BYTES_PER_ELEMENT:1},OP=OB.Buffer,KP=HB.Buffer;/*!
|
|
3
|
-
* The buffer module from node.js, for the browser.
|
|
4
|
-
*
|
|
5
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
6
|
-
* @license MIT
|
|
7
|
-
*//*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */});function i0(G,Z){let Q=G.charCodeAt(Z);if(Number.isNaN(Q))throw RangeError(`Index ${Z} out of range for string "${G}"; please open an issue at https://github.com/Trott/slug/issues/new`);if(Q<55296||Q>57343)return[G.charAt(Z),Z];if(Q>=55296&&Q<=56319){if(G.length<=Z+1)return[" ",Z];let $=G.charCodeAt(Z+1);if($<56320||$>57343)return[" ",Z];return[G.charAt(Z)+G.charAt(Z+1),Z+1]}if(Z===0)return[" ",Z];let Y=G.charCodeAt(Z-1);if(Y<55296||Y>56319)return[" ",Z];throw Error(`String "${G}" reaches code believed to be unreachable; please open an issue at https://github.com/Trott/slug/issues/new`)}var t;if(typeof window<"u")if(window.btoa)t=function(G){return btoa(unescape(encodeURIComponent(G)))};else t=function(G){let Z=unescape(encodeURIComponent(`${G}`)),Q="",Y=0,$,O=0,K="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";while(!0){let X=K;if(!Z.charAt(O|0)){if(X="=",!(O%1))break}if(Q+=X.charAt(63&Y>>8-O%1*8),X==="="&&!(O%1))break;if($=Z.charCodeAt(O+=0.75),$>255)throw Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");Y=Y<<8|$}return Q};else t=function(G){return(o0(),l0(GP)).Buffer.from(G).toString("base64")};var N=a0;function a0(G,Z){if(Z&&typeof Z==="object"&&Z.debug===!0){let O=G.split(" ").map((K)=>{return Array.from(K).map((X)=>X.codePointAt(0))});return`STRING: ${G}
|
|
8
|
-
CODEPOINTS: ${JSON.stringify(O)}`}let Q=b(G,Z);if((Z&&typeof Z==="object"&&Z.fallback!==void 0?Z.fallback:N.defaults.fallback)===!0&&Q===""){let $="";for(let K=0;K<G.length;K++){let X=i0(G,K);K=X[1],$+=X[0]}let O=t($);if(typeof O==="string")Q=b(O,Z)}return Q}var VP={bg:{\u{419}:"Y",\u{439}:"y",X:"H",x:"h",\u{426}:"Ts",\u{446}:"ts",\u{429}:"Sht",\u{449}:"sht",\u{42a}:"A",\u{44a}:"a",\u{42c}:"Y",\u{44c}:"y"},de:{\u{c4}:"AE",\u{e4}:"ae",\u{d6}:"OE",\u{f6}:"oe",\u{dc}:"UE",\u{fc}:"ue"},sr:{\u{111}:"dj",\u{110}:"DJ"},uk:{\u{418}:"Y",\u{438}:"y",\u{419}:"Y",\u{439}:"y",\u{426}:"Ts",\u{446}:"ts",\u{425}:"Kh",\u{445}:"kh",\u{429}:"Shch",\u{449}:"shch",\u{413}:"H",\u{433}:"h"}},r={};function b(G,Z){if(typeof G!=="string")throw TypeError(`slug() requires a string argument, received ${typeof G}`);let Q;if(typeof Z==="string")Q={replacement:Z};else Q=Z?Object.assign({},Z):{};Q.mode=Q.mode||N.defaults.mode;let Y=N.defaults.modes[Q.mode],$=["replacement","multicharmap","charmap","remove","lower","trim"];for(let L,j=0,x=$.length;j<x;j++)L=$[j],Q[L]=L in Q?Q[L]:Y[L];let O=Q.locale?VP[Q.locale]||r:r,K=[];if(Q.multicharmap)for(let L in Q.multicharmap){if(!Object.prototype.hasOwnProperty.call(Q.multicharmap,L))continue;let j=L.length;if(!K.includes(j))K.push(j)}K=K.sort((L,j)=>j-L);let X=Q.mode==="rfc3986"?/[^\w\s\-.~]/:/[^A-Z0-9\s]/i,A="";for(let L,j=0,x=G.length;j<x;j++){L=G[j];let v=!1;for(let w=0;w<K.length;w++){let V=K[w],C=G.substr(j,V);if(Q.multicharmap&&Q.multicharmap[C]){j+=V-1,L=Q.multicharmap[C],v=!0;break}}if(!v)if(O[L])L=O[L];else if(Q.charmap&&Q.charmap[L])L=Q.charmap[L].replace(Q.replacement," ");else if(Q.replacement&&L.includes(Q.replacement))L=L.replace(Q.replacement," ");else L=L.replace(X,"");A+=L}if(Q.remove)A=A.replace(Q.remove,"");if(Q.trim)A=A.trim();if(A=A.replace(/\s+/g,Q.replacement),Q.lower)A=A.toLowerCase();return A}var LP={\u{92b}\u{93c}:"Fi",\u{917}\u{93c}:"Ghi",\u{916}\u{93c}:"Khi",\u{915}\u{93c}:"Qi",\u{921}\u{93c}:"ugDha",\u{922}\u{93c}:"ugDhha",\u{92f}\u{93c}:"Yi",\u{91c}\u{93c}:"Za",\u{5d1}\u{5b4}\u{5d9}:"i",\u{5d1}\u{5b5}:"e",\u{5d1}\u{5b5}\u{5d9}:"e",\u{5d1}\u{5b6}:"e",\u{5d1}\u{5b7}:"a",\u{5d1}\u{5b8}:"a",\u{5d1}\u{5b9}:"o",\u{5d5}\u{5b9}:"o",\u{5d1}\u{5bb}:"u",\u{5d5}\u{5bc}:"u",\u{5d1}\u{5bc}:"b",\u{5db}\u{5bc}:"k",\u{5da}\u{5bc}:"k",\u{5e4}\u{5bc}:"p",\u{5e9}\u{5c1}:"sh",\u{5e9}\u{5c2}:"s",\u{5d1}\u{5b0}:"e",\u{5d7}\u{5b1}:"e",\u{5d7}\u{5b2}:"a",\u{5d7}\u{5b3}:"o",\u{5d1}\u{5b4}:"i"},AP={\u{c0}:"A",\u{c1}:"A",\u{c2}:"A",\u{c3}:"A",\u{c4}:"A",\u{c5}:"A",\u{c6}:"AE",\u{c7}:"C",\u{c8}:"E",\u{c9}:"E",\u{ca}:"E",\u{cb}:"E",\u{cc}:"I",\u{cd}:"I",\u{ce}:"I",\u{cf}:"I",\u{d0}:"D",\u{d1}:"N",\u{d2}:"O",\u{d3}:"O",\u{d4}:"O",\u{d5}:"O",\u{d6}:"O",\u{150}:"O",\u{d8}:"O",\u{14c}:"O",\u{d9}:"U",\u{da}:"U",\u{db}:"U",\u{dc}:"U",\u{170}:"U",\u{dd}:"Y",\u{de}:"TH",\u{df}:"ss",\u{e0}:"a",\u{e1}:"a",\u{e2}:"a",\u{e3}:"a",\u{e4}:"a",\u{e5}:"a",\u{e6}:"ae",\u{e7}:"c",\u{e8}:"e",\u{e9}:"e",\u{ea}:"e",\u{eb}:"e",\u{ec}:"i",\u{ed}:"i",\u{ee}:"i",\u{ef}:"i",\u{f0}:"d",\u{f1}:"n",\u{f2}:"o",\u{f3}:"o",\u{f4}:"o",\u{f5}:"o",\u{f6}:"o",\u{151}:"o",\u{f8}:"o",\u{14d}:"o",\u{152}:"OE",\u{153}:"oe",\u{f9}:"u",\u{fa}:"u",\u{fb}:"u",\u{fc}:"u",\u{171}:"u",\u{fd}:"y",\u{fe}:"th",\u{ff}:"y",\u{1e9e}:"SS",\u{3b1}:"a",\u{3b2}:"b",\u{3b3}:"g",\u{3b4}:"d",\u{3b5}:"e",\u{3b6}:"z",\u{3b7}:"h",\u{3b8}:"th",\u{3b9}:"i",\u{3ba}:"k",\u{3bb}:"l",\u{3bc}:"m",\u{3bd}:"n",\u{3be}:"3",\u{3bf}:"o",\u{3c0}:"p",\u{3c1}:"r",\u{3c3}:"s",\u{3c4}:"t",\u{3c5}:"y",\u{3c6}:"f",\u{3c7}:"x",\u{3c8}:"ps",\u{3c9}:"w",\u{3ac}:"a",\u{3ad}:"e",\u{3af}:"i",\u{3cc}:"o",\u{3cd}:"y",\u{3ae}:"h",\u{3ce}:"w",\u{3c2}:"s",\u{3ca}:"i",\u{3b0}:"y",\u{3cb}:"y",\u{390}:"i",\u{391}:"A",\u{392}:"B",\u{393}:"G",\u{394}:"D",\u{395}:"E",\u{396}:"Z",\u{397}:"H",\u{398}:"Th",\u{399}:"I",\u{39a}:"K",\u{39b}:"L",\u{39c}:"M",\u{39d}:"N",\u{39e}:"3",\u{39f}:"O",\u{3a0}:"P",\u{3a1}:"R",\u{3a3}:"S",\u{3a4}:"T",\u{3a5}:"Y",\u{3a6}:"F",\u{3a7}:"X",\u{3a8}:"PS",\u{3a9}:"W",\u{386}:"A",\u{388}:"E",\u{38a}:"I",\u{38c}:"O",\u{38e}:"Y",\u{389}:"H",\u{38f}:"W",\u{3aa}:"I",\u{3ab}:"Y",\u{15f}:"s",\u{15e}:"S",\u{131}:"i",\u{130}:"I",\u{11f}:"g",\u{11e}:"G",\u{430}:"a",\u{431}:"b",\u{432}:"v",\u{433}:"g",\u{434}:"d",\u{435}:"e",\u{451}:"yo",\u{436}:"zh",\u{437}:"z",\u{438}:"i",\u{439}:"j",\u{43a}:"k",\u{43b}:"l",\u{43c}:"m",\u{43d}:"n",\u{43e}:"o",\u{43f}:"p",\u{440}:"r",\u{441}:"s",\u{442}:"t",\u{443}:"u",\u{444}:"f",\u{445}:"h",\u{446}:"c",\u{447}:"ch",\u{448}:"sh",\u{449}:"sh",\u{44a}:"u",\u{44b}:"y",\u{44c}:"",\u{44d}:"e",\u{44e}:"yu",\u{44f}:"ya",\u{410}:"A",\u{411}:"B",\u{412}:"V",\u{413}:"G",\u{414}:"D",\u{415}:"E",\u{401}:"Yo",\u{416}:"Zh",\u{417}:"Z",\u{418}:"I",\u{419}:"J",\u{41a}:"K",\u{41b}:"L",\u{41c}:"M",\u{41d}:"N",\u{41e}:"O",\u{41f}:"P",\u{420}:"R",\u{421}:"S",\u{422}:"T",\u{423}:"U",\u{424}:"F",\u{425}:"H",\u{426}:"C",\u{427}:"Ch",\u{428}:"Sh",\u{429}:"Sh",\u{42a}:"U",\u{42b}:"Y",\u{42c}:"",\u{42d}:"E",\u{42e}:"Yu",\u{42f}:"Ya",\u{404}:"Ye",\u{406}:"I",\u{407}:"Yi",\u{490}:"G",\u{454}:"ye",\u{456}:"i",\u{457}:"yi",\u{491}:"g",\u{10d}:"c",\u{10f}:"d",\u{11b}:"e",\u{148}:"n",\u{159}:"r",\u{161}:"s",\u{165}:"t",\u{16f}:"u",\u{17e}:"z",\u{10c}:"C",\u{10e}:"D",\u{11a}:"E",\u{147}:"N",\u{158}:"R",\u{160}:"S",\u{164}:"T",\u{16e}:"U",\u{17d}:"Z",\u{13e}:"l",\u{13a}:"l",\u{155}:"r",\u{13d}:"L",\u{139}:"L",\u{154}:"R",\u{105}:"a",\u{107}:"c",\u{119}:"e",\u{142}:"l",\u{144}:"n",\u{15b}:"s",\u{17a}:"z",\u{17c}:"z",\u{104}:"A",\u{106}:"C",\u{118}:"E",\u{141}:"L",\u{143}:"N",\u{15a}:"S",\u{179}:"Z",\u{17b}:"Z",\u{101}:"a",\u{113}:"e",\u{123}:"g",\u{12b}:"i",\u{137}:"k",\u{13c}:"l",\u{146}:"n",\u{16b}:"u",\u{100}:"A",\u{112}:"E",\u{122}:"G",\u{12a}:"I",\u{136}:"K",\u{13b}:"L",\u{145}:"N",\u{16a}:"U",\u{623}:"a",\u{625}:"i",\u{628}:"b",\u{62a}:"t",\u{62b}:"th",\u{62c}:"g",\u{62d}:"h",\u{62e}:"kh",\u{62f}:"d",\u{630}:"th",\u{631}:"r",\u{632}:"z",\u{633}:"s",\u{634}:"sh",\u{635}:"s",\u{636}:"d",\u{637}:"t",\u{638}:"th",\u{639}:"aa",\u{63a}:"gh",\u{641}:"f",\u{642}:"k",\u{643}:"k",\u{644}:"l",\u{645}:"m",\u{646}:"n",\u{647}:"h",\u{648}:"o",\u{64a}:"y",\u{621}:"aa",\u{629}:"a",\u{622}:"a",\u{627}:"a",\u{67e}:"p",\u{698}:"zh",\u{6af}:"g",\u{686}:"ch",\u{6a9}:"k",\u{6cc}:"i",\u{117}:"e",\u{12f}:"i",\u{173}:"u",\u{116}:"E",\u{12e}:"I",\u{172}:"U",\u{21b}:"t",\u{21a}:"T",\u{163}:"t",\u{162}:"T",\u{219}:"s",\u{218}:"S",\u{103}:"a",\u{102}:"A",\u{1ea0}:"A",\u{1ea2}:"A",\u{1ea6}:"A",\u{1ea4}:"A",\u{1eac}:"A",\u{1ea8}:"A",\u{1eaa}:"A",\u{1eb0}:"A",\u{1eae}:"A",\u{1eb6}:"A",\u{1eb2}:"A",\u{1eb4}:"A",\u{1eb8}:"E",\u{1eba}:"E",\u{1ebc}:"E",\u{1ec0}:"E",\u{1ebe}:"E",\u{1ec6}:"E",\u{1ec2}:"E",\u{1ec4}:"E",\u{1eca}:"I",\u{1ec8}:"I",\u{128}:"I",\u{1ecc}:"O",\u{1ece}:"O",\u{1ed2}:"O",\u{1ed0}:"O",\u{1ed8}:"O",\u{1ed4}:"O",\u{1ed6}:"O",\u{1a0}:"O",\u{1edc}:"O",\u{1eda}:"O",\u{1ee2}:"O",\u{1ede}:"O",\u{1ee0}:"O",\u{1ee4}:"U",\u{1ee6}:"U",\u{168}:"U",\u{1af}:"U",\u{1eea}:"U",\u{1ee8}:"U",\u{1ef0}:"U",\u{1eec}:"U",\u{1eee}:"U",\u{1ef2}:"Y",\u{1ef4}:"Y",\u{1ef6}:"Y",\u{1ef8}:"Y",\u{110}:"D",\u{1ea1}:"a",\u{1ea3}:"a",\u{1ea7}:"a",\u{1ea5}:"a",\u{1ead}:"a",\u{1ea9}:"a",\u{1eab}:"a",\u{1eb1}:"a",\u{1eaf}:"a",\u{1eb7}:"a",\u{1eb3}:"a",\u{1eb5}:"a",\u{1eb9}:"e",\u{1ebb}:"e",\u{1ebd}:"e",\u{1ec1}:"e",\u{1ebf}:"e",\u{1ec7}:"e",\u{1ec3}:"e",\u{1ec5}:"e",\u{1ecb}:"i",\u{1ec9}:"i",\u{129}:"i",\u{1ecd}:"o",\u{1ecf}:"o",\u{1ed3}:"o",\u{1ed1}:"o",\u{1ed9}:"o",\u{1ed5}:"o",\u{1ed7}:"o",\u{1a1}:"o",\u{1edd}:"o",\u{1edb}:"o",\u{1ee3}:"o",\u{1edf}:"o",\u{1ee1}:"o",\u{1ee5}:"u",\u{1ee7}:"u",\u{169}:"u",\u{1b0}:"u",\u{1eeb}:"u",\u{1ee9}:"u",\u{1ef1}:"u",\u{1eed}:"u",\u{1eef}:"u",\u{1ef3}:"y",\u{1ef5}:"y",\u{1ef7}:"y",\u{1ef9}:"y",\u{111}:"d",\u{4d8}:"AE",\u{4d9}:"ae",\u{492}:"GH",\u{493}:"gh",\u{49a}:"KH",\u{49b}:"kh",\u{4a2}:"NG",\u{4a3}:"ng",\u{4ae}:"UE",\u{4af}:"ue",\u{4b0}:"U",\u{4b1}:"u",\u{4ba}:"H",\u{4bb}:"h",\u{4e8}:"OE",\u{4e9}:"oe",\u{452}:"dj",\u{458}:"j",\u{459}:"lj",\u{45a}:"nj",\u{45b}:"c",\u{45f}:"dz",\u{402}:"Dj",\u{408}:"j",\u{409}:"Lj",\u{40a}:"Nj",\u{40b}:"C",\u{40f}:"Dz",\u{1cc}:"nj",\u{1c9}:"lj",\u{1cb}:"NJ",\u{1c8}:"LJ",\u{905}:"a",\u{906}:"aa",\u{90f}:"e",\u{908}:"ii",\u{90d}:"ei",\u{90e}:"ae",\u{910}:"ai",\u{907}:"i",\u{913}:"o",\u{911}:"oi",\u{912}:"oii",\u{90a}:"uu",\u{914}:"ou",\u{909}:"u",\u{92c}:"B",\u{92d}:"Bha",\u{91a}:"Ca",\u{91b}:"Chha",\u{921}:"Da",\u{922}:"Dha",\u{92b}:"Fa",\u{917}:"Ga",\u{918}:"Gha",\u{917}\u{93c}:"Ghi",\u{939}:"Ha",\u{91c}:"Ja",\u{91d}:"Jha",\u{915}:"Ka",\u{916}:"Kha",\u{916}\u{93c}:"Khi",\u{932}:"L",\u{933}:"Li",\u{90c}:"Li",\u{934}:"Lii",\u{961}:"Lii",\u{92e}:"Ma",\u{928}:"Na",\u{919}:"Na",\u{91e}:"Nia",\u{923}:"Nae",\u{929}:"Ni",\u{950}:"oms",\u{92a}:"Pa",\u{915}\u{93c}:"Qi",\u{930}:"Ra",\u{90b}:"Ri",\u{960}:"Ri",\u{931}:"Ri",\u{938}:"Sa",\u{936}:"Sha",\u{937}:"Shha",\u{91f}:"Ta",\u{924}:"Ta",\u{920}:"Tha",\u{926}:"Tha",\u{925}:"Tha",\u{927}:"Thha",\u{921}\u{93c}:"ugDha",\u{922}\u{93c}:"ugDhha",\u{935}:"Va",\u{92f}:"Ya",\u{92f}\u{93c}:"Yi",\u{91c}\u{93c}:"Za",\u{259}:"e",\u{18f}:"E",\u{10d0}:"a",\u{10d1}:"b",\u{10d2}:"g",\u{10d3}:"d",\u{10d4}:"e",\u{10d5}:"v",\u{10d6}:"z",\u{10d7}:"t",\u{10d8}:"i",\u{10d9}:"k",\u{10da}:"l",\u{10db}:"m",\u{10dc}:"n",\u{10dd}:"o",\u{10de}:"p",\u{10df}:"zh",\u{10e0}:"r",\u{10e1}:"s",\u{10e2}:"t",\u{10e3}:"u",\u{10e4}:"p",\u{10e5}:"k",\u{10e6}:"gh",\u{10e7}:"q",\u{10e8}:"sh",\u{10e9}:"ch",\u{10ea}:"ts",\u{10eb}:"dz",\u{10ec}:"ts",\u{10ed}:"ch",\u{10ee}:"kh",\u{10ef}:"j",\u{10f0}:"h",\u{5d1}:"v",\u{5d2}\u{5bc}:"g",\u{5d2}:"g",\u{5d3}:"d",\u{5d3}\u{5bc}:"d",\u{5d4}:"h",\u{5d5}:"v",\u{5d6}:"z",\u{5d7}:"h",\u{5d8}:"t",\u{5d9}:"y",\u{5db}:"kh",\u{5da}:"kh",\u{5dc}:"l",\u{5de}:"m",\u{5dd}:"m",\u{5e0}:"n",\u{5df}:"n",\u{5e1}:"s",\u{5e4}:"f",\u{5e3}:"f",\u{5e5}:"ts",\u{5e6}:"ts",\u{5e7}:"k",\u{5e8}:"r",\u{5ea}\u{5bc}:"t",\u{5ea}:"t"};N.charmap=Object.assign({},AP);N.multicharmap=Object.assign({},LP);N.defaults={charmap:N.charmap,mode:"pretty",modes:{rfc3986:{replacement:"-",remove:null,lower:!0,charmap:N.charmap,multicharmap:N.multicharmap,trim:!0},pretty:{replacement:"-",remove:null,lower:!0,charmap:N.charmap,multicharmap:N.multicharmap,trim:!0}},multicharmap:N.multicharmap,fallback:!0};N.reset=function(){N.defaults.modes.rfc3986.charmap=N.defaults.modes.pretty.charmap=N.charmap=N.defaults.charmap=Object.assign({},AP),N.defaults.modes.rfc3986.multicharmap=N.defaults.modes.pretty.multicharmap=N.multicharmap=N.defaults.multicharmap=Object.assign({},LP),r={}};N.extend=function(G){let Z=Object.keys(G),Q={},Y={};for(let $=0;$<Z.length;$++)if(Z[$].length>1)Q[Z[$]]=G[Z[$]];else Y[Z[$]]=G[Z[$]];Object.assign(N.charmap,Y),Object.assign(N.multicharmap,Q)};N.setLocale=function(G){r=VP[G]||{}};async function PB(G){return await(await S()).selectFrom("categorizables").where("id","=",G).where("is_active","=",!0).selectAll().executeTakeFirst()}async function CP(){return await(await S()).selectFrom("categorizables").selectAll().execute()}async function jP(G){return await(await S()).selectFrom("categorizables").where("name","=",G).where("is_active","=",!0).selectAll().execute()}async function UP(G){return await(await S()).selectFrom("categorizables").where("slug","=",G).where("is_active","=",!0).selectAll().executeTakeFirst()}async function EP(G){return await(await S()).selectFrom("categorizables").where("id","=",G).where("is_active","=",!0).selectAll().executeTakeFirst()}async function xP(G){let Z=await S();try{if(!await PB(G))throw Error(`Category with ID ${G} not found`);return(await Z.deleteFrom("categorizables").where("id","=",G).executeTakeFirst()).numDeletedRows>0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete category: ${Q.message}`);throw Q}}async function FP(G){let Z=await S();if(!G.length)return 0;try{let Q=await Z.deleteFrom("categorizables").where("id","in",G).executeTakeFirst();return Number(Q.numDeletedRows)||0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete categories in bulk: ${Q.message}`);throw Q}}async function NP(G){let Z=await S();try{if(!G.name||G.name.trim()==="")throw Error("Category name is required");if(!G.categorizable_type||G.categorizable_type.trim()==="")throw Error("Category categorizable_type is required");let Q={name:G.name,slug:b(G.name),description:G.description,categorizable_type:G.categorizable_type,is_active:G.is_active??!0},Y=await Z.insertInto("categorizables").values(Q).returningAll().executeTakeFirst();if(!Y)throw Error("Failed to create category");return Y}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to create category: ${Q.message}`);throw Q}}async function RP(G){let Z=await S();try{let Q={category_id:G.category_id,categorizable_type:G.categorizable_type},Y=await Z.insertInto("categorizable_models").values(Q).returningAll().executeTakeFirst();if(!Y)throw Error("Failed to create categorizable model relationship");return Y}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to create categorizable model relationship: ${Q.message}`);throw Q}}async function vP(G){let Z=await S();try{return await Z.transaction(async(Y)=>{let $=[];for(let O of G){let K={name:O.name,slug:b(O.name),description:O.description,categorizable_type:O.categorizable_type,is_active:O.is_active??!0},X=await Y.insertInto("categorizables").values(K).returningAll().executeTakeFirst();if(!X)throw Error(`Failed to create category: ${O.name}`);$.push(X)}return $})}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to create categories: ${Q.message}`);throw Q}}async function kP(G){let Z=await S();try{let Q=G.id;if(!Q)throw Error("Category ID is required for update");if(G.name!==void 0){if(G.name.trim()==="")throw Error("Category name cannot be empty");G.slug=b(G.name)}let{id:Y,...$}=G,O=await Z.updateTable("categorizables").set($).where("id","=",Q).returningAll().executeTakeFirst();if(!O)throw Error("Failed to update category");return O}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to update category: ${Q.message}`);throw Q}}var NB={};u(NB,{update:()=>bP,store:()=>hP,fetchStatusDistributionDonut:()=>yP,fetchPostsWithMostComments:()=>FB,fetchMonthlyCommentCounts:()=>DP,fetchCommentsByStatus:()=>_P,fetchCommentsByCommentables:()=>IP,fetchComments:()=>qP,fetchCommentCountByPeriod:()=>TP,fetchCommentCountBarGraph:()=>fP,fetchCommentById:()=>MB,destroy:()=>mP,calculateApprovalRate:()=>wP,bulkDestroy:()=>cP});import{formatDate as n}from"@stacksjs/orm";async function qP(G={}){let Q=(await S()).selectFrom("commentables");if(G.status)Q=Q.where("status","=",G.status);if(G.commentables_id)Q=Q.where("commentables_id","=",G.commentables_id);if(G.commentables_type)Q=Q.where("commentables_type","=",G.commentables_type);if(G.limit)Q=Q.limit(G.limit);if(G.offset)Q=Q.offset(G.offset);return Q.selectAll().execute()}async function MB(G){return(await S()).selectFrom("commentables").where("id","=",G).selectAll().executeTakeFirst()}async function IP(G,Z,Q={}){let $=(await S()).selectFrom("commentables").where("commentables_id","=",G).where("commentables_type","=",Z);if(Q.status)$=$.where("status","=",Q.status);if(Q.limit)$=$.limit(Q.limit);if(Q.offset)$=$.offset(Q.offset);return $.selectAll().execute()}async function TP(G){let Z=await S();try{let Q=await Z.selectFrom("commentables").where("created_at",">=",new Date(Date.now()-G*24*60*60*1000).toISOString()).count();return Number(Q)||0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to fetch comment count: ${Q.message}`);throw Q}}async function _P(G,Z={}){let Q=await S();try{let Y=Q.selectFrom("commentables").where("status","=",G);if(Z.limit)Y=Y.limit(Z.limit);if(Z.offset)Y=Y.offset(Z.offset);return Y.selectAll().execute()}catch(Y){if(Y instanceof Error)throw TypeError(`Failed to fetch comments by status: ${Y.message}`);throw Y}}async function wP(){let G=await S();try{let[Z,Q]=await Promise.all([G.selectFrom("commentables").where("status","=","approved").count(),G.selectFrom("commentables").count()]),Y=Number(Z||0),$=Number(Q||0),O=$>0?Y/$*100:0;return{approved:Y,total:$,rate:O}}catch(Z){if(Z instanceof Error)throw TypeError(`Failed to calculate approval rate: ${Z.message}`);throw Z}}async function FB(G,Z={}){let Q=await S();try{let Y=Q.selectFrom("posts").leftJoin("commentables","posts.id","=","commentables.commentables_id").where("commentables.created_at",">=",n(G.startDate)).where("commentables.created_at","<=",n(G.endDate)).select(["posts.id","posts.title"]).groupBy("posts.id","posts.title").orderBy("posts.id","desc");if(Z.limit)Y=Y.limit(Z.limit);return(await Y.execute()).map((O)=>({id:Number(O.id),title:String(O.title),comment_count:Number(O.comment_count||0)}))}catch(Y){if(Y instanceof Error)throw TypeError(`Failed to fetch posts with most comments: ${Y.message}`);throw Y}}async function fP(G,Z={}){try{let Q=await FB(G,Z);return{labels:Q.map((Y)=>Y.title),values:Q.map((Y)=>Y.comment_count)}}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to fetch bar graph data: ${Q.message}`);throw Q}}async function yP(G){let Z=await S();try{let Y=await Z.selectFrom("commentables").where("created_at",">=",n(G.startDate)).where("created_at","<=",n(G.endDate)).select(["status"]).groupBy("status").execute(),$=Y.reduce((A,L)=>A+Number(L.count||0),0),O=Y.map((A)=>String(A.status)),K=Y.map((A)=>Number(A.count||0)),X=K.map((A)=>$>0?A/$*100:0);return{labels:O,values:K,percentages:X}}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to fetch status distribution: ${Q.message}`);throw Q}}async function DP(G){let Z=await S();try{let Q=await Z.selectFrom("commentables").where("created_at",">=",n(G.startDate)).where("created_at","<=",n(G.endDate)).select(["created_at"]).groupBy("created_at").orderBy("created_at","asc").execute(),Y=new Map;Q.forEach((K)=>{if(!K.created_at)return;let X=new Date(K.created_at),A=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}`;Y.set(A,(Y.get(A)||0)+Number(K.count||0))});let $=[],O=[];return Y.forEach((K,X)=>{let[A,L]=X.split("-");$.push(new Date(Number(A),Number(L)-1).toLocaleString("default",{month:"short",year:"numeric"})),O.push(K)}),{labels:$,values:O}}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to fetch monthly comment counts: ${Q.message}`);throw Q}}async function mP(G){let Z=await S();try{if(!await MB(G))throw Error(`Comment with ID ${G} not found`);return(await Z.deleteFrom("commentables").where("id","=",G).executeTakeFirst()).numDeletedRows>0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete comment: ${Q.message}`);throw Q}}async function cP(G){let Z=await S();if(!G.length)return 0;try{let Q=await Z.deleteFrom("commentables").where("id","in",G).executeTakeFirst();return Number(Q.numDeletedRows)||0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete comments in bulk: ${Q.message}`);throw Q}}async function hP(G){let Z=await S();try{if(!G.title||G.title.trim()==="")throw Error("Comment title is required");if(!G.body||G.body.trim()==="")throw Error("Comment body is required");if(!G.commentables_type||G.commentables_type.trim()==="")throw Error("Comment commentables_type is required");let Q=["pending","approved","rejected"];if(G.status&&!Q.includes(G.status))throw Error(`Invalid comment status: ${G.status}`);let Y={title:G.title,body:G.body,status:G.status,commentables_id:G.commentables_id,commentables_type:G.commentables_type,user_id:G.user_id,is_active:G.is_active},$=await Z.insertInto("commentables").values(Y).returningAll().executeTakeFirst();if(!$)throw Error("Failed to create comment");return $}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to store comment: ${Q.message}`);throw Q}}import{formatDate as e0}from"@stacksjs/orm";async function bP(G,Z){let Q=await S();try{if(Z.title!==void 0&&Z.title.trim()==="")throw Error("Comment title cannot be empty");if(Z.body!==void 0&&Z.body.trim()==="")throw Error("Comment body cannot be empty");let Y=["pending","approved","rejected"];if(Z.status!==void 0&&!Y.includes(Z.status))throw Error(`Invalid comment status: ${Z.status}`);let $={updated_at:e0(new Date)};if(Z.title!==void 0)$.title=Z.title;if(Z.body!==void 0)$.body=Z.body;if(Z.status!==void 0)$.status=Z.status;if(Z.commentables_id!==void 0)$.commentables_id=Z.commentables_id;if(Z.commentables_type!==void 0)$.commentables_type=Z.commentables_type;if(Z.approved_at!==void 0)$.approved_at=Z.approved_at;if(Z.rejected_at!==void 0)$.rejected_at=Z.rejected_at;return await Q.updateTable("commentables").set($).where("id","=",G).execute(),await Q.selectFrom("commentables").where("id","=",G).selectAll().executeTakeFirst()}catch(Y){if(Y instanceof Error)throw TypeError(`Failed to update comment: ${Y.message}`);throw Y}}var RB={};u(RB,{update:()=>aP,store:()=>iP,fetchPublishedAfter:()=>sP,fetchByMinViews:()=>lP,fetchByMinConversions:()=>uP,fetchById:()=>GB,fetchByAuthor:()=>gP,fetchAll:()=>pP,destroy:()=>nP,bulkDestroy:()=>dP});async function GB(G){return await(await S()).selectFrom("pages").where("id","=",G).selectAll().executeTakeFirst()}async function pP(){return await(await S()).selectFrom("pages").selectAll().execute()}async function gP(G){return await(await S()).selectFrom("pages").where("author_id","=",G).selectAll().execute()}async function lP(G){return await(await S()).selectFrom("pages").where("views",">=",G).selectAll().execute()}async function uP(G){return await(await S()).selectFrom("pages").where("conversions",">=",G).selectAll().execute()}async function sP(G){return await(await S()).selectFrom("pages").where("published_at",">",G).selectAll().execute()}async function nP(G){let Z=await S();try{if(!await GB(G))throw Error(`Page with ID ${G} not found`);return(await Z.deleteFrom("pages").where("id","=",G).executeTakeFirst()).numDeletedRows>0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete page: ${Q.message}`);throw Q}}async function dP(G){let Z=await S();if(!G.length)return 0;try{let Q=await Z.deleteFrom("pages").where("id","in",G).executeTakeFirst();return Number(Q.numDeletedRows)||0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete pages in bulk: ${Q.message}`);throw Q}}import{formatDate as oP}from"@stacksjs/orm";async function iP(G){let Z=await S();try{let Q={author_id:G.author_id,title:G.title,template:G.template,views:G.views||0,conversions:G.conversions||0,created_at:oP(new Date),updated_at:oP(new Date)},Y=await Z.insertInto("pages").values(Q).returningAll().executeTakeFirst();if(!Y)throw Error("Failed to create page");return Y}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to create page: ${Q.message}`);throw Q}}import{formatDate as t0}from"@stacksjs/orm";async function aP(G,Z){let Q=await S();try{let Y={...Z,updated_at:t0(new Date)},$=await Q.updateTable("pages").set(Y).where("id","=",G).returningAll().executeTakeFirst();if(!$)throw Error("Failed to update page");return $}catch(Y){if(Y instanceof Error)throw TypeError(`Failed to update page: ${Y.message}`);throw Y}}var vB={};u(vB,{update:()=>Y0,sync:()=>J0,store:()=>Z0,fetchPublishedAfter:()=>M0,fetchByStatus:()=>tP,fetchByMinViews:()=>P0,fetchById:()=>QB,fetchByCategory:()=>rP,fetchByAuthor:()=>B0,fetchAll:()=>eP,detach:()=>X0,destroy:()=>G0,bulkDestroy:()=>Q0,attach:()=>W0});async function QB(G){return await(await S()).selectFrom("posts").where("id","=",G).selectAll().executeTakeFirst()}async function eP(){return await(await S()).selectFrom("posts").selectAll().execute()}async function tP(G){return await(await S()).selectFrom("posts").where("status","=",G).selectAll().execute()}async function rP(G){return await(await S()).selectFrom("posts").where("category","=",G).selectAll().execute()}async function B0(G){return await(await S()).selectFrom("posts").where("author","=",G).selectAll().execute()}async function P0(G){return await(await S()).selectFrom("posts").where("views",">=",G).selectAll().execute()}async function M0(G){return await(await S()).selectFrom("posts").where("published_at",">",G).selectAll().execute()}async function G0(G){let Z=await S();try{if(!await QB(G))throw Error(`Post with ID ${G} not found`);await Z.deleteFrom("categorizable_models").where("categorizable_id","=",G).where("categorizable_type","=","posts").execute();let Y=await Z.deleteFrom("posts").where("id","=",G).executeTakeFirst();return Y?.numDeletedRows?Y.numDeletedRows>0:!1}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete post: ${Q.message}`);throw Q}}async function Q0(G){let Z=await S();if(!G.length)return 0;try{let Y=(await Z.selectFrom("posts").select(["id"]).where("id","in",G).execute()).map((O)=>O.id);if(!Y.length)return 0;await Z.deleteFrom("categorizable_models").where("categorizable_id","in",Y).where("categorizable_type","=","posts").execute();let $=await Z.deleteFrom("posts").where("id","in",Y).executeTakeFirst();return Number($?.numDeletedRows)||0}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete posts in bulk: ${Q.message}`);throw Q}}var{randomUUIDv7:r0}=globalThis.Bun;import{formatDate as ZB}from"@stacksjs/orm";var B2="Draft";async function Z0(G){let Z=await S();try{if(!G.title||typeof G.title==="string"&&G.title.trim()==="")throw Error("Post title is required");let Q=G.content||G.body,Y=G,$={author_id:Y.author_id,uuid:r0(),title:G.title,poster:G.poster,content:Q,body:G.body,category:G.category,excerpt:G.excerpt,is_featured:Y.is_featured?Date.now():void 0,views:G.views||0,published_at:Y.published_at||Date.now(),status:G.status||B2},O=await Z.insertInto("posts").values($).returningAll().executeTakeFirst();if(!O)throw Error("Failed to create post");return O}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to create post: ${Q.message}`);throw Q}}async function W0(G,Z,Q){let Y=await S();try{let $=Z==="categorizable_models"?"categorizable_id":"taggable_id",O=Z==="categorizable_models"?"categorizable_type":"taggable_type",K=Z==="categorizable_models"?"category_id":"tag_id",X=Q.map((A)=>({[K]:A,[$]:G,[O]:"posts",created_at:ZB(new Date),updated_at:ZB(new Date)}));for(let A of X)await Y.insertInto(Z).values(A).execute()}catch($){if($ instanceof Error)throw TypeError(`Failed to attach records: ${$.message}`);throw $}}async function X0(G,Z,Q){let Y=await S();try{let $=Z==="categorizable_models"?"categorizable_id":"taggable_id",O=Z==="categorizable_models"?"categorizable_type":"taggable_type",K=Y.deleteFrom(Z).where($,"=",G).where(O,"=","posts");if(Q)K=K.where("id","in",Q);await K.execute()}catch($){if($ instanceof Error)throw TypeError(`Failed to detach records: ${$.message}`);throw $}}async function J0(G,Z,Q){let Y=await S();try{let $=Z==="categorizable_models"?"categorizable_id":"taggable_id",O=Z==="categorizable_models"?"categorizable_type":"taggable_type",X=(await Y.selectFrom(Z).select(["id"]).where($,"=",G).where(O,"=","posts").execute()).map((j)=>j.id),A=X.filter((j)=>!Q.includes(j)),L=Q.filter((j)=>!X.includes(j));if(A.length>0)await Y.deleteFrom(Z).where($,"=",G).where(O,"=","posts").where("id","in",A).execute();if(L.length>0){let j=L.map(()=>({[$]:G,[O]:"posts",created_at:ZB(new Date),updated_at:ZB(new Date)}));await Y.insertInto(Z).values(j).execute()}}catch($){if($ instanceof Error)throw TypeError(`Failed to sync records: ${$.message}`);throw $}}async function Y0(G,Z){let Q=await S();try{if(Z.title!==void 0&&typeof Z.title==="string"&&Z.title.trim()==="")throw Error("Post title cannot be empty");let Y=["published","draft","archived"];if(Z.status!==void 0&&typeof Z.status==="string"&&!Y.includes(Z.status))throw Error(`Invalid post status: ${Z.status}`);if(Z.views!==void 0&&typeof Z.views==="number"&&Z.views<0)throw Error("Views count cannot be negative");let $=await Q.updateTable("posts").set(Z).where("id","=",G).returningAll().executeTakeFirst();if(!$)throw Error("Failed to update post");return $}catch(Y){if(Y instanceof Error)throw TypeError(`Failed to update post: ${Y.message}`);throw Y}}var kB={};u(kB,{update:()=>K0,store:()=>S0,fetchTags:()=>O0,fetchTagById:()=>H0,destroy:()=>$0,bulkDestroy:()=>z0});async function $0(G){let Z=await S();if(!await Z.selectFrom("taggables").where("id","=",G).selectAll().executeTakeFirst())throw Error(`Tag with ID ${G} not found`);await Z.deleteFrom("taggables").where("id","=",G).executeTakeFirst()}async function z0(G){let Z=await S();try{await Z.deleteFrom("taggables").where("id","in",G).execute()}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to delete tags: ${Q.message}`);throw Q}}async function S0(G){let Z=await S();try{if(!G.name||G.name.trim()==="")throw Error("Tag name is required");if(!G.taggable_type||G.taggable_type.trim()==="")throw Error("Tag taggable_type is required");let Q=b(G.name);if(await Z.selectFrom("taggables").selectAll().where("slug","=",Q).executeTakeFirst())throw Error(`Tag with unique slug "${Q}" already exists`);let $={name:G.name,slug:Q,description:G.description,is_active:G.is_active??!0,taggable_type:G.taggable_type};if(G.taggable_id!==void 0)$.taggable_id=G.taggable_id;let O=await Z.insertInto("taggables").values($).returningAll().executeTakeFirst();if(!O)throw Error("Failed to create tag");return O}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to store tag: ${Q.message}`);throw Q}}async function H0(G){let Z=await S();try{let Q=await Z.selectFrom("taggables").where("id","=",G).selectAll().executeTakeFirst();if(!Q)return;return Q}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to fetch tag: ${Q.message}`);throw Q}}async function O0(){let G=await S();try{return await G.selectFrom("taggables").where("is_active","=",!0).selectAll().execute()}catch(Z){if(Z instanceof Error)throw TypeError(`Failed to fetch tags: ${Z.message}`);throw Z}}import{uniqueSlug as P2}from"@stacksjs/slug";async function K0(G){let Z=await S();try{let Q=G.id;if(!Q)throw Error("Tag ID is required for update");if(G.name!==void 0){if(G.name.trim()==="")throw Error("Tag name cannot be empty");let K=await P2(G.name,{table:"taggables",column:"slug"});if(await Z.selectFrom("taggables").selectAll().where("slug","=",K).where("id","!=",Q).executeTakeFirst())throw Error(`Tag with unique slug "${K}" already exists`);G.slug=K}let{id:Y,...$}=G,O=await Z.updateTable("taggables").set($).where("id","=",Q).returningAll().executeTakeFirst();if(!O)throw Error("Failed to update tag");return O}catch(Q){if(Q instanceof Error)throw TypeError(`Failed to update tag: ${Q.message}`);throw Q}}var M2={posts:vB,postCategories:xB,tags:kB,comments:NB,authors:YB,pages:RB},o6=M2;export{kB as tags,vB as posts,RB as pages,o6 as default,NB as comments,M2 as cms,xB as categorizable,YB as authors};
|
|
2
|
+
var Df=Object.defineProperty;var uf=(f)=>f;function lf(f,M){this[f]=uf.bind(null,M)}var Q=(f,M)=>{for(var B in M)Df(f,B,{get:M[B],enumerable:!0,configurable:!0,set:lf.bind(M,B)})};var nf=import.meta.require;var V={};Q(V,{update:()=>u,store:()=>p,findOrCreate:()=>m,findByUuid:()=>q,findByUserId:()=>c,findByName:()=>I,findByEmail:()=>T,fetchById:()=>R,fetchAll:()=>v,destroy:()=>N});var h;async function x(){return h??=import("@stacksjs/database").then((f)=>f.db),h}async function N(f){let M=await x();try{let B=await M.deleteFrom("authors").where("id","=",f).returningAll().executeTakeFirst();if(!B)throw Error(`Author with ID ${f} not found`);return B}catch(B){if(B instanceof Error)throw TypeError(`Author with ID ${f} not found`);throw B}}async function R(f){return await(await x()).selectFrom("authors").where("id","=",f).selectAll().executeTakeFirst()}async function v(){return await(await x()).selectFrom("authors").selectAll().execute()}async function I(f){return await(await x()).selectFrom("authors").where("name","=",f).selectAll().executeTakeFirst()}async function T(f){return await(await x()).selectFrom("authors").where("email","=",f).selectAll().executeTakeFirst()}async function q(f){return await(await x()).selectFrom("authors").where("uuid","=",f).selectAll().executeTakeFirst()}async function c(f){return await(await x()).selectFrom("authors").where("user_id","=",f).selectAll().executeTakeFirst()}var{randomUUIDv7:w}=globalThis.Bun;import{HttpError as Z}from"@stacksjs/error-handling";import{formatDate as X,isUniqueViolation as y}from"@stacksjs/orm";async function m(f){let M=await x();try{let B=await M.selectFrom("authors").where((S)=>S.or([S("email","=",f.email),S("name","=",f.name)])).selectAll().executeTakeFirst();if(B)return B;let P=await M.selectFrom("users").where("email","=",f.email).selectAll().executeTakeFirst();if(!P){let S=await M.insertInto("users").values({email:f.email,name:f.name,password:w(),uuid:w(),created_at:X(new Date),updated_at:X(new Date)}).returningAll().executeTakeFirst();if(!S)throw Error("Failed to create user");P=S}let C={user_id:P.id,name:f.name,email:f.email,created_at:X(new Date),updated_at:X(new Date)},G=await M.insertInto("authors").values(C).returningAll().executeTakeFirst();if(!G)throw Error("Failed to create author");return G}catch(B){if(B instanceof Z)throw B;if(y(B))throw new Z(409,"An author with this email already exists");if(B instanceof Error)throw TypeError(`Failed to find or create author: ${B.message}`);throw B}}async function p(f){let M=await x();try{let B=await M.selectFrom("authors").where((G)=>G.or([G("email","=",f.email),G("name","=",f.name)])).selectAll().executeTakeFirst();if(B)return B;let P={user_id:f.user_id,name:f.name,email:f.email,created_at:X(new Date),updated_at:X(new Date)},C=await M.insertInto("authors").values(P).returningAll().executeTakeFirst();if(!C)throw Error("Failed to create author");return C}catch(B){if(B instanceof Z)throw B;if(y(B))throw new Z(409,"An author with this email already exists");if(B instanceof Error)throw TypeError(`Failed to find or create author: ${B.message}`);throw B}}import{HttpError as D}from"@stacksjs/error-handling";import{formatDate as gf,isUniqueViolation as bf}from"@stacksjs/orm";async function u(f,M){let B=await x();try{let P={...M,updated_at:gf(new Date)};return await B.updateTable("authors").set(P).where("id","=",f).returningAll().executeTakeFirst()}catch(P){if(P instanceof D)throw P;if(bf(P))throw new D(409,"An author with this email already exists");if(P instanceof Error)throw TypeError(`Failed to update author: ${P.message}`);throw P}}var E={};Q(E,{update:()=>t,storeCategorizableModel:()=>r,store:()=>d,fetchWithPosts:()=>b,fetchBySlug:()=>g,fetchByName:()=>n,fetchById:()=>$,fetchAll:()=>l,destroy:()=>s,bulkStore:()=>e,bulkDestroy:()=>i});import{slugify as EB}from"ts-slug";async function $(f){return await(await x()).selectFrom("categorizables").where("id","=",f).where("is_active","=",!0).selectAll().executeTakeFirst()}async function l(){return await(await x()).selectFrom("categorizables").selectAll().execute()}async function n(f){return await(await x()).selectFrom("categorizables").where("name","=",f).where("is_active","=",!0).selectAll().execute()}async function g(f){return await(await x()).selectFrom("categorizables").where("slug","=",f).where("is_active","=",!0).selectAll().executeTakeFirst()}async function b(f){return await(await x()).selectFrom("categorizables").where("id","=",f).where("is_active","=",!0).selectAll().executeTakeFirst()}async function s(f){let M=await x();try{if(!await $(f))throw Error(`Category with ID ${f} not found`);return(await M.deleteFrom("categorizables").where("id","=",f).executeTakeFirst()).numDeletedRows>0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete category: ${B.message}`);throw B}}async function i(f){let M=await x();if(!f.length)return 0;try{let B=await M.deleteFrom("categorizables").where("id","in",f).executeTakeFirst();return Number(B.numDeletedRows)||0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete categories in bulk: ${B.message}`);throw B}}import{slugify as o}from"ts-slug";async function d(f){let M=await x();try{if(!f.name||f.name.trim()==="")throw Error("Category name is required");if(!f.categorizable_type||f.categorizable_type.trim()==="")throw Error("Category categorizable_type is required");let B={name:f.name,slug:o(f.name),description:f.description,categorizable_type:f.categorizable_type,is_active:f.is_active??!0},P=await M.insertInto("categorizables").values(B).returningAll().executeTakeFirst();if(!P)throw Error("Failed to create category");return P}catch(B){if(B instanceof Error)throw TypeError(`Failed to create category: ${B.message}`);throw B}}async function r(f){let M=await x();try{let B={category_id:f.category_id,categorizable_type:f.categorizable_type},P=await M.insertInto("categorizable_models").values(B).returningAll().executeTakeFirst();if(!P)throw Error("Failed to create categorizable model relationship");return P}catch(B){if(B instanceof Error)throw TypeError(`Failed to create categorizable model relationship: ${B.message}`);throw B}}async function e(f){let M=await x();try{return await M.transaction(async(P)=>{let C=[];for(let G of f){let S={name:G.name,slug:o(G.name),description:G.description,categorizable_type:G.categorizable_type,is_active:G.is_active??!0},A=await P.insertInto("categorizables").values(S).returningAll().executeTakeFirst();if(!A)throw Error(`Failed to create category: ${G.name}`);C.push(A)}return C})}catch(B){if(B instanceof Error)throw TypeError(`Failed to create categories: ${B.message}`);throw B}}import{slugify as sf}from"ts-slug";async function t(f){let M=await x();try{let B=f.id;if(!B)throw Error("Category ID is required for update");if(f.name!==void 0){if(f.name.trim()==="")throw Error("Category name cannot be empty");f.slug=sf(f.name)}let{id:P,...C}=f,G=await M.updateTable("categorizables").set(C).where("id","=",B).returningAll().executeTakeFirst();if(!G)throw Error("Failed to update category");return G}catch(B){if(B instanceof Error)throw TypeError(`Failed to update category: ${B.message}`);throw B}}var _={};Q(_,{update:()=>Jf,store:()=>Af,fetchStatusDistributionDonut:()=>Cf,fetchPostsWithMostComments:()=>H,fetchMonthlyCommentCounts:()=>Gf,fetchCommentsByStatus:()=>Mf,fetchCommentsByCommentables:()=>ff,fetchComments:()=>a,fetchCommentCountByPeriod:()=>Bf,fetchCommentCountBarGraph:()=>xf,fetchCommentById:()=>z,destroy:()=>Sf,calculateApprovalRate:()=>Pf,bulkDestroy:()=>Wf});import{formatDate as Y}from"@stacksjs/orm";async function a(f={}){let B=(await x()).selectFrom("commentables");if(f.status)B=B.where("status","=",f.status);if(f.commentables_id)B=B.where("commentables_id","=",f.commentables_id);if(f.commentables_type)B=B.where("commentables_type","=",f.commentables_type);if(f.limit)B=B.limit(f.limit);if(f.offset)B=B.offset(f.offset);return B.selectAll().execute()}async function z(f){return(await x()).selectFrom("commentables").where("id","=",f).selectAll().executeTakeFirst()}async function ff(f,M,B={}){let C=(await x()).selectFrom("commentables").where("commentables_id","=",f).where("commentables_type","=",M);if(B.status)C=C.where("status","=",B.status);if(B.limit)C=C.limit(B.limit);if(B.offset)C=C.offset(B.offset);return C.selectAll().execute()}async function Bf(f){let M=await x();try{let B=await M.selectFrom("commentables").where("created_at",">=",new Date(Date.now()-f*24*60*60*1000).toISOString()).count();return Number(B)||0}catch(B){if(B instanceof Error)throw TypeError(`Failed to fetch comment count: ${B.message}`);throw B}}async function Mf(f,M={}){let B=await x();try{let P=B.selectFrom("commentables").where("status","=",f);if(M.limit)P=P.limit(M.limit);if(M.offset)P=P.offset(M.offset);return P.selectAll().execute()}catch(P){if(P instanceof Error)throw TypeError(`Failed to fetch comments by status: ${P.message}`);throw P}}async function Pf(){let f=await x();try{let[M,B]=await Promise.all([f.selectFrom("commentables").where("status","=","approved").count(),f.selectFrom("commentables").count()]),P=Number(M||0),C=Number(B||0),G=C>0?P/C*100:0;return{approved:P,total:C,rate:G}}catch(M){if(M instanceof Error)throw TypeError(`Failed to calculate approval rate: ${M.message}`);throw M}}async function H(f,M={}){let B=await x();try{let P=B.selectFrom("posts").leftJoin("commentables","posts.id","=","commentables.commentables_id").where("commentables.created_at",">=",Y(f.startDate)).where("commentables.created_at","<=",Y(f.endDate)).select(["posts.id","posts.title"]).groupBy("posts.id","posts.title").orderBy("posts.id","desc");if(M.limit)P=P.limit(M.limit);return(await P.execute()).map((G)=>({id:Number(G.id),title:String(G.title),comment_count:Number(G.comment_count||0)}))}catch(P){if(P instanceof Error)throw TypeError(`Failed to fetch posts with most comments: ${P.message}`);throw P}}async function xf(f,M={}){try{let B=await H(f,M);return{labels:B.map((P)=>P.title),values:B.map((P)=>P.comment_count)}}catch(B){if(B instanceof Error)throw TypeError(`Failed to fetch bar graph data: ${B.message}`);throw B}}async function Cf(f){let M=await x();try{let P=await M.selectFrom("commentables").where("created_at",">=",Y(f.startDate)).where("created_at","<=",Y(f.endDate)).select(["status"]).groupBy("status").execute(),C=P.reduce((W,L)=>W+Number(L.count||0),0),G=P.map((W)=>String(W.status)),S=P.map((W)=>Number(W.count||0)),A=S.map((W)=>C>0?W/C*100:0);return{labels:G,values:S,percentages:A}}catch(B){if(B instanceof Error)throw TypeError(`Failed to fetch status distribution: ${B.message}`);throw B}}async function Gf(f){let M=await x();try{let B=await M.selectFrom("commentables").where("created_at",">=",Y(f.startDate)).where("created_at","<=",Y(f.endDate)).select(["created_at"]).groupBy("created_at").orderBy("created_at","asc").execute(),P=new Map;B.forEach((S)=>{if(!S.created_at)return;let A=new Date(S.created_at),W=`${A.getFullYear()}-${String(A.getMonth()+1).padStart(2,"0")}`;P.set(W,(P.get(W)||0)+Number(S.count||0))});let C=[],G=[];return P.forEach((S,A)=>{let[W,L]=A.split("-");C.push(new Date(Number(W),Number(L)-1).toLocaleString("default",{month:"short",year:"numeric"})),G.push(S)}),{labels:C,values:G}}catch(B){if(B instanceof Error)throw TypeError(`Failed to fetch monthly comment counts: ${B.message}`);throw B}}async function Sf(f){let M=await x();try{if(!await z(f))throw Error(`Comment with ID ${f} not found`);return(await M.deleteFrom("commentables").where("id","=",f).executeTakeFirst()).numDeletedRows>0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete comment: ${B.message}`);throw B}}async function Wf(f){let M=await x();if(!f.length)return 0;try{let B=await M.deleteFrom("commentables").where("id","in",f).executeTakeFirst();return Number(B.numDeletedRows)||0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete comments in bulk: ${B.message}`);throw B}}async function Af(f){let M=await x();try{if(!f.title||f.title.trim()==="")throw Error("Comment title is required");if(!f.body||f.body.trim()==="")throw Error("Comment body is required");if(!f.commentables_type||f.commentables_type.trim()==="")throw Error("Comment commentables_type is required");let B=["pending","approved","rejected"];if(f.status&&!B.includes(f.status))throw Error(`Invalid comment status: ${f.status}`);let P={title:f.title,body:f.body,status:f.status,commentables_id:f.commentables_id,commentables_type:f.commentables_type,user_id:f.user_id,is_active:f.is_active},C=await M.insertInto("commentables").values(P).returningAll().executeTakeFirst();if(!C)throw Error("Failed to create comment");return C}catch(B){if(B instanceof Error)throw TypeError(`Failed to store comment: ${B.message}`);throw B}}import{formatDate as of}from"@stacksjs/orm";async function Jf(f,M){let B=await x();try{if(M.title!==void 0&&M.title.trim()==="")throw Error("Comment title cannot be empty");if(M.body!==void 0&&M.body.trim()==="")throw Error("Comment body cannot be empty");let P=["pending","approved","rejected"];if(M.status!==void 0&&!P.includes(M.status))throw Error(`Invalid comment status: ${M.status}`);let C={updated_at:of(new Date)};if(M.title!==void 0)C.title=M.title;if(M.body!==void 0)C.body=M.body;if(M.status!==void 0)C.status=M.status;if(M.commentables_id!==void 0)C.commentables_id=M.commentables_id;if(M.commentables_type!==void 0)C.commentables_type=M.commentables_type;if(M.approved_at!==void 0)C.approved_at=M.approved_at;if(M.rejected_at!==void 0)C.rejected_at=M.rejected_at;return await B.updateTable("commentables").set(C).where("id","=",f).execute(),await B.selectFrom("commentables").where("id","=",f).selectAll().executeTakeFirst()}catch(P){if(P instanceof Error)throw TypeError(`Failed to update comment: ${P.message}`);throw P}}var j={};Q(j,{update:()=>Kf,store:()=>kf,fetchPublishedAfter:()=>Zf,fetchByMinViews:()=>Xf,fetchByMinConversions:()=>Yf,fetchById:()=>O,fetchByAuthor:()=>Qf,fetchAll:()=>Lf,destroy:()=>$f,bulkDestroy:()=>zf});async function O(f){return await(await x()).selectFrom("pages").where("id","=",f).selectAll().executeTakeFirst()}async function Lf(){return await(await x()).selectFrom("pages").selectAll().execute()}async function Qf(f){return await(await x()).selectFrom("pages").where("author_id","=",f).selectAll().execute()}async function Xf(f){return await(await x()).selectFrom("pages").where("views",">=",f).selectAll().execute()}async function Yf(f){return await(await x()).selectFrom("pages").where("conversions",">=",f).selectAll().execute()}async function Zf(f){return await(await x()).selectFrom("pages").where("published_at",">",f).selectAll().execute()}async function $f(f){let M=await x();try{if(!await O(f))throw Error(`Page with ID ${f} not found`);return(await M.deleteFrom("pages").where("id","=",f).executeTakeFirst()).numDeletedRows>0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete page: ${B.message}`);throw B}}async function zf(f){let M=await x();if(!f.length)return 0;try{let B=await M.deleteFrom("pages").where("id","in",f).executeTakeFirst();return Number(B.numDeletedRows)||0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete pages in bulk: ${B.message}`);throw B}}import{formatDate as Of}from"@stacksjs/orm";async function kf(f){let M=await x();try{let B={author_id:f.author_id,title:f.title,template:f.template,views:f.views||0,conversions:f.conversions||0,created_at:Of(new Date),updated_at:Of(new Date)},P=await M.insertInto("pages").values(B).returningAll().executeTakeFirst();if(!P)throw Error("Failed to create page");return P}catch(B){if(B instanceof Error)throw TypeError(`Failed to create page: ${B.message}`);throw B}}import{formatDate as df}from"@stacksjs/orm";async function Kf(f,M){let B=await x();try{let P={...M,updated_at:df(new Date)},C=await B.updateTable("pages").set(P).where("id","=",f).returningAll().executeTakeFirst();if(!C)throw Error("Failed to update page");return C}catch(P){if(P instanceof Error)throw TypeError(`Failed to update page: ${P.message}`);throw P}}var U={};Q(U,{update:()=>Tf,sync:()=>If,store:()=>Nf,fetchPublishedAfter:()=>Uf,fetchByStatus:()=>Ef,fetchByMinViews:()=>jf,fetchById:()=>k,fetchByCategory:()=>Hf,fetchByAuthor:()=>_f,fetchAll:()=>Vf,detach:()=>vf,destroy:()=>Ff,bulkDestroy:()=>hf,attach:()=>Rf});async function k(f){return await(await x()).selectFrom("posts").where("id","=",f).selectAll().executeTakeFirst()}async function Vf(){return await(await x()).selectFrom("posts").selectAll().execute()}async function Ef(f){return await(await x()).selectFrom("posts").where("status","=",f).selectAll().execute()}async function Hf(f){return await(await x()).selectFrom("posts").where("category","=",f).selectAll().execute()}async function _f(f){return await(await x()).selectFrom("posts").where("author","=",f).selectAll().execute()}async function jf(f){return await(await x()).selectFrom("posts").where("views",">=",f).selectAll().execute()}async function Uf(f){return await(await x()).selectFrom("posts").where("published_at",">",f).selectAll().execute()}async function Ff(f){let M=await x();try{if(!await k(f))throw Error(`Post with ID ${f} not found`);await M.deleteFrom("categorizable_models").where("categorizable_id","=",f).where("categorizable_type","=","posts").execute();let P=await M.deleteFrom("posts").where("id","=",f).executeTakeFirst();return P?.numDeletedRows?P.numDeletedRows>0:!1}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete post: ${B.message}`);throw B}}async function hf(f){let M=await x();if(!f.length)return 0;try{let P=(await M.selectFrom("posts").select(["id"]).where("id","in",f).execute()).map((G)=>G.id);if(!P.length)return 0;await M.deleteFrom("categorizable_models").where("categorizable_id","in",P).where("categorizable_type","=","posts").execute();let C=await M.deleteFrom("posts").where("id","in",P).executeTakeFirst();return Number(C?.numDeletedRows)||0}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete posts in bulk: ${B.message}`);throw B}}var{randomUUIDv7:rf}=globalThis.Bun;import{formatDate as K}from"@stacksjs/orm";var ef="Draft";async function Nf(f){let M=await x();try{if(!f.title||typeof f.title==="string"&&f.title.trim()==="")throw Error("Post title is required");let B=f.content||f.body,P=f,C={author_id:P.author_id,uuid:rf(),title:f.title,poster:f.poster,content:B,body:f.body,category:f.category,excerpt:f.excerpt,is_featured:P.is_featured?Date.now():void 0,views:f.views||0,published_at:P.published_at||Date.now(),status:f.status||ef},G=await M.insertInto("posts").values(C).returningAll().executeTakeFirst();if(!G)throw Error("Failed to create post");return G}catch(B){if(B instanceof Error)throw TypeError(`Failed to create post: ${B.message}`);throw B}}async function Rf(f,M,B){let P=await x();try{let C=M==="categorizable_models"?"categorizable_id":"taggable_id",G=M==="categorizable_models"?"categorizable_type":"taggable_type",S=M==="categorizable_models"?"category_id":"tag_id",A=B.map((W)=>({[S]:W,[C]:f,[G]:"posts",created_at:K(new Date),updated_at:K(new Date)}));for(let W of A)await P.insertInto(M).values(W).execute()}catch(C){if(C instanceof Error)throw TypeError(`Failed to attach records: ${C.message}`);throw C}}async function vf(f,M,B){let P=await x();try{let C=M==="categorizable_models"?"categorizable_id":"taggable_id",G=M==="categorizable_models"?"categorizable_type":"taggable_type",S=P.deleteFrom(M).where(C,"=",f).where(G,"=","posts");if(B)S=S.where("id","in",B);await S.execute()}catch(C){if(C instanceof Error)throw TypeError(`Failed to detach records: ${C.message}`);throw C}}async function If(f,M,B){let P=await x();try{let C=M==="categorizable_models"?"categorizable_id":"taggable_id",G=M==="categorizable_models"?"categorizable_type":"taggable_type",A=(await P.selectFrom(M).select(["id"]).where(C,"=",f).where(G,"=","posts").execute()).map((J)=>J.id),W=A.filter((J)=>!B.includes(J)),L=B.filter((J)=>!A.includes(J));if(W.length>0)await P.deleteFrom(M).where(C,"=",f).where(G,"=","posts").where("id","in",W).execute();if(L.length>0){let J=L.map(()=>({[C]:f,[G]:"posts",created_at:K(new Date),updated_at:K(new Date)}));await P.insertInto(M).values(J).execute()}}catch(C){if(C instanceof Error)throw TypeError(`Failed to sync records: ${C.message}`);throw C}}async function Tf(f,M){let B=await x();try{if(M.title!==void 0&&typeof M.title==="string"&&M.title.trim()==="")throw Error("Post title cannot be empty");let P=["published","draft","archived"];if(M.status!==void 0&&typeof M.status==="string"&&!P.includes(M.status))throw Error(`Invalid post status: ${M.status}`);if(M.views!==void 0&&typeof M.views==="number"&&M.views<0)throw Error("Views count cannot be negative");let C=await B.updateTable("posts").set(M).where("id","=",f).returningAll().executeTakeFirst();if(!C)throw Error("Failed to update post");return C}catch(P){if(P instanceof Error)throw TypeError(`Failed to update post: ${P.message}`);throw P}}var F={};Q(F,{update:()=>pf,store:()=>wf,fetchTags:()=>mf,fetchTagById:()=>yf,destroy:()=>qf,bulkDestroy:()=>cf});async function qf(f){let M=await x();if(!await M.selectFrom("taggables").where("id","=",f).selectAll().executeTakeFirst())throw Error(`Tag with ID ${f} not found`);await M.deleteFrom("taggables").where("id","=",f).executeTakeFirst()}async function cf(f){let M=await x();try{await M.deleteFrom("taggables").where("id","in",f).execute()}catch(B){if(B instanceof Error)throw TypeError(`Failed to delete tags: ${B.message}`);throw B}}import{slugify as tf}from"ts-slug";async function wf(f){let M=await x();try{if(!f.name||f.name.trim()==="")throw Error("Tag name is required");if(!f.taggable_type||f.taggable_type.trim()==="")throw Error("Tag taggable_type is required");let B=tf(f.name);if(await M.selectFrom("taggables").selectAll().where("slug","=",B).executeTakeFirst())throw Error(`Tag with unique slug "${B}" already exists`);let C={name:f.name,slug:B,description:f.description,is_active:f.is_active??!0,taggable_type:f.taggable_type};if(f.taggable_id!==void 0)C.taggable_id=f.taggable_id;let G=await M.insertInto("taggables").values(C).returningAll().executeTakeFirst();if(!G)throw Error("Failed to create tag");return G}catch(B){if(B instanceof Error)throw TypeError(`Failed to store tag: ${B.message}`);throw B}}async function yf(f){let M=await x();try{let B=await M.selectFrom("taggables").where("id","=",f).selectAll().executeTakeFirst();if(!B)return;return B}catch(B){if(B instanceof Error)throw TypeError(`Failed to fetch tag: ${B.message}`);throw B}}async function mf(){let f=await x();try{return await f.selectFrom("taggables").where("is_active","=",!0).selectAll().execute()}catch(M){if(M instanceof Error)throw TypeError(`Failed to fetch tags: ${M.message}`);throw M}}import{uniqueSlug as af}from"@stacksjs/slug";async function pf(f){let M=await x();try{let B=f.id;if(!B)throw Error("Tag ID is required for update");if(f.name!==void 0){if(f.name.trim()==="")throw Error("Tag name cannot be empty");let S=await af(f.name,{table:"taggables",column:"slug"});if(await M.selectFrom("taggables").selectAll().where("slug","=",S).where("id","!=",B).executeTakeFirst())throw Error(`Tag with unique slug "${S}" already exists`);f.slug=S}let{id:P,...C}=f,G=await M.updateTable("taggables").set(C).where("id","=",B).returningAll().executeTakeFirst();if(!G)throw Error("Failed to update tag");return G}catch(B){if(B instanceof Error)throw TypeError(`Failed to update tag: ${B.message}`);throw B}}var fB={posts:U,postCategories:E,tags:F,comments:_,authors:V,pages:j},bM=fB;export{F as tags,U as posts,j as pages,bM as default,_ as comments,fB as cms,E as categorizable,V as authors};
|