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
@@ -4,7 +4,7 @@ import { Field, TypeHint } from "@aws-sdk/client-rds-data";
4
4
 
5
5
  //#region src/aws-data-api/common/index.d.ts
6
6
  declare const typeHint: { [K in TypeHint]: K };
7
- declare function getValueFromDataApi(field: Field): string | number | boolean | string[] | Uint8Array<ArrayBufferLike> | number[] | boolean[] | _aws_sdk_client_rds_data0.ArrayValue[] | null;
7
+ declare function getValueFromDataApi(field: Field): string | number | boolean | string[] | number[] | Uint8Array<ArrayBufferLike> | boolean[] | _aws_sdk_client_rds_data0.ArrayValue[] | null;
8
8
  declare function typingsToAwsTypeHint(typings?: QueryTypingsValue): TypeHint | undefined;
9
9
  declare function toValueParam(value: any, typings?: QueryTypingsValue): {
10
10
  value: Field;
@@ -4,7 +4,7 @@ import { Field, TypeHint } from "@aws-sdk/client-rds-data";
4
4
 
5
5
  //#region src/aws-data-api/common/index.d.ts
6
6
  declare const typeHint: { [K in TypeHint]: K };
7
- declare function getValueFromDataApi(field: Field): string | number | boolean | string[] | Uint8Array<ArrayBufferLike> | number[] | boolean[] | _aws_sdk_client_rds_data0.ArrayValue[] | null;
7
+ declare function getValueFromDataApi(field: Field): string | number | boolean | string[] | number[] | Uint8Array<ArrayBufferLike> | boolean[] | _aws_sdk_client_rds_data0.ArrayValue[] | null;
8
8
  declare function typingsToAwsTypeHint(typings?: QueryTypingsValue): TypeHint | undefined;
9
9
  declare function toValueParam(value: any, typings?: QueryTypingsValue): {
10
10
  value: Field;
@@ -47,7 +47,7 @@ var AwsPgDialect = class extends __pg_core_dialect_ts.PgDialect {
47
47
  };
48
48
  function construct(client, config) {
49
49
  const dialect = new AwsPgDialect({
50
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
50
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit),
51
51
  codecs: config.codecs ?? require_aws_data_api_pg_codecs.awsDataApiPgCodecs
52
52
  });
53
53
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","Table","Param","PgColumn","sql","awsDataApiPgCodecs","DefaultLogger","AwsDataApiSession","RDSDataClient"],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\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 AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\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 AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\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\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<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":";;;;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,IAAa,eAAb,cAAkCC,+BAAU;CAC3C,QAA0BD,0BAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAME,iBAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,2BACI,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACpC,QAAQC,qCAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAaA,iBAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAMH,iBAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,qCAAoB,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACrD,eAAeC,qCAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAaA,iBAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,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,qBAAqB,SALpB,IAAIC,kDAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,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,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAIC,uCAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","Table","Param","PgColumn","sql","awsDataApiPgCodecs","DefaultLogger","AwsDataApiSession","RDSDataClient"],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\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 AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\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 AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\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\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<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":";;;;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACSA,sCACT;CACC,QAA0BC,0BAAsB;;AAGjD,IAAa,eAAb,cAAkCC,+BAAU;CAC3C,QAA0BD,0BAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAME,iBAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,2BACI,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACpC,QAAQC,qCAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAaA,iBAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAMH,iBAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,qCAAoB,UAAUC,mBAAM,IAAI,SAAS,UAAU,8BACrD,eAAeC,qCAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,gBAAG,QAAQ,SAAS,MAAMC,iBAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAaA,iBAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,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,qBAAqB,SALpB,IAAIC,kDAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,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,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAIC,uCAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -45,7 +45,7 @@ var AwsPgDialect = class extends PgDialect {
45
45
  };
46
46
  function construct(client, config) {
47
47
  const dialect = new AwsPgDialect({
48
- useJitMappers: jitCompatCheck(config.useJitMappers),
48
+ useJitMappers: jitCompatCheck(config.jit),
49
49
  codecs: config.codecs ?? awsDataApiPgCodecs
50
50
  });
51
51
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\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 AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\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 AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\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\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<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":";;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,IAAa,eAAb,cAAkC,UAAU;CAC3C,QAA0B,cAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,OACC,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACvC,GAAG,QAAQ,SAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAa,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,iBAAiB,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACxD,GAAG,eAAe,SAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAa,IAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,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,qBAAqB,SALpB,IAAI,kBAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,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,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAI,cAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/aws-data-api/pg/driver.ts"],"sourcesContent":["import { RDSDataClient, type RDSDataClientConfig } from '@aws-sdk/client-rds-data';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgColumn } from '~/pg-core/columns/common.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { PgInsertConfig } from '~/pg-core/query-builders/insert.ts';\nimport type { PgTable, TableConfig } from '~/pg-core/table.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { Param, type SQL, sql } from '~/sql/sql.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleConfig, jitCompatCheck, type UpdateSet } from '~/utils.ts';\nimport { awsDataApiPgCodecs } from './codecs.ts';\nimport type { AwsDataApiClient, AwsDataApiPgQueryResultHKT } from './session.ts';\nimport { AwsDataApiSession } from './session.ts';\n\nexport interface PgDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport interface DrizzleAwsDataApiPgConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\tdatabase: string;\n\tresourceArn: string;\n\tsecretArn: string;\n}\n\nexport class AwsDataApiPgDatabase<TRelations extends AnyRelations = EmptyRelations>\n\textends PgAsyncDatabase<AwsDataApiPgQueryResultHKT, TRelations>\n{\n\tstatic override readonly [entityKind]: string = 'AwsDataApiPgDatabase';\n}\n\nexport class AwsPgDialect extends PgDialect {\n\tstatic override readonly [entityKind]: string = 'AwsPgDialect';\n\n\toverride escapeParam(num: number): string {\n\t\treturn `:${num + 1}`;\n\t}\n\n\toverride buildInsertQuery(\n\t\t{ table, values, onConflict, returning, select, withList }: PgInsertConfig<PgTable<TableConfig>>,\n\t): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tif (!select) {\n\t\t\tfor (const value of (values as Record<string, Param | SQL>[])) {\n\t\t\t\tfor (const fieldName of Object.keys(columns)) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tconst column = columns[fieldName];\n\t\t\t\t\tif (\n\t\t\t\t\t\tis(colValue, Param) && colValue.value !== undefined\n\t\t\t\t\t\t&& is(column, PgColumn) && column.dimensions\n\t\t\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvalue[fieldName] = sql`cast(${colValue} as ${sql.raw(column.getSQLType())}${\n\t\t\t\t\t\t\tcolumn.dimensions ? sql.raw('[]'.repeat(column.dimensions)) : undefined\n\t\t\t\t\t\t})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn super.buildInsertQuery({ table, values, onConflict, returning, withList });\n\t}\n\n\toverride buildUpdateSet(table: PgTable<TableConfig>, set: UpdateSet): SQL<unknown> {\n\t\tconst columns: Record<string, PgColumn> = table[Table.Symbol.Columns];\n\n\t\tfor (const [colName, colValue] of Object.entries(set)) {\n\t\t\tconst currentColumn = columns[colName];\n\t\t\tif (\n\t\t\t\tcurrentColumn && is(colValue, Param) && colValue.value !== undefined\n\t\t\t\t&& is(currentColumn, PgColumn) && currentColumn.dimensions\n\t\t\t\t&& Array.isArray(colValue.value)\n\t\t\t) {\n\t\t\t\tset[colName] = sql`cast(${colValue} as ${sql.raw(currentColumn.getSQLType())}${\n\t\t\t\t\tcurrentColumn.dimensions ? sql.raw('[]'.repeat(currentColumn.dimensions)) : undefined\n\t\t\t\t})`;\n\t\t\t}\n\t\t}\n\t\treturn super.buildUpdateSet(table, set);\n\t}\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: AwsDataApiClient,\n\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: AwsDataApiClient;\n} {\n\tconst dialect = new AwsPgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? awsDataApiPgCodecs,\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 AwsDataApiSession(client, dialect, relations, {\n\t\t...config,\n\t\tlogger,\n\t\tcache: config.cache,\n\t}, undefined);\n\tconst db = new AwsDataApiPgDatabase(dialect, session, relations, true);\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 AwsDataApiClient = RDSDataClient,\n>(\n\t...params: [\n\t\t(\n\t\t\t| (\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& {\n\t\t\t\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t\t\t\t}\n\t\t\t)\n\t\t\t| (\n\t\t\t\t& DrizzleAwsDataApiPgConfig<TRelations>\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\t]\n): AwsDataApiPgDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif ((params[0] as { client?: TClient }).client) {\n\t\tconst { client, ...drizzleConfig } = params[0] as {\n\t\t\tclient: TClient;\n\t\t} & DrizzleAwsDataApiPgConfig<TRelations>;\n\n\t\treturn construct(client, drizzleConfig) as any;\n\t}\n\n\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\tconnection: RDSDataClientConfig & Omit<DrizzleAwsDataApiPgConfig, keyof DrizzleConfig>;\n\t} & DrizzlePgConfig<TRelations>;\n\tconst { resourceArn, database, secretArn, ...rdsConfig } = connection;\n\n\tconst instance = new RDSDataClient(rdsConfig);\n\treturn construct(instance, { resourceArn, database, secretArn, ...drizzleConfig }) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig: DrizzleAwsDataApiPgConfig<TRelations>,\n\t): AwsDataApiPgDatabase<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":";;;;;;;;;;;;;AAkCA,IAAa,uBAAb,cACS,gBACT;CACC,QAA0B,cAAsB;;AAGjD,IAAa,eAAb,cAAkC,UAAU;CAC3C,QAA0B,cAAsB;CAEhD,AAAS,YAAY,KAAqB;AACzC,SAAO,IAAI,MAAM;;CAGlB,AAAS,iBACR,EAAE,OAAO,QAAQ,YAAY,WAAW,QAAQ,YACjC;EACf,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,MAAI,CAAC,OACJ,MAAK,MAAM,SAAU,OACpB,MAAK,MAAM,aAAa,OAAO,KAAK,QAAQ,EAAE;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,SAAS,QAAQ;AACvB,OACC,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACvC,GAAG,QAAQ,SAAS,IAAI,OAAO,cAC/B,MAAM,QAAQ,SAAS,MAAM,CAEhC,OAAM,aAAa,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,OAAO,YAAY,CAAC,GACxE,OAAO,aAAa,IAAI,IAAI,KAAK,OAAO,OAAO,WAAW,CAAC,GAAG,OAC9D;;AAML,SAAO,MAAM,iBAAiB;GAAE;GAAO;GAAQ;GAAY;GAAW;GAAU,CAAC;;CAGlF,AAAS,eAAe,OAA6B,KAA8B;EAClF,MAAM,UAAoC,MAAM,MAAM,OAAO;AAE7D,OAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,IAAI,EAAE;GACtD,MAAM,gBAAgB,QAAQ;AAC9B,OACC,iBAAiB,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,UACxD,GAAG,eAAe,SAAS,IAAI,cAAc,cAC7C,MAAM,QAAQ,SAAS,MAAM,CAEhC,KAAI,WAAW,GAAG,QAAQ,SAAS,MAAM,IAAI,IAAI,cAAc,YAAY,CAAC,GAC3E,cAAc,aAAa,IAAI,IAAI,KAAK,OAAO,cAAc,WAAW,CAAC,GAAG,OAC5E;;AAGH,SAAO,MAAM,eAAe,OAAO,IAAI;;;AAIzC,SAAS,UACR,QACA,QAGC;CACD,MAAM,UAAU,IAAI,aAAa;EAChC,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,qBAAqB,SALpB,IAAI,kBAAkB,QAAQ,SAAS,WAAW;EACjE,GAAG;EACH;EACA,OAAO,OAAO;EACd,EAAE,OAAU,EACyC,WAAW,KAAK;AACtE,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,KAAK,OAAO,GAA4B,QAAQ;EAC/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,OAAO;AAI5C,SAAO,UAAU,QAAQ,cAAc;;CAGxC,MAAM,EAAE,YAAY,GAAG,kBAAkB,OAAO;CAGhD,MAAM,EAAE,aAAa,UAAU,WAAW,GAAG,cAAc;AAG3D,QAAO,UADU,IAAI,cAAc,UAAU,EAClB;EAAE;EAAa;EAAU;EAAW,GAAG;EAAe,CAAC;;;CAI3E,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -32,7 +32,7 @@ function construct(client, config = {}) {
32
32
  const relations = config.relations ?? {};
33
33
  const db = new BetterSQLite3Database("sync", dialect, new require_better_sqlite3_session.BetterSQLiteSession(client, dialect, relations, schema, {
34
34
  logger,
35
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
35
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
36
36
  }), relations, schema);
37
37
  db.$client = client;
38
38
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","BetterSQLiteSession","Client"],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\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 BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\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 { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\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): BetterSQLite3Database<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":";;;;;;;;;;;;;;AAmBA,IAAa,wBAAb,cAGUA,uCAA2D;CACpE,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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,sBACd,QACA,SAVe,IAAIC,mDAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,wBAAQ,GAAG,IAAIA,uBAAO,OAAO,GAAG,EAEpD,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,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAIA,uBAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,uBAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","BetterSQLiteSession","Client"],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\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 BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\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 { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\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): BetterSQLite3Database<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":";;;;;;;;;;;;;;AAmBA,IAAa,wBAAb,cAGUA,uCAA2D;CACpE,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;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,sBACd,QACA,SAVe,IAAIC,mDAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,IAAI;EACzC,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,wBAAQ,GAAG,IAAIA,uBAAO,OAAO,GAAG,EAEpD,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,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAIA,uBAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,uBAAO,WAAW,EAEZ,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 BetterSQLite3Database("sync", dialect, new BetterSQLiteSession(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;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\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 BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\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 { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\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): BetterSQLite3Database<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":";;;;;;;;;;AAmBA,IAAa,wBAAb,cAGU,mBAA2D;CACpE,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAI,oBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAI,QAAQ,GAAG,IAAI,OAAO,OAAO,GAAG,EAEpD,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,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAI,OAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\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 { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', RunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Database,\n\tconfig: Omit<DrizzleConfig<TSchema, TRelations>, 'cache'> = {},\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\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 BetterSQLiteSession<\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 BetterSQLite3Database(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t);\n\t(<any> db).$client = client;\n\t// (<any> db).$cache = config.cache;\n\t// if ((<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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): BetterSQLite3Database<TSchema, TRelations> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(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?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\tclient?: Database;\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 { source, ...options } = connection;\n\n\t\tconst instance = new Client(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Client(connection);\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): BetterSQLite3Database<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":";;;;;;;;;;AAmBA,IAAa,wBAAb,cAGU,mBAA2D;CACpE,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA4D,EAAE,EAG7D;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,sBACd,QACA,SAVe,IAAI,oBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,OAAO,IAAI;EACzC,CAAC,EAKD,WACA,OACA;AACD,CAAO,GAAI,UAAU;AAMrB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAI,QAAQ,GAAG,IAAI,OAAO,OAAO,GAAG,EAEpD,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,QAAQ,GAAG,YAAY;AAI/B,SAAO,UAFU,IAAI,OAAO,QAAQ,QAAQ,EAEjB,cAAc;;AAK1C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -36,7 +36,7 @@ function construct(client, config = {}) {
36
36
  logger,
37
37
  mode,
38
38
  cache: config.cache,
39
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
39
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
40
40
  }), relations, schema, mode);
41
41
  db.$client = client;
42
42
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","MySqlDialect","DefaultLogger","DrizzleError","V1","BunMySqlSession","SQL"],"sources":["../../../src/bun-sql/mysql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 type { BunMySqlPreparedQueryHKT, BunMySqlQueryResultHKT } from './session.ts';\nimport { BunMySqlSession } from './session.ts';\n\nexport type BunMySqlDrizzleConfig<\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\nexport class BunMySqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<BunMySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: BunMySqlDrizzleConfig<TSchema, TRelations> = {},\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: SQL;\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\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 session = new BunMySqlSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tmode,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BunMySqlDatabase(dialect, session, relations, schema as any, mode) as BunMySqlDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & BunMySqlDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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?: BunMySqlDrizzleConfig<TSchema, TRelations>,\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAa,mBAAb,cAGUA,iCAAqF;CAC9F,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAqD,EAAE,EAGtD;CACD,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;AAClB,MAAI,OAAO,SAAS,OACnB,OAAM,IAAIC,yBAAa,EACtB,SACC,4IACD,CAAC;EAGH,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,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,iBAAiB,SANhB,IAAIC,8CAAgB,QAAQ,SAAS,WAAW,QAAQ;EACvE;EACA;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,cAAc;EACnD,CAAC,EACgD,WAAW,QAAe,KAAK;AAIjF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","MySqlDialect","DefaultLogger","DrizzleError","V1","BunMySqlSession","SQL"],"sources":["../../../src/bun-sql/mysql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 type { BunMySqlPreparedQueryHKT, BunMySqlQueryResultHKT } from './session.ts';\nimport { BunMySqlSession } from './session.ts';\n\nexport type BunMySqlDrizzleConfig<\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\nexport class BunMySqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<BunMySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: BunMySqlDrizzleConfig<TSchema, TRelations> = {},\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: SQL;\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\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 session = new BunMySqlSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tmode,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst db = new BunMySqlDatabase(dialect, session, relations, schema as any, mode) as BunMySqlDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & BunMySqlDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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?: BunMySqlDrizzleConfig<TSchema, TRelations>,\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAa,mBAAb,cAGUA,iCAAqF;CAC9F,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAqD,EAAE,EAGtD;CACD,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;AAClB,MAAI,OAAO,SAAS,OACnB,OAAM,IAAIC,yBAAa,EACtB,SACC,4IACD,CAAC;EAGH,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,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,iBAAiB,SANhB,IAAIC,8CAAgB,QAAQ,SAAS,WAAW,QAAQ;EACvE;EACA;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,IAAI;EACzC,CAAC,EACgD,WAAW,QAAe,KAAK;AAIjF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -33,7 +33,7 @@ function construct(client, config = {}) {
33
33
  logger,
34
34
  mode,
35
35
  cache: config.cache,
36
- useJitMappers: jitCompatCheck(config.useJitMappers)
36
+ useJitMappers: jitCompatCheck(config.jit)
37
37
  }), relations, schema, mode);
38
38
  db.$client = client;
39
39
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/mysql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 type { BunMySqlPreparedQueryHKT, BunMySqlQueryResultHKT } from './session.ts';\nimport { BunMySqlSession } from './session.ts';\n\nexport type BunMySqlDrizzleConfig<\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\nexport class BunMySqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<BunMySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: BunMySqlDrizzleConfig<TSchema, TRelations> = {},\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: SQL;\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\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 session = new BunMySqlSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tmode,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BunMySqlDatabase(dialect, session, relations, schema as any, mode) as BunMySqlDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & BunMySqlDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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?: BunMySqlDrizzleConfig<TSchema, TRelations>,\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAsBA,IAAa,mBAAb,cAGU,cAAqF;CAC9F,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAqD,EAAE,EAGtD;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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,iBAAiB,SANhB,IAAI,gBAAgB,QAAQ,SAAS,WAAW,QAAQ;EACvE;EACA;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EACgD,WAAW,QAAe,KAAK;AAIjF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/mysql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.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 type { BunMySqlPreparedQueryHKT, BunMySqlQueryResultHKT } from './session.ts';\nimport { BunMySqlSession } from './session.ts';\n\nexport type BunMySqlDrizzleConfig<\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\nexport class BunMySqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<BunMySqlQueryResultHKT, BunMySqlPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunMySqlDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: BunMySqlDrizzleConfig<TSchema, TRelations> = {},\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: SQL;\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\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 session = new BunMySqlSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tmode,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst db = new BunMySqlDatabase(dialect, session, relations, schema as any, mode) as BunMySqlDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunMySqlDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & BunMySqlDrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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?: BunMySqlDrizzleConfig<TSchema, TRelations>,\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAsBA,IAAa,mBAAb,cAGU,cAAqF;CAC9F,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAqD,EAAE,EAGtD;CACD,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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,iBAAiB,SANhB,IAAI,gBAAgB,QAAQ,SAAS,WAAW,QAAQ;EACvE;EACA;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,IAAI;EACzC,CAAC,EACgD,WAAW,QAAe,KAAK;AAIjF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -16,7 +16,7 @@ var BunSQLDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
16
16
  function construct(client, config = {}) {
17
17
  client.options.bigint = true;
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_bun_sql_postgres_codecs.bunSqlPgCodecs
21
21
  });
22
22
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","bunSqlPgCodecs","DefaultLogger","BunSQLSession","SQL"],"sources":["../../../src/bun-sql/postgres/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { bunSqlPgCodecs } from './codecs.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): BunSQLDatabase<TRelations> & {\n\t$client: SQL;\n} {\n\tclient.options.bigint = true;\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? bunSqlPgCodecs,\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 BunSQLSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new BunSQLDatabase(dialect, session, relations, false, true) as BunSQLDatabase<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 SQL = SQL,\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 | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\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?: { url?: string } & SQL.Options;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAcA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;AACD,QAAO,QAAQ,SAAS;CACxB,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,eAAe,SAJd,IAAIC,+CAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAC8C,WAAW,OAAO,KAAK;AACvE,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,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,gBAAgB;;AAI5C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","bunSqlPgCodecs","DefaultLogger","BunSQLSession","SQL"],"sources":["../../../src/bun-sql/postgres/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { bunSqlPgCodecs } from './codecs.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): BunSQLDatabase<TRelations> & {\n\t$client: SQL;\n} {\n\tclient.options.bigint = true;\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? bunSqlPgCodecs,\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 BunSQLSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new BunSQLDatabase(dialect, session, relations, false, true) as BunSQLDatabase<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 SQL = SQL,\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 | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\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?: { url?: string } & SQL.Options;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAcA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;AACD,QAAO,QAAQ,SAAS;CACxB,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,eAAe,SAJd,IAAIC,+CAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAC8C,WAAW,OAAO,KAAK;AACvE,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,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,gBAAgB;;AAI5C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -14,7 +14,7 @@ var BunSQLDatabase = class extends PgAsyncDatabase {
14
14
  function construct(client, config = {}) {
15
15
  client.options.bigint = true;
16
16
  const dialect = new PgDialect({
17
- useJitMappers: jitCompatCheck(config.useJitMappers),
17
+ useJitMappers: jitCompatCheck(config.jit),
18
18
  codecs: config.codecs ?? bunSqlPgCodecs
19
19
  });
20
20
  let logger;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/postgres/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { bunSqlPgCodecs } from './codecs.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): BunSQLDatabase<TRelations> & {\n\t$client: SQL;\n} {\n\tclient.options.bigint = true;\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? bunSqlPgCodecs,\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 BunSQLSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new BunSQLDatabase(dialect, session, relations, false, true) as BunSQLDatabase<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 SQL = SQL,\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 | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\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?: { url?: string } & SQL.Options;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAcA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;AACD,QAAO,QAAQ,SAAS;CACxB,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,eAAe,SAJd,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAC8C,WAAW,OAAO,KAAK;AACvE,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,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,gBAAgB;;AAI5C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/postgres/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { bunSqlPgCodecs } from './codecs.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<BunSQLQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): BunSQLDatabase<TRelations> & {\n\t$client: SQL;\n} {\n\tclient.options.bigint = true;\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t\tcodecs: config.codecs ?? bunSqlPgCodecs,\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 BunSQLSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new BunSQLDatabase(dialect, session, relations, false, true) as BunSQLDatabase<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 SQL = SQL,\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 | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\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?: { url?: string } & SQL.Options;\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAcA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UAGR,QACA,SAAsC,EAAE,EAGvC;AACD,QAAO,QAAQ,SAAS;CACxB,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,eAAe,SAJd,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAC8C,WAAW,OAAO,KAAK;AACvE,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,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,gBAAgB;;AAI5C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -32,7 +32,7 @@ function construct(client, config = {}) {
32
32
  const db = new BunSQLiteDatabase("async", dialect, new require_bun_sql_sqlite_session.BunSQLiteSession(client, dialect, relations, schema, {
33
33
  logger,
34
34
  cache: config.cache,
35
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
35
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
36
36
  }), relations, schema);
37
37
  db.$client = client;
38
38
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteAsyncDialect","DefaultLogger","V1","BunSQLiteSession","SQL"],"sources":["../../../src/bun-sql/sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { BunSQLiteRunResult } from './session.ts';\nimport { BunSQLiteSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', BunSQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new SQLiteAsyncDialect();\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 BunSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BunSQLiteDatabase('async', dialect, session, relations, schema as any) as BunSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,oBAAb,cAGUA,uCAAqE;CAC9E,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,6CAAoB;CACxC,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;CAMxC,MAAM,KAAK,IAAI,kBAAkB,SAAS,SAL1B,IAAIC,gDAAiB,QAAQ,SAAS,WAAW,QAAQ;EACxE;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAC0D,WAAW,OAAc;AAIrF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteAsyncDialect","DefaultLogger","V1","BunSQLiteSession","SQL"],"sources":["../../../src/bun-sql/sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { BunSQLiteRunResult } from './session.ts';\nimport { BunSQLiteSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', BunSQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new SQLiteAsyncDialect();\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 BunSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst db = new BunSQLiteDatabase('async', dialect, session, relations, schema as any) as BunSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,oBAAb,cAGUA,uCAAqE;CAC9E,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,6CAAoB;CACxC,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;CAMxC,MAAM,KAAK,IAAI,kBAAkB,SAAS,SAL1B,IAAIC,gDAAiB,QAAQ,SAAS,WAAW,QAAQ;EACxE;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,IAAI;EACzC,CAAC,EAC0D,WAAW,OAAc;AAIrF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,QAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAIA,QAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAIA,QAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -29,7 +29,7 @@ function construct(client, config = {}) {
29
29
  const db = new BunSQLiteDatabase("async", dialect, new BunSQLiteSession(client, dialect, relations, schema, {
30
30
  logger,
31
31
  cache: config.cache,
32
- useJitMappers: jitCompatCheck(config.useJitMappers)
32
+ useJitMappers: jitCompatCheck(config.jit)
33
33
  }), relations, schema);
34
34
  db.$client = client;
35
35
  db.$cache = config.cache;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { BunSQLiteRunResult } from './session.ts';\nimport { BunSQLiteSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', BunSQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new SQLiteAsyncDialect();\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 BunSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new BunSQLiteDatabase('async', dialect, session, relations, schema as any) as BunSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAa,oBAAb,cAGU,mBAAqE;CAC9E,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,oBAAoB;CACxC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,kBAAkB,SAAS,SAL1B,IAAI,iBAAiB,QAAQ,SAAS,WAAW,QAAQ;EACxE;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAC0D,WAAW,OAAc;AAIrF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/bun-sql/sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { SQL } from 'bun';\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 { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { BunSQLiteRunResult } from './session.ts';\nimport { BunSQLiteSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'async', BunSQLiteRunResult, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new SQLiteAsyncDialect();\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 BunSQLiteSession(client, dialect, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst db = new BunSQLiteDatabase('async', dialect, session, relations, schema as any) as BunSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\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\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(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\tconnection?: { url?: string } & SQL.Options;\n\t\tclient?: TClient;\n\t} & DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\tconst { url, ...config } = connection;\n\n\t\tconst instance = new SQL({ url, ...config });\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new SQL(connection);\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): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAa,oBAAb,cAGU,mBAAqE;CAC9E,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,oBAAoB;CACxC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,kBAAkB,SAAS,SAL1B,IAAI,iBAAiB,QAAQ,SAAS,WAAW,QAAQ;EACxE;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,IAAI;EACzC,CAAC,EAC0D,WAAW,OAAc;AAIrF,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAI,IAAI,OAAO,GAAG,EAER,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;EACnE,MAAM,EAAE,KAAK,GAAG,WAAW;AAG3B,SAAO,UADU,IAAI,IAAI;GAAE;GAAK,GAAG;GAAQ,CAAC,EACjB,cAAc;;AAI1C,QAAO,UADU,IAAI,IAAI,WAAW,EACT,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAChB,SAAS;GACR,SAAS,EAAE;GACX,aAAa,EAAE;GACf,EACD,EAAS,OAAO"}
@@ -31,7 +31,7 @@ function construct(client, config = {}) {
31
31
  const relations = config.relations ?? {};
32
32
  const db = new SQLiteBunDatabase("sync", dialect, new require_bun_sqlite_session.SQLiteBunSession(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","SQLiteBunSession","Database"],"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun: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 { SQLiteBunSession } from './session.ts';\n\nexport class SQLiteBunDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', void, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBunDatabase';\n}\n\ntype DrizzleSqliteBunDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleSqliteBunDatabaseOptions)\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: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: Database;\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 SQLiteBunSession<\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 SQLiteBunDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as SQLiteBunDatabase<\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 Database = Database,\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?: DrizzleBunSqliteDatabaseConfig;\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): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(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?: DrizzleBunSqliteDatabaseConfig | 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 { source, ...opts } = connection;\n\n\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\tconst instance = new Database(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Database(connection);\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): SQLiteBunDatabase<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":";;;;;;;;;;;;;AAYA,IAAa,oBAAb,cAGUA,uCAAsD;CAC/D,QAA0BC,0BAAsB;;AA+BjD,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,kBACd,QACA,SAVe,IAAIC,4CAIlB,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,qBAAU,GAAG,IAAIA,oBAAS,OAAO,GAAG,EAExD,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,QAAQ,GAAG,SAAS;AAM5B,SAAO,UAFU,IAAIA,oBAAS,QAFd,OAAO,OAAO,KAAK,CAAC,QAAQ,MAAM,MAAM,OAAU,CAAC,SAAS,OAAO,OAErC,EAEnB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,oBAAS,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","SQLiteBunSession","Database"],"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun: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 { SQLiteBunSession } from './session.ts';\n\nexport class SQLiteBunDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', void, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBunDatabase';\n}\n\ntype DrizzleSqliteBunDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleSqliteBunDatabaseOptions)\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: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: Database;\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 SQLiteBunSession<\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 SQLiteBunDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as SQLiteBunDatabase<\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 Database = Database,\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?: DrizzleBunSqliteDatabaseConfig;\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): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(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?: DrizzleBunSqliteDatabaseConfig | 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 { source, ...opts } = connection;\n\n\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\tconst instance = new Database(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Database(connection);\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): SQLiteBunDatabase<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":";;;;;;;;;;;;;AAYA,IAAa,oBAAb,cAGUA,uCAAsD;CAC/D,QAA0BC,0BAAsB;;AA+BjD,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,kBACd,QACA,SAVe,IAAIC,4CAIlB,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,qBAAU,GAAG,IAAIA,oBAAS,OAAO,GAAG,EAExD,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,QAAQ,GAAG,SAAS;AAM5B,SAAO,UAFU,IAAIA,oBAAS,QAFd,OAAO,OAAO,KAAK,CAAC,QAAQ,MAAM,MAAM,OAAU,CAAC,SAAS,OAAO,OAErC,EAEnB,cAAc;;AAK1C,QAAO,UAFU,IAAIA,oBAAS,WAAW,EAEd,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 SQLiteBunDatabase("sync", dialect, new SQLiteBunSession(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;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun: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 { SQLiteBunSession } from './session.ts';\n\nexport class SQLiteBunDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', void, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBunDatabase';\n}\n\ntype DrizzleSqliteBunDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleSqliteBunDatabaseOptions)\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: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: Database;\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 SQLiteBunSession<\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 SQLiteBunDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as SQLiteBunDatabase<\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 Database = Database,\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?: DrizzleBunSqliteDatabaseConfig;\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): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(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?: DrizzleBunSqliteDatabaseConfig | 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 { source, ...opts } = connection;\n\n\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\tconst instance = new Database(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Database(connection);\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): SQLiteBunDatabase<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":";;;;;;;;;;AAYA,IAAa,oBAAb,cAGU,mBAAsD;CAC/D,QAA0B,cAAsB;;AA+BjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,kBACd,QACA,SAVe,IAAI,iBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,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,IAAI,UAAU,GAAG,IAAI,SAAS,OAAO,GAAG,EAExD,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,QAAQ,GAAG,SAAS;AAM5B,SAAO,UAFU,IAAI,SAAS,QAFd,OAAO,OAAO,KAAK,CAAC,QAAQ,MAAM,MAAM,OAAU,CAAC,SAAS,OAAO,OAErC,EAEnB,cAAc;;AAK1C,QAAO,UAFU,IAAI,SAAS,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun: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 { SQLiteBunSession } from './session.ts';\n\nexport class SQLiteBunDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', void, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBunDatabase';\n}\n\ntype DrizzleSqliteBunDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleSqliteBunDatabaseOptions)\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: Database,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: Database;\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 SQLiteBunSession<\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 SQLiteBunDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as SQLiteBunDatabase<\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 Database = Database,\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?: DrizzleBunSqliteDatabaseConfig;\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): SQLiteBunDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(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?: DrizzleBunSqliteDatabaseConfig | 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 { source, ...opts } = connection;\n\n\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\tconst instance = new Database(source, options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new Database(connection);\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): SQLiteBunDatabase<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":";;;;;;;;;;AAYA,IAAa,oBAAb,cAGU,mBAAsD;CAC/D,QAA0B,cAAsB;;AA+BjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,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;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,kBACd,QACA,SAVe,IAAI,iBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,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,IAAI,UAAU,GAAG,IAAI,SAAS,OAAO,GAAG,EAExD,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,QAAQ,GAAG,SAAS;AAM5B,SAAO,UAFU,IAAI,SAAS,QAFd,OAAO,OAAO,KAAK,CAAC,QAAQ,MAAM,MAAM,OAAU,CAAC,SAAS,OAAO,OAErC,EAEnB,cAAc;;AAK1C,QAAO,UAFU,IAAI,SAAS,WAAW,EAEd,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
@@ -45,7 +45,7 @@ function construct(client, config = {}) {
45
45
  }
46
46
  const db = new NodeCockroachDatabase(dialect, new NodeCockroachDriver(client, dialect, {
47
47
  logger,
48
- useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
48
+ useJitMappers: (0, __utils_ts.jitCompatCheck)(config.jit)
49
49
  }).createSession(schema), schema);
50
50
  db.$client = client;
51
51
  return db;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":["entityKind","NodeCockroachSession","CockroachDatabase","CockroachDialect","DefaultLogger","V1"],"sources":["../../src/cockroach/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport * as V1 from '~/_relations.ts';\nimport { CockroachDatabase } from '~/cockroach-core/db.ts';\nimport { CockroachDialect } from '~/cockroach-core/dialect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { NodeCockroachClient, NodeCockroachQueryResultHKT } from './session.ts';\nimport { NodeCockroachSession } from './session.ts';\n\nexport interface CockroachDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeCockroachDriver {\n\tstatic readonly [entityKind]: string = 'NodeCockroachDriver';\n\n\tconstructor(\n\t\tprivate client: NodeCockroachClient,\n\t\tprivate dialect: CockroachDialect,\n\t\tprivate options: CockroachDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeCockroachSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeCockroachSession(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 class NodeCockroachDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends CockroachDatabase<NodeCockroachQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodeCockroachDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeCockroachClient = NodeCockroachClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeCockroachDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new CockroachDialect();\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 driver = new NodeCockroachDriver(client, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new NodeCockroachDatabase(dialect, session, schema as any) as NodeCockroachDatabase<TSchema>;\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\tTClient extends NodeCockroachClient = 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\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 | PoolConfig;\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): NodeCockroachDatabase<TSchema> & {\n\t$client: 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(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | 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 pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeCockroachDatabase<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":";;;;;;;;;;;;;;AAgBA,IAAa,sBAAb,MAAiC;CAChC,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAAkC,EAAE,EAC3C;EAHO;EACA;EACA;;CAIT,cACC,QAC2E;AAC3E,SAAO,IAAIC,+CAAqB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAClE,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAIJ,IAAa,wBAAb,cAEUC,yCAAwD;CACjE,QAA0BF,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIG,8CAAkB;CACtC,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;;CAQF,MAAM,KAAK,IAAI,sBAAsB,SALtB,IAAI,oBAAoB,QAAQ,SAAS;EACvD;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,OAAO,EACW,OAAc;AACrE,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,WAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAQnD,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,WAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,WAAG,KAAK,WAAY,EAEA,cAAc;;;CAIlC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
1
+ {"version":3,"file":"driver.cjs","names":["entityKind","NodeCockroachSession","CockroachDatabase","CockroachDialect","DefaultLogger","V1"],"sources":["../../src/cockroach/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport * as V1 from '~/_relations.ts';\nimport { CockroachDatabase } from '~/cockroach-core/db.ts';\nimport { CockroachDialect } from '~/cockroach-core/dialect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { NodeCockroachClient, NodeCockroachQueryResultHKT } from './session.ts';\nimport { NodeCockroachSession } from './session.ts';\n\nexport interface CockroachDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeCockroachDriver {\n\tstatic readonly [entityKind]: string = 'NodeCockroachDriver';\n\n\tconstructor(\n\t\tprivate client: NodeCockroachClient,\n\t\tprivate dialect: CockroachDialect,\n\t\tprivate options: CockroachDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeCockroachSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeCockroachSession(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 class NodeCockroachDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends CockroachDatabase<NodeCockroachQueryResultHKT, TSchema> {\n\tstatic override readonly [entityKind]: string = 'NodeCockroachDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeCockroachClient = NodeCockroachClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeCockroachDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new CockroachDialect();\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 driver = new NodeCockroachDriver(client, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.jit),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new NodeCockroachDatabase(dialect, session, schema as any) as NodeCockroachDatabase<TSchema>;\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\tTClient extends NodeCockroachClient = 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\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 | PoolConfig;\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): NodeCockroachDatabase<TSchema> & {\n\t$client: 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(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | 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 pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeCockroachDatabase<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":";;;;;;;;;;;;;;AAgBA,IAAa,sBAAb,MAAiC;CAChC,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAAkC,EAAE,EAC3C;EAHO;EACA;EACA;;CAIT,cACC,QAC2E;AAC3E,SAAO,IAAIC,+CAAqB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAClE,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAIJ,IAAa,wBAAb,cAEUC,yCAAwD;CACjE,QAA0BF,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIG,8CAAkB;CACtC,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;;CAQF,MAAM,KAAK,IAAI,sBAAsB,SALtB,IAAI,oBAAoB,QAAQ,SAAS;EACvD;EACA,8CAA8B,OAAO,IAAI;EACzC,CAAC,CACqB,cAAc,OAAO,EACW,OAAc;AACrE,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,WAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAEyB,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAQnD,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,WAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,WAAG,KAAK,WAAY,EAEA,cAAc;;;CAIlC,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}