@techmmunity/symbiosis
Version:
Symbiosis - The Ultimate OM For All Databases
16 lines (14 loc) • 80.8 kB
JavaScript
require('./sourcemap-register.js');(()=>{var e={4761:function(e){!function(t,n){true?e.exports=n():0}(this,(function(){"use strict";var e={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(n,r,o){var i,a=function(e,n,r){void 0===r&&(r={});var o=new Date(e);return function(e,n){void 0===n&&(n={});var r=n.timeZoneName||"short",o=e+"|"+r,i=t[o];return i||(i=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:r}),t[o]=i),i}(n,r).formatToParts(o)},u=function(t,n){for(var r=a(t,n),i=[],s=0;s<r.length;s+=1){var c=r[s],l=c.type,d=c.value,y=e[l];y>=0&&(i[y]=parseInt(d,10))}var f=i[3],p=24===f?0:f,m=i[0]+"-"+i[1]+"-"+i[2]+" "+p+":"+i[4]+":"+i[5]+":000",v=+t;return(o.utc(m).valueOf()-(v-=v%1e3))/6e4},s=r.prototype;s.tz=function(e,t){void 0===e&&(e=i);var n=this.utcOffset(),r=this.toDate(),s=r.toLocaleString("en-US",{timeZone:e}),c=Math.round((r-new Date(s))/1e3/60),l=o(s).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-c,!0);if(t){var d=l.utcOffset();l=l.add(n-d,"minute")}return l.$x.$timezone=e,l},s.offsetName=function(e){var t=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=s.startOf;s.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},o.tz=function(e,t,n){var r=n&&t,s=n||t||i,c=u(+o(),s);if("string"!=typeof e)return o(e).tz(s);var l=function(e,t,n){var r=e-60*t*1e3,o=u(r,n);if(t===o)return[r,t];var i=u(r-=60*(o-t)*1e3,n);return o===i?[r,o]:[e-60*Math.min(o,i)*1e3,Math.max(o,i)]}(o.utc(e,r).valueOf(),c,s),d=l[0],y=l[1],f=o(d).utcOffset(y);return f.$x.$timezone=s,f},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(e){i=e}}}))},4359:function(e){!function(t,n){true?e.exports=n():0}(this,(function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,o,i){var s=o.prototype;i.utc=function(e){var t={date:e,utc:!0,args:arguments};return new o(t)},s.utc=function(t){var n=i(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},s.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var c=s.parse;s.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),c.call(this,e)};var l=s.init;s.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var d=s.utcOffset;s.utcOffset=function(r,o){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?d.call(this):this.$offset;if("string"==typeof r&&null===(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var o=(""+r[0]).match(n)||["-",0,0],i=o[0],s=60*+o[1]+ +o[2];return 0===s?0:"+"===i?s:-s}(r)))return this;var s=Math.abs(r)<=16?60*r:r,c=this;if(o)return c.$offset=s,c.$u=0===r,c;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(c=this.local().add(s+l,e)).$offset=s,c.$x.$localOffset=l}else c=this.utc();return c};var y=s.format;s.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return y.call(this,t)},s.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*e},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var f=s.toDate;s.toDate=function(e){return"s"===e&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=s.diff;s.diff=function(e,t,n){if(e&&this.$u===e.$u)return p.call(this,e,t,n);var r=this.local(),o=i(e).local();return p.call(r,o,t,n)}}}))},2246:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.dotCase=void 0;var r=n(4351);var o=n(397);function dotCase(e,t){if(t===void 0){t={}}return o.noCase(e,r.__assign({delimiter:"."},t))}t.dotCase=dotCase},8387:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.lowerCase=t.localeLowerCase=void 0;var n={tr:{regexp:/\u0130|\u0049|\u0049\u0307/g,map:{"İ":"i",I:"ı","İ":"i"}},az:{regexp:/\u0130/g,map:{"İ":"i",I:"ı","İ":"i"}},lt:{regexp:/\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,map:{I:"i̇",J:"j̇","Į":"į̇","Ì":"i̇̀","Í":"i̇́","Ĩ":"i̇̃"}}};function localeLowerCase(e,t){var r=n[t.toLowerCase()];if(r)return lowerCase(e.replace(r.regexp,(function(e){return r.map[e]})));return lowerCase(e)}t.localeLowerCase=localeLowerCase;function lowerCase(e){return e.toLowerCase()}t.lowerCase=lowerCase},397:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.noCase=void 0;var r=n(8387);var o=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g];var i=/[^A-Z0-9]+/gi;function noCase(e,t){if(t===void 0){t={}}var n=t.splitRegexp,s=n===void 0?o:n,c=t.stripRegexp,l=c===void 0?i:c,d=t.transform,y=d===void 0?r.lowerCase:d,f=t.delimiter,p=f===void 0?" ":f;var m=replace(replace(e,s,"$1\0$2"),l,"\0");var v=0;var g=m.length;while(m.charAt(v)==="\0")v++;while(m.charAt(g-1)==="\0")g--;return m.slice(v,g).split("\0").map(y).join(p)}t.noCase=noCase;function replace(e,t,n){if(t instanceof RegExp)return e.replace(t,n);return t.reduce((function(e,t){return e.replace(t,n)}),e)}},6213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.snakeCase=void 0;var r=n(4351);var o=n(2246);function snakeCase(e,t){if(t===void 0){t={}}return o.dotCase(e,r.__assign({delimiter:"_"},t))}t.snakeCase=snakeCase},4351:e=>{
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var t;var n;var r;var o;var i;var s;var c;var l;var d;var y;var f;var p;var m;var v;var g;var b;var O;var M;var _;var h;var S;var E;var P;var j;(function(t){var n=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(n,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(n,createExporter(e.exports)))}else{t(createExporter(n))}function createExporter(e,t){if(e!==n){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(n,r){return e[n]=t?t(n,r):r}}})((function(e){var w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]};t=function(e,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");w(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o))e[o]=t[o]}return e};r=function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};o=function(e,t,n,r){var o=arguments.length,i=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,s;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,n,r);else for(var c=e.length-1;c>=0;c--)if(s=e[c])i=(o<3?s(i):o>3?s(t,n,i):s(t,n))||i;return o>3&&i&&Object.defineProperty(t,n,i),i};i=function(e,t){return function(n,r){t(n,r,e)}};s=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};c=function(e,t,n,r){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){o(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))};l=function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,s;return s={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function verb(e){return function(t){return step([e,t])}}function step(s){if(r)throw new TypeError("Generator is already executing.");while(n)try{if(r=1,o&&(i=s[0]&2?o["return"]:s[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,s[1])).done)return i;if(o=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;o=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){n.label=s[1];break}if(s[0]===6&&n.label<i[1]){n.label=i[1];i=s;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(s);break}if(i[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e];o=0}finally{r=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};d=function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))j(t,e,n)};j=Object.create?function(e,t,n,r){if(r===undefined)r=n;Object.defineProperty(e,r,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]};y=function(e){var t=typeof Symbol==="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&r>=e.length)e=void 0;return{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};f=function(e,t){var n=typeof Symbol==="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,i=[],s;try{while((t===void 0||t-- >0)&&!(o=r.next()).done)i.push(o.value)}catch(e){s={error:e}}finally{try{if(o&&!o.done&&(n=r["return"]))n.call(r)}finally{if(s)throw s.error}}return i};p=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e};m=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),o=0,t=0;t<n;t++)for(var i=arguments[t],s=0,c=i.length;s<c;s++,o++)r[o]=i[s];return r};v=function(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++){if(i||!(r in t)){if(!i)i=Array.prototype.slice.call(t,0,r);i[r]=t[r]}}return e.concat(i||Array.prototype.slice.call(t))};g=function(e){return this instanceof g?(this.v=e,this):new g(e)};b=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o={},verb("next"),verb("throw"),verb("return"),o[Symbol.asyncIterator]=function(){return this},o;function verb(e){if(r[e])o[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||resume(e,t)}))}}function resume(e,t){try{step(r[e](t))}catch(e){settle(i[0][3],e)}}function step(e){e.value instanceof g?Promise.resolve(e.value.v).then(fulfill,reject):settle(i[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),i.shift(),i.length)resume(i[0][0],i[0][1])}};O=function(e){var t,n;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:g(e[r](t)),done:r==="return"}:o?o(t):t}:o}};M=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof y==="function"?y(e):e[Symbol.iterator](),n={},verb("next"),verb("throw"),verb("return"),n[Symbol.asyncIterator]=function(){return this},n);function verb(t){n[t]=e[t]&&function(n){return new Promise((function(r,o){n=e[t](n),settle(r,o,n.done,n.value)}))}}function settle(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}};_=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t};h=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))j(t,e,n);C(t,e);return t};S=function(e){return e&&e.__esModule?e:{default:e}};E=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)};P=function(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n};e("__extends",t);e("__assign",n);e("__rest",r);e("__decorate",o);e("__param",i);e("__metadata",s);e("__awaiter",c);e("__generator",l);e("__exportStar",d);e("__createBinding",j);e("__values",y);e("__read",f);e("__spread",p);e("__spreadArrays",m);e("__spreadArray",v);e("__await",g);e("__asyncGenerator",b);e("__asyncDelegator",O);e("__asyncValues",M);e("__makeTemplateObject",_);e("__importStar",h);e("__importDefault",S);e("__classPrivateFieldGet",E);e("__classPrivateFieldSet",P)}))},2284:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DEFAULT_CONNECTION_NAME=t.METADATA_PREFIX=void 0;t.METADATA_PREFIX="symbiosis:";t.DEFAULT_CONNECTION_NAME="Default"},6144:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){if(r===undefined)r=n;Object.defineProperty(e,r,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,r){if(r===undefined)r=n;e[r]=t[n]});var o=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))r(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});n(3878);o(n(3139),t);o(n(4018),t);o(n(8194),t);o(n(753),t);o(n(8747),t);o(n(3859),t);o(n(7722),t);o(n(5453),t);o(n(7929),t);o(n(1646),t);o(n(9357),t);o(n(3436),t);o(n(9632),t);o(n(9006),t);o(n(4092),t);o(n(2572),t);o(n(5371),t);o(n(6500),t);o(n(5970),t);o(n(75),t);o(n(8474),t);o(n(9429),t);o(n(6425),t);o(n(4683),t);o(n(7234),t);o(n(4039),t);o(n(7339),t);o(n(3493),t);o(n(2101),t);o(n(6943),t);o(n(4787),t);o(n(1925),t);o(n(6404),t);o(n(2073),t);o(n(2422),t);o(n(1097),t);o(n(8333),t);o(n(5490),t);o(n(4841),t);o(n(7480),t);o(n(113),t);o(n(7586),t);o(n(5196),t);o(n(2143),t);o(n(385),t);o(n(1971),t);o(n(4814),t);o(n(5253),t);o(n(4886),t);o(n(4932),t);o(n(3940),t);o(n(5933),t);o(n(7008),t);o(n(6962),t);o(n(9623),t);o(n(3401),t);o(n(8160),t);o(n(4760),t);o(n(4474),t);o(n(8544),t);o(n(4993),t);o(n(127),t);o(n(5686),t);o(n(3246),t);o(n(576),t);o(n(715),t);o(n(3557),t);o(n(3411),t);o(n(2860),t);o(n(5823),t)},3436:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.BaseConnection=void 0;const o=n(2945);const i=n(2284);const s=n(9357);const c=n(4932);const l=n(5933);const d=n(2860);const y=n(5823);class BaseConnection{constructor(e,t){this.internalOptions=(0,y.loadOptions)(e,t);this.isLoaded=false}async load(){const e=this.internalOptions,{entities:t=[],entitiesDir:n}=e,o=r(e,["entities","entitiesDir"]);this.options=o;this.name=this.options.name||i.DEFAULT_CONNECTION_NAME;const c=await(0,d.loadEntities)(n);this.entities=[...t,...c];this.logger=new l.Logger(this.name,this.options.logging);this.entityManager=new s.EntityManager({logger:this.logger,connectionOptions:this.options,entities:this.entities});this.isLoaded=true;return this}basicValidate(){if((0,o.isEmptyArray)(this.entities)){throw new c.SymbiosisError({code:"MISSING_PARAM",origin:"SYMBIOSIS",message:"Missing entities",details:["No entities found","`entities` option:",this.internalOptions.entities,"`entitiesDir` option:",this.internalOptions.entitiesDir]})}}}t.BaseConnection=BaseConnection},9632:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},2755:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getOptions=void 0;const r=n(2945);const getOptions=e=>{if((0,r.getTypeof)(e)==="object"){return e}return{}};t.getOptions=getOptions},246:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getType=void 0;const r=n(2945);const o=n(4932);const i=n(8544);const s="Column type isn't supported";const handleUnacceptedType=(e,t,n,r)=>{const c=i.MetadataUtil.getMetadataName(t);if(!e.includes("all")&&!e.includes(c)){throw new o.SymbiosisError({code:"INVALID_PARAM_TYPE",origin:"SYMBIOSIS",message:s,details:[`Entity: ${n.constructor.name}`,`Column: ${r}`]})}};const getType=({entityPrototype:e,propertyName:t,suggestedType:n,enumValues:c,acceptedTypes:l=["all"]})=>{const d=Reflect.getMetadata("design:type",e,t);if(d===Array){handleUnacceptedType(l,"array",e,t);if(n&&i.MetadataUtil.isMetadataType(n)){return{type:n,isArray:true}}throw new o.SymbiosisError({code:"INVALID_PARAM_TYPE",origin:"SYMBIOSIS",message:"You must explicitly declare array types",details:[`Entity: ${e.constructor.name}`,`Column: ${t}`]})}if(i.MetadataUtil.isMetadataType(d)){handleUnacceptedType(l,d,e,t);return{type:d}}if(c){const[n]=c;switch((0,r.getTypeof)(n)){case"string":return{type:String};case"number":return{type:Number};default:throw new o.SymbiosisError({code:"INVALID_PARAM_TYPE",origin:"SYMBIOSIS",message:s,details:[`Entity: ${e.constructor.name}`,`Column: ${t}`]})}}throw new o.SymbiosisError({code:"INVALID_PARAM_TYPE",origin:"SYMBIOSIS",message:s,details:[`Entity: ${e.constructor.name}`,`Column: ${t}`]})};t.getType=getType},3139:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.Column=void 0;const o=n(2755);const i=n(8268);const s=n(6416);const c=n(8544);const Column=e=>{const t=(0,o.getOptions)(e),{name:n,type:l,defaultValue:d}=t,y=r(t,["name","type","defaultValue"]);const f=l||(c.MetadataUtil.isMetadataType(e)?e:undefined);const p=(0,i.getDefaultValue)(d);return(0,s.makeColumnDecorator)({metadata:Object.assign(Object.assign(Object.assign({},y),p),{databaseName:n}),suggestedType:f})};t.Column=Column},4018:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.CountColumn=void 0;const o=n(1097);const i=n(2755);const s=n(6416);const CountColumn=e=>{const t=(0,i.getOptions)(e),{name:n}=t,c=r(t,["name"]);const l=Array.isArray(e)?e:e.events;return(0,s.makeColumnDecorator)({metadata:Object.assign(Object.assign({},c),{databaseName:n,autoGenerateOnlyOnEvents:l,autoGenerate:(0,o.Plus)(1)}),acceptedTypes:["number"]})};t.CountColumn=CountColumn},8747:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.DeleteDateColumn=void 0;const o=n(2755);const i=n(6416);const DeleteDateColumn=e=>{const t=(0,o.getOptions)(e),{name:n}=t,s=r(t,["name"]);return(0,i.makeColumnDecorator)({metadata:Object.assign(Object.assign({},s),{databaseName:n,autoGenerateOnlyOnEvents:["delete"],autoGenerate:"date"}),acceptedTypes:["string","number","date"]})};t.DeleteDateColumn=DeleteDateColumn},8268:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getDefaultValue=void 0;const r=n(2945);const getDefaultValue=e=>{if((0,r.getTypeof)(e)!=="undefined"){return{autoGenerateOnlyOnEvents:["insert"],autoGenerate:e}}return{}};t.getDefaultValue=getDefaultValue},6416:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.makeColumnDecorator=void 0;const r=n(2945);const o=n(246);const i=n(8544);const makeColumnDecorator=({metadata:e,acceptedTypes:t,suggestedType:n})=>(s,c)=>{const l=e.enum?(0,r.getEnumValues)(e.enum):undefined;const{type:d,isArray:y}=(0,o.getType)({entityPrototype:s,propertyName:c,acceptedTypes:t,suggestedType:n,enumValues:l});const f=e.databaseName||c;const p=(0,r.cleanObj)(Object.assign(Object.assign({},e),{type:d,isArray:y,enumValues:l,databaseName:f,name:c,enumName:l?`${f}_enum`:undefined,isNameAlreadyFormatted:e.databaseName?true:undefined}));i.MetadataUtil.addColumnMetadataToEntity({entity:s.constructor,metadata:p})};t.makeColumnDecorator=makeColumnDecorator},3859:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.InsertDateColumn=void 0;const o=n(2755);const i=n(6416);const InsertDateColumn=e=>{const t=(0,o.getOptions)(e),{name:n}=t,s=r(t,["name"]);return(0,i.makeColumnDecorator)({metadata:Object.assign(Object.assign({},s),{databaseName:n,autoGenerateOnlyOnEvents:["insert"],autoGenerate:"date"}),acceptedTypes:["string","number","date"]})};t.InsertDateColumn=InsertDateColumn},8194:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.PrimaryColumn=void 0;const o=n(2945);const i=n(2755);const s=n(6416);const PrimaryColumn=e=>{const t=(0,i.getOptions)(e),{name:n}=t,c=r(t,["name"]);const l=n||((0,o.getTypeof)(e)==="string"?e:undefined);return(0,s.makeColumnDecorator)({metadata:Object.assign(Object.assign({},c),{databaseName:l,primary:true}),acceptedTypes:["string","number"]})};t.PrimaryColumn=PrimaryColumn},753:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.PrimaryGeneratedColumn=void 0;const o=n(2945);const i=n(2755);const s=n(6416);const getAutoGenerate=e=>{var t;if(!e||(0,o.getTypeof)(e)==="object"){return((t=e)===null||t===void 0?void 0:t.strategy)||"uuid"}return e};const PrimaryGeneratedColumn=e=>{const t=(0,i.getOptions)(e),{name:n}=t,o=r(t,["name"]);return(0,s.makeColumnDecorator)({metadata:Object.assign(Object.assign({},o),{autoGenerate:getAutoGenerate(e),databaseName:n,primary:true,autoGenerateOnlyOnEvents:["insert"]}),acceptedTypes:["string","number"]})};t.PrimaryGeneratedColumn=PrimaryGeneratedColumn},7722:function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0)n[r]=e[r];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++){if(t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o]))n[r[o]]=e[r[o]]}return n};Object.defineProperty(t,"__esModule",{value:true});t.UpdateDateColumn=void 0;const o=n(2755);const i=n(6416);const UpdateDateColumn=e=>{const t=(0,o.getOptions)(e),{name:n}=t,s=r(t,["name"]);return(0,i.makeColumnDecorator)({metadata:Object.assign(Object.assign({},s),{databaseName:n,autoGenerateOnlyOnEvents:["insert","update"],autoGenerate:"date"}),acceptedTypes:["string","number","date"]})};t.UpdateDateColumn=UpdateDateColumn},5453:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Entity=void 0;const r=n(2755);const o=n(2763);const i=n(3126);const Entity=e=>t=>{const{databaseName:n,isNameAlreadyFormatted:s}=(0,i.getDatabaseName)({entityConstructor:t,nameOrOptions:e});const{extras:c}=(0,r.getOptions)(e);(0,o.addEntityMetadata)({entityConstructor:t,metadata:{name:t.name,databaseName:n,isNameAlreadyFormatted:s,extras:c}})};t.Entity=Entity},2763:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.addEntityMetadata=void 0;const r=n(4932);const o=n(8544);const addEntityMetadata=({entityConstructor:e,metadata:t})=>{const n=o.MetadataUtil.getEntityMetadata({metadataKey:"columns",entity:e});if(!n){throw new r.SymbiosisError({code:"MISSING_DECORATOR",message:"Entity must have at least one column",origin:"SYMBIOSIS",details:[`Entity: ${e.name}`]})}o.MetadataUtil.defineAllEntityMetadata({entity:e,metadata:Object.assign(Object.assign({},t),{columns:n})})};t.addEntityMetadata=addEntityMetadata},3126:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getDatabaseName=void 0;const getDatabaseName=({entityConstructor:e,nameOrOptions:t})=>{if(typeof t==="string"){return{databaseName:t,isNameAlreadyFormatted:true}}if(t===null||t===void 0?void 0:t.name){return{databaseName:t.name,isNameAlreadyFormatted:true}}return{databaseName:e.name}};t.getDatabaseName=getDatabaseName},7929:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SubEntity=void 0;const r=n(2755);const o=n(2763);const SubEntity=e=>t=>{const{extras:n}=(0,r.getOptions)(e);(0,o.addEntityMetadata)({entityConstructor:t,metadata:{name:t.name,databaseName:t.name,isNameAlreadyFormatted:true,isSubEntity:true,extras:n}})};t.SubEntity=SubEntity},6723:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.addIndexMetadata=void 0;const r=n(8544);const addIndexMetadata=({entityConstructor:e,indexName:t,columnName:n,extras:o})=>{const i=r.MetadataUtil.getAllEntityMetadata({entity:e});if(i.indexes){const e=i.indexes.find((e=>e.databaseName===t));if(e){e.columns.push({name:n,extras:o})}else{i.indexes.push({databaseName:t,columns:[{name:n,extras:o}]})}}else{i.indexes=[{databaseName:t,columns:[{name:n,extras:o}]}]}r.MetadataUtil.defineAllEntityMetadata({entity:e,metadata:i})};t.addIndexMetadata=addIndexMetadata},9135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getIndexName=void 0;const r=n(2945);const o=n(6213);const getIndexName=({name:e,nameOrOptions:t,propertyName:n})=>{if(e)return e;if((0,r.getTypeof)(t)==="string")return t;return`${(0,o.snakeCase)(n)}_index`};t.getIndexName=getIndexName},1646:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Index=void 0;const r=n(2755);const o=n(6723);const i=n(9135);const Index=e=>(t,n)=>{const{name:s,extras:c}=(0,r.getOptions)(e);const l=(0,i.getIndexName)({name:s,propertyName:n,nameOrOptions:e});(0,o.addIndexMetadata)({entityConstructor:t.constructor,columnName:n,indexName:l,extras:c})};t.Index=Index},9357:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EntityManager=void 0;const r=n(4932);const o=n(3491);const i=n(1333);const s=n(7047);const c=n(5695);const l=n(1008);const d=n(1902);const y=n(2900);class EntityManager{constructor({connectionOptions:e,logger:t,entities:n}){this.entities={};this.logger=t;this.connectionOptions=e;this.entities=(0,y.loadEntities)({connectionOptions:this.connectionOptions,logger:this.logger,entities:n})}getAllEntitiesMetadata(){return this.entities}getAllTablesMetadata(){return Object.values(this.entities).filter((e=>!e.isSubEntity))}getEntityMetadata(e){const t=this.entities[e.name];if(!t){throw new r.SymbiosisError({message:"Entity not Registered",code:"ENTITY_ERROR",origin:"SYMBIOSIS",details:["Entity: ",e]})}return t}getColumnMetadata(e,t){const n=this.getEntityMetadata(e);const o=n.columns.find((e=>e.name===t));if(!o){throw new r.SymbiosisError({message:"Column not found",code:"COLUMN_ERROR",origin:"SYMBIOSIS",details:["Entity: ",e,"Column: ",t]})}return o}getEntityPrimaryColumns(e){const t=this.getEntityMetadata(e);return t.columns.filter((e=>e.primary))}autoGenerateEntityToDatabase(e){return(0,o.autoGenerateEntityToDatabase)({entityManager:this,connectionOptions:this.connectionOptions},e)}convertEntityToDatabase(e){return(0,c.convertEntityToDatabase)({entityManager:this},e)}convertDatabaseToEntity(e){return(0,s.convertDatabaseToEntity)({entityManager:this},e)}formatConditions(e){return(0,l.formatConditions)({entityManager:this},e)}formatOrder(e){return(0,d.formatOrder)({entityManager:this},e)}convertColumnsNames(e){return(0,i.convertColumnsNames)({entityManager:this},e)}}t.EntityManager=EntityManager},4689:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.handleCustomMetadata=void 0;const r=n(2945);const o=n(3491);const handleCustomMetadata=({columnMetadata:e,data:t,entityManager:n,acc:i,connectionOptions:s,events:c})=>{const l=e.name;const d=t[l];if(!d)return i;const y=n.getEntityMetadata(e.type);if(e.isArray){const e=d.map((e=>(0,o.recursiveAutoGenerateEntityToDatabase)({entityManager:n,connectionOptions:s},{entity:y,events:c,data:e})));i[l]=e}else{const e=(0,o.recursiveAutoGenerateEntityToDatabase)({entityManager:n,connectionOptions:s},{entity:y,events:c,data:d});if((0,r.isNotEmptyObject)(e)){i[l]=e}}};t.handleCustomMetadata=handleCustomMetadata},1524:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.shouldAutoGenerate=void 0;const r=n(2945);const matchesBasicValidation=e=>(0,r.getTypeof)(e.autoGenerate)!=="undefined";const matchesEventToAutoGenerate=({columnMetadata:e,events:t})=>t.some((t=>e.autoGenerateOnlyOnEvents.includes(t)));const shouldAutoGenerate=({columnMetadata:e,events:t})=>{if(matchesBasicValidation(e)){return matchesEventToAutoGenerate({columnMetadata:e,events:t})}return false};t.shouldAutoGenerate=shouldAutoGenerate},3491:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.autoGenerateEntityToDatabase=t.recursiveAutoGenerateEntityToDatabase=void 0;const r=n(2945);const o=n(3842);const i=n(4689);const s=n(1524);const c=n(8544);const l=n(127);const d=n(5686);const recursiveAutoGenerateEntityToDatabase=({entityManager:e,connectionOptions:t},{entity:n,data:y,events:f})=>{if((0,r.getTypeof)(y)==="undefined")return;const p=e.getEntityMetadata(n);const m=p.columns.reduce(((n,m)=>{const v=m.name;const g=y[v];if((0,l.isFindOperator)(g)){n[v]=undefined;return n}if((0,d.isSaveOperator)(g)){n[v]=g;return n}if(c.MetadataUtil.isCustomMetadataType(m.type)){(0,i.handleCustomMetadata)({data:y,acc:n,columnMetadata:m,entityManager:e,connectionOptions:t,events:f});return n}if((0,r.getTypeof)(g)!=="undefined"){n[v]=g;return n}if((0,s.shouldAutoGenerate)({columnMetadata:m,events:f})){n[v]=(0,o.autoGenerate)({columnMetadata:m,entityMetadata:p,connectionOptions:t});return n}return n}),y);return(0,r.cleanObj)(m)};t.recursiveAutoGenerateEntityToDatabase=recursiveAutoGenerateEntityToDatabase;const autoGenerateEntityToDatabase=({entityManager:e,connectionOptions:n},{entity:r,data:o,events:i})=>(0,t.recursiveAutoGenerateEntityToDatabase)({entityManager:e,connectionOptions:n},{entity:r,data:o,events:i});t.autoGenerateEntityToDatabase=autoGenerateEntityToDatabase},1333:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.convertColumnsNames=void 0;const r=n(4456);const o=n(123);const i=n(5743);const convertColumnsNames=({entityManager:e},{entity:t,columnsNames:n})=>n.map((n=>{if((0,i.isMultipleLevelsColumn)(n)){return(0,o.getMultipleLevelColumnName)({entity:t,entityManager:e,originalColumnsNames:n.split(".")})}return(0,r.getColumnDatabaseName)({entityManager:e,entity:t,columnName:n})}));t.convertColumnsNames=convertColumnsNames},7047:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.convertDatabaseToEntity=void 0;const r=n(2945);const o=n(8544);const convertDatabaseToEntity=({entityManager:e},{entity:n,data:i})=>{if(!i)return;const s=e.getEntityMetadata(n);return s.columns.reduce(((n,s)=>{const c=s.name;const l=i[s.databaseName];if((0,r.getTypeof)(l)==="undefined")return n;if(o.MetadataUtil.isCustomMetadataType(s.type)){const r=e.getEntityMetadata(s.type);if(s.isArray){n[c]=l.map((n=>(0,t.convertDatabaseToEntity)({entityManager:e},{entity:r,data:n})));return n}n[c]=(0,t.convertDatabaseToEntity)({entityManager:e},{entity:r,data:l});return n}n[c]=l;return n}),{})};t.convertDatabaseToEntity=convertDatabaseToEntity},5695:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.convertEntityToDatabase=void 0;const r=n(2945);const o=n(8544);const i=n(5686);const recursiveConvertEntityToDatabase=({entityManager:e},{entity:t,data:n})=>{if((0,r.getTypeof)(n)==="undefined")return;const s=e.getEntityMetadata(t);return s.columns.reduce(((t,s)=>{const c=n[s.name];if((0,r.getTypeof)(c)==="undefined"){return t}if((0,i.isSaveOperator)(c)){t[s.databaseName]=c;return t}if(o.MetadataUtil.isCustomMetadataType(s.type)){const n=e.getEntityMetadata(s.type);if(s.isArray){t[s.databaseName]=c.map((t=>recursiveConvertEntityToDatabase({entityManager:e},{entity:n,data:t})));return t}const o=recursiveConvertEntityToDatabase({entityManager:e},{entity:n,data:c});if(o&&(0,r.isNotEmptyObject)(o)){t[s.databaseName]=o}return t}t[s.databaseName]=c;return t}),{})};const convertEntityToDatabase=({entityManager:e},{entity:t,data:n})=>recursiveConvertEntityToDatabase({entityManager:e},{entity:t,data:n})||{};t.convertEntityToDatabase=convertEntityToDatabase},8155:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getConditionsArray=void 0;const getConditionsArray=e=>{if(Array.isArray(e)){return e}return[e]};t.getConditionsArray=getConditionsArray},3950:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getConditionsFormatted=void 0;const r=n(2945);const o=n(1008);const i=n(8544);const s=n(127);const getConditionsFormatted=({conditionsArray:e,entityMetadata:t,entityManager:n})=>e.map((e=>t.columns.reduce(((t,c)=>{const l=e[c.name];if((0,r.getTypeof)(l)==="undefined")return t;if((0,s.isFindOperator)(l)){t[c.databaseName]=l;return t}if(i.MetadataUtil.isCustomMetadataType(c.type)){const e=n.getEntityMetadata(c.type);if(c.isArray){t[c.databaseName]=l.map((t=>(0,o.formatConditions)({entityManager:n},{entity:e,conditions:t})));return t}t[c.databaseName]=(0,o.formatConditions)({entityManager:n},{entity:e,conditions:l});return t}t[c.databaseName]=l;return t}),{})));t.getConditionsFormatted=getConditionsFormatted},1008:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.formatConditions=void 0;const r=n(2945);const o=n(8155);const i=n(3950);const formatConditions=({entityManager:e},{entity:t,conditions:n})=>{if((0,r.getTypeof)(n)==="undefined")return{};const s=e.getEntityMetadata(t);const c=(0,o.getConditionsArray)(n);const l=(0,i.getConditionsFormatted)({entityManager:e,entityMetadata:s,conditionsArray:c});return Array.isArray(n)?l:l.shift()};t.formatConditions=formatConditions},1902:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.formatOrder=void 0;const r=n(4456);const o=n(123);const i=n(5743);const formatOrder=({entityManager:e},{entity:t,orderBy:n})=>{const s=Object.entries(n).map((([n,s])=>{if((0,i.isMultipleLevelsColumn)(n)){const r=(0,o.getMultipleLevelColumnName)({entity:t,entityManager:e,originalColumnsNames:n.split(".")});return[r,s]}const c=(0,r.getColumnDatabaseName)({entityManager:e,entity:t,columnName:n,errorOptions:{ifLastFieldIsSubEntity:{message:"Invalid order",getDetails:e=>[`Column "${e}" is a subEntity, and cannot be used to ordering. Use a column of this subEntity`]}}});return[c,s]}));return Object.fromEntries(s)};t.formatOrder=formatOrder},8549:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.generateDate=void 0;const r=n(2513);const generateDate=(e,t)=>{const n=t.timeZone||"UTC";switch(e){case String:return r.DateUtil.nowIso(n);case Number:return r.DateUtil.nowEpoch(n);case Date:default:return r.DateUtil.nowDate(n)}};t.generateDate=generateDate},3170:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.generateUuid=void 0;const r=n(4932);const generateUuid=e=>{try{e("uuid");const{v4:t}=n(6132);return t()}catch(e){throw new r.SymbiosisError({code:"INVALID_PARAM",message:"Invalid param",origin:"SYMBIOSIS",details:['To use the "uuid" option, you need to install the "uuid" lib.',"Example: `yarn add uuid` OR `npm i --save uuid`"]})}};t.generateUuid=generateUuid},3842:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.autoGenerate=void 0;const r=n(2945);const o=n(8549);const i=n(3170);const autoGenerate=({columnMetadata:e,entityMetadata:t,connectionOptions:n,data:s})=>{if((0,r.getTypeof)(e.autoGenerate)==="function"){return e.autoGenerate({connectionOptions:n,columnMetadata:e,entityMetadata:t,data:s})}switch(e.autoGenerate){case"date":return(0,o.generateDate)(e.type,n);case"uuid":return(0,i.generateUuid)(require.resolve);default:return e.autoGenerate}};t.autoGenerate=autoGenerate},2046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.formatColumns=void 0;const r=n(3748);const formatColumns=({columns:e,connectionOptions:t,applyPrefixSuffix:n=true})=>e.map((e=>{var o,i,s;const c=(0,r.getDatabaseName)({value:e.databaseName,isNameAlreadyFormatted:e.isNameAlreadyFormatted,namingStrategy:(o=t.namingStrategy)===null||o===void 0?void 0:o.column,optionsPrefix:n?(i=t.prefix)===null||i===void 0?void 0:i.column:undefined,optionsSuffix:n?(s=t.suffix)===null||s===void 0?void 0:s.column:undefined});return Object.assign(Object.assign({},e),{databaseName:c})}));t.formatColumns=formatColumns},3748:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getDatabaseName=void 0;const r=n(8967);const o=n(648);const i=n(5571);const getDatabaseName=({value:e,isNameAlreadyFormatted:t,namingStrategy:n,optionsPrefix:s,optionsSuffix:c})=>{if(t){return e}const l=(0,o.formatPrefix)({value:e,options:s});const d=(0,i.formatSuffix)({value:l,options:c});const y=(0,r.formatNamingStrategy)({value:d,namingStrategy:n});return y};t.getDatabaseName=getDatabaseName},9908:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getEntitiesMetadata=void 0;const r=n(4932);const o=n(2046);const i=n(3748);const s=n(8544);const getEntitiesMetadata=({logger:e,rawEntities:t,connectionOptions:n})=>{const c={};const l=[];t.forEach((t=>{var d,y,f;const p=s.MetadataUtil.getAllEntityMetadata({entity:t});if(c[p.name]){throw new r.SymbiosisError({message:"Duplicated Entity",code:"DUPLICATED_ENTITY",origin:"SYMBIOSIS",details:[`Entity: ${p.name}`]})}const m=(0,i.getDatabaseName)({value:p.databaseName,isNameAlreadyFormatted:p.isNameAlreadyFormatted,namingStrategy:(d=n.namingStrategy)===null||d===void 0?void 0:d.entity,optionsPrefix:(y=n.prefix)===null||y===void 0?void 0:y.entity,optionsSuffix:(f=n.suffix)===null||f===void 0?void 0:f.entity});const v=(0,o.formatColumns)({columns:p.columns,connectionOptions:n});c[p.name]=Object.assign(Object.assign({},p),{databaseName:m,columns:v});l.push(...v);e.debug(`Add Entity: ${JSON.stringify(c[p.name])}`)}));return{entities:c,columns:l}};t.getEntitiesMetadata=getEntitiesMetadata},2830:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getSubEntitiesMetadata=void 0;const r=n(2046);const o=n(3748);const i=n(8544);const getSubEntitiesMetadata=({logger:e,allEntitiesColumns:n,entities:s,connectionOptions:c})=>{const l=n.filter((e=>i.MetadataUtil.isCustomMetadataType(e.type))).map((e=>e.type));l.forEach((n=>{var l,d,y;const f=i.MetadataUtil.getAllEntityMetadata({entity:n});if(s[f.name]){e.warn(`Duplicated SubEntity skipped, may be an error: ${f.name}`);return}const p=(0,o.getDatabaseName)({value:f.databaseName,isNameAlreadyFormatted:f.isNameAlreadyFormatted,namingStrategy:(l=c.namingStrategy)===null||l===void 0?void 0:l.entity,optionsPrefix:(d=c.prefix)===null||d===void 0?void 0:d.entity,optionsSuffix:(y=c.suffix)===null||y===void 0?void 0:y.entity});const m=(0,r.formatColumns)({columns:f.columns,applyPrefixSuffix:!f.isSubEntity,connectionOptions:c});s[f.name]=Object.assign(Object.assign({},f),{databaseName:p,columns:m});e.debug(`Add SubEntity: ${JSON.stringify(s[f.name])}`);(0,t.getSubEntitiesMetadata)({allEntitiesColumns:m,logger:e,entities:s,connectionOptions:c})}))};t.getSubEntitiesMetadata=getSubEntitiesMetadata},2900:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.loadEntities=void 0;const r=n(9908);const o=n(2830);const loadEntities=({connectionOptions:e,logger:t,entities:n})=>{const{entities:i,columns:s}=(0,r.getEntitiesMetadata)({logger:t,rawEntities:n,connectionOptions:e});(0,o.getSubEntitiesMetadata)({entities:i,logger:t,connectionOptions:e,allEntitiesColumns:s});return i};t.loadEntities=loadEntities},3578:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.COLUMN_METADATA_KEYS=void 0;t.COLUMN_METADATA_KEYS=["name","databaseName","isNameAlreadyFormatted","comment","type","databaseType","isArray","enumName","enumValues","autoGenerate","autoGenerateOnlyOnEvents","primary","extras"]},9473:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ENTITY_METADATA_KEYS=void 0;t.ENTITY_METADATA_KEYS=["name","databaseName","isNameAlreadyFormatted","isSubEntity","columns","indexes","extras"]},4932:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SymbiosisError=void 0;class SymbiosisError extends Error{constructor({message:e,code:t,origin:n,details:r}){super(e);this.code=t;this.origin=n;this.details=r;this.stack=JSON.stringify({message:e,code:t,origin:n,details:r},null,"\t")}}t.SymbiosisError=SymbiosisError},9070:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.addColor=void 0;const addColor=({message:e,logLevel:t})=>{switch(t){case"DEBUG":return`[95m${e}[39m;`;case"ERROR":return`[31m${e}[39m`;case"WARN":return`[33m${e}[39m`;case"INFO":return`[96m${e}[39m`;case"LOG":default:return`[32m${e}[39m`}};t.addColor=addColor},401:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getLogLevels=void 0;const getLogLevels=e=>{switch(e){case"ALL_INTERNAL":return["DEBUG","ERROR","INFO","LOG","WARN"];case"NONE":return[];case"ALL":case undefined:return["ERROR","WARN","LOG"];case"MINIMUM":return["ERROR"];default:return e}};t.getLogLevels=getLogLevels},4416:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getTimestamp=void 0;const getTimestamp=()=>new Date(Date.now()).toLocaleString(undefined,{year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",day:"2-digit",month:"2-digit"});t.getTimestamp=getTimestamp},3158:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.printMessage=void 0;const r=n(9070);const o=n(4416);const getOutput=e=>{if(["string","number"].includes(typeof e)){return e}return JSON.stringify(e)};const printMessage=({writeStreamType:e,message:t,logLevel:n,connectionName:i})=>{const s=7;const c=(0,r.addColor)({logLevel:n,message:`[Symbiosis] ${process.pid} - `});const l=(0,o.getTimestamp)();const d=(0,r.addColor)({logLevel:n,message:n.toUpperCase().padStart(s," ")});const y=getOutput(t);process[e||"stdout"].write(`${c}${l} ${d} [${i}] ${y}\n`)};t.printMessage=printMessage},5933:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Logger=void 0;const r=n(401);const o=n(3158);class Logger{constructor(e,t){this.connectionName=e;this.logLevels=(0,r.getLogLevels)(t)}warn(e){if(!this.isLevelEnabled("WARN")){return}(0,o.printMessage)({message:e,logLevel:"WARN",connectionName:this.connectionName})}error(e){if(!this.isLevelEnabled("ERROR")){return}(0,o.printMessage)({message:e,logLevel:"ERROR",writeStreamType:"stderr",connectionName:this.connectionName})}log(e){if(!this.isLevelEnabled("LOG")){return}(0,o.printMessage)({message:e,logLevel:"LOG",connectionName:this.connectionName})}debug(e){if(!this.isLevelEnabled("DEBUG")){return}(0,o.printMessage)({message:e,logLevel:"DEBUG",connectionName:this.connectionName})}info(e){if(!this.isLevelEnabled("INFO")){return}(0,o.printMessage)({message:e,logLevel:"INFO",connectionName:this.connectionName})}static cliWarn(e){(0,o.printMessage)({message:e,logLevel:"WARN",writeStreamType:"stderr",connectionName:"CLI"})}static cliError(e){(0,o.printMessage)({message:e,logLevel:"ERROR",connectionName:"CLI"})}static cliLog(e){(0,o.printMessage)({message:e,logLevel:"LOG",connectionName:"CLI"})}static cliInfo(e){(0,o.printMessage)({message:e,logLevel:"INFO",connectionName:"CLI"})}isLevelEnabled(e){return this.logLevels.includes(e)}}t.Logger=Logger},7008:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},9006:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BaseRepository=void 0;const r=n(9610);const o=n(7461);const i=n(3900);const s=n(1795);const c=n(2098);const l=n(5232);const d=n(92);const y=n(9789);const f=n(1213);const p=n(4015);const m=n(1383);const v=n(8623);const g=n(1732);const b=n(743);const O=n(1331);const M=n(3687);const _=n(7632);const h=n(83);const S=n(7045);const E=n(2258);const P=n(4970);const j=n(6196);class BaseRepository{constructor(e,t,n){this.entityManager=e;this.logger=t;this.entity=n;const r=this.entityManager.getEntityMetadata(n);this.tableName=r.databaseName}beforeSave(e){return(0,M.beforeSave)({entity:this.entity,entityManager:this.entityManager},e)}afterSave(e){const t=(0,O.afterSave)({entity:this.entity,entityManager:this.entityManager},e);return t}beforeInsert(e){return(0,p.beforeInsert)({entity:this.entity,entityManager:this.entityManager},e)}afterInsert(e){const t=(0,f.afterInsert)({entity:this.entity,entityManager:this.entityManager},e);return t}beforeUpdate(e){return(0,E.beforeUpdate)({entity:this.entity,entityManager:this.entityManager},e)}afterUpdate(e){const t=(0,S.afterUpdate)({entity:this.entity,entityManager:this.entityManager},e);return t}beforeUpsert(e){return(0,j.beforeUpsert)({entity:this.entity,entityManager:this.entityManager},e)}afterUpsert(e){const t=(0,P.afterUpsert)({entity:this.entity,entityManager:this.entityManager},e);return t}beforeFind(e){return(0,y.beforeFind)({entity:this.entity,entityManager:this.entityManager},e)}afterFind(e){return(0,d.afterFind)({entity:this.entity,entityManager:this.entityManager},e)}beforeFindOne(e){return(0,l.beforeFindOne)({entity:this.entity,entityManager:this.entityManager},e)}afterFindOne(e){return(0,c.afterFindOne)({entity:this.entity,entityManager:this.entityManager},e)}beforeDelete(e){return(0,s.beforeDelete)({entity:this.entity,entityManager:this.entityManager},e)}afterDelete(e){return(0,i.afterDelete)({entity:this.entity,entityManager:this.entityManager},e)}beforeSoftDelete(e){return(0,h.beforeSoftDelete)({entity:this.entity,entityManager:this.entityManager},e)}afterSoftDelete(e){return(0,_.afterSoftDelete)({entity:this.entity,entityManager:this.entityManager},e)}beforeRecover(e){return(0,b.beforeRecover)({entity:this.entity,entityManager:this.entityManager},e)}afterRecover(e){return(0,g.afterRecover)({entity:this.entity,entityManager:this.entityManager},e)}beforeCount(e){return(0,o.beforeCount)({entity:this.entity,entityManager:this.entityManager},e)}afterCount(e){return(0,r.afterCount)({entity:this.entity,entityManager:this.entityManager},e)}beforePerformativeCount(e){return(0,v.beforePerformativeCount)({entity:this.entity,entityManager:this.entityManager},e)}afterPerformati