diff --git a/lib/Connection.js b/lib/Connection.js index 1f81fc84..4f447e5a 100644 --- a/lib/Connection.js +++ b/lib/Connection.js @@ -31,35 +31,15 @@ class Connection { /** * @description Creates a new Connection object * @constructor - * @param {object | string} optionsOrDb - * @param {string} user - * @param {string} pwd - * @param {object} [restConfig] + * @param {object} options */ - constructor(optionsOrDb, username, password, restOptions) { + constructor(options) { this.commandList = []; this.returnError = true; this.verbose = false; - let options = optionsOrDb; - // maintain compatibility with versions < 1.0 if (typeof options !== 'object') { - options = { - returnError: false, - transport: 'idb', - transportOptions: { - database: optionsOrDb, - username, - password, - }, - }; - if (restOptions && typeof restOptions === 'object') { - if (restOptions.host) { - // pre v1.0 falls back to idb transport when host is not specified - options.transport = 'rest'; - } - options.transportOptions = { ...options.transportOptions, ...restOptions }; - } + throw new Error('options must be an object'); } this.transport = options.transport; diff --git a/lib/Deprecated.js b/lib/Deprecated.js index 09eb1c01..752c3efd 100644 --- a/lib/Deprecated.js +++ b/lib/Deprecated.js @@ -402,8 +402,37 @@ class iSql { // DEPRECATED: For now, routes call to Connection, but will be removed at a later time. class iConn { + /** + * @description Creates a new iConn object + * @constructor + * @param {string} db + * @param {string} user + * @param {string} pwd + * @param {object} [option] + */ constructor(db, user, pwd, option) { - this.connection = new Connection(db, user, pwd, option); + iConnDeprecate('As of v1.0, class \'iConn\' is deprecated. Please use \'Connection\' instead.'); + + // Assume using idb as the transport + const options = { + returnError: false, + transport: 'idb', + transportOptions: { + database: db, + username: user, + password: pwd, + }, + }; + + if (option && typeof option === 'object') { + // pre v1.0 falls back to idb transport when host is not specified + if (option.host) { + options.transport = 'rest'; + } + options.transportOptions = { ...options.transportOptions, ...option }; + } + + this.connection = new Connection(options); } /**