typeorm 0.3.23-dev.45577df → 0.3.23-dev.4c8fc3a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/browser/cache/DbQueryResultCache.js +1 -1
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/cache/RedisQueryResultCache.js +1 -1
  4. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  5. package/browser/data-source/BaseDataSourceOptions.d.ts +1 -1
  6. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  7. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
  8. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  9. package/browser/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  10. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  11. package/browser/driver/cordova/CordovaQueryRunner.js +2 -2
  12. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  13. package/browser/driver/expo/ExpoQueryRunner.js +2 -2
  14. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  15. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js +2 -2
  16. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -1
  17. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  18. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  19. package/browser/driver/mysql/MysqlQueryRunner.js +8 -3
  20. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  21. package/browser/driver/nativescript/NativescriptQueryRunner.js +2 -2
  22. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  23. package/browser/driver/oracle/OracleQueryRunner.js +2 -2
  24. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  25. package/browser/driver/postgres/PostgresQueryRunner.js +2 -2
  26. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  27. package/browser/driver/react-native/ReactNativeQueryRunner.js +2 -2
  28. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  29. package/browser/driver/sap/SapQueryRunner.js +2 -2
  30. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  31. package/browser/driver/spanner/SpannerQueryRunner.js +4 -4
  32. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  33. package/browser/driver/sqlite/SqliteQueryRunner.js +2 -2
  34. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  35. package/browser/driver/sqljs/SqljsQueryRunner.js +2 -2
  36. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  37. package/browser/driver/sqlserver/SqlServerQueryRunner.js +2 -2
  38. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  39. package/browser/driver/types/GeoJsonTypes.d.ts +20 -15
  40. package/browser/driver/types/GeoJsonTypes.js.map +1 -1
  41. package/browser/index.d.ts +1 -0
  42. package/browser/index.js +1 -0
  43. package/browser/index.js.map +1 -1
  44. package/browser/logger/AbstractLogger.d.ts +1 -1
  45. package/browser/logger/AbstractLogger.js +5 -1
  46. package/browser/logger/AbstractLogger.js.map +1 -1
  47. package/browser/logger/FormattedConsoleLogger.d.ts +13 -0
  48. package/browser/logger/FormattedConsoleLogger.js +55 -0
  49. package/browser/logger/FormattedConsoleLogger.js.map +1 -0
  50. package/browser/logger/Logger.d.ts +1 -0
  51. package/browser/logger/Logger.js.map +1 -1
  52. package/browser/logger/LoggerFactory.d.ts +1 -1
  53. package/browser/logger/LoggerFactory.js +3 -0
  54. package/browser/logger/LoggerFactory.js.map +1 -1
  55. package/browser/metadata/EntityListenerMetadata.js +14 -2
  56. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  57. package/browser/platform/PlatformTools.d.ts +5 -0
  58. package/browser/platform/PlatformTools.js +16 -0
  59. package/browser/platform/PlatformTools.js.map +1 -1
  60. package/browser/query-builder/SelectQueryBuilder.js +1 -1
  61. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  62. package/browser/repository/MongoRepository.d.ts +1 -1
  63. package/browser/repository/MongoRepository.js.map +1 -1
  64. package/cache/DbQueryResultCache.js +1 -1
  65. package/cache/DbQueryResultCache.js.map +1 -1
  66. package/cache/RedisQueryResultCache.js +1 -1
  67. package/cache/RedisQueryResultCache.js.map +1 -1
  68. package/data-source/BaseDataSourceOptions.d.ts +1 -1
  69. package/data-source/BaseDataSourceOptions.js.map +1 -1
  70. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
  71. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  72. package/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  73. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  74. package/driver/cordova/CordovaQueryRunner.js +2 -2
  75. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  76. package/driver/expo/ExpoQueryRunner.js +2 -2
  77. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  78. package/driver/expo/legacy/ExpoLegacyQueryRunner.js +2 -2
  79. package/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -1
  80. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  81. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  82. package/driver/mysql/MysqlQueryRunner.js +8 -3
  83. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  84. package/driver/nativescript/NativescriptQueryRunner.js +2 -2
  85. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  86. package/driver/oracle/OracleQueryRunner.js +2 -2
  87. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  88. package/driver/postgres/PostgresQueryRunner.js +2 -2
  89. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  90. package/driver/react-native/ReactNativeQueryRunner.js +2 -2
  91. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  92. package/driver/sap/SapQueryRunner.js +2 -2
  93. package/driver/sap/SapQueryRunner.js.map +1 -1
  94. package/driver/spanner/SpannerQueryRunner.js +4 -4
  95. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  96. package/driver/sqlite/SqliteQueryRunner.js +2 -2
  97. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  98. package/driver/sqljs/SqljsQueryRunner.js +2 -2
  99. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  100. package/driver/sqlserver/SqlServerQueryRunner.js +2 -2
  101. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  102. package/driver/types/GeoJsonTypes.d.ts +20 -15
  103. package/driver/types/GeoJsonTypes.js.map +1 -1
  104. package/index.d.ts +1 -0
  105. package/index.js +1 -0
  106. package/index.js.map +1 -1
  107. package/index.mjs +2 -0
  108. package/logger/AbstractLogger.d.ts +1 -1
  109. package/logger/AbstractLogger.js +5 -1
  110. package/logger/AbstractLogger.js.map +1 -1
  111. package/logger/FormattedConsoleLogger.d.ts +13 -0
  112. package/logger/FormattedConsoleLogger.js +59 -0
  113. package/logger/FormattedConsoleLogger.js.map +1 -0
  114. package/logger/Logger.d.ts +1 -0
  115. package/logger/Logger.js.map +1 -1
  116. package/logger/LoggerFactory.d.ts +1 -1
  117. package/logger/LoggerFactory.js +3 -0
  118. package/logger/LoggerFactory.js.map +1 -1
  119. package/metadata/EntityListenerMetadata.js +14 -2
  120. package/metadata/EntityListenerMetadata.js.map +1 -1
  121. package/package.json +1 -1
  122. package/platform/PlatformTools.d.ts +5 -0
  123. package/platform/PlatformTools.js +16 -0
  124. package/platform/PlatformTools.js.map +1 -1
  125. package/query-builder/SelectQueryBuilder.js +1 -1
  126. package/query-builder/SelectQueryBuilder.js.map +1 -1
  127. package/repository/MongoRepository.d.ts +1 -1
  128. package/repository/MongoRepository.js.map +1 -1
@@ -55,7 +55,7 @@ class SqliteQueryRunner extends AbstractSqliteQueryRunner_1.AbstractSqliteQueryR
55
55
  try {
56
56
  const databaseConnection = await this.connect();
57
57
  this.driver.connection.logger.logQuery(query, parameters, this);
58
- const queryStartTime = +new Date();
58
+ const queryStartTime = Date.now();
59
59
  const isInsertQuery = query.startsWith("INSERT ");
60
60
  const isDeleteQuery = query.startsWith("DELETE ");
61
61
  const isUpdateQuery = query.startsWith("UPDATE ");
@@ -77,7 +77,7 @@ class SqliteQueryRunner extends AbstractSqliteQueryRunner_1.AbstractSqliteQueryR
77
77
  }
78
78
  }
79
79
  // log slow queries if maxQueryExecution time is set
80
- const queryEndTime = +new Date();
80
+ const queryEndTime = Date.now();
81
81
  const queryExecutionTime = queryEndTime - queryStartTime;
82
82
  if (maxQueryExecutionTime &&
83
83
  queryExecutionTime > maxQueryExecutionTime)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/sqlite/SqliteQueryRunner.ts"],"names":[],"mappings":"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","file":"SqliteQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqliteConnectionOptions } from \"./SqliteConnectionOptions\"\nimport { SqliteDriver } from \"./SqliteDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { BroadcasterResult } from \"../../subscriber/BroadcasterResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n *\n * Does not support compose primary keys with autoincrement field.\n * todo: need to throw exception for this case.\n */\nexport class SqliteQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: SqliteDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqliteDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n /**\n * Executes a given SQL query.\n */\n query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const connection = this.driver.connection\n const options = connection.options as SqliteConnectionOptions\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime\n const broadcasterResult = new BroadcasterResult()\n const broadcaster = this.broadcaster\n\n broadcaster.broadcastBeforeQueryEvent(\n broadcasterResult,\n query,\n parameters,\n )\n\n if (!connection.isInitialized) {\n throw new ConnectionIsNotSetError(\"sqlite\")\n }\n\n return new Promise(async (ok, fail) => {\n try {\n const databaseConnection = await this.connect()\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n const isInsertQuery = query.startsWith(\"INSERT \")\n const isDeleteQuery = query.startsWith(\"DELETE \")\n const isUpdateQuery = query.startsWith(\"UPDATE \")\n\n const execute = async () => {\n if (isInsertQuery || isDeleteQuery || isUpdateQuery) {\n await databaseConnection.run(query, parameters, handler)\n } else {\n await databaseConnection.all(query, parameters, handler)\n }\n }\n\n const self = this\n const handler = function (this: any, err: any, rows: any) {\n if (err && err.toString().indexOf(\"SQLITE_BUSY:\") !== -1) {\n if (\n typeof options.busyErrorRetry === \"number\" &&\n options.busyErrorRetry > 0\n ) {\n setTimeout(execute, options.busyErrorRetry)\n return\n }\n }\n\n // log slow queries if maxQueryExecution time is set\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n self,\n )\n\n if (err) {\n connection.logger.logQueryError(\n err,\n query,\n parameters,\n self,\n )\n broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n false,\n undefined,\n undefined,\n err,\n )\n\n return fail(\n new QueryFailedError(query, parameters, err),\n )\n } else {\n const result = new QueryResult()\n\n if (isInsertQuery) {\n result.raw = this[\"lastID\"]\n } else {\n result.raw = rows\n }\n\n broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n true,\n queryExecutionTime,\n result.raw,\n undefined,\n )\n\n if (Array.isArray(rows)) {\n result.records = rows\n }\n\n result.affected = this[\"changes\"]\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n }\n }\n\n await execute()\n } catch (err) {\n fail(err)\n } finally {\n await broadcasterResult.wait()\n }\n })\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/sqlite/SqliteQueryRunner.ts"],"names":[],"mappings":"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","file":"SqliteQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqliteConnectionOptions } from \"./SqliteConnectionOptions\"\nimport { SqliteDriver } from \"./SqliteDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { BroadcasterResult } from \"../../subscriber/BroadcasterResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n *\n * Does not support compose primary keys with autoincrement field.\n * todo: need to throw exception for this case.\n */\nexport class SqliteQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: SqliteDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqliteDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n /**\n * Executes a given SQL query.\n */\n query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const connection = this.driver.connection\n const options = connection.options as SqliteConnectionOptions\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime\n const broadcasterResult = new BroadcasterResult()\n const broadcaster = this.broadcaster\n\n broadcaster.broadcastBeforeQueryEvent(\n broadcasterResult,\n query,\n parameters,\n )\n\n if (!connection.isInitialized) {\n throw new ConnectionIsNotSetError(\"sqlite\")\n }\n\n return new Promise(async (ok, fail) => {\n try {\n const databaseConnection = await this.connect()\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = Date.now()\n const isInsertQuery = query.startsWith(\"INSERT \")\n const isDeleteQuery = query.startsWith(\"DELETE \")\n const isUpdateQuery = query.startsWith(\"UPDATE \")\n\n const execute = async () => {\n if (isInsertQuery || isDeleteQuery || isUpdateQuery) {\n await databaseConnection.run(query, parameters, handler)\n } else {\n await databaseConnection.all(query, parameters, handler)\n }\n }\n\n const self = this\n const handler = function (this: any, err: any, rows: any) {\n if (err && err.toString().indexOf(\"SQLITE_BUSY:\") !== -1) {\n if (\n typeof options.busyErrorRetry === \"number\" &&\n options.busyErrorRetry > 0\n ) {\n setTimeout(execute, options.busyErrorRetry)\n return\n }\n }\n\n // log slow queries if maxQueryExecution time is set\n const queryEndTime = Date.now()\n const queryExecutionTime = queryEndTime - queryStartTime\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n self,\n )\n\n if (err) {\n connection.logger.logQueryError(\n err,\n query,\n parameters,\n self,\n )\n broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n false,\n undefined,\n undefined,\n err,\n )\n\n return fail(\n new QueryFailedError(query, parameters, err),\n )\n } else {\n const result = new QueryResult()\n\n if (isInsertQuery) {\n result.raw = this[\"lastID\"]\n } else {\n result.raw = rows\n }\n\n broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n true,\n queryExecutionTime,\n result.raw,\n undefined,\n )\n\n if (Array.isArray(rows)) {\n result.records = rows\n }\n\n result.affected = this[\"changes\"]\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n }\n }\n\n await execute()\n } catch (err) {\n fail(err)\n } finally {\n await broadcasterResult.wait()\n }\n })\n }\n}\n"],"sourceRoot":"../.."}
@@ -70,7 +70,7 @@ class SqljsQueryRunner extends AbstractSqliteQueryRunner_1.AbstractSqliteQueryRu
70
70
  const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
71
71
  this.driver.connection.logger.logQuery(query, parameters, this);
72
72
  this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
73
- const queryStartTime = +new Date();
73
+ const queryStartTime = Date.now();
74
74
  let statement;
75
75
  try {
76
76
  statement = databaseConnection.prepare(query);
@@ -80,7 +80,7 @@ class SqljsQueryRunner extends AbstractSqliteQueryRunner_1.AbstractSqliteQueryRu
80
80
  }
81
81
  // log slow queries if maxQueryExecution time is set
82
82
  const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
83
- const queryEndTime = +new Date();
83
+ const queryEndTime = Date.now();
84
84
  const queryExecutionTime = queryEndTime - queryStartTime;
85
85
  if (maxQueryExecutionTime &&
86
86
  queryExecutionTime > maxQueryExecutionTime)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/sqljs/SqljsQueryRunner.ts"],"names":[],"mappings":"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","file":"SqljsQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqljsDriver } from \"./SqljsDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { BroadcasterResult } from \"../../subscriber/BroadcasterResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class SqljsQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Flag to determine if a modification has happened since the last time this query runner has requested a save.\n */\n private isDirty = false\n\n /**\n * Database driver used by connection.\n */\n driver: SqljsDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqljsDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n private async flush() {\n if (this.isDirty) {\n await this.driver.autoSave()\n this.isDirty = false\n }\n }\n\n async release(): Promise<void> {\n await this.flush()\n return super.release()\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n await super.commitTransaction()\n if (!this.isTransactionActive) {\n await this.flush()\n }\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters: any[] = [],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const command = query.trim().split(\" \", 1)[0]\n\n const databaseConnection = this.driver.databaseConnection\n const broadcasterResult = new BroadcasterResult()\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n this.broadcaster.broadcastBeforeQueryEvent(\n broadcasterResult,\n query,\n parameters,\n )\n\n const queryStartTime = +new Date()\n let statement: any\n try {\n statement = databaseConnection.prepare(query)\n if (parameters) {\n parameters = parameters.map((p) =>\n typeof p !== \"undefined\" ? p : null,\n )\n\n statement.bind(parameters)\n }\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n this.driver.connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n const records: any[] = []\n\n while (statement.step()) {\n records.push(statement.getAsObject())\n }\n\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n true,\n queryExecutionTime,\n records,\n undefined,\n )\n\n const result = new QueryResult()\n\n result.affected = databaseConnection.getRowsModified()\n result.records = records\n result.raw = records\n\n statement.free()\n\n if (command !== \"SELECT\") {\n this.isDirty = true\n }\n\n if (useStructuredResult) {\n return result\n } else {\n return result.raw\n }\n } catch (err) {\n if (statement) {\n statement.free()\n }\n\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n false,\n undefined,\n undefined,\n err,\n )\n\n throw new QueryFailedError(query, parameters, err)\n } finally {\n await broadcasterResult.wait()\n }\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/sqljs/SqljsQueryRunner.ts"],"names":[],"mappings":"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","file":"SqljsQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqljsDriver } from \"./SqljsDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { BroadcasterResult } from \"../../subscriber/BroadcasterResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class SqljsQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Flag to determine if a modification has happened since the last time this query runner has requested a save.\n */\n private isDirty = false\n\n /**\n * Database driver used by connection.\n */\n driver: SqljsDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqljsDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n private async flush() {\n if (this.isDirty) {\n await this.driver.autoSave()\n this.isDirty = false\n }\n }\n\n async release(): Promise<void> {\n await this.flush()\n return super.release()\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n await super.commitTransaction()\n if (!this.isTransactionActive) {\n await this.flush()\n }\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters: any[] = [],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const command = query.trim().split(\" \", 1)[0]\n\n const databaseConnection = this.driver.databaseConnection\n const broadcasterResult = new BroadcasterResult()\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n this.broadcaster.broadcastBeforeQueryEvent(\n broadcasterResult,\n query,\n parameters,\n )\n\n const queryStartTime = Date.now()\n let statement: any\n try {\n statement = databaseConnection.prepare(query)\n if (parameters) {\n parameters = parameters.map((p) =>\n typeof p !== \"undefined\" ? p : null,\n )\n\n statement.bind(parameters)\n }\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = Date.now()\n const queryExecutionTime = queryEndTime - queryStartTime\n\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n this.driver.connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n const records: any[] = []\n\n while (statement.step()) {\n records.push(statement.getAsObject())\n }\n\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n true,\n queryExecutionTime,\n records,\n undefined,\n )\n\n const result = new QueryResult()\n\n result.affected = databaseConnection.getRowsModified()\n result.records = records\n result.raw = records\n\n statement.free()\n\n if (command !== \"SELECT\") {\n this.isDirty = true\n }\n\n if (useStructuredResult) {\n return result\n } else {\n return result.raw\n }\n } catch (err) {\n if (statement) {\n statement.free()\n }\n\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n false,\n undefined,\n undefined,\n err,\n )\n\n throw new QueryFailedError(query, parameters, err)\n } finally {\n await broadcasterResult.wait()\n }\n }\n}\n"],"sourceRoot":"../.."}
@@ -188,12 +188,12 @@ class SqlServerQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
188
188
  }
189
189
  });
190
190
  }
191
- const queryStartTime = +new Date();
191
+ const queryStartTime = Date.now();
192
192
  const raw = await new Promise((ok, fail) => {
193
193
  request.query(query, (err, raw) => {
194
194
  // log slow queries if maxQueryExecution time is set
195
195
  const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
196
- const queryEndTime = +new Date();
196
+ const queryEndTime = Date.now();
197
197
  const queryExecutionTime = queryEndTime - queryStartTime;
198
198
  this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
199
199
  if (maxQueryExecutionTime &&