@cybearl/cypack 1.10.2 → 1.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/backend.d.ts +7 -0
- package/backend.js +4 -4
- package/backend.js.map +1 -1
- package/index.d.ts +10 -1
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -115,6 +115,7 @@ Contains a set of utilities to format numbers, time, and other values.
|
|
|
115
115
|
- `truncateString`: Truncate a string to a specified length.
|
|
116
116
|
- `parseQueryNumberArray`: Parse a query containing either a number or numbers separated by commas and returns an array of numbers.
|
|
117
117
|
- `parseQueryStringArray`: Parse a query containing either a string or strings separated by commas and returns an array of strings.
|
|
118
|
+
- `slugify`: Slugify a given name with support for automatic number incrementing.
|
|
118
119
|
|
|
119
120
|
#### JSON utilities
|
|
120
121
|
Contains utilities to parse and stringify JSON objects.
|
package/backend.d.ts
CHANGED
|
@@ -879,6 +879,7 @@ type Parameters = {
|
|
|
879
879
|
foreignObjectStartAtNewLine: boolean;
|
|
880
880
|
foreignObjectPadding: number | "after-timestamp" | "after-level";
|
|
881
881
|
foreignObjectIndent: number;
|
|
882
|
+
alignForeignObject?: boolean;
|
|
882
883
|
};
|
|
883
884
|
/**
|
|
884
885
|
* A custom logger instance compatible with both front and back-end, allowing to log messages
|
|
@@ -899,6 +900,7 @@ type Parameters = {
|
|
|
899
900
|
* - `setForeignObjectStartAtNewLine`: Set the logger foreign object new line display (defaults to `false`).
|
|
900
901
|
* - `setForeignObjectPadding`: Set the padding for foreign objects (defaults to `0`).
|
|
901
902
|
* - `setForeignObjectIndent`: Set the indent for foreign objects (defaults to `4`).
|
|
903
|
+
* - `setAlignForeignObject`: Align any foreign object to the same column (defaults to `false`).
|
|
902
904
|
* - `setParameters`: Set all the parameters at once.
|
|
903
905
|
* - `resetParameters`: Reset all the parameters to their default values.
|
|
904
906
|
*/
|
|
@@ -944,6 +946,11 @@ declare const logger: pino.Logger & {
|
|
|
944
946
|
* @param indent The indent for foreign objects.
|
|
945
947
|
*/
|
|
946
948
|
setForeignObjectIndent: (indent: Parameters["foreignObjectIndent"]) => void;
|
|
949
|
+
/**
|
|
950
|
+
* Set whether to align any foreign object to the same column.
|
|
951
|
+
* @param alignForeignObject Whether to align any foreign object to the same column.
|
|
952
|
+
*/
|
|
953
|
+
setAlignForeignObject: (alignForeignObject: Parameters["alignForeignObject"]) => void;
|
|
947
954
|
/**
|
|
948
955
|
* Set all the parameters at once.
|
|
949
956
|
* @param parameters The new parameters.
|
package/backend.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import D,{masks}from'dateformat';import P from'pino';import C from'pino-pretty';import I from'slugify';import {randomBytes,createCipheriv,createDecipheriv,randomFillSync}from'crypto';import {execSync}from'child_process';import {hostname}from'os';function U(n,t=4){return JSON.stringify(n,(e,r)=>typeof r=="function"||typeof r=="bigint"?r.toString():r,t)}var B={level:process.env.LOG_LEVEL||"trace",showLevel:true,showTimestamp:true,foreignObjectStartAtNewLine:false,foreignObjectPadding:0,foreignObjectIndent:4,alignForeignObject:false},u={...B};function v(n,t){let e={level:n.level,time:n.time,pid:n.pid,hostname:n.hostname,msg:n.msg},r=Object.entries(n).reduce((d,[w,_])=>(Object.keys(e).includes(w)||(d[w]=_),d),{}),i="N/A",s,a;switch(n.level){case 10:case "trace":i="TRACE",a=t.black;break;case 20:case "debug":i="DEBUG",a=t.blue;break;case 30:case "info":i="INFO",a=t.green;break;case 40:case "warn":i="WARN",a=t.yellow;break;case 50:case "error":i="ERROR",a=t.redBright;break;case 60:case "fatal":i="FATAL",s=t.bold,a=t.redBright;break;default:i="N/A",a=t.white;break}let o="";u.showTimestamp&&(o=`[${D(new Date(n.time),masks.isoDateTime)}] `);let c="";u.showLevel&&(c=u.alignForeignObject?`[${i}] `.padEnd(8," "):`[${i}] `);let f="";Object.keys(r).length>0&&(u.foreignObjectPadding==="after-timestamp"?u.foreignObjectPadding=o.length:u.foreignObjectPadding==="after-level"&&(u.foreignObjectPadding=o.length+c.length),f=`${u.foreignObjectStartAtNewLine?`
|
|
2
2
|
`:" "}${U(r,u.foreignObjectIndent)}`.split(`
|
|
3
|
-
`).map((
|
|
4
|
-
`));let
|
|
5
|
-
${r.toUpperCase()}:`),y.info("=".repeat(r.length+1));let i=0;for(let a of Object.keys(this.results))a.length>i&&(i=a.length);let s=Object.entries(this.results).sort((a,o)=>o[1].operationsPerSecond-a[1].operationsPerSecond);for(let[a,o]of s){let c=s[0][1].operationsPerSecond,f=o.operationsPerSecond/c*100,l=`>> ${a} `.padEnd(i+4,"\u2550"),g=`AVG TIME: ${M(o.avgExecutionTime)}`,d=`OPS: ${I(o.operationsPerSecond)}`,_=`PERCENTAGE: ${L(f)}`,A=`${l}\u2550> ${g} | ${d} | ${_}`,x=10;f>=90?y.debug(A+"(fastest)".padStart(x," ")):f>=60?y.info(A+"(fast)".padStart(x," ")):f>=30?y.warn(A+"(medium)".padStart(x," ")):f>=10?y.error(A+"(slow)".padStart(x," ")):y.error(A+"(slowest)".padStart(x," "));}e&&(this.results={});}};function j(n,t,e,r,i){return i?t:{status:n,marker:t,timestamp:new Date().toISOString(),version:{raw:e??"unavailable",formatted:e?`v${e}`:"unavailable"},message:r??"The application is running smoothly."}}function W(n,t){let e=Buffer.from(n,"base64");if(e.length!==32)throw new Error(`Invalid key length: expected 32 bytes, got ${e.length}`);let r=randomBytes(12).toString("base64"),i=createCipheriv("aes-256-gcm",e,Buffer.from(r,"base64")),s=i.update(t,"utf8","base64");s+=i.final("base64");let a=i.getAuthTag(),o=`${r}.${s}.${a.toString("base64")}`;return {iv:r,ciphertext:s,tag:a,payload:o}}function O(n,t,e,r){try{let i=createDecipheriv("aes-256-gcm",Buffer.from(n,"base64"),Buffer.from(t,"base64"));i.setAuthTag(Buffer.from(r,"base64"));let s=i.update(e,"base64","utf8");return s+=i.final("utf8"),s}catch{return null}}function V(n,t){let e=t.split(".");if(e.length!==3)throw new Error("Invalid payload format");let[r,i,s]=e;return O(n,r,i,s)}var z={aes256Gcm:{encrypt:W,decrypt:O,decryptPayload:V}};function h(n,t){return `[CyBuffer - ${n}] ${t}`}var N=class n{platformEndianness;arrayBuffer;array;offset;length;constructor(t,e){if(t<0)throw new RangeError(h("constructor",`Invalid buffer length: '${t}'.`));if(!Number.isInteger(t))throw new TypeError(h("constructor",`Invalid buffer length: '${t}'.`));return this.platformEndianness=this.getPlatformEndianness(),e?(this.arrayBuffer=e.arrayBuffer,this.offset=e.offset??0,this.length=e.length??t,this.array=new Uint8Array(this.arrayBuffer,this.offset,this.length)):(this.arrayBuffer=new ArrayBuffer(t),this.offset=0,this.length=t,this.array=new Uint8Array(this.arrayBuffer)),this._proxy}getPlatformEndianness=()=>{let t=new Uint8Array(4),e=new Uint32Array(t.buffer);return e[0]=65280,t[0]===255?"BE":"LE"};normalizeEndianness=t=>this.platformEndianness==="BE"?t==="LE"?"BE":"LE":t;check=(t,e)=>{if(Number.isNaN(t)||Number.isNaN(e))throw new TypeError(h("check",`Invalid offset: '${t}' or length: '${e}'.`));if(t<0||t>=this.length)throw new RangeError(h("check",`Invalid offset: '${t}', it must be >= 0 & < ${this.length}.`));if(e<1||e>this.length)throw new RangeError(h("check",`Invalid length: '${e}', it must be > 0 & <= ${this.length}.`));if(t+e>this.length)throw new RangeError(h("check",`Invalid offset (${t}) + length (${e}): '${t+e}', it must be <= ${this.length}.`));if(t%1!==0)throw new RangeError(h("check",`Invalid offset alignment: '${t}'.`));if(e%1!==0)throw new RangeError(h("check",`Invalid length alignment: '${e}'.`));return this};static alloc=(t,e)=>{let r=new n(t);return e!==void 0&&r.fill(e),r};static fromHexString=t=>{t.startsWith("0x")&&(t=t.slice(2));let e=Math.ceil(t.length/2),r=new n(e);return r.writeHexString(t,0,e),r};static fromUtf8String=t=>{let e=new n(t.length);return e.writeUtf8String(t,0,t.length),e};static fromString=(t,e="utf8")=>{let r=new n(t.length);return r.writeString(t,e,0,t.length),r};static fromBits=(t,e=true)=>{let r=new n(Math.ceil(t.length/8));return r.writeBits(t,0,t.length,e),r};static fromUint8Array=t=>{let e=new n(t.byteLength);return e.writeUint8Array(t,0,t.byteLength),e};static fromUint16Array=t=>{let e=new n(t.byteLength);return e.writeUint16Array(t,0,t.byteLength),e};static fromUint32Array=t=>{let e=new n(t.byteLength);return e.writeUint32Array(t,0,t.byteLength),e};static fromBigInt=(t,e)=>{if(t<0n)throw new RangeError(h("fromBigInt",`Invalid big integer: '${t}'.`));let r=Math.ceil(t.toString(16).length/2),i=new n(r);return i.writeBigInt(t,0,r,e),i};static fromRange=(t,e)=>{let r=new n(e-t);return r.writeRange(t,e),r};get _proxy(){return new Proxy(this,{get:(t,e)=>typeof e=="string"&&!Number.isNaN(Number(e))?(this.check(Number(e),1),t.array[Number(e)]??void 0):t[e],set:(t,e,r)=>{if(typeof e=="string"&&!Number.isNaN(Number(e))){let i=Number(r);if(Number.isNaN(i))throw new TypeError(h("proxy",`Invalid value: '${r}'.`));if(i<0||i>255)throw new RangeError(h("proxy",`Value is out of bounds: '${r}'.`));return this.check(Number(e),1),t.array[Number(e)]=r,true}return t[e]=r,true}})}*[Symbol.iterator](){let t=0;for(;t<this.length;)yield this.array[t++];}*entries(){for(let t=0;t<this.length;t++)yield [t,this.array[t]];}writeHexString=(t,e=0,r=t.length/2)=>{if(r===0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${r}'.`));if(r%1!==0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${r}'.`));if(t.length%2!==0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${t.length}'.`));t.startsWith("0x")&&(r===t.length/2&&(r=(t.length-2)/2),t=t.slice(2)),this.check(e,r);for(let i=0;i<r;i++){let s=t.charCodeAt(i*2)|32,a=t.charCodeAt(i*2+1)|32;this.array[e+i]=s-(s>57?87:48)<<4|a-(a>57?87:48);}return this};writeUtf8String=(t,e=0,r=t.length)=>{if(r===0)throw new RangeError(h("writeUtf8String",`Invalid UTF-8 string length: '${r}'.`));this.check(e,r);for(let i=0;i<r;i++)this.array[e+i]=t.charCodeAt(i);return this};writeString=(t,e="utf8",r=0,i=t.length)=>{if(e==="utf8")return this.writeUtf8String(t,r,i),this;if(e==="hex")return this.writeHexString(t,r,Math.ceil(i/2)),this;throw new TypeError(h("writeString",`Invalid encoding: '${e}'.`))};writeBit=(t,e=0,r=true,i=true)=>{if(t<0||t>1)throw new RangeError(h("writeBit",`Value is out of bounds: '${t}'.`));let s=Math.floor(e/8);i&&this.check(s,1);let a=r?7-e%8:e%8;return t===1?this.array[s]|=1<<a:this.array[s]&=~(1<<a),this};writeUint8=(t,e=0,r=true)=>{if(t<0||t>255)throw new RangeError(h("writeUint8",`Value is out of bounds: '${t}'.`));return r&&this.check(e,1),t>>>=0,this.array[e]=t,this};writeUint16LE=(t,e=0,r=true,i=true)=>{if(t<0||t>65535)throw new RangeError(h("writeUint16LE",`Value is out of bounds: '${t}'.`));if(r&&e%2!==0)throw new RangeError(h("writeUint16LE",`Invalid offset alignment: '${e}' (%2).`));return i&&this.check(e,2),t>>>=0,this.array[e]=t&255,this.array[e+1]=t>>8&255,this};writeUint16BE=(t,e=0,r=true,i=true)=>{if(t<0||t>65535)throw new RangeError(h("writeUint16BE",`Value is out of bounds: '${t}'.`));if(r&&e%2!==0)throw new RangeError(h("writeUint16BE",`Invalid offset alignment: '${e}' (%2).`));return i&&this.check(e,2),t>>>=0,this.array[e]=t>>8&255,this.array[e+1]=t&255,this};writeUint16=(t,e=0,r=this.platformEndianness,i=true,s=true)=>this.normalizeEndianness(r)==="LE"?(this.writeUint16LE(t,e,i,s),this):(this.writeUint16BE(t,e,i,s),this);writeUint32LE=(t,e=0,r=true,i=true)=>{if(t<0||t>4294967295)throw new RangeError(h("writeUint32LE",`Value is out of bounds: '${t}'.`));if(r&&e%4!==0)throw new RangeError(h("writeUint32LE",`Invalid offset alignment: '${e}' (%4).`));return i&&this.check(e,4),t>>>=0,this.array[e]=t&255,this.array[e+1]=t>>8&255,this.array[e+2]=t>>16&255,this.array[e+3]=t>>24&255,this};writeUint32BE=(t,e=0,r=true,i=true)=>{if(t<0||t>4294967295)throw new RangeError(h("writeUint32BE",`Value is out of bounds: '${t}'.`));if(r&&e%4!==0)throw new RangeError(h("writeUint32BE",`Invalid offset alignment: '${e}' (%4).`));return i&&this.check(e,4),t>>>=0,this.array[e]=t>>24&255,this.array[e+1]=t>>16&255,this.array[e+2]=t>>8&255,this.array[e+3]=t&255,this};writeUint32=(t,e=0,r=this.platformEndianness,i=true,s=true)=>this.normalizeEndianness(r)==="LE"?(this.writeUint32LE(t,e,i,s),this):(this.writeUint32BE(t,e,i,s),this);writeBits=(t,e=0,r=t.length,i=true)=>{if(!t||!Array.isArray(t))throw new TypeError(h("writeBits",`Invalid array of bits: '${t}'.`));let s=Math.floor(e/8),a=Math.ceil(r/8);this.check(s,a);for(let o=0;o<r;o++)this.writeBit(t[o],e+o,i,false);return this};writeUint8Array=(t,e=0,r=t.byteLength,i=0)=>{if(!t||!(t instanceof Uint8Array))throw new TypeError(h("writeUint8Array",`Invalid Uint8Array: '${t}'.`));this.check(e,r);for(let s=i;s<r;s++)this.array[e-i+s]=t[s];return this};writeUint16Array=(t,e=0,r=t.byteLength,i=0,s=this.platformEndianness,a=true)=>{if(!t||!(t instanceof Uint16Array))throw new TypeError(h("writeUint16Array",`Invalid Uint16Array: '${t}'.`));if(a&&e%2!==0)throw new RangeError(h("writeUint16Array",`Invalid offset alignment: '${e}' (%2).`));if(this.check(e,r),this.normalizeEndianness(s)==="LE"){for(let o=i;o<r;o+=2)this.writeUint16LE(t[o/2],e-i+o,a,false);return this}for(let o=i;o<r;o+=2)this.writeUint16BE(t[o/2],e-i+o,a,false);return this};writeUint32Array=(t,e=0,r=t.byteLength,i=0,s=this.platformEndianness,a=true)=>{if(!t||!(t instanceof Uint32Array))throw new TypeError(h("writeUint32Array",`Invalid Uint32Array: '${t}'.`));if(a&&e%4!==0)throw new RangeError(h("writeUint32Array",`Invalid offset alignment: '${e}' (%4).`));if(this.check(e,r),this.normalizeEndianness(s)==="LE"){for(let o=i;o<r;o+=4)this.writeUint32LE(t[o/4],e-i+o,a,false);return this}for(let o=i;o<r;o+=4)this.writeUint32BE(t[o/4],e-i+o,a,false);return this};writeBigIntLE=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2))=>{if(t<0n)throw new RangeError(h("writeBigIntLE",`Invalid big integer value: '${t}'.`));this.check(e,r);for(let i=0;i<r;i++)this.array[e+i]=Number(t&BigInt(255)),t>>=BigInt(8);return this};writeBigIntBE=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2))=>{if(t<0n)throw new RangeError(h("writeBigIntBE",`Invalid big integer value: '${t}'.`));this.check(e,r);for(let i=r-1;i>=0;i--)this.array[e+i]=Number(t&BigInt(255)),t>>=BigInt(8);return this};writeBigInt=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2),i=this.platformEndianness)=>this.normalizeEndianness(i)==="LE"?(this.writeBigIntLE(t,e,r),this):(this.writeBigIntBE(t,e,r),this);writeRange=(t,e,r=0)=>{if(t<0||t>255)throw new RangeError(h("writeRange",`Invalid start value: '${t}'.`));if(e<0||e>255)throw new RangeError(h("writeRange",`Invalid end value: '${e}'.`));let i=e-t;this.check(r,i);for(let s=0;s<i;s++)this.array[r+s]=t+s;return this};readHexStringLE=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("hex").toUpperCase());readHexStringBE=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("hex").toUpperCase().match(/.{2}/g).reverse().join(""));readHexString=(t=0,e=this.length-t,r=this.platformEndianness,i=true)=>(i&&this.check(t,e),this.normalizeEndianness(r)==="LE"?this.readHexStringLE(t,e,false):this.readHexStringBE(t,e,false));readUtf8String=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("utf8"));readBit=(t=0,e=true,r=true)=>{let i=Math.floor(t/8);r&&this.check(i,1);let s=e?7-t%8:t%8;return (this.array[i]&1<<s)!==0?1:0};readUint8=(t=0,e=true)=>(e&&this.check(t,1),this.array[t]);readUint16LE=(t=0,e=true,r=true)=>{if(e&&t%2!==0)throw new RangeError(h("readUint16LE",`Invalid offset alignment: '${t}' (%2).`));return r&&this.check(t,2),(this.array[t]|this.array[t+1]<<8)>>>0};readUint16BE=(t=0,e=true,r=true)=>{if(e&&t%2!==0)throw new RangeError(h("readUint16BE",`Invalid offset alignment: '${t}' (%2).`));return r&&this.check(t,2),(this.array[t]<<8|this.array[t+1])>>>0};readUint16=(t=0,e=this.platformEndianness,r=true,i=true)=>this.normalizeEndianness(e)==="LE"?this.readUint16LE(t,r,i):this.readUint16BE(t,r,i);readUint32LE=(t=0,e=true,r=true)=>{if(e&&t%4!==0)throw new RangeError(h("readUint32LE",`Invalid offset alignment: '${t}' (%4).`));return r&&this.check(t,4),(this.array[t]|this.array[t+1]<<8|this.array[t+2]<<16|this.array[t+3]<<24)>>>0};readUint32BE=(t=0,e=true,r=true)=>{if(e&&t%4!==0)throw new RangeError(h("readUint32BE",`Invalid offset alignment: '${t}' (%4).`));return r&&this.check(t,4),(this.array[t]<<24|this.array[t+1]<<16|this.array[t+2]<<8|this.array[t+3])>>>0};readUint32=(t=0,e=this.platformEndianness,r=true,i=true)=>this.normalizeEndianness(e)==="LE"?this.readUint32LE(t,r,i):this.readUint32BE(t,r,i);readBits=(t=0,e=this.length*8-t*8,r=true,i=true)=>{let s=[];for(let a=0;a<e;a++)s.push(this.readBit(t+a,r,i));return s};readUint8Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint8Array(this.arrayBuffer,t??this.offset,e??this.length));readUint16Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint16Array(this.arrayBuffer,t??this.offset,e?e/2:this.length/2));readUint32Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint32Array(this.arrayBuffer,t??this.offset,e?e/4:this.length/4));readBigIntLE=(t=0,e=this.length-t,r=true)=>{r&&this.check(t,e);let i=0n;for(let s=e-1;s>=0;s--)i=i<<8n|BigInt(this.array[t+s]);return i};readBigIntBE=(t=0,e=this.length-t,r=true)=>{r&&this.check(t,e);let i=0n;for(let s=0;s<e;s++)i=i<<8n|BigInt(this.array[t+s]);return i};readBigInt=(t=0,e=this.length-t,r=this.platformEndianness,i=true)=>this.normalizeEndianness(r)==="LE"?this.readBigIntLE(t,e,i):this.readBigIntBE(t,e,i);toHexString=(t=false,e=this.platformEndianness)=>{let r=Buffer.from(this.arrayBuffer).toString("hex").toUpperCase();return this.normalizeEndianness(e)==="BE"&&(r=r.match(/.{2}/g)?.reverse().join("")??""),t?`0x${r}`:r};toUtf8String=()=>Buffer.from(this.arrayBuffer).toString("utf8");toString=(t="hex",e=false)=>t==="utf8"?this.toUtf8String():this.toHexString(e);toBits=(t=true)=>{let e=this.length*8,r=new Array(e);for(let i=0;i<e;i++)r[i]=this.readBit(i,t);return r};toUint8Array=()=>new Uint8Array(this.arrayBuffer,this.offset,this.length);toUint16Array=()=>new Uint16Array(this.arrayBuffer,this.offset,this.length/2);toUint32Array=()=>new Uint32Array(this.arrayBuffer,this.offset,this.length/4);toBigInt=(t=this.platformEndianness)=>this.normalizeEndianness(t)==="LE"?this.readBigIntLE():this.readBigIntBE();equals=t=>{if(this.length!==t.length)return false;for(let e=0;e<this.length;e++)if(this.array[e]!==t[e])return false;return true};isEmpty=()=>{for(let t=0;t<this.length;t++)if(this.array[t]!==0)return false;return true};isFull=()=>{for(let t=0;t<this.length;t++)if(this.array[t]!==255)return false;return true};randomFill=(t=0,e=this.length-t)=>{this.check(t,e);for(let r=0;r<e;r++)this.array[t+r]=Math.floor(Math.random()*256);};safeRandomFill=(t=0,e=this.length)=>randomFillSync(this.array,t,e);copy=(t=0,e=this.length)=>{this.check(t,e);let r=new n(e);for(let i=0;i<e;i++)r[i]=this.array[i+t];return r};subarray=(t=0,e=this.length)=>(this.check(t,e),new n(e,{arrayBuffer:this.arrayBuffer,offset:t,length:e}));swap=(t=0,e=this.length,r=4)=>{if(r<2)throw new RangeError(h("swap",`Invalid word length: '${r}'.`));if(r%2!==0)throw new RangeError(h("swap",`Invalid word length alignment: '${r}'.`));this.check(t,e);let i=t+e;for(let s=0;s<i;s+=r){let a=s+t;for(let o=0;o<r/2;o++){let c=this.array[a+o];this.array[a+o]=this.array[a+r-o-1],this.array[a+r-o-1]=c;}}return this};partialReverse=(t=0,e=this.length)=>{this.check(t,e);let r=Math.floor(e/2),i=t+e;for(let s=0;s<r;s++){let a=s+t,o=i-s-1,c=this.array[a];this.array[a]=this.array[o],this.array[o]=c;}return this};reverse=()=>(this.array.reverse(),this);rotateLeft=()=>{let t=this.array[0];for(let e=0;e<this.length-1;e++)this.array[e]=this.array[e+1];return this.array[this.length-1]=t,this};rotateRight=()=>{let t=this.array[this.length-1];for(let e=this.length-1;e>0;e--)this.array[e]=this.array[e-1];return this.array[0]=t,this};shiftLeft=(t=0,e=this.length,r=1)=>{this.check(t,e);for(let i=0;i<this.length-1;i++)this.array[i]=this.array[i+r];for(let i=0;i<r;i++)this.array[this.length-i-1]=0;return this};shiftRight=(t=0,e=this.length,r=1)=>{this.check(t,e);for(let i=this.length-1;i>0;i--)this.array[i]=this.array[i-r];for(let i=0;i<r;i++)this.array[i]=0;return this};fill=(t,e=0,r=this.length)=>{if(t<0||t>255)throw new RangeError(h("fill",`Invalid value: '${t}'.`));return this.check(e,r),this.array.fill(t,e,e+r),this};clear=(t=0,e=this.length)=>(this.check(t,e),this.array.fill(0,t,t+e),this)};function Z(){switch(process.platform){case "win32":return process.env.COMPUTERNAME;case "darwin":return execSync("scutil --get ComputerName").toString().trim();case "linux":{let n=execSync("hostnamectl --pretty").toString().trim();return n===""?hostname():n}default:return hostname()}}var w={BAD_REQUEST:{status:400,name:"BadRequest",message:"Bad request.",data:null},UNAUTHORIZED:{status:401,name:"Unauthorized",message:"Unauthorized.",data:null},PAYMENT_REQUIRED:{status:402,name:"PaymentRequired",message:"Payment required.",data:null},FORBIDDEN:{status:403,name:"Forbidden",message:"Forbidden.",data:null},NOT_FOUND:{status:404,name:"NotFound",message:"Not found.",data:null},METHOD_NOT_ALLOWED:{status:405,name:"MethodNotAllowed",message:"Method not allowed.",data:null},REQUEST_TIMEOUT:{status:408,name:"RequestTimeout",message:"Request timed out.",data:null},CONFLICT:{status:409,name:"Conflict",message:"Conflict.",data:null},INTERNAL_SERVER_ERROR:{status:500,name:"InternalServerError",message:"Internal server error.",data:null},BACKEND_FUNCTION_RUNNING_ON_CLIENT:{status:500,name:"BackendFunctionRunningOnClient",message:"A function reserved for the backend is running on the client.",data:null},NOT_IMPLEMENTED:{status:501,name:"NotImplemented",message:"Not implemented.",data:null},BANDWIDTH_LIMIT_EXCEEDED:{status:509,name:"BandwidthLimitExceeded",message:"Bandwidth limit exceeded.",data:null}};var S=class{_req;_res;_read;_write;_update;_replace;_remove;_options;constructor(t,e,r,i){this.setRequestResponse(t,e),this.setMethods(r||{}),this.setOptions(i||{});}setRequestResponse(t,e){this._req=t,this._res=e;}setMethods(t){this._read=t?.read,this._write=t?.write,this._update=t?.update,this._replace=t?.replace,this._remove=t?.remove;}setOptions(t){this._options={...this._options,...t};}_checkDataValidity(t){return t!=null}successResponse(t,e){return this._res.status(t).send({success:true,data:this._checkDataValidity(e)?e:null})}errorResponse(t,e,r){let i={success:false,message:r||t.message,error:this._checkDataValidity(e)?{...t,data:e}:t};return this._res.status(t.status).send(i)}async _executeMethod(t,e){return typeof t=="function"?(await t(e),true):(await t.method(e),true)}async run(){let t={req:this._req,res:this._res,wrapper:this};try{switch(this._req.method){case "GET":if(this._read)return await this._executeMethod(this._read,t);break;case "POST":if(this._write)return await this._executeMethod(this._write,t);break;case "PATCH":if(this._update)return await this._executeMethod(this._update,t);break;case "PUT":if(this._replace)return await this._executeMethod(this._replace,t);break;case "DELETE":if(this._remove)return await this._executeMethod(this._remove,t);break;default:return this.errorResponse(w.METHOD_NOT_ALLOWED)}}catch(e){return this.errorResponse(w.INTERNAL_SERVER_ERROR,e)}}};var R=class{_req;_res;_read;_write;_update;_replace;_remove;_options;constructor(t,e,r,i){this.setRequestResponse(t,e),this.setMethods(r||{}),this.setOptions(i||{});}setRequestResponse(t,e){this._req=t,this._res=e;}setMethods(t){this._read=t?.read,this._write=t?.write,this._update=t?.update,this._replace=t?.replace,this._remove=t?.remove;}setOptions(t){this._options={...this._options,...t};}_checkDataValidity(t){return t!=null}successResponse(t,e){return this._res.status(t).send({success:true,data:this._checkDataValidity(e)?e:null})}errorResponse(t,e,r){let i={success:false,message:r||t.message,error:this._checkDataValidity(e)?{...t,data:e}:t};return this._res.status(t.status).send(i)}hasRole(t,e){return t.roles?.includes(e)}hasSomeRoles(t,e){return e.some(r=>t.roles?.includes(r))}hasAllRoles(t,e){return e.every(r=>t.roles?.includes(r))}checkAuthOptions(t,e){return e.requireAuth&&!t?(this.errorResponse(w.UNAUTHORIZED),false):e.hasRole&&(!t||!this.hasRole(t.user,e.hasRole))?(this.errorResponse(w.UNAUTHORIZED),false):e.hasSomeRoles&&(!t||!this.hasSomeRoles(t.user,e.hasSomeRoles))?(this.errorResponse(w.UNAUTHORIZED),false):e.hasAllRoles&&(!t||!this.hasAllRoles(t.user,e.hasAllRoles))?(this.errorResponse(w.UNAUTHORIZED),false):true}async _executeMethod(t,e){return typeof t=="function"?(await t(e),true):t.authOptions&&!this.checkAuthOptions(e.session,t.authOptions)?false:(await t.method(e),true)}async run(){let t=this._options.authFunction?await this._options.authFunction(this._req,this._res):null;if(!this.checkAuthOptions(t,this._options))return;let r={req:this._req,res:this._res,session:t,wrapper:this};try{switch(this._req.method){case "GET":if(this._read)return await this._executeMethod(this._read,r);break;case "POST":if(this._write)return await this._executeMethod(this._write,r);break;case "PATCH":if(this._update)return await this._executeMethod(this._update,r);break;case "PUT":if(this._replace)return await this._executeMethod(this._replace,r);break;case "DELETE":if(this._remove)return await this._executeMethod(this._remove,r);break;default:return this.errorResponse(w.METHOD_NOT_ALLOWED)}}catch(i){return this.errorResponse(w.INTERNAL_SERVER_ERROR,i)}}};export{b as Bench,N as CyBuffer,S as NextApiWrapper,R as NextAuthApiWrapper,z as crypto,j as generateCGASStatus,Z as getHostname,y as logger};//# sourceMappingURL=backend.js.map
|
|
3
|
+
`).map((d,w)=>w===0?d:d.padStart(d.length+u.foreignObjectPadding," ")).join(`
|
|
4
|
+
`));let g=a(`${o}${c}${n.msg}${f}`);return s&&(g=s(g)),console.log(g),""}var j=C({crlf:false,colorize:true,sync:true,include:"",messageFormat:(n,t,e,{colors:r})=>v(n,r)}),l=P({level:u.level},j);l.setLevel=n=>{u.level=n,l.level=n;};l.setShowLevel=n=>{u.showLevel=n;};l.setShowTimestamp=n=>{u.showTimestamp=n;};l.setForeignObjectStartAtNewLine=n=>{u.foreignObjectStartAtNewLine=n;};l.setForeignObjectPadding=n=>{u.foreignObjectPadding=n;};l.setForeignObjectIndent=n=>{u.foreignObjectIndent=n;};l.setAlignForeignObject=(n=false)=>{u.alignForeignObject=n;};l.setParameters=n=>{Object.assign(u,n);};l.resetParameters=()=>{Object.assign(u,B);};var y=l;I.default||I;function M(n,t="Op",e="s",r=12,i=true){let s;typeof t=="string"&&typeof e=="string"?s=`${t}/${e}`:typeof t=="string"?s=t:s="";let a=i?" ":"";return n>=10**24?`${(n/10**24).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}Y${s}`.padStart(r," "):n>=10**18?`${(n/10**18).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}E${s}`.padStart(r," "):n>=10**15?`${(n/10**15).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}P${s}`.padStart(r," "):n>=10**12?`${(n/10**12).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}T${s}`.padStart(r," "):n>=10**9?`${(n/10**9).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}G${s}`.padStart(r," "):n>=10**6?`${(n/10**6).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}M${s}`.padStart(r," "):n>=10**3?`${(n/10**3).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}k${s}`.padStart(r," "):`${n.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}${a}${s}`.padStart(r," ")}function O(n,t=8){return n>=3600000000000000n?`${(Number(n)/36e14).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}h`.padStart(t," "):n>=60000000000n?`${(Number(n)/6e10).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}m`.padStart(t," "):n>=1000000000n?`${(Number(n)/1e9).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}s`.padStart(t," "):n>=1000000n?`${(Number(n)/1e6).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}ms`.padStart(t," "):n>=1000n?`${(Number(n)/1e3).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}\xB5s`.padStart(t," "):`${n.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}ns`.padStart(t," ")}function L(n,t=7){return `${n.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}%`.padStart(t," ")}var b=class{benchmarkDuration;results={};constructor(t=256){this.benchmarkDuration=t;}benchmark=(t,e)=>{let i=process.hrtime.bigint(),s=0,a=0,o=0,c=0n,f=0n,g=0n,d=BigInt(this.benchmarkDuration)*1000000n;for(let w=0;w<Number.POSITIVE_INFINITY;w++)if(f=process.hrtime.bigint(),t(),g=process.hrtime.bigint(),c+=g-f,g-i>=d){a=Number(c)/w,s=1e9/a,o=Number(g-i)/a;break}this.results[e]={operationsPerSecond:s,avgExecutionTime:a,operations:o};};print=(t,e=true)=>{let r=t||"RESULTS";y.info(`
|
|
5
|
+
${r.toUpperCase()}:`),y.info("=".repeat(r.length+1));let i=0;for(let a of Object.keys(this.results))a.length>i&&(i=a.length);let s=Object.entries(this.results).sort((a,o)=>o[1].operationsPerSecond-a[1].operationsPerSecond);for(let[a,o]of s){let c=s[0][1].operationsPerSecond,f=o.operationsPerSecond/c*100,g=`>> ${a} `.padEnd(i+4,"\u2550"),d=`AVG TIME: ${O(o.avgExecutionTime)}`,w=`OPS: ${M(o.operationsPerSecond)}`,_=`PERCENTAGE: ${L(f)}`,A=`${g}\u2550> ${d} | ${w} | ${_}`,x=10;f>=90?y.debug(A+"(fastest)".padStart(x," ")):f>=60?y.info(A+"(fast)".padStart(x," ")):f>=30?y.warn(A+"(medium)".padStart(x," ")):f>=10?y.error(A+"(slow)".padStart(x," ")):y.error(A+"(slowest)".padStart(x," "));}e&&(this.results={});}};function G(n,t,e,r,i){return i?t:{status:n,marker:t,timestamp:new Date().toISOString(),version:{raw:e??"unavailable",formatted:e?`v${e}`:"unavailable"},message:r??"The application is running smoothly."}}function V(n,t){let e=Buffer.from(n,"base64");if(e.length!==32)throw new Error(`Invalid key length: expected 32 bytes, got ${e.length}`);let r=randomBytes(12).toString("base64"),i=createCipheriv("aes-256-gcm",e,Buffer.from(r,"base64")),s=i.update(t,"utf8","base64");s+=i.final("base64");let a=i.getAuthTag(),o=`${r}.${s}.${a.toString("base64")}`;return {iv:r,ciphertext:s,tag:a,payload:o}}function $(n,t,e,r){try{let i=createDecipheriv("aes-256-gcm",Buffer.from(n,"base64"),Buffer.from(t,"base64"));i.setAuthTag(Buffer.from(r,"base64"));let s=i.update(e,"base64","utf8");return s+=i.final("utf8"),s}catch{return null}}function z(n,t){let e=t.split(".");if(e.length!==3)throw new Error("Invalid payload format");let[r,i,s]=e;return $(n,r,i,s)}var X={aes256Gcm:{encrypt:V,decrypt:$,decryptPayload:z}};function h(n,t){return `[CyBuffer - ${n}] ${t}`}var N=class n{platformEndianness;arrayBuffer;array;offset;length;constructor(t,e){if(t<0)throw new RangeError(h("constructor",`Invalid buffer length: '${t}'.`));if(!Number.isInteger(t))throw new TypeError(h("constructor",`Invalid buffer length: '${t}'.`));return this.platformEndianness=this.getPlatformEndianness(),e?(this.arrayBuffer=e.arrayBuffer,this.offset=e.offset??0,this.length=e.length??t,this.array=new Uint8Array(this.arrayBuffer,this.offset,this.length)):(this.arrayBuffer=new ArrayBuffer(t),this.offset=0,this.length=t,this.array=new Uint8Array(this.arrayBuffer)),this._proxy}getPlatformEndianness=()=>{let t=new Uint8Array(4),e=new Uint32Array(t.buffer);return e[0]=65280,t[0]===255?"BE":"LE"};normalizeEndianness=t=>this.platformEndianness==="BE"?t==="LE"?"BE":"LE":t;check=(t,e)=>{if(Number.isNaN(t)||Number.isNaN(e))throw new TypeError(h("check",`Invalid offset: '${t}' or length: '${e}'.`));if(t<0||t>=this.length)throw new RangeError(h("check",`Invalid offset: '${t}', it must be >= 0 & < ${this.length}.`));if(e<1||e>this.length)throw new RangeError(h("check",`Invalid length: '${e}', it must be > 0 & <= ${this.length}.`));if(t+e>this.length)throw new RangeError(h("check",`Invalid offset (${t}) + length (${e}): '${t+e}', it must be <= ${this.length}.`));if(t%1!==0)throw new RangeError(h("check",`Invalid offset alignment: '${t}'.`));if(e%1!==0)throw new RangeError(h("check",`Invalid length alignment: '${e}'.`));return this};static alloc=(t,e)=>{let r=new n(t);return e!==void 0&&r.fill(e),r};static fromHexString=t=>{t.startsWith("0x")&&(t=t.slice(2));let e=Math.ceil(t.length/2),r=new n(e);return r.writeHexString(t,0,e),r};static fromUtf8String=t=>{let e=new n(t.length);return e.writeUtf8String(t,0,t.length),e};static fromString=(t,e="utf8")=>{let r=new n(t.length);return r.writeString(t,e,0,t.length),r};static fromBits=(t,e=true)=>{let r=new n(Math.ceil(t.length/8));return r.writeBits(t,0,t.length,e),r};static fromUint8Array=t=>{let e=new n(t.byteLength);return e.writeUint8Array(t,0,t.byteLength),e};static fromUint16Array=t=>{let e=new n(t.byteLength);return e.writeUint16Array(t,0,t.byteLength),e};static fromUint32Array=t=>{let e=new n(t.byteLength);return e.writeUint32Array(t,0,t.byteLength),e};static fromBigInt=(t,e)=>{if(t<0n)throw new RangeError(h("fromBigInt",`Invalid big integer: '${t}'.`));let r=Math.ceil(t.toString(16).length/2),i=new n(r);return i.writeBigInt(t,0,r,e),i};static fromRange=(t,e)=>{let r=new n(e-t);return r.writeRange(t,e),r};get _proxy(){return new Proxy(this,{get:(t,e)=>typeof e=="string"&&!Number.isNaN(Number(e))?(this.check(Number(e),1),t.array[Number(e)]??void 0):t[e],set:(t,e,r)=>{if(typeof e=="string"&&!Number.isNaN(Number(e))){let i=Number(r);if(Number.isNaN(i))throw new TypeError(h("proxy",`Invalid value: '${r}'.`));if(i<0||i>255)throw new RangeError(h("proxy",`Value is out of bounds: '${r}'.`));return this.check(Number(e),1),t.array[Number(e)]=r,true}return t[e]=r,true}})}*[Symbol.iterator](){let t=0;for(;t<this.length;)yield this.array[t++];}*entries(){for(let t=0;t<this.length;t++)yield [t,this.array[t]];}writeHexString=(t,e=0,r=t.length/2)=>{if(r===0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${r}'.`));if(r%1!==0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${r}'.`));if(t.length%2!==0)throw new RangeError(h("writeHexString",`Invalid hexadecimal string length: '${t.length}'.`));t.startsWith("0x")&&(r===t.length/2&&(r=(t.length-2)/2),t=t.slice(2)),this.check(e,r);for(let i=0;i<r;i++){let s=t.charCodeAt(i*2)|32,a=t.charCodeAt(i*2+1)|32;this.array[e+i]=s-(s>57?87:48)<<4|a-(a>57?87:48);}return this};writeUtf8String=(t,e=0,r=t.length)=>{if(r===0)throw new RangeError(h("writeUtf8String",`Invalid UTF-8 string length: '${r}'.`));this.check(e,r);for(let i=0;i<r;i++)this.array[e+i]=t.charCodeAt(i);return this};writeString=(t,e="utf8",r=0,i=t.length)=>{if(e==="utf8")return this.writeUtf8String(t,r,i),this;if(e==="hex")return this.writeHexString(t,r,Math.ceil(i/2)),this;throw new TypeError(h("writeString",`Invalid encoding: '${e}'.`))};writeBit=(t,e=0,r=true,i=true)=>{if(t<0||t>1)throw new RangeError(h("writeBit",`Value is out of bounds: '${t}'.`));let s=Math.floor(e/8);i&&this.check(s,1);let a=r?7-e%8:e%8;return t===1?this.array[s]|=1<<a:this.array[s]&=~(1<<a),this};writeUint8=(t,e=0,r=true)=>{if(t<0||t>255)throw new RangeError(h("writeUint8",`Value is out of bounds: '${t}'.`));return r&&this.check(e,1),t>>>=0,this.array[e]=t,this};writeUint16LE=(t,e=0,r=true,i=true)=>{if(t<0||t>65535)throw new RangeError(h("writeUint16LE",`Value is out of bounds: '${t}'.`));if(r&&e%2!==0)throw new RangeError(h("writeUint16LE",`Invalid offset alignment: '${e}' (%2).`));return i&&this.check(e,2),t>>>=0,this.array[e]=t&255,this.array[e+1]=t>>8&255,this};writeUint16BE=(t,e=0,r=true,i=true)=>{if(t<0||t>65535)throw new RangeError(h("writeUint16BE",`Value is out of bounds: '${t}'.`));if(r&&e%2!==0)throw new RangeError(h("writeUint16BE",`Invalid offset alignment: '${e}' (%2).`));return i&&this.check(e,2),t>>>=0,this.array[e]=t>>8&255,this.array[e+1]=t&255,this};writeUint16=(t,e=0,r=this.platformEndianness,i=true,s=true)=>this.normalizeEndianness(r)==="LE"?(this.writeUint16LE(t,e,i,s),this):(this.writeUint16BE(t,e,i,s),this);writeUint32LE=(t,e=0,r=true,i=true)=>{if(t<0||t>4294967295)throw new RangeError(h("writeUint32LE",`Value is out of bounds: '${t}'.`));if(r&&e%4!==0)throw new RangeError(h("writeUint32LE",`Invalid offset alignment: '${e}' (%4).`));return i&&this.check(e,4),t>>>=0,this.array[e]=t&255,this.array[e+1]=t>>8&255,this.array[e+2]=t>>16&255,this.array[e+3]=t>>24&255,this};writeUint32BE=(t,e=0,r=true,i=true)=>{if(t<0||t>4294967295)throw new RangeError(h("writeUint32BE",`Value is out of bounds: '${t}'.`));if(r&&e%4!==0)throw new RangeError(h("writeUint32BE",`Invalid offset alignment: '${e}' (%4).`));return i&&this.check(e,4),t>>>=0,this.array[e]=t>>24&255,this.array[e+1]=t>>16&255,this.array[e+2]=t>>8&255,this.array[e+3]=t&255,this};writeUint32=(t,e=0,r=this.platformEndianness,i=true,s=true)=>this.normalizeEndianness(r)==="LE"?(this.writeUint32LE(t,e,i,s),this):(this.writeUint32BE(t,e,i,s),this);writeBits=(t,e=0,r=t.length,i=true)=>{if(!t||!Array.isArray(t))throw new TypeError(h("writeBits",`Invalid array of bits: '${t}'.`));let s=Math.floor(e/8),a=Math.ceil(r/8);this.check(s,a);for(let o=0;o<r;o++)this.writeBit(t[o],e+o,i,false);return this};writeUint8Array=(t,e=0,r=t.byteLength,i=0)=>{if(!t||!(t instanceof Uint8Array))throw new TypeError(h("writeUint8Array",`Invalid Uint8Array: '${t}'.`));this.check(e,r);for(let s=i;s<r;s++)this.array[e-i+s]=t[s];return this};writeUint16Array=(t,e=0,r=t.byteLength,i=0,s=this.platformEndianness,a=true)=>{if(!t||!(t instanceof Uint16Array))throw new TypeError(h("writeUint16Array",`Invalid Uint16Array: '${t}'.`));if(a&&e%2!==0)throw new RangeError(h("writeUint16Array",`Invalid offset alignment: '${e}' (%2).`));if(this.check(e,r),this.normalizeEndianness(s)==="LE"){for(let o=i;o<r;o+=2)this.writeUint16LE(t[o/2],e-i+o,a,false);return this}for(let o=i;o<r;o+=2)this.writeUint16BE(t[o/2],e-i+o,a,false);return this};writeUint32Array=(t,e=0,r=t.byteLength,i=0,s=this.platformEndianness,a=true)=>{if(!t||!(t instanceof Uint32Array))throw new TypeError(h("writeUint32Array",`Invalid Uint32Array: '${t}'.`));if(a&&e%4!==0)throw new RangeError(h("writeUint32Array",`Invalid offset alignment: '${e}' (%4).`));if(this.check(e,r),this.normalizeEndianness(s)==="LE"){for(let o=i;o<r;o+=4)this.writeUint32LE(t[o/4],e-i+o,a,false);return this}for(let o=i;o<r;o+=4)this.writeUint32BE(t[o/4],e-i+o,a,false);return this};writeBigIntLE=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2))=>{if(t<0n)throw new RangeError(h("writeBigIntLE",`Invalid big integer value: '${t}'.`));this.check(e,r);for(let i=0;i<r;i++)this.array[e+i]=Number(t&BigInt(255)),t>>=BigInt(8);return this};writeBigIntBE=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2))=>{if(t<0n)throw new RangeError(h("writeBigIntBE",`Invalid big integer value: '${t}'.`));this.check(e,r);for(let i=r-1;i>=0;i--)this.array[e+i]=Number(t&BigInt(255)),t>>=BigInt(8);return this};writeBigInt=(t,e=0,r=Math.ceil(Number(t).toString(16).length/2),i=this.platformEndianness)=>this.normalizeEndianness(i)==="LE"?(this.writeBigIntLE(t,e,r),this):(this.writeBigIntBE(t,e,r),this);writeRange=(t,e,r=0)=>{if(t<0||t>255)throw new RangeError(h("writeRange",`Invalid start value: '${t}'.`));if(e<0||e>255)throw new RangeError(h("writeRange",`Invalid end value: '${e}'.`));let i=e-t;this.check(r,i);for(let s=0;s<i;s++)this.array[r+s]=t+s;return this};readHexStringLE=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("hex").toUpperCase());readHexStringBE=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("hex").toUpperCase().match(/.{2}/g).reverse().join(""));readHexString=(t=0,e=this.length-t,r=this.platformEndianness,i=true)=>(i&&this.check(t,e),this.normalizeEndianness(r)==="LE"?this.readHexStringLE(t,e,false):this.readHexStringBE(t,e,false));readUtf8String=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),Buffer.from(this.arrayBuffer,t,e).toString("utf8"));readBit=(t=0,e=true,r=true)=>{let i=Math.floor(t/8);r&&this.check(i,1);let s=e?7-t%8:t%8;return (this.array[i]&1<<s)!==0?1:0};readUint8=(t=0,e=true)=>(e&&this.check(t,1),this.array[t]);readUint16LE=(t=0,e=true,r=true)=>{if(e&&t%2!==0)throw new RangeError(h("readUint16LE",`Invalid offset alignment: '${t}' (%2).`));return r&&this.check(t,2),(this.array[t]|this.array[t+1]<<8)>>>0};readUint16BE=(t=0,e=true,r=true)=>{if(e&&t%2!==0)throw new RangeError(h("readUint16BE",`Invalid offset alignment: '${t}' (%2).`));return r&&this.check(t,2),(this.array[t]<<8|this.array[t+1])>>>0};readUint16=(t=0,e=this.platformEndianness,r=true,i=true)=>this.normalizeEndianness(e)==="LE"?this.readUint16LE(t,r,i):this.readUint16BE(t,r,i);readUint32LE=(t=0,e=true,r=true)=>{if(e&&t%4!==0)throw new RangeError(h("readUint32LE",`Invalid offset alignment: '${t}' (%4).`));return r&&this.check(t,4),(this.array[t]|this.array[t+1]<<8|this.array[t+2]<<16|this.array[t+3]<<24)>>>0};readUint32BE=(t=0,e=true,r=true)=>{if(e&&t%4!==0)throw new RangeError(h("readUint32BE",`Invalid offset alignment: '${t}' (%4).`));return r&&this.check(t,4),(this.array[t]<<24|this.array[t+1]<<16|this.array[t+2]<<8|this.array[t+3])>>>0};readUint32=(t=0,e=this.platformEndianness,r=true,i=true)=>this.normalizeEndianness(e)==="LE"?this.readUint32LE(t,r,i):this.readUint32BE(t,r,i);readBits=(t=0,e=this.length*8-t*8,r=true,i=true)=>{let s=[];for(let a=0;a<e;a++)s.push(this.readBit(t+a,r,i));return s};readUint8Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint8Array(this.arrayBuffer,t??this.offset,e??this.length));readUint16Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint16Array(this.arrayBuffer,t??this.offset,e?e/2:this.length/2));readUint32Array=(t=0,e=this.length-t,r=true)=>(r&&this.check(t,e),new Uint32Array(this.arrayBuffer,t??this.offset,e?e/4:this.length/4));readBigIntLE=(t=0,e=this.length-t,r=true)=>{r&&this.check(t,e);let i=0n;for(let s=e-1;s>=0;s--)i=i<<8n|BigInt(this.array[t+s]);return i};readBigIntBE=(t=0,e=this.length-t,r=true)=>{r&&this.check(t,e);let i=0n;for(let s=0;s<e;s++)i=i<<8n|BigInt(this.array[t+s]);return i};readBigInt=(t=0,e=this.length-t,r=this.platformEndianness,i=true)=>this.normalizeEndianness(r)==="LE"?this.readBigIntLE(t,e,i):this.readBigIntBE(t,e,i);toHexString=(t=false,e=this.platformEndianness)=>{let r=Buffer.from(this.arrayBuffer).toString("hex").toUpperCase();return this.normalizeEndianness(e)==="BE"&&(r=r.match(/.{2}/g)?.reverse().join("")??""),t?`0x${r}`:r};toUtf8String=()=>Buffer.from(this.arrayBuffer).toString("utf8");toString=(t="hex",e=false)=>t==="utf8"?this.toUtf8String():this.toHexString(e);toBits=(t=true)=>{let e=this.length*8,r=new Array(e);for(let i=0;i<e;i++)r[i]=this.readBit(i,t);return r};toUint8Array=()=>new Uint8Array(this.arrayBuffer,this.offset,this.length);toUint16Array=()=>new Uint16Array(this.arrayBuffer,this.offset,this.length/2);toUint32Array=()=>new Uint32Array(this.arrayBuffer,this.offset,this.length/4);toBigInt=(t=this.platformEndianness)=>this.normalizeEndianness(t)==="LE"?this.readBigIntLE():this.readBigIntBE();equals=t=>{if(this.length!==t.length)return false;for(let e=0;e<this.length;e++)if(this.array[e]!==t[e])return false;return true};isEmpty=()=>{for(let t=0;t<this.length;t++)if(this.array[t]!==0)return false;return true};isFull=()=>{for(let t=0;t<this.length;t++)if(this.array[t]!==255)return false;return true};randomFill=(t=0,e=this.length-t)=>{this.check(t,e);for(let r=0;r<e;r++)this.array[t+r]=Math.floor(Math.random()*256);};safeRandomFill=(t=0,e=this.length)=>randomFillSync(this.array,t,e);copy=(t=0,e=this.length)=>{this.check(t,e);let r=new n(e);for(let i=0;i<e;i++)r[i]=this.array[i+t];return r};subarray=(t=0,e=this.length)=>(this.check(t,e),new n(e,{arrayBuffer:this.arrayBuffer,offset:t,length:e}));swap=(t=0,e=this.length,r=4)=>{if(r<2)throw new RangeError(h("swap",`Invalid word length: '${r}'.`));if(r%2!==0)throw new RangeError(h("swap",`Invalid word length alignment: '${r}'.`));this.check(t,e);let i=t+e;for(let s=0;s<i;s+=r){let a=s+t;for(let o=0;o<r/2;o++){let c=this.array[a+o];this.array[a+o]=this.array[a+r-o-1],this.array[a+r-o-1]=c;}}return this};partialReverse=(t=0,e=this.length)=>{this.check(t,e);let r=Math.floor(e/2),i=t+e;for(let s=0;s<r;s++){let a=s+t,o=i-s-1,c=this.array[a];this.array[a]=this.array[o],this.array[o]=c;}return this};reverse=()=>(this.array.reverse(),this);rotateLeft=()=>{let t=this.array[0];for(let e=0;e<this.length-1;e++)this.array[e]=this.array[e+1];return this.array[this.length-1]=t,this};rotateRight=()=>{let t=this.array[this.length-1];for(let e=this.length-1;e>0;e--)this.array[e]=this.array[e-1];return this.array[0]=t,this};shiftLeft=(t=0,e=this.length,r=1)=>{this.check(t,e);for(let i=0;i<this.length-1;i++)this.array[i]=this.array[i+r];for(let i=0;i<r;i++)this.array[this.length-i-1]=0;return this};shiftRight=(t=0,e=this.length,r=1)=>{this.check(t,e);for(let i=this.length-1;i>0;i--)this.array[i]=this.array[i-r];for(let i=0;i<r;i++)this.array[i]=0;return this};fill=(t,e=0,r=this.length)=>{if(t<0||t>255)throw new RangeError(h("fill",`Invalid value: '${t}'.`));return this.check(e,r),this.array.fill(t,e,e+r),this};clear=(t=0,e=this.length)=>(this.check(t,e),this.array.fill(0,t,t+e),this)};function Q(){switch(process.platform){case "win32":return process.env.COMPUTERNAME;case "darwin":return execSync("scutil --get ComputerName").toString().trim();case "linux":{let n=execSync("hostnamectl --pretty").toString().trim();return n===""?hostname():n}default:return hostname()}}var E={BAD_REQUEST:{status:400,name:"BadRequest",message:"Bad request.",data:null},UNAUTHORIZED:{status:401,name:"Unauthorized",message:"Unauthorized.",data:null},PAYMENT_REQUIRED:{status:402,name:"PaymentRequired",message:"Payment required.",data:null},FORBIDDEN:{status:403,name:"Forbidden",message:"Forbidden.",data:null},NOT_FOUND:{status:404,name:"NotFound",message:"Not found.",data:null},METHOD_NOT_ALLOWED:{status:405,name:"MethodNotAllowed",message:"Method not allowed.",data:null},REQUEST_TIMEOUT:{status:408,name:"RequestTimeout",message:"Request timed out.",data:null},CONFLICT:{status:409,name:"Conflict",message:"Conflict.",data:null},INTERNAL_SERVER_ERROR:{status:500,name:"InternalServerError",message:"Internal server error.",data:null},BACKEND_FUNCTION_RUNNING_ON_CLIENT:{status:500,name:"BackendFunctionRunningOnClient",message:"A function reserved for the backend is running on the client.",data:null},NOT_IMPLEMENTED:{status:501,name:"NotImplemented",message:"Not implemented.",data:null},BANDWIDTH_LIMIT_EXCEEDED:{status:509,name:"BandwidthLimitExceeded",message:"Bandwidth limit exceeded.",data:null}};var S=class{_req;_res;_read;_write;_update;_replace;_remove;_options;constructor(t,e,r,i){this.setRequestResponse(t,e),this.setMethods(r||{}),this.setOptions(i||{});}setRequestResponse(t,e){this._req=t,this._res=e;}setMethods(t){this._read=t?.read,this._write=t?.write,this._update=t?.update,this._replace=t?.replace,this._remove=t?.remove;}setOptions(t){this._options={...this._options,...t};}_checkDataValidity(t){return t!=null}successResponse(t,e){return this._res.status(t).send({success:true,data:this._checkDataValidity(e)?e:null})}errorResponse(t,e,r){let i={success:false,message:r||t.message,error:this._checkDataValidity(e)?{...t,data:e}:t};return this._res.status(t.status).send(i)}async _executeMethod(t,e){return typeof t=="function"?(await t(e),true):(await t.method(e),true)}async run(){let t={req:this._req,res:this._res,wrapper:this};try{switch(this._req.method){case "GET":if(this._read)return await this._executeMethod(this._read,t);break;case "POST":if(this._write)return await this._executeMethod(this._write,t);break;case "PATCH":if(this._update)return await this._executeMethod(this._update,t);break;case "PUT":if(this._replace)return await this._executeMethod(this._replace,t);break;case "DELETE":if(this._remove)return await this._executeMethod(this._remove,t);break;default:return this.errorResponse(E.METHOD_NOT_ALLOWED)}}catch(e){return this.errorResponse(E.INTERNAL_SERVER_ERROR,e)}}};var R=class{_req;_res;_read;_write;_update;_replace;_remove;_options;constructor(t,e,r,i){this.setRequestResponse(t,e),this.setMethods(r||{}),this.setOptions(i||{});}setRequestResponse(t,e){this._req=t,this._res=e;}setMethods(t){this._read=t?.read,this._write=t?.write,this._update=t?.update,this._replace=t?.replace,this._remove=t?.remove;}setOptions(t){this._options={...this._options,...t};}_checkDataValidity(t){return t!=null}successResponse(t,e){return this._res.status(t).send({success:true,data:this._checkDataValidity(e)?e:null})}errorResponse(t,e,r){let i={success:false,message:r||t.message,error:this._checkDataValidity(e)?{...t,data:e}:t};return this._res.status(t.status).send(i)}hasRole(t,e){return t.roles?.includes(e)}hasSomeRoles(t,e){return e.some(r=>t.roles?.includes(r))}hasAllRoles(t,e){return e.every(r=>t.roles?.includes(r))}checkAuthOptions(t,e){return e.requireAuth&&!t?(this.errorResponse(E.UNAUTHORIZED),false):e.hasRole&&(!t||!this.hasRole(t.user,e.hasRole))?(this.errorResponse(E.UNAUTHORIZED),false):e.hasSomeRoles&&(!t||!this.hasSomeRoles(t.user,e.hasSomeRoles))?(this.errorResponse(E.UNAUTHORIZED),false):e.hasAllRoles&&(!t||!this.hasAllRoles(t.user,e.hasAllRoles))?(this.errorResponse(E.UNAUTHORIZED),false):true}async _executeMethod(t,e){return typeof t=="function"?(await t(e),true):t.authOptions&&!this.checkAuthOptions(e.session,t.authOptions)?false:(await t.method(e),true)}async run(){let t=this._options.authFunction?await this._options.authFunction(this._req,this._res):null;if(!this.checkAuthOptions(t,this._options))return;let r={req:this._req,res:this._res,session:t,wrapper:this};try{switch(this._req.method){case "GET":if(this._read)return await this._executeMethod(this._read,r);break;case "POST":if(this._write)return await this._executeMethod(this._write,r);break;case "PATCH":if(this._update)return await this._executeMethod(this._update,r);break;case "PUT":if(this._replace)return await this._executeMethod(this._replace,r);break;case "DELETE":if(this._remove)return await this._executeMethod(this._remove,r);break;default:return this.errorResponse(E.METHOD_NOT_ALLOWED)}}catch(i){return this.errorResponse(E.INTERNAL_SERVER_ERROR,i)}}};export{b as Bench,N as CyBuffer,S as NextApiWrapper,R as NextAuthApiWrapper,X as crypto,G as generateCGASStatus,Q as getHostname,y as logger};//# sourceMappingURL=backend.js.map
|
|
6
6
|
//# sourceMappingURL=backend.js.map
|