typeorm 0.3.20-dev.c22e30f → 0.3.20-dev.d0b7670

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 (85) hide show
  1. package/browser/data-source/DataSource.js +3 -1
  2. package/browser/data-source/DataSource.js.map +1 -1
  3. package/browser/driver/cockroachdb/CockroachQueryRunner.js +3 -3
  4. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  5. package/browser/driver/oracle/OracleDriver.js +18 -10
  6. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  7. package/browser/driver/oracle/OracleQueryRunner.js +2 -2
  8. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  9. package/browser/driver/postgres/PostgresDriver.js +9 -3
  10. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  11. package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  12. package/browser/driver/postgres/PostgresQueryRunner.js +30 -10
  13. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  14. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  15. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
  16. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  17. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  18. package/browser/driver/types/ColumnTypes.js.map +1 -1
  19. package/browser/entity-manager/EntityManager.d.ts +2 -2
  20. package/browser/entity-manager/EntityManager.js.map +1 -1
  21. package/browser/metadata/ColumnMetadata.js +0 -4
  22. package/browser/metadata/ColumnMetadata.js.map +1 -1
  23. package/browser/metadata/EntityMetadata.js +1 -4
  24. package/browser/metadata/EntityMetadata.js.map +1 -1
  25. package/browser/query-builder/InsertQueryBuilder.js +4 -3
  26. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  27. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  28. package/browser/query-builder/QueryBuilder.js +5 -5
  29. package/browser/query-builder/QueryBuilder.js.map +1 -1
  30. package/browser/query-builder/ReturningResultsEntityUpdator.js +5 -2
  31. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  32. package/browser/query-builder/SelectQueryBuilder.d.ts +4 -4
  33. package/browser/query-builder/SelectQueryBuilder.js +5 -5
  34. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  35. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +0 -9
  36. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +0 -28
  37. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  38. package/browser/repository/Repository.js.map +1 -1
  39. package/browser/schema-builder/RdbmsSchemaBuilder.js +2 -1
  40. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  41. package/browser/util/PathUtils.js +1 -1
  42. package/browser/util/PathUtils.js.map +1 -1
  43. package/data-source/DataSource.js +3 -1
  44. package/data-source/DataSource.js.map +1 -1
  45. package/driver/cockroachdb/CockroachQueryRunner.js +3 -3
  46. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  47. package/driver/oracle/OracleDriver.js +18 -10
  48. package/driver/oracle/OracleDriver.js.map +1 -1
  49. package/driver/oracle/OracleQueryRunner.js +2 -2
  50. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  51. package/driver/postgres/PostgresDriver.js +9 -3
  52. package/driver/postgres/PostgresDriver.js.map +1 -1
  53. package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  54. package/driver/postgres/PostgresQueryRunner.js +30 -10
  55. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  56. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  57. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
  58. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  59. package/driver/types/ColumnTypes.d.ts +1 -1
  60. package/driver/types/ColumnTypes.js.map +1 -1
  61. package/entity-manager/EntityManager.d.ts +2 -2
  62. package/entity-manager/EntityManager.js.map +1 -1
  63. package/metadata/ColumnMetadata.js +0 -4
  64. package/metadata/ColumnMetadata.js.map +1 -1
  65. package/metadata/EntityMetadata.js +1 -4
  66. package/metadata/EntityMetadata.js.map +1 -1
  67. package/package.json +1 -1
  68. package/query-builder/InsertQueryBuilder.js +4 -3
  69. package/query-builder/InsertQueryBuilder.js.map +1 -1
  70. package/query-builder/QueryBuilder.d.ts +1 -1
  71. package/query-builder/QueryBuilder.js +5 -5
  72. package/query-builder/QueryBuilder.js.map +1 -1
  73. package/query-builder/ReturningResultsEntityUpdator.js +5 -2
  74. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  75. package/query-builder/SelectQueryBuilder.d.ts +4 -4
  76. package/query-builder/SelectQueryBuilder.js +5 -5
  77. package/query-builder/SelectQueryBuilder.js.map +1 -1
  78. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +0 -9
  79. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +0 -28
  80. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  81. package/repository/Repository.js.map +1 -1
  82. package/schema-builder/RdbmsSchemaBuilder.js +2 -1
  83. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  84. package/util/PathUtils.js +1 -1
  85. package/util/PathUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/sqlite/SqliteQueryRunner.ts"],"names":[],"mappings":";;;AAAA,iGAA6F;AAC7F,mEAA+D;AAC/D,4FAAwF;AAGxF,8DAA0D;AAC1D,iFAA6E;AAC7E,gEAA4D;AAC5D,0EAAsE;AAEtE;;;;;GAKG;AACH,MAAa,iBAAkB,SAAQ,qDAAyB;IAM5D,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YAAY,MAAoB;QAC5B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CACD,KAAa,EACb,UAAkB,EAClB,mBAAmB,GAAG,KAAK;QAE3B,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,iEAA+B,EAAE,CAAA;QAEhE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAkC,CAAA;QAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAA;QACvE,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAA;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QAEpC,WAAW,CAAC,yBAAyB,CACjC,iBAAiB,EACjB,KAAK,EACL,UAAU,CACb,CAAA;QAED,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,iDAAuB,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;gBAC/D,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;gBAClC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACjD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACjD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBAEjD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;oBACvB,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;wBAClD,MAAM,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;oBAC5D,CAAC;yBAAM,CAAC;wBACJ,MAAM,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;oBAC5D,CAAC;gBACL,CAAC,CAAA;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC;gBAClB,MAAM,OAAO,GAAG,UAAqB,GAAQ,EAAE,IAAS;oBACpD,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACvD,IACI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;4BAC1C,OAAO,CAAC,cAAc,GAAG,CAAC,EAC5B,CAAC;4BACC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;4BAC3C,OAAM;wBACV,CAAC;oBACL,CAAC;oBAED,oDAAoD;oBACpD,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;oBAChC,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,CAAA;oBACxD,IACI,qBAAqB;wBACrB,kBAAkB,GAAG,qBAAqB;wBAE1C,UAAU,CAAC,MAAM,CAAC,YAAY,CAC1B,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,IAAI,CACP,CAAA;oBAEL,IAAI,GAAG,EAAE,CAAC;wBACN,UAAU,CAAC,MAAM,CAAC,aAAa,CAC3B,GAAG,EACH,KAAK,EACL,UAAU,EACV,IAAI,CACP,CAAA;wBACD,WAAW,CAAC,wBAAwB,CAChC,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,GAAG,CACN,CAAA;wBAED,OAAO,IAAI,CACP,IAAI,mCAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAC/C,CAAA;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAA;wBAEhC,IAAI,aAAa,EAAE,CAAC;4BAChB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC/B,CAAC;6BAAM,CAAC;4BACJ,MAAM,CAAC,GAAG,GAAG,IAAI,CAAA;wBACrB,CAAC;wBAED,WAAW,CAAC,wBAAwB,CAChC,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,IAAI,EACJ,kBAAkB,EAClB,MAAM,CAAC,GAAG,EACV,SAAS,CACZ,CAAA;wBAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;4BACtB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;wBACzB,CAAC;wBAED,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;wBAEjC,IAAI,mBAAmB,EAAE,CAAC;4BACtB,EAAE,CAAC,MAAM,CAAC,CAAA;wBACd,CAAC;6BAAM,CAAC;4BACJ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBAClB,CAAC;oBACL,CAAC;gBACL,CAAC,CAAA;gBAED,MAAM,OAAO,EAAE,CAAA;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;oBAAS,CAAC;gBACP,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAA;YAClC,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjKD,8CAiKC","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 = +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":"../.."}
@@ -987,20 +987,20 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
987
987
  if (pos !== -1) {
988
988
  const fullType = tableColumn.type;
989
989
  let dataType = fullType.substr(0, pos);
990
- if (!!this.driver.withLengthColumnTypes.find((col) => col === dataType)) {
990
+ if (this.driver.withLengthColumnTypes.find((col) => col === dataType)) {
991
991
  let len = parseInt(fullType.substring(pos + 1, fullType.length - 1));
992
992
  if (len) {
993
993
  tableColumn.length = len.toString();
994
994
  tableColumn.type = dataType; // remove the length part from the datatype
995
995
  }
996
996
  }
997
- if (!!this.driver.withPrecisionColumnTypes.find((col) => col === dataType)) {
997
+ if (this.driver.withPrecisionColumnTypes.find((col) => col === dataType)) {
998
998
  const re = new RegExp(`^${dataType}\\((\\d+),?\\s?(\\d+)?\\)`);
999
999
  const matches = fullType.match(re);
1000
1000
  if (matches && matches[1]) {
1001
1001
  tableColumn.precision = +matches[1];
1002
1002
  }
1003
- if (!!this.driver.withScaleColumnTypes.find((col) => col === dataType)) {
1003
+ if (this.driver.withScaleColumnTypes.find((col) => col === dataType)) {
1004
1004
  if (matches && matches[2]) {
1005
1005
  tableColumn.scale = +matches[2];
1006
1006
  }