diff --git a/lib/models/v3/Sequelize.ts b/lib/models/v3/Sequelize.ts index ec1dc526..087b5ce6 100644 --- a/lib/models/v3/Sequelize.ts +++ b/lib/models/v3/Sequelize.ts @@ -11,28 +11,27 @@ import {ISequelizeAssociation} from "../../interfaces/ISequelizeAssociation"; export class Sequelize extends SequelizeOrigin implements BaseSequelize { // to fix "$1" called with something that's not an instance of Sequelize.Model - Model: any = Function; + Model: any; - throughMap: { [through: string]: any } = {}; - _: { [modelName: string]: typeof Model } = {}; + throughMap: { [through: string]: any }; + _: { [modelName: string]: typeof Model }; init: (config: SequelizeConfig) => void; addModels: (models: Array | string[]) => void; associateModels: (models: Array) => void; constructor(config: SequelizeConfig | string) { - - super( - (typeof config === "string") ? - config : // URI string - BaseSequelize.isISequelizeUriConfig(config) ? - config.uri : // URI string from ISequelizeUriConfig - BaseSequelize.prepareConfig(config) // Config object (ISequelizeConfig) - ); - - if (BaseSequelize.isISequelizeUriConfig(config)) { - this.options = {...this.options, ...config}; + if (typeof config === "string") { + super(config) + } else if(BaseSequelize.isISequelizeUriConfig(config)) { + super(config.uri, config) + } else { + super(BaseSequelize.prepareConfig(config)) } + this.throughMap = {} + this._ = {} + this.Model = Function + if (typeof config !== "string") { this.init(config); } diff --git a/lib/models/v4/Sequelize.ts b/lib/models/v4/Sequelize.ts index dad83015..fe53fe14 100644 --- a/lib/models/v4/Sequelize.ts +++ b/lib/models/v4/Sequelize.ts @@ -9,26 +9,24 @@ import {ISequelizeAssociation} from "../../interfaces/ISequelizeAssociation"; export class Sequelize extends OriginSequelize implements BaseSequelize { - throughMap: {[through: string]: any} = {}; - _: {[modelName: string]: typeof Model} = {}; + throughMap: {[through: string]: any}; + _: {[modelName: string]: typeof Model}; init: (config: SequelizeConfig) => void; addModels: (models: Array | string[]) => void; associateModels: (models: Array) => void; constructor(config: SequelizeConfig | string) { - - super( - (typeof config === "string") ? - config : // URI string - BaseSequelize.isISequelizeUriConfig(config) ? - config.uri : // URI string from ISequelizeUriConfig - BaseSequelize.prepareConfig(config) // Config object (ISequelizeConfig) - ); - - if (BaseSequelize.isISequelizeUriConfig(config)) { - this.options = {...this.options, ...config}; + if (typeof config === "string") { + super(config) + } else if(BaseSequelize.isISequelizeUriConfig(config)) { + super(config.uri, config) + } else { + super(BaseSequelize.prepareConfig(config)) } + this.throughMap = {} + this._ = {} + if (typeof config !== "string") { this.init(config); }