drizzle-orm 1.0.0-beta.23-0bbcaa2 → 1.0.0-beta.24

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 (153) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +1 -1
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.js +1 -1
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/better-sqlite3/driver.cjs +1 -1
  8. package/better-sqlite3/driver.cjs.map +1 -1
  9. package/better-sqlite3/driver.js +1 -1
  10. package/better-sqlite3/driver.js.map +1 -1
  11. package/bun-sql/mysql/driver.cjs +1 -1
  12. package/bun-sql/mysql/driver.cjs.map +1 -1
  13. package/bun-sql/mysql/driver.js +1 -1
  14. package/bun-sql/mysql/driver.js.map +1 -1
  15. package/bun-sql/postgres/driver.cjs +1 -1
  16. package/bun-sql/postgres/driver.cjs.map +1 -1
  17. package/bun-sql/postgres/driver.js +1 -1
  18. package/bun-sql/postgres/driver.js.map +1 -1
  19. package/bun-sql/sqlite/driver.cjs +1 -1
  20. package/bun-sql/sqlite/driver.cjs.map +1 -1
  21. package/bun-sql/sqlite/driver.js +1 -1
  22. package/bun-sql/sqlite/driver.js.map +1 -1
  23. package/bun-sqlite/driver.cjs +1 -1
  24. package/bun-sqlite/driver.cjs.map +1 -1
  25. package/bun-sqlite/driver.js +1 -1
  26. package/bun-sqlite/driver.js.map +1 -1
  27. package/cockroach/driver.cjs +1 -1
  28. package/cockroach/driver.cjs.map +1 -1
  29. package/cockroach/driver.js +1 -1
  30. package/cockroach/driver.js.map +1 -1
  31. package/d1/driver.cjs.map +1 -1
  32. package/d1/driver.d.cts +1 -1
  33. package/d1/driver.d.ts +1 -1
  34. package/d1/driver.js.map +1 -1
  35. package/durable-sqlite/driver.cjs +1 -1
  36. package/durable-sqlite/driver.cjs.map +1 -1
  37. package/durable-sqlite/driver.js +1 -1
  38. package/durable-sqlite/driver.js.map +1 -1
  39. package/effect-postgres/driver.cjs +2 -2
  40. package/effect-postgres/driver.cjs.map +1 -1
  41. package/effect-postgres/driver.d.cts +2 -2
  42. package/effect-postgres/driver.d.ts +2 -2
  43. package/effect-postgres/driver.js +2 -2
  44. package/effect-postgres/driver.js.map +1 -1
  45. package/effect-postgres/migrator.d.cts +1 -1
  46. package/effect-postgres/migrator.d.ts +1 -1
  47. package/expo-sqlite/driver.cjs +1 -1
  48. package/expo-sqlite/driver.cjs.map +1 -1
  49. package/expo-sqlite/driver.js +1 -1
  50. package/expo-sqlite/driver.js.map +1 -1
  51. package/libsql/driver-core.cjs +1 -1
  52. package/libsql/driver-core.cjs.map +1 -1
  53. package/libsql/driver-core.js +1 -1
  54. package/libsql/driver-core.js.map +1 -1
  55. package/mysql-proxy/driver.cjs +1 -1
  56. package/mysql-proxy/driver.cjs.map +1 -1
  57. package/mysql-proxy/driver.js +1 -1
  58. package/mysql-proxy/driver.js.map +1 -1
  59. package/mysql2/driver.cjs +1 -1
  60. package/mysql2/driver.cjs.map +1 -1
  61. package/mysql2/driver.js +1 -1
  62. package/mysql2/driver.js.map +1 -1
  63. package/neon-http/driver.cjs +1 -1
  64. package/neon-http/driver.cjs.map +1 -1
  65. package/neon-http/driver.js +1 -1
  66. package/neon-http/driver.js.map +1 -1
  67. package/neon-serverless/driver.cjs +1 -1
  68. package/neon-serverless/driver.cjs.map +1 -1
  69. package/neon-serverless/driver.js +1 -1
  70. package/neon-serverless/driver.js.map +1 -1
  71. package/netlify-db/driver.cjs +1 -1
  72. package/netlify-db/driver.cjs.map +1 -1
  73. package/netlify-db/driver.js +1 -1
  74. package/netlify-db/driver.js.map +1 -1
  75. package/node-mssql/driver.cjs +1 -1
  76. package/node-mssql/driver.cjs.map +1 -1
  77. package/node-mssql/driver.js +1 -1
  78. package/node-mssql/driver.js.map +1 -1
  79. package/node-postgres/driver.cjs +1 -1
  80. package/node-postgres/driver.cjs.map +1 -1
  81. package/node-postgres/driver.js +1 -1
  82. package/node-postgres/driver.js.map +1 -1
  83. package/node-sqlite/driver.cjs +1 -1
  84. package/node-sqlite/driver.cjs.map +1 -1
  85. package/node-sqlite/driver.js +1 -1
  86. package/node-sqlite/driver.js.map +1 -1
  87. package/op-sqlite/driver.cjs +1 -1
  88. package/op-sqlite/driver.cjs.map +1 -1
  89. package/op-sqlite/driver.js +1 -1
  90. package/op-sqlite/driver.js.map +1 -1
  91. package/package.cjs +1 -1
  92. package/package.js +1 -1
  93. package/package.json +1 -1
  94. package/pg-core/effect/session.d.cts +1 -1
  95. package/pg-core/effect/session.d.ts +1 -1
  96. package/pg-proxy/driver.cjs +1 -1
  97. package/pg-proxy/driver.cjs.map +1 -1
  98. package/pg-proxy/driver.js +1 -1
  99. package/pg-proxy/driver.js.map +1 -1
  100. package/pglite/driver.cjs +1 -1
  101. package/pglite/driver.cjs.map +1 -1
  102. package/pglite/driver.js +1 -1
  103. package/pglite/driver.js.map +1 -1
  104. package/planetscale-serverless/driver.cjs +1 -1
  105. package/planetscale-serverless/driver.cjs.map +1 -1
  106. package/planetscale-serverless/driver.js +1 -1
  107. package/planetscale-serverless/driver.js.map +1 -1
  108. package/postgres-js/driver.cjs +1 -1
  109. package/postgres-js/driver.cjs.map +1 -1
  110. package/postgres-js/driver.js +1 -1
  111. package/postgres-js/driver.js.map +1 -1
  112. package/singlestore/driver.cjs +1 -1
  113. package/singlestore/driver.cjs.map +1 -1
  114. package/singlestore/driver.js +1 -1
  115. package/singlestore/driver.js.map +1 -1
  116. package/singlestore-proxy/driver.cjs +1 -1
  117. package/singlestore-proxy/driver.cjs.map +1 -1
  118. package/singlestore-proxy/driver.js +1 -1
  119. package/singlestore-proxy/driver.js.map +1 -1
  120. package/sql-js/driver.cjs +1 -1
  121. package/sql-js/driver.cjs.map +1 -1
  122. package/sql-js/driver.js +1 -1
  123. package/sql-js/driver.js.map +1 -1
  124. package/sqlite-cloud/driver.cjs +1 -1
  125. package/sqlite-cloud/driver.cjs.map +1 -1
  126. package/sqlite-cloud/driver.js +1 -1
  127. package/sqlite-cloud/driver.js.map +1 -1
  128. package/sqlite-proxy/driver.cjs +1 -1
  129. package/sqlite-proxy/driver.cjs.map +1 -1
  130. package/sqlite-proxy/driver.js +1 -1
  131. package/sqlite-proxy/driver.js.map +1 -1
  132. package/tidb-serverless/driver.cjs +1 -1
  133. package/tidb-serverless/driver.cjs.map +1 -1
  134. package/tidb-serverless/driver.js +1 -1
  135. package/tidb-serverless/driver.js.map +1 -1
  136. package/tursodatabase/driver-core.cjs +1 -1
  137. package/tursodatabase/driver-core.cjs.map +1 -1
  138. package/tursodatabase/driver-core.js +1 -1
  139. package/tursodatabase/driver-core.js.map +1 -1
  140. package/utils.cjs +2 -2
  141. package/utils.cjs.map +1 -1
  142. package/utils.d.cts +1 -1
  143. package/utils.d.ts +1 -1
  144. package/utils.js +2 -2
  145. package/utils.js.map +1 -1
  146. package/vercel-postgres/driver.cjs +1 -1
  147. package/vercel-postgres/driver.cjs.map +1 -1
  148. package/vercel-postgres/driver.js +1 -1
  149. package/vercel-postgres/driver.js.map +1 -1
  150. package/xata-http/driver.cjs +1 -1
  151. package/xata-http/driver.cjs.map +1 -1
  152. package/xata-http/driver.js +1 -1
  153. package/xata-http/driver.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":["MySqlDatabase"],"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { type Connection, createPool, type Pool, type PoolOptions } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = Pool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? createPool({\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t})\n\t\t: createPool(connection!);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAsBA,IAAa,eAAb,MAA0B;CACzB,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,WACA,QACA,MACkF;AAClF,SAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACtE,QAAQ,KAAK,QAAQ;GACrB;GACA,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAMJ,IAAa,iBAAb,cAGUA,gBAAiF;CAC1F,QAA0B,cAAsB;;AAUjD,SAAS,UAKR,QACA,SAAmD,EAAE,EAGpD;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,oBAAoB,iBAAiB,OAAO,GAAG,OAAO,SAAS,GAAG;CAExE,IAAI;AACJ,KAAI,OAAO,QAAQ;AAClB,MAAI,OAAO,SAAS,OACnB,OAAM,IAAI,aAAa,EACtB,SACC,4IACD,CAAC;EAGH,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,OAAO,OAAO,QAAQ;CAE5B,MAAM,YAAY,OAAO,aAAa,EAAE;CAOxC,MAAM,KAAK,IAAI,eACd,SAPc,IAAI,aAAa,mBAAmC,SAAS;EAC3E;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,WAAW,QAAQ,KAAK,EAI5D,WACA,QACA,KACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAOR,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;AAKlC,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,UAAU;EAClC,MAAM,mBAAmB,OAAO;AAKhC,SAAO,UAJU,WAAW,EAC3B,KAAK,kBACL,CAAC,EAEyB,OAAO,GAAG;;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAFW,UANM,OAAO,eAAe,WACpC,WAAW;EACZ,KAAK;EACL,mBAAmB;EACnB,CAAC,GACA,WAAW,WAAY,EACK,cAAc;;;CAMtC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":["MySqlDatabase"],"sources":["../../src/mysql2/driver.ts"],"sourcesContent":["import type { Connection as CallbackConnection, Pool as CallbackPool } from 'mysql2';\nimport { type Connection, createPool, type Pool, type PoolOptions } from 'mysql2/promise';\nimport * as V1 from '~/_relations.ts';\nimport type { Cache } from '~/cache/core/index.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { Mode } from '~/mysql-core/session.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { DrizzleError } from '../errors.ts';\nimport type { MySql2Client, MySql2PreparedQueryHKT, MySql2QueryResultHKT } from './session.ts';\nimport { MySql2Session } from './session.ts';\n\nexport interface MySqlDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class MySql2Driver {\n\tstatic readonly [entityKind]: string = 'MySql2Driver';\n\n\tconstructor(\n\t\tprivate client: MySql2Client,\n\t\tprivate dialect: MySqlDialect,\n\t\tprivate options: MySqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\trelations: AnyRelations,\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t\tmode: Mode,\n\t): MySql2Session<Record<string, unknown>, AnyRelations, V1.TablesRelationalConfig> {\n\t\treturn new MySql2Session(this.client, this.dialect, relations, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tmode,\n\t\t\tcache: this.options.cache,\n\t\t});\n\t}\n}\n\nexport { MySqlDatabase } from '~/mysql-core/db.ts';\n\nexport class MySql2Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<MySql2QueryResultHKT, MySql2PreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'MySql2Database';\n}\n\nexport type MySql2DrizzleConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> =\n\t& Omit<DrizzleConfig<TSchema, TRelations>, 'schema'>\n\t& ({ schema: TSchema; mode: Mode } | { schema?: undefined; mode?: Mode });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Pool | Connection | CallbackPool | CallbackConnection = Pool,\n>(\n\tclient: TClient,\n\tconfig: MySql2DrizzleConfig<TSchema, TRelations> = {},\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst clientForInstance = isCallbackClient(client) ? client.promise() : client;\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tif (config.mode === undefined) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t'You need to specify \"mode\": \"planetscale\" or \"default\" when providing a schema. Read more: https://orm.drizzle.team/docs/rqb#modes',\n\t\t\t});\n\t\t}\n\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst mode = config.mode ?? 'default';\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst driver = new MySql2Driver(clientForInstance as MySql2Client, dialect, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst session = driver.createSession(relations, schema, mode);\n\tconst db = new MySql2Database(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\tmode,\n\t) as MySql2Database<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\ninterface CallbackClient {\n\tpromise(): MySql2Client;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport type AnyMySql2Connection = Pool | Connection | CallbackPool | CallbackConnection;\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends AnyMySql2Connection = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tMySql2DrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& MySql2DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolOptions;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): MySql2Database<TSchema, TRelations> & {\n\t$client: AnyMySql2Connection extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0]!;\n\t\tconst instance = createPool({\n\t\t\turi: connectionString,\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: PoolOptions | string; client?: TClient }\n\t\t& MySql2DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? createPool({\n\t\t\turi: connection,\n\t\t\tsupportBigNumbers: true,\n\t\t})\n\t\t: createPool(connection!);\n\tconst db = construct(instance, drizzleConfig);\n\n\treturn db as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: MySql2DrizzleConfig<TSchema, TRelations>,\n\t): MySql2Database<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAsBA,IAAa,eAAb,MAA0B;CACzB,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,WACA,QACA,MACkF;AAClF,SAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,SAAS,WAAW,QAAQ;GACtE,QAAQ,KAAK,QAAQ;GACrB;GACA,OAAO,KAAK,QAAQ;GACpB,CAAC;;;AAMJ,IAAa,iBAAb,cAGUA,gBAAiF;CAC1F,QAA0B,cAAsB;;AAUjD,SAAS,UAKR,QACA,SAAmD,EAAE,EAGpD;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,oBAAoB,iBAAiB,OAAO,GAAG,OAAO,SAAS,GAAG;CAExE,IAAI;AACJ,KAAI,OAAO,QAAQ;AAClB,MAAI,OAAO,SAAS,OACnB,OAAM,IAAI,aAAa,EACtB,SACC,4IACD,CAAC;EAGH,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,OAAO,OAAO,QAAQ;CAE5B,MAAM,YAAY,OAAO,aAAa,EAAE;CAOxC,MAAM,KAAK,IAAI,eACd,SAPc,IAAI,aAAa,mBAAmC,SAAS;EAC3E;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,IAAI;EACzC,CAAC,CACqB,cAAc,WAAW,QAAQ,KAAK,EAI5D,WACA,QACA,KACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAOR,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;AAKlC,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,UAAU;EAClC,MAAM,mBAAmB,OAAO;AAKhC,SAAO,UAJU,WAAW,EAC3B,KAAK,kBACL,CAAC,EAEyB,OAAO,GAAG;;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAFW,UANM,OAAO,eAAe,WACpC,WAAW;EACZ,KAAK;EACL,mBAAmB;EACnB,CAAC,GACA,WAAW,WAAY,EACK,cAAc;;;CAMtC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -25,7 +25,7 @@ var NeonHttpDatabase = class NeonHttpDatabase extends __pg_core_async_db_ts.PgAs
25
25
  };
26
26
  function construct(client, config = {}) {
27
27
  const dialect = new __pg_core_dialect_ts.PgDialect({
28
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
28
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit),
29
29
  codecs: config.codecs ?? require_neon_http_codecs.neonHttpCodecs
30
30
  });
31
31
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NeonHttpSession","PgDialect","neonHttpCodecs","DefaultLogger","types"],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJA,sCACT;CACC,QAA0BC,0BAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAIC,0CAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAExC,MAAM,UAAU,IAAIH,0CAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,gCAAM,cAAcI,+BAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,gCAAM,cAAcA,+BAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,gCAAM,cAAcA,+BAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,gCAAM,cAAcA,+BAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,6CADe,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,6CAFe,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,6CAFe,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NeonHttpSession","PgDialect","neonHttpCodecs","DefaultLogger","types"],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJA,sCACT;CACC,QAA0BC,0BAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAIC,0CAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAExC,MAAM,UAAU,IAAIH,0CAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,gCAAM,cAAcI,+BAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,gCAAM,cAAcA,+BAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,gCAAM,cAAcA,+BAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,gCAAM,cAAcA,+BAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,gCAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,6CADe,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,6CAFe,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,6CAFe,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -23,7 +23,7 @@ var NeonHttpDatabase = class NeonHttpDatabase extends PgAsyncDatabase {
23
23
  };
24
24
  function construct(client, config = {}) {
25
25
  const dialect = new PgDialect({
26
- useJitMappers: jitCompatCheck(config.useJitMappers),
26
+ useJitMappers: jitCompatCheck(config.jit),
27
27
  codecs: config.codecs ?? neonHttpCodecs
28
28
  });
29
29
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJ,gBACT;CACC,QAA0B,cAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAI,gBAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAExC,MAAM,UAAU,IAAI,gBAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,OAAM,cAAc,MAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,OAAM,cAAc,MAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,OAAM,cAAc,MAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,OAAM,cAAc,MAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,UADU,KAAK,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,UAFU,KAAK,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,UAFU,KAAK,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/neon-http/driver.ts"],"sourcesContent":["import type { HTTPQueryOptions, HTTPTransactionOptions, NeonQueryFunction } from '@neondatabase/serverless';\nimport { neon, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonHttpCodecs } from './codecs.ts';\nimport { type NeonHttpQueryResultHKT, NeonHttpSession } from './session.ts';\n\nexport class NeonHttpDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonHttpDatabase';\n\n\t/** @intenal */\n\tdeclare session: NeonHttpSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NeonHttpSession(this.session.client, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NeonHttpDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<any, any>,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? neonHttpCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NeonHttpSession(client, dialect, relations ?? {} as EmptyRelations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NeonHttpDatabase(dialect, session, relations);\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonQueryFunction<any, any> = NeonQueryFunction<false, false>,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ connectionString: string } & HTTPTransactionOptions<boolean, boolean>);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): NeonHttpDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = neon(params[0] as string);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?:\n\t\t\t\t| ({\n\t\t\t\t\tconnectionString: string;\n\t\t\t\t} & HTTPTransactionOptions<boolean, boolean>)\n\t\t\t\t| string;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tif (typeof connection === 'object') {\n\t\tconst { connectionString, ...options } = connection;\n\n\t\tconst instance = neon(connectionString, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = neon(connection!);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonHttpDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAa,mBAAb,MAAa,yBACJ,gBACT;CACC,QAA0B,cAAsB;CAKhD,UACC,OAC0B;EAC1B,MAAM,UAAU,IAAI,gBAAgB,KAAK,QAAQ,QAAQ,KAAK,SAAS,KAAK,EAAE,WAAW;GACxF,GAAG,KAAK,QAAQ;GAChB,WAAW;GACX,CAAC;AAEF,SAAO,IAAI,iBAAiB,KAAK,SAAS,SAAS,KAAK,EAAE,UAAU;;CAGrE,MAAM,MACL,OAC4B;AAC5B,SAAO,KAAK,QAAQ,MAAM,MAAM;;;AAIlC,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAExC,MAAM,UAAU,IAAI,gBAAgB,QAAQ,SAAS,aAAa,EAAE,EAAoB;EACvF;EACA,OAAO,OAAO;EACd,CAAC;AAEF,OAAM,cAAc,MAAM,SAAS,cAAc,QAAQ,IAAI;AAC7D,OAAM,cAAc,MAAM,SAAS,YAAY,QAAQ,IAAI;AAC3D,OAAM,cAAc,MAAM,SAAS,OAAO,QAAQ,IAAI;AACtD,OAAM,cAAc,MAAM,SAAS,WAAW,QAAQ,IAAI;AAC1D,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;AACvC,OAAM,cAAc,OAAO,QAAQ,IAAI;CAEvC,MAAM,KAAK,IAAI,iBAAiB,SAAS,SAAS,UAAU;AAC5D,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAExB,QAAO,UADU,KAAK,OAAO,GAAa,EACf,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAW1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,kBAAkB,GAAG,YAAY;AAIzC,SAAO,UAFU,KAAK,kBAAkB,QAAQ,EAErB,gBAAgB;;AAK5C,QAAO,UAFU,KAAK,WAAY,EAEP,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -15,7 +15,7 @@ var NeonDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
15
15
  };
16
16
  function construct(client, config = {}) {
17
17
  const dialect = new __pg_core_dialect_ts.PgDialect({
18
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
18
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit),
19
19
  codecs: config.codecs ?? require_neon_serverless_codecs.neonServerlessCodecs
20
20
  });
21
21
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","neonServerlessCodecs","DefaultLogger","NeonSession","Pool"],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonServerlessCodecs } from './codecs.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,IAAa,eAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAIC,4CAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIC,8BAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,qCAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAIA,8BAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAIA,8BAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","neonServerlessCodecs","DefaultLogger","NeonSession","Pool"],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonServerlessCodecs } from './codecs.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,IAAa,eAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAIC,4CAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIC,8BAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,qCAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAIA,8BAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAIA,8BAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -13,7 +13,7 @@ var NeonDatabase = class extends PgAsyncDatabase {
13
13
  };
14
14
  function construct(client, config = {}) {
15
15
  const dialect = new PgDialect({
16
- useJitMappers: jitCompatCheck(config.useJitMappers),
16
+ useJitMappers: jitCompatCheck(config.jit),
17
17
  codecs: config.codecs ?? neonServerlessCodecs
18
18
  });
19
19
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonServerlessCodecs } from './codecs.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,eAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAI,YAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,KAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,YAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,KAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAI,KAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/neon-serverless/driver.ts"],"sourcesContent":["import { neonConfig, Pool, type PoolConfig } from '@neondatabase/serverless';\nimport type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { neonServerlessCodecs } from './codecs.ts';\nimport type { NeonClient, NeonQueryResultHKT } from './session.ts';\nimport { NeonSession } from './session.ts';\n\nexport interface NeonDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class NeonDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<NeonQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'NeonServerlessDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = NeonClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? neonServerlessCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NeonSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new NeonDatabase(dialect, session, relations) as NeonDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NeonClient = Pool,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzlePgConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t\t& {\n\t\t\t\tws?: any;\n\t\t\t}\n\t\t),\n\t]\n): NeonDatabase<TRelations> & {\n\t$client: NeonClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ws, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PoolConfig | string;\n\t\t\tws?: any;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (ws) {\n\t\tneonConfig.webSocketConstructor = ws;\n\t}\n\n\tif (client) return construct(client, DrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new Pool(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NeonDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,eAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,aAAa,SAJZ,IAAI,YAAY,QAAQ,SAAS,WAAW;EAC3D;EACA,OAAO,OAAO;EACd,CAAC,EAC4C,UAAU;AACxD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,KAAK,EACzB,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,IAAI,GAAG,oBAAoB,OAAO;AAQ9D,KAAI,GACH,YAAW,uBAAuB;AAGnC,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAQrD,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,KAAK,EACV,kBAAkB,YAClB,CAAC,GACA,IAAI,KAAK,WAAW,EAEI,gBAAgB;;;CAIpC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -27,7 +27,7 @@ var NetlifyDbDatabase = class NetlifyDbDatabase extends __pg_core_async_db_ts.Pg
27
27
  function construct(httpClient, pool, config = {}) {
28
28
  const dialect = new __pg_core_dialect_ts.PgDialect({
29
29
  codecs: config.codecs ?? require_netlify_db_codecs.netlifyDbCodecs,
30
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
30
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
31
31
  });
32
32
  let logger;
33
33
  if (config.logger === true) logger = new __logger_ts.DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NetlifyDbSession","PgDialect","netlifyDbCodecs","DefaultLogger","netlifyDbTransactionCodecs","types","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NetlifyDbSession","PgDialect","netlifyDbCodecs","DefaultLogger","netlifyDbTransactionCodecs","types","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
@@ -25,7 +25,7 @@ var NetlifyDbDatabase = class NetlifyDbDatabase extends PgAsyncDatabase {
25
25
  function construct(httpClient, pool, config = {}) {
26
26
  const dialect = new PgDialect({
27
27
  codecs: config.codecs ?? netlifyDbCodecs,
28
- useJitMappers: jitCompatCheck(config.useJitMappers)
28
+ useJitMappers: jitCompatCheck(config.jit)
29
29
  });
30
30
  let logger;
31
31
  if (config.logger === true) logger = new DefaultLogger();
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ function construct(client, config = {}) {
42
42
  }
43
43
  const db = new __mssql_core_db_ts.MsSqlDatabase(dialect, new NodeMsSqlDriver(client, dialect, {
44
44
  logger,
45
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
45
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
46
46
  }).createSession(schema), schema);
47
47
  db.$client = client;
48
48
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport { type DrizzleConfig, type Equal, jitCompatCheck } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAIC,4CAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIC,iCAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,iCAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAIA,iCAAS,yBAAyB,WAAW,CAAC,GAClD,IAAIA,iCAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport { type DrizzleConfig, type Equal, jitCompatCheck } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAIC,4CAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIC,iCAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,8CAA8B,OAAO,IAAI;EACzC,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,iCAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAIA,iCAAS,yBAAyB,WAAW,CAAC,GAClD,IAAIA,iCAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -39,7 +39,7 @@ function construct(client, config = {}) {
39
39
  }
40
40
  const db = new MsSqlDatabase$1(dialect, new NodeMsSqlDriver(client, dialect, {
41
41
  logger,
42
- useJitMappers: jitCompatCheck(config.useJitMappers)
42
+ useJitMappers: jitCompatCheck(config.jit)
43
43
  }).createSession(schema), schema);
44
44
  db.$client = client;
45
45
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":["MsSqlDatabase"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport { type DrizzleConfig, type Equal, jitCompatCheck } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAI,iBAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIA,gBAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,SAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAI,SAAS,yBAAyB,WAAW,CAAC,GAClD,IAAI,SAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":["MsSqlDatabase"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport { type DrizzleConfig, type Equal, jitCompatCheck } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiB,cAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAI,iBAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAQF,MAAM,KAAK,IAAIA,gBAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,eAAe,eAAe,OAAO,IAAI;EACzC,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,SAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAI,SAAS,yBAAyB,WAAW,CAAC,GAClD,IAAI,SAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -16,7 +16,7 @@ var NodePgDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
16
16
  };
17
17
  function construct(client, config = {}) {
18
18
  const dialect = new __pg_core_dialect_ts.PgDialect({
19
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
19
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit),
20
20
  codecs: config.codecs ?? require_node_postgres_codecs.nodePgCodecs
21
21
  });
22
22
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","nodePgCodecs","DefaultLogger","NodePgSession"],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAIC,4CAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,WAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,WAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,WAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","nodePgCodecs","DefaultLogger","NodePgSession"],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAIC,4CAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,WAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,WAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,WAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -13,7 +13,7 @@ var NodePgDatabase = class extends PgAsyncDatabase {
13
13
  };
14
14
  function construct(client, config = {}) {
15
15
  const dialect = new PgDialect({
16
- useJitMappers: jitCompatCheck(config.useJitMappers),
16
+ useJitMappers: jitCompatCheck(config.jit),
17
17
  codecs: config.codecs ?? nodePgCodecs
18
18
  });
19
19
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,GAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,GAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,GAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,IAAI;EACzC,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,GAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,GAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,GAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -31,7 +31,7 @@ function construct(client, config = {}) {
31
31
  const relations = config.relations ?? {};
32
32
  const db = new NodeSQLiteDatabase("sync", dialect, new require_node_sqlite_session.NodeSQLiteSession(client, dialect, relations, schema, {
33
33
  logger,
34
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
34
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
35
35
  }), relations, schema);
36
36
  db.$client = client;
37
37
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","NodeSQLiteSession","DatabaseSync"],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { NodeSQLiteSession } from './session.ts';\n\nexport class NodeSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', StatementResultingChanges, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodeSQLiteDatabase';\n}\n\nexport type DrizzleNodeSQLiteDatabaseConfig =\n\t| ({\n\t\tpath?: string;\n\t} & DatabaseSyncOptions)\n\t| string\n\t| undefined;\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabaseSync,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: DatabaseSync;\n} {\n\tconst dialect = new SQLiteSyncDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NodeSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new NodeSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as NodeSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DatabaseSync = DatabaseSync,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new DatabaseSync(':memory:') : new DatabaseSync(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& ({\n\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\tclient?: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { path, ...options } = connection;\n\n\t\tconst instance = new DatabaseSync(path ?? ':memory:', options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new DatabaseSync(connection ?? ':memory:');\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,qBAAb,cAGUA,uCAA2E;CACpF,QAA0BC,0BAAsB;;AAUjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,mBACd,QACA,SAVe,IAAIC,8CAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,yBAAa,WAAW,GAAG,IAAIA,yBAAa,OAAO,GAAG,EAE1E,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,MAAM,GAAG,YAAY;AAI7B,SAAO,UAFU,IAAIA,yBAAa,QAAQ,YAAY,QAAQ,EAEnC,cAAc;;AAK1C,QAAO,UAFU,IAAIA,yBAAa,cAAc,WAAW,EAEhC,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","NodeSQLiteSession","DatabaseSync"],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { NodeSQLiteSession } from './session.ts';\n\nexport class NodeSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', StatementResultingChanges, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodeSQLiteDatabase';\n}\n\nexport type DrizzleNodeSQLiteDatabaseConfig =\n\t| ({\n\t\tpath?: string;\n\t} & DatabaseSyncOptions)\n\t| string\n\t| undefined;\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabaseSync,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: DatabaseSync;\n} {\n\tconst dialect = new SQLiteSyncDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NodeSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst db = new NodeSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as NodeSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DatabaseSync = DatabaseSync,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new DatabaseSync(':memory:') : new DatabaseSync(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& ({\n\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\tclient?: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { path, ...options } = connection;\n\n\t\tconst instance = new DatabaseSync(path ?? ':memory:', options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new DatabaseSync(connection ?? ':memory:');\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,qBAAb,cAGUA,uCAA2E;CACpF,QAA0BC,0BAAsB;;AAUjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,mBACd,QACA,SAVe,IAAIC,8CAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,IAAI;EACzC,CAAC,EAKD,WACA,OACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,yBAAa,WAAW,GAAG,IAAIA,yBAAa,OAAO,GAAG,EAE1E,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,MAAM,GAAG,YAAY;AAI7B,SAAO,UAFU,IAAIA,yBAAa,QAAQ,YAAY,QAAQ,EAEnC,cAAc;;AAK1C,QAAO,UAFU,IAAIA,yBAAa,cAAc,WAAW,EAEhC,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -28,7 +28,7 @@ function construct(client, config = {}) {
28
28
  const relations = config.relations ?? {};
29
29
  const db = new NodeSQLiteDatabase("sync", dialect, new NodeSQLiteSession(client, dialect, relations, schema, {
30
30
  logger,
31
- useJitMappers: jitCompatCheck(config.useJitMappers)
31
+ useJitMappers: jitCompatCheck(config.jit)
32
32
  }), relations, schema);
33
33
  db.$client = client;
34
34
  return db;