hysteria-orm 10.1.4 → 10.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.cjs +1 -1
- package/lib/cli.cjs.map +1 -1
- package/lib/cli.js +1 -1
- package/lib/cli.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +2 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';var ge=require('crypto'),Oe=require('dayjs'),kl=require('dayjs/plugin/customParseFormat.js'),Fl=require('dayjs/plugin/timezone.js'),Ll=require('dayjs/plugin/utc.js'),ml=require('fs'),sqlHighlight=require('sql-highlight'),sqlFormatter=require('sql-formatter'),ut=require('path'),dd=require('pluralize'),stream=require('stream'),url=require('url'),module$1=require('module'),bundleRequire=require('bundle-require');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ge__default=/*#__PURE__*/_interopDefault(ge);var Oe__default=/*#__PURE__*/_interopDefault(Oe);var kl__default=/*#__PURE__*/_interopDefault(kl);var Fl__default=/*#__PURE__*/_interopDefault(Fl);var Ll__default=/*#__PURE__*/_interopDefault(Ll);var ml__default=/*#__PURE__*/_interopDefault(ml);var ut__default=/*#__PURE__*/_interopDefault(ut);var dd__default=/*#__PURE__*/_interopDefault(dd);var $l=Object.defineProperty;var V=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var U=(i,t,e,r)=>{for(var o=void 0,n=i.length-1,s;n>=0;n--)(s=i[n])&&(o=(s(t,e,o))||o);return o&&$l(t,e,o),o};var P=class{static defineMetadata(t,e,r,o){if((typeof r!="object"||r===null)&&typeof r!="function")throw new TypeError("target must be an object or function");let n=this.store.get(r);n||(n=new Map,this.store.set(r,n));let s=n.get(o);s||(s=new Map,n.set(o,s)),s.set(t,e);}static getMetadata(t,e,r){if((typeof e!="object"||e===null)&&typeof e!="function")throw new TypeError("target must be an object or function");let o=e;for(;o;){let n=this.store.get(o);if(n){let s=n.get(r);if(s&&s.has(t))return s.get(t)}o=Object.getPrototypeOf(o);}}};P.store=new WeakMap;var hr=Symbol("mongoProperties");function gr(){return (i,t)=>{let e=P.getMetadata(hr,i)||[];e.push(t),P.defineMetadata(hr,e,i);}}function Ts(i){return P.getMetadata(hr,i.prototype)||[]}var u=class extends Error{constructor(t,e,r){super(t+" - "+e),this.code=e,this.caller=t,this.error=r;}};function Kl(i){return typeof i!="string"||!i?i:i.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/([A-Z])([A-Z][a-z])/g,"$1_$2").toLowerCase()}function Ql(i){return typeof i!="string"||!i?i:i.replace(/([-_][a-z])/g,t=>t.toUpperCase().replace("-","").replace("_",""))}function I(i,t){return t==="preserve"?i:t==="snake"?Kl(i):t==="camel"?Ql(i):t instanceof RegExp?i.replace(t,e=>e[1].toUpperCase()):t(i)}Oe__default.default.extend(Ll__default.default);Oe__default.default.extend(Fl__default.default);Oe__default.default.extend(kl__default.default);var mt=(i,t="ISO",e="UTC")=>{if(!(i instanceof Date)||isNaN(i.getTime()))throw new Error("Invalid date provided");let r=Oe__default.default(i);if(e==="LOCAL"){let n=r.local();switch(t){case "ISO":return n.format("YYYY-MM-DD HH:mm:ss");case "DATE_ONLY":return n.format("YYYY-MM-DD");case "TIME_ONLY":return n.format("HH:mm:ss");default:return n.unix().toString()}}let o=r.utc();switch(t){case "ISO":return o.format("YYYY-MM-DD HH:mm:ss");case "DATE_ONLY":return o.format("YYYY-MM-DD");case "TIME_ONLY":return o.format("HH:mm:ss");default:return o.unix().toString()}},bs=(i,t,e="UTC")=>{if(i===null)return null;if(i instanceof Date){if(isNaN(i.getTime()))throw new u("DateUtils::parseDate","INVALID_DATE_OBJECT");return i}try{let r=t?Oe__default.default(i,t):Oe__default.default(i);if(!r.isValid())throw new u("DateUtils::parseDate","INVALID_DATE_STRING");return e==="UTC"?r.utc().toDate():r.local().toDate()}catch{throw new u("DateUtils::parseDate","FAILED_TO_PARSE_DATE")}},ae=(i=new Date)=>Oe__default.default(i).utc().format("YYYY-MM-DD HH:mm:ss");var ws=(i,t)=>{try{let e=ge__default.default.createHash("sha256").update(i).digest(),r=ge__default.default.randomBytes(16),o=ge__default.default.createCipheriv("aes-256-cbc",e,r),n=o.update(t,"utf8","hex");return n+=o.final("hex"),`${r.toString("hex")}:${n}`}catch(e){throw new u("Encryption::encryptSymmetric","FAILED_TO_ENCRYPT_SYMMETRICALLY",e instanceof Error?e:void 0)}},Ss=(i,t)=>{try{let e=ge__default.default.createHash("sha256").update(i).digest(),[r,o]=t.split(":"),n=ge__default.default.createDecipheriv("aes-256-cbc",e,Buffer.from(r,"hex")),s=n.update(o,"hex","utf8");return s+=n.final("utf8"),s}catch(e){throw new u("Encryption::decryptSymmetric","FAILED_TO_DECRYPT_SYMMETRICALLY",e instanceof Error?e:void 0)}},Ns=(i,t)=>{try{let e=ge__default.default.randomBytes(32),r=ge__default.default.randomBytes(16),o=ge__default.default.createCipheriv("aes-256-cbc",e,r),n=o.update(t,"utf8","hex");n+=o.final("hex");let s=ge.publicEncrypt(i,e);return `${r.toString("hex")}:${s.toString("hex")}:${n}`}catch(e){throw new u("Encryption::encryptAsymmetric","FAILED_TO_ENCRYPT_ASYMMETRICALLY",e instanceof Error?e:void 0)}},Ms=(i,t)=>{try{let[e,r,o]=t.split(":"),n=ge.privateDecrypt(i,Buffer.from(r,"hex")),s=ge__default.default.createDecipheriv("aes-256-cbc",n,Buffer.from(e,"hex")),a=s.update(o,"hex","utf8");return a+=s.final("utf8"),a}catch(e){throw new u("Encryption::decryptAsymmetric","FAILED_TO_DECRYPT_ASYMMETRICALLY",e instanceof Error?e:void 0)}};var br="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Tr=br.length,Vl=10,Hl=16,Yl=(i,t)=>{let e="";for(let r=0;r<t;r++){let o=i%Tr;e=br.charAt(o)+e,i=(i-o)/Tr;}return e},zl=i=>{let t=ge.randomBytes(i),e="";for(let r=0;r<i;r++){let o=t[r];e+=br.charAt(o%Tr);}return e},qs=()=>{let i=Math.floor(Date.now()/1e3),t=Yl(i,Vl),e=zl(Hl);return t+e};function wr(i){return i.replace(/^[`"]|[`"]$/g,"")}function Sr(i,t,e){if(!i.includes(".")){let n=wr(i);return `${t}.${n}`}let[r,o]=i.split(".");return r=wr(r),o=wr(o),r!==e?i:o==="*"?`${t}.*`:`${t}.${o}`}function w(i){return typeof i=="function"?i():i}var v=(i,t=new WeakMap)=>{if(i===null||typeof i!="object")return i;if(t.has(i))return t.get(i);if(Array.isArray(i)){let r=[];t.set(i,r);for(let o=0;o<i.length;o++)r[o]=v(i[o],t);return r}let e=Object.create(Object.getPrototypeOf(i)||{});t.set(i,e);for(let r of Object.getOwnPropertyNames(i)){let o=i[r];if(typeof o=="function"){e[r]=o;continue}e[r]=v(o,t);}return e};var Se=class{};Se.modelCaseConvention="camel",Se.databaseCaseConvention="snake";var Jl=async(i,t,e,r,o=[],n=[],s=false)=>{let a=new t,l=new Set(e.filter(p=>p.hidden).map(p=>p.columnName)),d=new Map(e.map(p=>[p.databaseName,p])),m=o.length?new Set(o):null;if(await Promise.all(Object.keys(i).map(async p=>{let c=i[p],y=d.get(p)?.columnName??I(p,t.modelCaseConvention);if(y==="$annotations"&&!s){Gl(i,p,a,t,n);return}if(!r.has(y)||l.has(y)||m&&!m.has(y))return;if(c===null){a[y]=null;return}let h=r.get(y);if(h&&h.serialize){a[y]=await h.serialize(c);return}a[y]=c;})),m)for(let p of m)p in a||(a[p]=null);return a},Gl=(i,t,e,r,o=[])=>{let n=i[t];if(!n||!Object.keys(n).length)return;let s=o.length>0?new Set(o):null;if(!s)return;let a={};for(let l of Object.keys(n))s.has(l)&&(a[I(l,r.modelCaseConvention)]=n[l]);Object.keys(a).length>0&&(e[t]=a);},le=async(i,t,e=[],r=[],o=false)=>{if(!i.length)return null;let n=t.getColumns(),s=new Map(n.map(d=>[d.columnName,d])),a=[];for(let d of e){if(d.toLowerCase().includes("as"))continue;let m=d;if(m.includes(".")&&(m=m.split(".").pop()),m==="*")continue;let p=s.get(m)?.columnName??I(m,t.modelCaseConvention);a.push(p);}e=a;let l=await Promise.all(i.map(async d=>await Jl(d,t,n,s,e,r,o)));return l.length===1?l[0]:l};var q={DB_TYPE:process.env.DB_TYPE,DB_HOST:process.env.DB_HOST,DB_PORT:process.env.DB_PORT,DB_USER:process.env.DB_USER,DB_PASSWORD:process.env.DB_PASSWORD,DB_DATABASE:process.env.DB_DATABASE,DB_LOGS:process.env.DB_LOGS==="true",MIGRATION_PATH:process.env.MIGRATION_PATH||"database/migrations",REDIS_HOST:process.env.REDIS_HOST,REDIS_PORT:process.env.REDIS_PORT,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_DATABASE:process.env.REDIS_DATABASE,MONGO_URL:process.env.MONGO_URL,MONGO_LOGS:process.env.MONGO_LOGS==="true"},Xl=()=>{try{ml__default.default.readFileSync(".env","utf8").split(`
|
|
2
2
|
`).forEach(e=>{let[r,o]=e.split("="),n=r.trim(),s=o.trim();switch(n){case "DB_TYPE":q.DB_TYPE||(q.DB_TYPE=s);break;case "DB_HOST":q.DB_HOST||(q.DB_HOST=s);break;case "DB_PORT":q.DB_PORT||(q.DB_PORT=s);break;case "DB_USER":q.DB_USER||(q.DB_USER=s);break;case "DB_PASSWORD":q.DB_PASSWORD||(q.DB_PASSWORD=s);break;case "DB_DATABASE":q.DB_DATABASE||(q.DB_DATABASE=s);break;case "MIGRATION_PATH":q.MIGRATION_PATH||(q.MIGRATION_PATH=s||"database/migrations");break;case "REDIS_HOST":q.REDIS_HOST||(q.REDIS_HOST=s);break;case "REDIS_PORT":q.REDIS_PORT||(q.REDIS_PORT=s);break;case "REDIS_USERNAME":q.REDIS_USERNAME||(q.REDIS_USERNAME=s);break;case "REDIS_PASSWORD":q.REDIS_PASSWORD||(q.REDIS_PASSWORD=s);break;case "REDIS_DATABASE":q.REDIS_DATABASE||(q.REDIS_DATABASE=s);break;case "MONGO_URL":q.MONGO_URL||(q.MONGO_URL=s);break}});}catch{}finally{return q}},M=Xl();var ve=class{constructor(t){switch(this.type=t?.type||M.DB_TYPE,this.type){case "mongo":this.handleMongoSource(t);break;case "cockroachdb":this.handleCockroachdbSource(t);break;case "postgres":this.handlePostgresSource(t);break;case "mariadb":case "mysql":this.handleMysqlSource(t);break;case "sqlite":this.handleSqliteSource(t);break;default:throw new u(`Invalid database type: ${this.type}, please provide a valid database type in your input or in the .env file with the key DB_TYPE
|
|
3
|
-
Valid database types are: [mongo, postgres, cockroachdb, mysql, mariadb, sqlite]`,`UNSUPPORTED_DATABASE_TYPE_${this.type}`)}}handleCockroachdbSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=26257);}handlePostgresSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=5432);}handleMysqlSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=3306);}handleSqliteSource(t){this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false;}handleMongoSource(t){this.url=t?.url||M.MONGO_URL,this.logs=t?.logs||M.MONGO_LOGS||false;}};var ed=i=>{let{required:t,...e}=i.openApi||{},r={...e,type:i.openApi?.type||"string",description:i.openApi?.description??`Property: ${i.columnName}`};return i.openApi?.type?{...r,type:i.openApi.type}:Array.isArray(i.type)?{...r,type:"string",enum:i.type}:i.type==="date"||i.type==="datetime"||i.type==="timestamp"||i.type==="time"?{...r,type:"string",format:"date-time"}:i.type==="boolean"?{...r,type:"boolean"}:i.type==="integer"||i.type==="tinyint"||i.type==="smallint"||i.type==="mediumint"||i.type==="increment"?{...r,type:"integer",format:"int32"}:i.type==="biginteger"||i.type==="bigIncrement"?{...r,type:"integer",format:"int64"}:i.type==="float"||i.type==="real"?{...r,type:"number",format:"float"}:i.type==="double"?{...r,type:"number",format:"double"}:i.type==="decimal"||i.type==="numeric"?{...r,type:"number"}:i.type==="json"||i.type==="jsonb"?{...r,type:"object"}:i.type==="uuid"?{...r,type:"string",format:"uuid"}:i.type==="ulid"?{...r,type:"string",format:"ulid"}:i.type==="string"||i.type==="char"||i.type==="varchar"||i.type==="text"||i.type==="longtext"||i.type==="mediumtext"||i.type==="tinytext"?{...r,type:"string"}:i.type==="blob"||i.type==="binary"||i.type==="varbinary"||i.type==="tinyblob"||i.type==="mediumblob"||i.type==="longblob"?{...r,type:"string",format:"binary"}:i.type==="year"?{...r,type:"integer",format:"int32"}:r},td=i=>i.openApi?.required??false,rd=i=>{let t=i.getColumns(),e={};for(let r of t)r.hidden||(e[r.columnName]=ed(r));return e},od=i=>{let t=i.getColumns(),e=[];for(let r of t)td(r)&&e.push(r.columnName);return e||[]},Nr=i=>{let t=rd(i),e=od(i);return {type:"object",properties:t,required:e.length?e:[]}},hu=i=>i.map(t=>Nr(t)),gu=i=>Nr(i),Cs=i=>i.map(t=>({...Nr(t),modelName:t.name}));var Ke={info:"\x1B[32m",warn:"\x1B[33m",error:"\x1B[31m",reset:"\x1B[0m"};function sd(){let i=new Date,t=e=>e.toString().padStart(2,"0");return `${i.getFullYear()}-${t(i.getMonth()+1)}-${t(i.getDate())} ${t(i.getHours())}:${t(i.getMinutes())}:${t(i.getSeconds())}`}function Mr(i,t){let e=sd(),r=i.toUpperCase();return i==="error"?`${Ke.error}[${r}] ${e}
|
|
3
|
+
Valid database types are: [mongo, postgres, cockroachdb, mysql, mariadb, sqlite]`,`UNSUPPORTED_DATABASE_TYPE_${this.type}`)}}handleCockroachdbSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=26257);}handlePostgresSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=5432);}handleMysqlSource(t){this.host=t?.host||M.DB_HOST,this.port=+t?.port||+M.DB_PORT,this.username=t?.username||M.DB_USER,this.password=t?.password||M.DB_PASSWORD,this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false,this.port||(this.port=3306);}handleSqliteSource(t){this.database=t?.database||M.DB_DATABASE,this.logs=t?.logs||M.DB_LOGS||false;}handleMongoSource(t){this.url=t?.url||M.MONGO_URL,this.logs=t?.logs||M.MONGO_LOGS||false;}};var ed=i=>{let{required:t,...e}=i.openApi||{},r={...e,type:i.openApi?.type||"string",description:i.openApi?.description??`Property: ${i.columnName}`};return i.openApi?.type?{...r,type:i.openApi.type}:Array.isArray(i.type)?{...r,type:"string",enum:i.type}:i.type==="date"||i.type==="datetime"||i.type==="timestamp"||i.type==="time"?{...r,type:"string",format:"date-time"}:i.type==="boolean"?{...r,type:"boolean"}:i.type==="integer"||i.type==="tinyint"||i.type==="smallint"||i.type==="mediumint"||i.type==="increment"?{...r,type:"integer",format:"int32"}:i.type==="biginteger"||i.type==="bigIncrement"?{...r,type:"integer",format:"int64"}:i.type==="float"||i.type==="real"?{...r,type:"number",format:"float"}:i.type==="double"?{...r,type:"number",format:"double"}:i.type==="decimal"||i.type==="numeric"?{...r,type:"number"}:i.type==="json"||i.type==="jsonb"?{...r,type:"object"}:i.type==="uuid"?{...r,type:"string",format:"uuid"}:i.type==="ulid"?{...r,type:"string",format:"ulid"}:i.type==="string"||i.type==="char"||i.type==="varchar"||i.type==="text"||i.type==="longtext"||i.type==="mediumtext"||i.type==="tinytext"?{...r,type:"string"}:i.type==="blob"||i.type==="binary"||i.type==="varbinary"||i.type==="tinyblob"||i.type==="mediumblob"||i.type==="longblob"?{...r,type:"string",format:"binary"}:i.type==="year"?{...r,type:"integer",format:"int32"}:r},td=i=>i.openApi?.required??false,rd=i=>{let t=i.getColumns(),e={};for(let r of t)r.hidden||(e[r.columnName]=ed(r));return e},od=i=>{let t=i.getColumns(),e=[];for(let r of t)td(r)&&e.push(r.columnName);return e||[]},Nr=i=>{let t=rd(i),e=od(i);return {type:"object",properties:t,required:e.length?e:[]}},hu=i=>i.map(t=>Nr(t)),gu=i=>Nr(i),Cs=i=>i.map(t=>({...Nr(t),modelName:t.name,$id:t.name}));var Ke={info:"\x1B[32m",warn:"\x1B[33m",error:"\x1B[31m",reset:"\x1B[0m"};function sd(){let i=new Date,t=e=>e.toString().padStart(2,"0");return `${i.getFullYear()}-${t(i.getMonth()+1)}-${t(i.getDate())} ${t(i.getHours())}:${t(i.getMinutes())}:${t(i.getSeconds())}`}function Mr(i,t){let e=sd(),r=i.toUpperCase();return i==="error"?`${Ke.error}[${r}] ${e}
|
|
4
4
|
${t}${Ke.reset}
|
|
5
5
|
`:i==="warn"?`${Ke.warn}[${r}] ${e}
|
|
6
6
|
${t}${Ke.reset}
|