Skip to content

Commit

Permalink
fix: refactoring instance of with Array.isArray() (#5539)
Browse files Browse the repository at this point in the history
  • Loading branch information
naidishuli committed Feb 17, 2020
1 parent ee57557 commit 1e1595e
Show file tree
Hide file tree
Showing 29 changed files with 103 additions and 103 deletions.
2 changes: 1 addition & 1 deletion src/connection/ConnectionOptionsReader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export class ConnectionOptionsReader {
* Normalize connection options.
*/
protected normalizeConnectionOptions(connectionOptions: ConnectionOptions|ConnectionOptions[]): ConnectionOptions[] {
if (!(connectionOptions instanceof Array))
if (!(Array.isArray(connectionOptions)))
connectionOptions = [connectionOptions];

connectionOptions.forEach(options => {
Expand Down
2 changes: 1 addition & 1 deletion src/decorator/relations/JoinColumn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export function JoinColumn(options: JoinColumnOptions[]): Function;
*/
export function JoinColumn(optionsOrOptionsArray?: JoinColumnOptions|JoinColumnOptions[]): Function {
return function (object: Object, propertyName: string) {
const options = optionsOrOptionsArray instanceof Array ? optionsOrOptionsArray : [optionsOrOptionsArray || {}];
const options = Array.isArray(optionsOrOptionsArray) ? optionsOrOptionsArray : [optionsOrOptionsArray || {}];
options.forEach(options => {
getMetadataArgsStorage().joinColumns.push({
target: object.constructor,
Expand Down
16 changes: 8 additions & 8 deletions src/entity-manager/EntityManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ export class EntityManager {
if (!plainObjectOrObjects)
return metadata.create(this.queryRunner);

if (plainObjectOrObjects instanceof Array)
if (Array.isArray(plainObjectOrObjects))
return plainObjectOrObjects.map(plainEntityLike => this.create(entityClass as any, plainEntityLike));

const mergeIntoEntity = metadata.create(this.queryRunner);
Expand Down Expand Up @@ -398,7 +398,7 @@ export class EntityManager {
target = target.options.name;

// if user passed empty array of entities then we don't need to do anything
if (entity instanceof Array && entity.length === 0)
if (Array.isArray(entity) && entity.length === 0)
return Promise.resolve(entity);

// execute save operation
Expand Down Expand Up @@ -458,7 +458,7 @@ export class EntityManager {
const options = target ? maybeOptions : maybeEntityOrOptions as SaveOptions;

// if user passed empty array of entities then we don't need to do anything
if (entity instanceof Array && entity.length === 0)
if (Array.isArray(entity) && entity.length === 0)
return Promise.resolve(entity);

// execute save operation
Expand All @@ -477,7 +477,7 @@ export class EntityManager {
async insert<Entity>(target: ObjectType<Entity>|EntitySchema<Entity>|string, entity: QueryDeepPartialEntity<Entity>|(QueryDeepPartialEntity<Entity>[])): Promise<InsertResult> {

// TODO: Oracle does not support multiple values. Need to create another nice solution.
if (this.connection.driver instanceof OracleDriver && entity instanceof Array) {
if (this.connection.driver instanceof OracleDriver && Array.isArray(entity)) {
const results = await Promise.all(entity.map(entity => this.insert(target, entity)));
return results.reduce((mergedResult, result) => Object.assign(mergedResult, result), {} as InsertResult);
}
Expand All @@ -501,15 +501,15 @@ export class EntityManager {
if (criteria === undefined ||
criteria === null ||
criteria === "" ||
(criteria instanceof Array && criteria.length === 0)) {
(Array.isArray(criteria) && criteria.length === 0)) {

return Promise.reject(new Error(`Empty criteria(s) are not allowed for the update method.`));
}

if (typeof criteria === "string" ||
typeof criteria === "number" ||
criteria instanceof Date ||
criteria instanceof Array) {
Array.isArray(criteria)) {

return this.createQueryBuilder()
.update(target)
Expand Down Expand Up @@ -539,15 +539,15 @@ export class EntityManager {
if (criteria === undefined ||
criteria === null ||
criteria === "" ||
(criteria instanceof Array && criteria.length === 0)) {
(Array.isArray(criteria) && criteria.length === 0)) {

return Promise.reject(new Error(`Empty criteria(s) are not allowed for the delete method.`));
}

if (typeof criteria === "string" ||
typeof criteria === "number" ||
criteria instanceof Date ||
criteria instanceof Array) {
Array.isArray(criteria)) {

return this.createQueryBuilder()
.delete()
Expand Down
6 changes: 3 additions & 3 deletions src/entity-manager/MongoEntityManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ export class MongoEntityManager extends EntityManager {
async insert<Entity>(target: ObjectType<Entity> | EntitySchema<Entity> | string, entity: QueryDeepPartialEntity<Entity> | QueryDeepPartialEntity<Entity>[]): Promise<InsertResult> {
// todo: convert entity to its database name
const result = new InsertResult();
if (entity instanceof Array) {
if (Array.isArray(entity)) {
result.raw = await this.insertMany(target, entity);
Object.keys(result.raw.insertedIds).forEach((key: any) => {
let insertedId = result.raw.insertedIds[key];
Expand All @@ -221,7 +221,7 @@ export class MongoEntityManager extends EntityManager {
* Does not check if entity exist in the database.
*/
async update<Entity>(target: ObjectType<Entity> | EntitySchema<Entity> | string, criteria: string | string[] | number | number[] | Date | Date[] | ObjectID | ObjectID[] | FindConditions<Entity>, partialEntity: QueryDeepPartialEntity<Entity>): Promise<UpdateResult> {
if (criteria instanceof Array) {
if (Array.isArray(criteria)) {
await Promise.all((criteria as any[]).map(criteriaItem => {
return this.update(target, criteriaItem, partialEntity);
}));
Expand All @@ -241,7 +241,7 @@ export class MongoEntityManager extends EntityManager {
* Does not check if entity exist in the database.
*/
async delete<Entity>(target: ObjectType<Entity> | EntitySchema<Entity> | string, criteria: string | string[] | number | number[] | Date | Date[] | ObjectID | ObjectID[] | FindConditions<Entity>): Promise<DeleteResult> {
if (criteria instanceof Array) {
if (Array.isArray(criteria)) {
await Promise.all((criteria as any[]).map(criteriaItem => {
return this.delete(target, criteriaItem);
}));
Expand Down
4 changes: 2 additions & 2 deletions src/find-options/FindOptionsUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ export class FindOptionsUtils {
const possibleOptions: FindOneOptions<any> = obj;
return possibleOptions &&
(
possibleOptions.select instanceof Array ||
Array.isArray(possibleOptions.select) ||
possibleOptions.where instanceof Object ||
typeof possibleOptions.where === "string" ||
possibleOptions.relations instanceof Array ||
Array.isArray(possibleOptions.relations) ||
possibleOptions.join instanceof Object ||
possibleOptions.order instanceof Object ||
possibleOptions.cache instanceof Object ||
Expand Down
14 changes: 7 additions & 7 deletions src/logger/AdvancedConsoleLogger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class AdvancedConsoleLogger implements Logger {
* Logs query and parameters used in it.
*/
logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("query") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("query") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
PlatformTools.logInfo("query:", PlatformTools.highlightSql(sql));
}
Expand All @@ -34,7 +34,7 @@ export class AdvancedConsoleLogger implements Logger {
* Logs query that is failed.
*/
logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("error") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("error") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
PlatformTools.logError(`query failed:`, PlatformTools.highlightSql(sql));
PlatformTools.logError(`error:`, error);
Expand All @@ -54,7 +54,7 @@ export class AdvancedConsoleLogger implements Logger {
* Logs events from the schema build process.
*/
logSchemaBuild(message: string, queryRunner?: QueryRunner) {
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("schema") !== -1)) {
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("schema") !== -1)) {
PlatformTools.log(message);
}
}
Expand All @@ -73,15 +73,15 @@ export class AdvancedConsoleLogger implements Logger {
log(level: "log"|"info"|"warn", message: any, queryRunner?: QueryRunner) {
switch (level) {
case "log":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("log") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("log") !== -1))
PlatformTools.log(message);
break;
case "info":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("info") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("info") !== -1))
PlatformTools.logInfo("INFO:", message);
break;
case "warn":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("warn") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("warn") !== -1))
console.warn(PlatformTools.warn(message));
break;
}
Expand All @@ -104,4 +104,4 @@ export class AdvancedConsoleLogger implements Logger {
}
}

}
}
16 changes: 8 additions & 8 deletions src/logger/FileLogger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class FileLogger implements Logger {
* Logs query and parameters used in it.
*/
logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("query") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("query") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
this.write("[QUERY]: " + sql);
}
Expand All @@ -34,7 +34,7 @@ export class FileLogger implements Logger {
* Logs query that is failed.
*/
logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("error") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("error") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
this.write([
`[FAILED QUERY]: ${sql}`,
Expand All @@ -55,7 +55,7 @@ export class FileLogger implements Logger {
* Logs events from the schema build process.
*/
logSchemaBuild(message: string, queryRunner?: QueryRunner) {
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("schema") !== -1)) {
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("schema") !== -1)) {
this.write(message);
}
}
Expand All @@ -74,15 +74,15 @@ export class FileLogger implements Logger {
log(level: "log"|"info"|"warn", message: any, queryRunner?: QueryRunner) {
switch (level) {
case "log":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("log") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("log") !== -1))
this.write("[LOG]: " + message);
break;
case "info":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("info") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("info") !== -1))
this.write("[INFO]: " + message);
break;
case "warn":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("warn") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("warn") !== -1))
this.write("[WARN]: " + message);
break;
}
Expand All @@ -96,7 +96,7 @@ export class FileLogger implements Logger {
* Writes given strings into the log file.
*/
protected write(strings: string|string[]) {
strings = strings instanceof Array ? strings : [strings];
strings = Array.isArray(strings) ? strings : [strings];
const basePath = PlatformTools.load("app-root-path").path;
strings = (strings as string[]).map(str => "[" + new Date().toISOString() + "]" + str);
PlatformTools.appendFileSync(basePath + "/ormlogs.log", strings.join("\r\n") + "\r\n"); // todo: use async or implement promises?
Expand All @@ -115,4 +115,4 @@ export class FileLogger implements Logger {
}
}

}
}
14 changes: 7 additions & 7 deletions src/logger/SimpleConsoleLogger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class SimpleConsoleLogger implements Logger {
* Logs query and parameters used in it.
*/
logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("query") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("query") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
console.log("query" + ": " + sql);
}
Expand All @@ -33,7 +33,7 @@ export class SimpleConsoleLogger implements Logger {
* Logs query that is failed.
*/
logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner) {
if (this.options === "all" || this.options === true || (this.options instanceof Array && this.options.indexOf("error") !== -1)) {
if (this.options === "all" || this.options === true || (Array.isArray(this.options) && this.options.indexOf("error") !== -1)) {
const sql = query + (parameters && parameters.length ? " -- PARAMETERS: " + this.stringifyParams(parameters) : "");
console.log(`query failed: ` + sql);
console.log(`error:`, error);
Expand All @@ -53,7 +53,7 @@ export class SimpleConsoleLogger implements Logger {
* Logs events from the schema build process.
*/
logSchemaBuild(message: string, queryRunner?: QueryRunner) {
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("schema") !== -1)) {
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("schema") !== -1)) {
console.log(message);
}
}
Expand All @@ -72,15 +72,15 @@ export class SimpleConsoleLogger implements Logger {
log(level: "log"|"info"|"warn", message: any, queryRunner?: QueryRunner) {
switch (level) {
case "log":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("log") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("log") !== -1))
console.log(message);
break;
case "info":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("info") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("info") !== -1))
console.info(message);
break;
case "warn":
if (this.options === "all" || (this.options instanceof Array && this.options.indexOf("warn") !== -1))
if (this.options === "all" || (Array.isArray(this.options) && this.options.indexOf("warn") !== -1))
console.warn(message);
break;
}
Expand All @@ -103,4 +103,4 @@ export class SimpleConsoleLogger implements Logger {
}
}

}
}
Loading

0 comments on commit 1e1595e

Please sign in to comment.