@tsdi/typeorm-adapter
Version:
@tsdi/typeorm-adapter is typeorm adapter orm for boot application, mvc frameworks on server.
3 lines (2 loc) • 7.95 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("tslib"),require("@tsdi/ioc"),require("reflect-metadata"),require("@tsdi/boot"),require("typeorm")):"function"==typeof define&&define.amd?define(["tslib","@tsdi/ioc","reflect-metadata","@tsdi/boot","typeorm"],t):((e=e||self)["typeorm-adapter"]=e["typeorm-adapter"]||{},e["typeorm-adapter"].umd=t(e.tslib,e.ioc,e.reflectMetadata,e.boot,e.typeorm))}(this,(function(e,t,o,n,r){"use strict";function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function a(e,t){return e(t={exports:{}},t.exports),t.exports}e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;var c=a((function(o,i){Object.defineProperty(i,"__esModule",{value:!0}),i.TypeormConnectionStatupService=void 0;var a=function(o){function n(){return null!==o&&o.apply(this,arguments)||this}return e.__extends(n,o),n.prototype.configureService=function(o){var n;return e.__awaiter(this,void 0,void 0,(function(){var r,i,a,c,s=this;return e.__generator(this,(function(e){switch(e.label){case 0:return this.ctx=o,null==(r=this.logger=null===(n=o.getLogManager())||void 0===n?void 0:n.getLogger())||r.info("startup db connections"),i=this.ctx.getConfiguration(),a=o.injector,(null==i?void 0:i.repositories.some((function(e){return t.isString(e)})))?[4,this.ctx.injector.getLoader().loadTypes({files:i.repositories.filter((function(e){return t.isString(e)})),basePath:this.ctx.baseURL})]:[3,2];case 1:e.sent(),e.label=2;case 2:return t.isArray(i.connections)?[4,Promise.all(i.connections.map((function(e){return s.statupConnection(a,e,i)})))]:[3,4];case 3:return e.sent(),[3,6];case 4:return i.connections?((c=i.connections).asDefault=!0,[4,this.statupConnection(a,c,i)]):[3,6];case 5:e.sent(),e.label=6;case 6:return[2]}}))}))},n.prototype.statupConnection=function(t,o,n){var i;return e.__awaiter(this,void 0,void 0,(function(){var a;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.createConnection(o,n)];case 1:return a=e.sent(),o.initDb?[4,o.initDb(a)]:[3,3];case 2:e.sent(),e.label=3;case 3:return null===(i=r.getMetadataArgsStorage().entityRepositories)||void 0===i||i.forEach((function(e){o.entities.indexOf(e.entity)>=0&&t.set(e.target,(function(){return r.getCustomRepository(e.target,o.name)}))})),[2]}}))}))},n.prototype.createConnection=function(o,n){return e.__awaiter(this,void 0,void 0,(function(){var i;return e.__generator(this,(function(e){switch(e.label){case 0:return!o.asDefault||o.entities?[3,4]:(i=[],(null==n?void 0:n.models.some((function(e){return t.isString(e)})))?[4,this.ctx.injector.getLoader().loadTypes({files:n.models.filter((function(e){return t.isString(e)})),basePath:this.ctx.baseURL})]:[3,2]);case 1:return e.sent().forEach((function(e){e.forEach((function(e){e&&i.indexOf(e)<0&&i.push(e)}))})),[3,3];case 2:i=n.models,e.label=3;case 3:o.entities=i,e.label=4;case 4:return o.asDefault&&(this.options=o),[4,r.createConnection(o)];case 5:return[2,e.sent()]}}))}))},n.prototype.getConnection=function(e){var t;return r.getConnection(null!=e?e:null===(t=this.options)||void 0===t?void 0:t.name)},n.prototype.destroying=function(){var e,t;null===(e=this.logger)||void 0===e||e.info("close db connections"),null===(t=r.getConnectionManager().connections)||void 0===t||t.forEach((function(e){return null==e?void 0:e.close()}))},n.ρAnn=function(){return{name:"TypeormConnectionStatupService",params:{configureService:["ctx"],statupConnection:["injector","options","config"],createConnection:["options","config"],getConnection:["connectName"]}}},n=e.__decorate([t.Singleton()],n)}(n.ConnectionStatupService);i.TypeormConnectionStatupService=a}));i(c);c.TypeormConnectionStatupService;var s=a((function(o,n){Object.defineProperty(n,"__esModule",{value:!0}),n.TypeOrmHelper=void 0;var r=function(){function o(){}return o.prototype.getConnection=function(e){return this.service||(this.service=this.injector.get(c.TypeormConnectionStatupService)),this.service.getConnection(e)},o.prototype.getRepository=function(e,t){return this.getConnection(t).getRepository(e)},o.prototype.getCustomRepository=function(e,t){return this.getConnection(t).getCustomRepository(e)},o.prototype.getMongoRepository=function(e,t){return this.getConnection(t).getMongoRepository(e)},o.ρAnn=function(){return{name:"TypeOrmHelper",params:{getConnection:["connectName"],getRepository:["type","connectName"],getCustomRepository:["type","connectName"],getMongoRepository:["type","connectName"]}}},e.__decorate([t.Inject(t.INJECTOR),e.__metadata("design:type",Object)],o.prototype,"injector",void 0),o=e.__decorate([t.Singleton(),e.__metadata("design:paramtypes",[])],o)}();n.TypeOrmHelper=r}));i(s);s.TypeOrmHelper;var p=a((function(o,i){Object.defineProperty(i,"__esModule",{value:!0}),i.TypeOrmModelParser=i.ObjectIDToken=void 0,i.ObjectIDToken=t.tokenId("ObjectID");var a=/(int|float|double|dec|numeric|number)/,c=/int/,s=/(char|var|string|text)/,p=/(bool|bit)/,u=/(time|date)/,l=/array/,y=/(bytes|bytea)/,d=function(o){function d(){return null!==o&&o.apply(this,arguments)||this}return e.__extends(d,o),d.prototype.isObjectId=function(e){return this._ObjectID&&this._ObjectID===e},d.prototype.setup=function(){var e=this._ObjectID;e&&this.getTypeMap().register(e,(function(t){return new e(t)}))},d.prototype.getPropertyMeta=function(e){var o=this,n={};return r.getMetadataArgsStorage().columns.filter((function(t){return t.target===e})).forEach((function(e){n[e.propertyName]=n[e.propertyName]||[],n[e.propertyName].push({propertyKey:e.propertyName,dbtype:t.isString(e.options.type)?e.options.type:"",type:o.getModeType(e)})})),r.getMetadataArgsStorage().relations.filter((function(t){return t.target===e})).forEach((function(e){n[e.propertyName]=n[e.propertyName]||[];var o=t.isFunction(e.type)?e.type():void 0;n[e.propertyName].push({propertyKey:e.propertyName,provider:o,type:"one-to-many"===e.relationType||"many-to-many"===e.relationType?Array:o})})),n},d.prototype.isExtendBaseType=function(e,t){return!(!t.dbtype||!c.test(t.dbtype))||(!!this.isObjectId(e)||o.prototype.isExtendBaseType.call(this,e,t))},d.prototype.resolveExtendType=function(e,t,n){return n.dbtype&&c.test(n.dbtype)?parseInt(t):this.isObjectId(e)?new this._ObjectID(t):o.prototype.resolveExtendType.call(this,e,n)},d.prototype.getModeType=function(e){var o=e.options.type;if(o)return t.isString(o)?"uuid"===o?String:a.test(o)?Number:p.test(o)?Boolean:s.test(o)?String:u.test(o)?Date:l.test(o)?Array:y.test(o)?Buffer:Object:o;switch(e.mode){case"objectId":o=this._ObjectID}return o},d.ρAnn=function(){return{name:"TypeOrmModelParser",params:{isObjectId:["type"],getPropertyMeta:["type"],isExtendBaseType:["type","propmeta"],resolveExtendType:["type","value","propmeta"],getModeType:["col"]}}},e.__decorate([t.Inject(i.ObjectIDToken),e.__metadata("design:type",Object)],d.prototype,"_ObjectID",void 0),d=e.__decorate([t.Singleton(n.DefaultModelParserToken),t.Autorun("setup")],d)}(n.ModelParser);i.TypeOrmModelParser=d}));i(p);p.TypeOrmModelParser,p.ObjectIDToken;var u=a((function(t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.TypeOrmModule=void 0;var r=function(){function t(){}return t.ρAnn=function(){return{name:"TypeOrmModule",params:{}}},t=e.__decorate([n.DIModule({regIn:"root",imports:[n.ORMCoreModule],providers:[c.TypeormConnectionStatupService,s.TypeOrmHelper,p.TypeOrmModelParser]})],t)}();o.TypeOrmModule=r}));i(u);u.TypeOrmModule;return i(a((function(t,o){Object.defineProperty(o,"__esModule",{value:!0}),e.__exportStar(s,o),e.__exportStar(p,o),e.__exportStar(u,o),e.__exportStar(c,o)})))}));
//# sourceMappingURL=typeorm-adapter.umd.min.js.map