@fragno-dev/db 0.1.2 → 0.1.5

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 (176) hide show
  1. package/.turbo/turbo-build.log +210 -146
  2. package/CHANGELOG.md +19 -0
  3. package/LICENSE.md +16 -0
  4. package/dist/adapters/adapters.js +1 -0
  5. package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
  6. package/dist/adapters/drizzle/drizzle-adapter.js +4 -2
  7. package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
  8. package/dist/adapters/drizzle/drizzle-query.js +2 -2
  9. package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
  10. package/dist/adapters/drizzle/drizzle-uow-compiler.js +4 -4
  11. package/dist/adapters/drizzle/drizzle-uow-decoder.js +14 -4
  12. package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +1 -1
  13. package/dist/adapters/drizzle/drizzle-uow-executor.js +78 -60
  14. package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
  15. package/dist/adapters/drizzle/generate.js +5 -4
  16. package/dist/adapters/drizzle/generate.js.map +1 -1
  17. package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
  18. package/dist/adapters/kysely/kysely-adapter.js +33 -22
  19. package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
  20. package/dist/adapters/kysely/migration/execute-base.js +128 -0
  21. package/dist/adapters/kysely/migration/execute-base.js.map +1 -0
  22. package/dist/adapters/kysely/migration/execute-factory.js +27 -0
  23. package/dist/adapters/kysely/migration/execute-factory.js.map +1 -0
  24. package/dist/adapters/kysely/migration/execute-mssql.js +112 -0
  25. package/dist/adapters/kysely/migration/execute-mssql.js.map +1 -0
  26. package/dist/adapters/kysely/migration/execute-mysql.js +93 -0
  27. package/dist/adapters/kysely/migration/execute-mysql.js.map +1 -0
  28. package/dist/adapters/kysely/migration/execute-postgres.js +104 -0
  29. package/dist/adapters/kysely/migration/execute-postgres.js.map +1 -0
  30. package/dist/adapters/kysely/migration/execute-sqlite.js +123 -0
  31. package/dist/adapters/kysely/migration/execute-sqlite.js.map +1 -0
  32. package/dist/adapters/kysely/migration/execute.js +23 -168
  33. package/dist/adapters/kysely/migration/execute.js.map +1 -1
  34. package/dist/migration-engine/shared.d.ts +24 -5
  35. package/dist/migration-engine/shared.d.ts.map +1 -1
  36. package/dist/migration-engine/shared.js.map +1 -1
  37. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/alias.js +77 -0
  38. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/alias.js.map +1 -0
  39. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/casing.js +49 -0
  40. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/casing.js.map +1 -0
  41. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/column-builder.js +1 -1
  42. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column-builder.js.map +1 -0
  43. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/column.js +1 -1
  44. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column.js.map +1 -0
  45. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/entity.js +1 -1
  46. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/entity.js.map +1 -0
  47. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/errors.js +21 -0
  48. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/errors.js.map +1 -0
  49. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/columns/common.js +1 -1
  50. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/common.js.map +1 -0
  51. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/columns/enum.js +1 -1
  52. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/enum.js.map +1 -0
  53. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/foreign-keys.js +1 -1
  54. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +1 -0
  55. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/unique-constraint.js +1 -1
  56. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +1 -0
  57. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/utils/array.js +1 -1
  58. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/utils/array.js.map +1 -0
  59. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-builders/query-builder.js +14 -0
  60. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-builders/query-builder.js.map +1 -0
  61. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-promise.js +26 -0
  62. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-promise.js.map +1 -0
  63. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/relations.js +127 -0
  64. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/relations.js.map +1 -0
  65. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/selection-proxy.js +47 -0
  66. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/selection-proxy.js.map +1 -0
  67. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/sql/expressions/conditions.js +20 -2
  68. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/conditions.js.map +1 -0
  69. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/select.js +13 -0
  70. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/select.js.map +1 -0
  71. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/functions/aggregate.js +10 -0
  72. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/functions/aggregate.js.map +1 -0
  73. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/sql/sql.js +1 -1
  74. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/sql.js.map +1 -0
  75. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/columns/common.js +60 -0
  76. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/columns/common.js.map +1 -0
  77. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/db.js +269 -0
  78. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/db.js.map +1 -0
  79. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js +457 -0
  80. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js.map +1 -0
  81. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +68 -0
  82. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map +1 -0
  83. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +41 -0
  84. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map +1 -0
  85. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +119 -0
  86. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map +1 -0
  87. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +170 -0
  88. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map +1 -0
  89. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +75 -0
  90. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map +1 -0
  91. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +107 -0
  92. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map +1 -0
  93. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +37 -0
  94. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map +1 -0
  95. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +621 -0
  96. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map +1 -0
  97. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +170 -0
  98. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map +1 -0
  99. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/table.js +20 -0
  100. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/table.js.map +1 -0
  101. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +48 -0
  102. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map +1 -0
  103. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/utils.js +17 -0
  104. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/utils.js.map +1 -0
  105. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/view-base.js +11 -0
  106. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/view-base.js.map +1 -0
  107. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/subquery.js +2 -2
  108. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/subquery.js.map +1 -0
  109. package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/table.js +8 -2
  110. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.js.map +1 -0
  111. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js +6 -0
  112. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js.map +1 -0
  113. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js +8 -0
  114. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js.map +1 -0
  115. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js +8 -0
  116. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js.map +1 -0
  117. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/utils.js +53 -0
  118. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/utils.js.map +1 -0
  119. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js +6 -0
  120. package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js.map +1 -0
  121. package/dist/query/query.d.ts +4 -4
  122. package/dist/query/query.d.ts.map +1 -1
  123. package/dist/query/unit-of-work.d.ts +22 -22
  124. package/dist/query/unit-of-work.d.ts.map +1 -1
  125. package/dist/schema/create.d.ts +41 -41
  126. package/dist/schema/create.d.ts.map +1 -1
  127. package/dist/schema/serialize.js +3 -0
  128. package/dist/schema/serialize.js.map +1 -1
  129. package/package.json +20 -24
  130. package/src/adapters/drizzle/drizzle-adapter-sqlite.test.ts +585 -0
  131. package/src/adapters/drizzle/drizzle-adapter.test.ts +2 -2
  132. package/src/adapters/drizzle/drizzle-adapter.ts +11 -4
  133. package/src/adapters/drizzle/drizzle-query.ts +2 -2
  134. package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +1 -1
  135. package/src/adapters/drizzle/drizzle-uow-decoder.ts +21 -4
  136. package/src/adapters/drizzle/drizzle-uow-executor.ts +155 -115
  137. package/src/adapters/drizzle/generate.test.ts +111 -14
  138. package/src/adapters/drizzle/generate.ts +12 -7
  139. package/src/adapters/kysely/kysely-adapter.ts +46 -27
  140. package/src/adapters/kysely/migration/execute-base.ts +256 -0
  141. package/src/adapters/kysely/migration/execute-factory.ts +30 -0
  142. package/src/adapters/kysely/migration/execute-mssql.ts +250 -0
  143. package/src/adapters/kysely/migration/execute-mysql.ts +211 -0
  144. package/src/adapters/kysely/migration/execute-postgres.ts +234 -0
  145. package/src/adapters/kysely/migration/execute-sqlite.test.ts +1363 -0
  146. package/src/adapters/kysely/migration/execute-sqlite.ts +247 -0
  147. package/src/adapters/kysely/migration/execute.ts +33 -396
  148. package/src/adapters/kysely/migration/kysely-migrator.test.ts +84 -2
  149. package/src/migration-engine/shared.ts +29 -11
  150. package/src/schema/serialize.test.ts +1 -0
  151. package/src/schema/serialize.ts +7 -0
  152. package/tsdown.config.ts +1 -0
  153. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/column-builder.js.map +0 -1
  154. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/column.js.map +0 -1
  155. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/entity.js.map +0 -1
  156. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/common.js.map +0 -1
  157. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/enum.js.map +0 -1
  158. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +0 -1
  159. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +0 -1
  160. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/utils/array.js.map +0 -1
  161. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/conditions.js.map +0 -1
  162. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js +0 -13
  163. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js.map +0 -1
  164. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/functions/aggregate.js +0 -10
  165. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/functions/aggregate.js.map +0 -1
  166. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/sql.js.map +0 -1
  167. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/subquery.js.map +0 -1
  168. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.js.map +0 -1
  169. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.utils.js +0 -6
  170. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.utils.js.map +0 -1
  171. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing-utils.js +0 -8
  172. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing-utils.js.map +0 -1
  173. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing.js +0 -8
  174. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing.js.map +0 -1
  175. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/view-common.js +0 -6
  176. package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/view-common.js.map +0 -1
@@ -0,0 +1,457 @@
1
+ import { entityKind, is } from "../entity.js";
2
+ import { Column } from "../column.js";
3
+ import { Subquery } from "../subquery.js";
4
+ import { ViewBaseConfig } from "../view-common.js";
5
+ import { Table, getTableName, getTableUniqueName } from "../table.js";
6
+ import { Param, SQL, sql } from "../sql/sql.js";
7
+ import { aliasedTable, aliasedTableColumn, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias } from "../alias.js";
8
+ import { DrizzleError } from "../errors.js";
9
+ import { orderSelectedFields } from "../utils.js";
10
+ import { and, eq } from "../sql/expressions/conditions.js";
11
+ import { Many, One, getOperators, getOrderByOperators, normalizeRelation } from "../relations.js";
12
+ import { SQLiteColumn } from "./columns/common.js";
13
+ import { SQLiteTable } from "./table.js";
14
+ import { CasingCache } from "../casing.js";
15
+ import { SQLiteViewBase } from "./view-base.js";
16
+
17
+ //#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@types+better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js
18
+ var SQLiteDialect = class {
19
+ static [entityKind] = "SQLiteDialect";
20
+ /** @internal */
21
+ casing;
22
+ constructor(config) {
23
+ this.casing = new CasingCache(config?.casing);
24
+ }
25
+ escapeName(name) {
26
+ return `"${name}"`;
27
+ }
28
+ escapeParam(_num) {
29
+ return "?";
30
+ }
31
+ escapeString(str) {
32
+ return `'${str.replace(/'/g, "''")}'`;
33
+ }
34
+ buildWithCTE(queries) {
35
+ if (!queries?.length) return void 0;
36
+ const withSqlChunks = [sql`with `];
37
+ for (const [i, w] of queries.entries()) {
38
+ withSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`);
39
+ if (i < queries.length - 1) withSqlChunks.push(sql`, `);
40
+ }
41
+ withSqlChunks.push(sql` `);
42
+ return sql.join(withSqlChunks);
43
+ }
44
+ buildDeleteQuery({ table, where, returning, withList, limit, orderBy }) {
45
+ const withSql = this.buildWithCTE(withList);
46
+ const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
47
+ return sql`${withSql}delete from ${table}${where ? sql` where ${where}` : void 0}${returningSql}${this.buildOrderBy(orderBy)}${this.buildLimit(limit)}`;
48
+ }
49
+ buildUpdateSet(table, set) {
50
+ const tableColumns = table[Table.Symbol.Columns];
51
+ const columnNames = Object.keys(tableColumns).filter((colName) => set[colName] !== void 0 || tableColumns[colName]?.onUpdateFn !== void 0);
52
+ const setSize = columnNames.length;
53
+ return sql.join(columnNames.flatMap((colName, i) => {
54
+ const col = tableColumns[colName];
55
+ const value = set[colName] ?? sql.param(col.onUpdateFn(), col);
56
+ const res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;
57
+ if (i < setSize - 1) return [res, sql.raw(", ")];
58
+ return [res];
59
+ }));
60
+ }
61
+ buildUpdateQuery({ table, set, where, returning, withList, joins, from, limit, orderBy }) {
62
+ const withSql = this.buildWithCTE(withList);
63
+ const setSql = this.buildUpdateSet(table, set);
64
+ const fromSql = from && sql.join([sql.raw(" from "), this.buildFromTable(from)]);
65
+ const joinsSql = this.buildJoins(joins);
66
+ const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
67
+ return sql`${withSql}update ${table} set ${setSql}${fromSql}${joinsSql}${where ? sql` where ${where}` : void 0}${returningSql}${this.buildOrderBy(orderBy)}${this.buildLimit(limit)}`;
68
+ }
69
+ /**
70
+ * Builds selection SQL with provided fields/expressions
71
+ *
72
+ * Examples:
73
+ *
74
+ * `select <selection> from`
75
+ *
76
+ * `insert ... returning <selection>`
77
+ *
78
+ * If `isSingleTable` is true, then columns won't be prefixed with table name
79
+ */
80
+ buildSelection(fields, { isSingleTable = false } = {}) {
81
+ const columnsLen = fields.length;
82
+ const chunks = fields.flatMap(({ field }, i) => {
83
+ const chunk = [];
84
+ if (is(field, SQL.Aliased) && field.isSelectionField) chunk.push(sql.identifier(field.fieldAlias));
85
+ else if (is(field, SQL.Aliased) || is(field, SQL)) {
86
+ const query = is(field, SQL.Aliased) ? field.sql : field;
87
+ if (isSingleTable) chunk.push(new SQL(query.queryChunks.map((c) => {
88
+ if (is(c, Column)) return sql.identifier(this.casing.getColumnCasing(c));
89
+ return c;
90
+ })));
91
+ else chunk.push(query);
92
+ if (is(field, SQL.Aliased)) chunk.push(sql` as ${sql.identifier(field.fieldAlias)}`);
93
+ } else if (is(field, Column)) {
94
+ const tableName = field.table[Table.Symbol.Name];
95
+ if (field.columnType === "SQLiteNumericBigInt") if (isSingleTable) chunk.push(sql`cast(${sql.identifier(this.casing.getColumnCasing(field))} as text)`);
96
+ else chunk.push(sql`cast(${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))} as text)`);
97
+ else if (isSingleTable) chunk.push(sql.identifier(this.casing.getColumnCasing(field)));
98
+ else chunk.push(sql`${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))}`);
99
+ }
100
+ if (i < columnsLen - 1) chunk.push(sql`, `);
101
+ return chunk;
102
+ });
103
+ return sql.join(chunks);
104
+ }
105
+ buildJoins(joins) {
106
+ if (!joins || joins.length === 0) return;
107
+ const joinsArray = [];
108
+ if (joins) for (const [index, joinMeta] of joins.entries()) {
109
+ if (index === 0) joinsArray.push(sql` `);
110
+ const table = joinMeta.table;
111
+ const onSql = joinMeta.on ? sql` on ${joinMeta.on}` : void 0;
112
+ if (is(table, SQLiteTable)) {
113
+ const tableName = table[SQLiteTable.Symbol.Name];
114
+ const tableSchema = table[SQLiteTable.Symbol.Schema];
115
+ const origTableName = table[SQLiteTable.Symbol.OriginalName];
116
+ const alias = tableName === origTableName ? void 0 : joinMeta.alias;
117
+ joinsArray.push(sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}${onSql}`);
118
+ } else joinsArray.push(sql`${sql.raw(joinMeta.joinType)} join ${table}${onSql}`);
119
+ if (index < joins.length - 1) joinsArray.push(sql` `);
120
+ }
121
+ return sql.join(joinsArray);
122
+ }
123
+ buildLimit(limit) {
124
+ return typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
125
+ }
126
+ buildOrderBy(orderBy) {
127
+ const orderByList = [];
128
+ if (orderBy) for (const [index, orderByValue] of orderBy.entries()) {
129
+ orderByList.push(orderByValue);
130
+ if (index < orderBy.length - 1) orderByList.push(sql`, `);
131
+ }
132
+ return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;
133
+ }
134
+ buildFromTable(table) {
135
+ if (is(table, Table) && table[Table.Symbol.IsAlias]) return sql`${sql`${sql.identifier(table[Table.Symbol.Schema] ?? "")}.`.if(table[Table.Symbol.Schema])}${sql.identifier(table[Table.Symbol.OriginalName])} ${sql.identifier(table[Table.Symbol.Name])}`;
136
+ return table;
137
+ }
138
+ buildSelectQuery({ withList, fields, fieldsFlat, where, having, table, joins, orderBy, groupBy, limit, offset, distinct, setOperators }) {
139
+ const fieldsList = fieldsFlat ?? orderSelectedFields(fields);
140
+ for (const f of fieldsList) if (is(f.field, Column) && getTableName(f.field.table) !== (is(table, Subquery) ? table._.alias : is(table, SQLiteViewBase) ? table[ViewBaseConfig].name : is(table, SQL) ? void 0 : getTableName(table)) && !((table2) => joins?.some(({ alias }) => alias === (table2[Table.Symbol.IsAlias] ? getTableName(table2) : table2[Table.Symbol.BaseName])))(f.field.table)) {
141
+ const tableName = getTableName(f.field.table);
142
+ throw new Error(`Your "${f.path.join("->")}" field references a column "${tableName}"."${f.field.name}", but the table "${tableName}" is not part of the query! Did you forget to join it?`);
143
+ }
144
+ const isSingleTable = !joins || joins.length === 0;
145
+ const withSql = this.buildWithCTE(withList);
146
+ const distinctSql = distinct ? sql` distinct` : void 0;
147
+ const selection = this.buildSelection(fieldsList, { isSingleTable });
148
+ const tableSql = this.buildFromTable(table);
149
+ const joinsSql = this.buildJoins(joins);
150
+ const whereSql = where ? sql` where ${where}` : void 0;
151
+ const havingSql = having ? sql` having ${having}` : void 0;
152
+ const groupByList = [];
153
+ if (groupBy) for (const [index, groupByValue] of groupBy.entries()) {
154
+ groupByList.push(groupByValue);
155
+ if (index < groupBy.length - 1) groupByList.push(sql`, `);
156
+ }
157
+ const finalQuery = sql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupByList.length > 0 ? sql` group by ${sql.join(groupByList)}` : void 0}${havingSql}${this.buildOrderBy(orderBy)}${this.buildLimit(limit)}${offset ? sql` offset ${offset}` : void 0}`;
158
+ if (setOperators.length > 0) return this.buildSetOperations(finalQuery, setOperators);
159
+ return finalQuery;
160
+ }
161
+ buildSetOperations(leftSelect, setOperators) {
162
+ const [setOperator, ...rest] = setOperators;
163
+ if (!setOperator) throw new Error("Cannot pass undefined values to any set operator");
164
+ if (rest.length === 0) return this.buildSetOperationQuery({
165
+ leftSelect,
166
+ setOperator
167
+ });
168
+ return this.buildSetOperations(this.buildSetOperationQuery({
169
+ leftSelect,
170
+ setOperator
171
+ }), rest);
172
+ }
173
+ buildSetOperationQuery({ leftSelect, setOperator: { type, isAll, rightSelect, limit, orderBy, offset } }) {
174
+ const leftChunk = sql`${leftSelect.getSQL()} `;
175
+ const rightChunk = sql`${rightSelect.getSQL()}`;
176
+ let orderBySql;
177
+ if (orderBy && orderBy.length > 0) {
178
+ const orderByValues = [];
179
+ for (const singleOrderBy of orderBy) if (is(singleOrderBy, SQLiteColumn)) orderByValues.push(sql.identifier(singleOrderBy.name));
180
+ else if (is(singleOrderBy, SQL)) {
181
+ for (let i = 0; i < singleOrderBy.queryChunks.length; i++) {
182
+ const chunk = singleOrderBy.queryChunks[i];
183
+ if (is(chunk, SQLiteColumn)) singleOrderBy.queryChunks[i] = sql.identifier(this.casing.getColumnCasing(chunk));
184
+ }
185
+ orderByValues.push(sql`${singleOrderBy}`);
186
+ } else orderByValues.push(sql`${singleOrderBy}`);
187
+ orderBySql = sql` order by ${sql.join(orderByValues, sql`, `)}`;
188
+ }
189
+ const limitSql = typeof limit === "object" || typeof limit === "number" && limit >= 0 ? sql` limit ${limit}` : void 0;
190
+ const operatorChunk = sql.raw(`${type} ${isAll ? "all " : ""}`);
191
+ const offsetSql = offset ? sql` offset ${offset}` : void 0;
192
+ return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;
193
+ }
194
+ buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select }) {
195
+ const valuesSqlList = [];
196
+ const columns = table[Table.Symbol.Columns];
197
+ const colEntries = Object.entries(columns).filter(([_, col]) => !col.shouldDisableInsert());
198
+ const insertOrder = colEntries.map(([, column]) => sql.identifier(this.casing.getColumnCasing(column)));
199
+ if (select) {
200
+ const select2 = valuesOrSelect;
201
+ if (is(select2, SQL)) valuesSqlList.push(select2);
202
+ else valuesSqlList.push(select2.getSQL());
203
+ } else {
204
+ const values = valuesOrSelect;
205
+ valuesSqlList.push(sql.raw("values "));
206
+ for (const [valueIndex, value] of values.entries()) {
207
+ const valueList = [];
208
+ for (const [fieldName, col] of colEntries) {
209
+ const colValue = value[fieldName];
210
+ if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {
211
+ let defaultValue;
212
+ if (col.default !== null && col.default !== void 0) defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);
213
+ else if (col.defaultFn !== void 0) {
214
+ const defaultFnResult = col.defaultFn();
215
+ defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);
216
+ } else if (!col.default && col.onUpdateFn !== void 0) {
217
+ const onUpdateFnResult = col.onUpdateFn();
218
+ defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);
219
+ } else defaultValue = sql`null`;
220
+ valueList.push(defaultValue);
221
+ } else valueList.push(colValue);
222
+ }
223
+ valuesSqlList.push(valueList);
224
+ if (valueIndex < values.length - 1) valuesSqlList.push(sql`, `);
225
+ }
226
+ }
227
+ const withSql = this.buildWithCTE(withList);
228
+ const valuesSql = sql.join(valuesSqlList);
229
+ const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;
230
+ return sql`${withSql}insert into ${table} ${insertOrder} ${valuesSql}${onConflict?.length ? sql.join(onConflict) : void 0}${returningSql}`;
231
+ }
232
+ sqlToQuery(sql2, invokeSource) {
233
+ return sql2.toQuery({
234
+ casing: this.casing,
235
+ escapeName: this.escapeName,
236
+ escapeParam: this.escapeParam,
237
+ escapeString: this.escapeString,
238
+ invokeSource
239
+ });
240
+ }
241
+ buildRelationalQuery({ fullSchema, schema, tableNamesMap, table, tableConfig, queryConfig: config, tableAlias, nestedQueryRelation, joinOn }) {
242
+ let selection = [];
243
+ let limit, offset, orderBy = [], where;
244
+ const joins = [];
245
+ if (config === true) selection = Object.entries(tableConfig.columns).map(([key, value]) => ({
246
+ dbKey: value.name,
247
+ tsKey: key,
248
+ field: aliasedTableColumn(value, tableAlias),
249
+ relationTableTsKey: void 0,
250
+ isJson: false,
251
+ selection: []
252
+ }));
253
+ else {
254
+ const aliasedColumns = Object.fromEntries(Object.entries(tableConfig.columns).map(([key, value]) => [key, aliasedTableColumn(value, tableAlias)]));
255
+ if (config.where) {
256
+ const whereSql = typeof config.where === "function" ? config.where(aliasedColumns, getOperators()) : config.where;
257
+ where = whereSql && mapColumnsInSQLToAlias(whereSql, tableAlias);
258
+ }
259
+ const fieldsSelection = [];
260
+ let selectedColumns = [];
261
+ if (config.columns) {
262
+ let isIncludeMode = false;
263
+ for (const [field, value] of Object.entries(config.columns)) {
264
+ if (value === void 0) continue;
265
+ if (field in tableConfig.columns) {
266
+ if (!isIncludeMode && value === true) isIncludeMode = true;
267
+ selectedColumns.push(field);
268
+ }
269
+ }
270
+ if (selectedColumns.length > 0) selectedColumns = isIncludeMode ? selectedColumns.filter((c) => config.columns?.[c] === true) : Object.keys(tableConfig.columns).filter((key) => !selectedColumns.includes(key));
271
+ } else selectedColumns = Object.keys(tableConfig.columns);
272
+ for (const field of selectedColumns) {
273
+ const column = tableConfig.columns[field];
274
+ fieldsSelection.push({
275
+ tsKey: field,
276
+ value: column
277
+ });
278
+ }
279
+ let selectedRelations = [];
280
+ if (config.with) selectedRelations = Object.entries(config.with).filter((entry) => !!entry[1]).map(([tsKey, queryConfig]) => ({
281
+ tsKey,
282
+ queryConfig,
283
+ relation: tableConfig.relations[tsKey]
284
+ }));
285
+ let extras;
286
+ if (config.extras) {
287
+ extras = typeof config.extras === "function" ? config.extras(aliasedColumns, { sql }) : config.extras;
288
+ for (const [tsKey, value] of Object.entries(extras)) fieldsSelection.push({
289
+ tsKey,
290
+ value: mapColumnsInAliasedSQLToAlias(value, tableAlias)
291
+ });
292
+ }
293
+ for (const { tsKey, value } of fieldsSelection) selection.push({
294
+ dbKey: is(value, SQL.Aliased) ? value.fieldAlias : tableConfig.columns[tsKey].name,
295
+ tsKey,
296
+ field: is(value, Column) ? aliasedTableColumn(value, tableAlias) : value,
297
+ relationTableTsKey: void 0,
298
+ isJson: false,
299
+ selection: []
300
+ });
301
+ let orderByOrig = typeof config.orderBy === "function" ? config.orderBy(aliasedColumns, getOrderByOperators()) : config.orderBy ?? [];
302
+ if (!Array.isArray(orderByOrig)) orderByOrig = [orderByOrig];
303
+ orderBy = orderByOrig.map((orderByValue) => {
304
+ if (is(orderByValue, Column)) return aliasedTableColumn(orderByValue, tableAlias);
305
+ return mapColumnsInSQLToAlias(orderByValue, tableAlias);
306
+ });
307
+ limit = config.limit;
308
+ offset = config.offset;
309
+ for (const { tsKey: selectedRelationTsKey, queryConfig: selectedRelationConfigValue, relation } of selectedRelations) {
310
+ const normalizedRelation = normalizeRelation(schema, tableNamesMap, relation);
311
+ const relationTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];
312
+ const relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;
313
+ const joinOn2 = and(...normalizedRelation.fields.map((field2, i) => eq(aliasedTableColumn(normalizedRelation.references[i], relationTableAlias), aliasedTableColumn(field2, tableAlias))));
314
+ const builtRelation = this.buildRelationalQuery({
315
+ fullSchema,
316
+ schema,
317
+ tableNamesMap,
318
+ table: fullSchema[relationTableTsName],
319
+ tableConfig: schema[relationTableTsName],
320
+ queryConfig: is(relation, One) ? selectedRelationConfigValue === true ? { limit: 1 } : {
321
+ ...selectedRelationConfigValue,
322
+ limit: 1
323
+ } : selectedRelationConfigValue,
324
+ tableAlias: relationTableAlias,
325
+ joinOn: joinOn2,
326
+ nestedQueryRelation: relation
327
+ });
328
+ const field = sql`(${builtRelation.sql})`.as(selectedRelationTsKey);
329
+ selection.push({
330
+ dbKey: selectedRelationTsKey,
331
+ tsKey: selectedRelationTsKey,
332
+ field,
333
+ relationTableTsKey: relationTableTsName,
334
+ isJson: true,
335
+ selection: builtRelation.selection
336
+ });
337
+ }
338
+ }
339
+ if (selection.length === 0) throw new DrizzleError({ message: `No fields selected for table "${tableConfig.tsName}" ("${tableAlias}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.` });
340
+ let result;
341
+ where = and(joinOn, where);
342
+ if (nestedQueryRelation) {
343
+ let field = sql`json_array(${sql.join(selection.map(({ field: field2 }) => is(field2, SQLiteColumn) ? sql.identifier(this.casing.getColumnCasing(field2)) : is(field2, SQL.Aliased) ? field2.sql : field2), sql`, `)})`;
344
+ if (is(nestedQueryRelation, Many)) field = sql`coalesce(json_group_array(${field}), json_array())`;
345
+ const nestedSelection = [{
346
+ dbKey: "data",
347
+ tsKey: "data",
348
+ field: field.as("data"),
349
+ isJson: true,
350
+ relationTableTsKey: tableConfig.tsName,
351
+ selection
352
+ }];
353
+ if (limit !== void 0 || offset !== void 0 || orderBy.length > 0) {
354
+ result = this.buildSelectQuery({
355
+ table: aliasedTable(table, tableAlias),
356
+ fields: {},
357
+ fieldsFlat: [{
358
+ path: [],
359
+ field: sql.raw("*")
360
+ }],
361
+ where,
362
+ limit,
363
+ offset,
364
+ orderBy,
365
+ setOperators: []
366
+ });
367
+ where = void 0;
368
+ limit = void 0;
369
+ offset = void 0;
370
+ orderBy = void 0;
371
+ } else result = aliasedTable(table, tableAlias);
372
+ result = this.buildSelectQuery({
373
+ table: is(result, SQLiteTable) ? result : new Subquery(result, {}, tableAlias),
374
+ fields: {},
375
+ fieldsFlat: nestedSelection.map(({ field: field2 }) => ({
376
+ path: [],
377
+ field: is(field2, Column) ? aliasedTableColumn(field2, tableAlias) : field2
378
+ })),
379
+ joins,
380
+ where,
381
+ limit,
382
+ offset,
383
+ orderBy,
384
+ setOperators: []
385
+ });
386
+ } else result = this.buildSelectQuery({
387
+ table: aliasedTable(table, tableAlias),
388
+ fields: {},
389
+ fieldsFlat: selection.map(({ field }) => ({
390
+ path: [],
391
+ field: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field
392
+ })),
393
+ joins,
394
+ where,
395
+ limit,
396
+ offset,
397
+ orderBy,
398
+ setOperators: []
399
+ });
400
+ return {
401
+ tableTsKey: tableConfig.tsName,
402
+ sql: result,
403
+ selection
404
+ };
405
+ }
406
+ };
407
+ var SQLiteSyncDialect = class extends SQLiteDialect {
408
+ static [entityKind] = "SQLiteSyncDialect";
409
+ migrate(migrations, session, config) {
410
+ const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
411
+ const migrationTableCreate = sql`
412
+ CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
413
+ id SERIAL PRIMARY KEY,
414
+ hash text NOT NULL,
415
+ created_at numeric
416
+ )
417
+ `;
418
+ session.run(migrationTableCreate);
419
+ const lastDbMigration = session.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`)[0] ?? void 0;
420
+ session.run(sql`BEGIN`);
421
+ try {
422
+ for (const migration of migrations) if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {
423
+ for (const stmt of migration.sql) session.run(sql.raw(stmt));
424
+ session.run(sql`INSERT INTO ${sql.identifier(migrationsTable)} ("hash", "created_at") VALUES(${migration.hash}, ${migration.folderMillis})`);
425
+ }
426
+ session.run(sql`COMMIT`);
427
+ } catch (e) {
428
+ session.run(sql`ROLLBACK`);
429
+ throw e;
430
+ }
431
+ }
432
+ };
433
+ var SQLiteAsyncDialect = class extends SQLiteDialect {
434
+ static [entityKind] = "SQLiteAsyncDialect";
435
+ async migrate(migrations, session, config) {
436
+ const migrationsTable = config === void 0 ? "__drizzle_migrations" : typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
437
+ const migrationTableCreate = sql`
438
+ CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
439
+ id SERIAL PRIMARY KEY,
440
+ hash text NOT NULL,
441
+ created_at numeric
442
+ )
443
+ `;
444
+ await session.run(migrationTableCreate);
445
+ const lastDbMigration = (await session.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`))[0] ?? void 0;
446
+ await session.transaction(async (tx) => {
447
+ for (const migration of migrations) if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {
448
+ for (const stmt of migration.sql) await tx.run(sql.raw(stmt));
449
+ await tx.run(sql`INSERT INTO ${sql.identifier(migrationsTable)} ("hash", "created_at") VALUES(${migration.hash}, ${migration.folderMillis})`);
450
+ }
451
+ });
452
+ }
453
+ };
454
+
455
+ //#endregion
456
+ export { SQLiteDialect, SQLiteSyncDialect };
457
+ //# sourceMappingURL=dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@types+better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js"],"sourcesContent":["import { aliasedTable, aliasedTableColumn, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias } from \"../alias.js\";\nimport { CasingCache } from \"../casing.js\";\nimport { Column } from \"../column.js\";\nimport { entityKind, is } from \"../entity.js\";\nimport { DrizzleError } from \"../errors.js\";\nimport {\n getOperators,\n getOrderByOperators,\n Many,\n normalizeRelation,\n One\n} from \"../relations.js\";\nimport { and, eq } from \"../sql/index.js\";\nimport { Param, SQL, sql } from \"../sql/sql.js\";\nimport { SQLiteColumn } from \"./columns/index.js\";\nimport { SQLiteTable } from \"./table.js\";\nimport { Subquery } from \"../subquery.js\";\nimport { getTableName, getTableUniqueName, Table } from \"../table.js\";\nimport { orderSelectedFields } from \"../utils.js\";\nimport { ViewBaseConfig } from \"../view-common.js\";\nimport { SQLiteViewBase } from \"./view-base.js\";\nclass SQLiteDialect {\n static [entityKind] = \"SQLiteDialect\";\n /** @internal */\n casing;\n constructor(config) {\n this.casing = new CasingCache(config?.casing);\n }\n escapeName(name) {\n return `\"${name}\"`;\n }\n escapeParam(_num) {\n return \"?\";\n }\n escapeString(str) {\n return `'${str.replace(/'/g, \"''\")}'`;\n }\n buildWithCTE(queries) {\n if (!queries?.length) return void 0;\n const withSqlChunks = [sql`with `];\n for (const [i, w] of queries.entries()) {\n withSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`);\n if (i < queries.length - 1) {\n withSqlChunks.push(sql`, `);\n }\n }\n withSqlChunks.push(sql` `);\n return sql.join(withSqlChunks);\n }\n buildDeleteQuery({ table, where, returning, withList, limit, orderBy }) {\n const withSql = this.buildWithCTE(withList);\n const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;\n const whereSql = where ? sql` where ${where}` : void 0;\n const orderBySql = this.buildOrderBy(orderBy);\n const limitSql = this.buildLimit(limit);\n return sql`${withSql}delete from ${table}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n }\n buildUpdateSet(table, set) {\n const tableColumns = table[Table.Symbol.Columns];\n const columnNames = Object.keys(tableColumns).filter(\n (colName) => set[colName] !== void 0 || tableColumns[colName]?.onUpdateFn !== void 0\n );\n const setSize = columnNames.length;\n return sql.join(columnNames.flatMap((colName, i) => {\n const col = tableColumns[colName];\n const value = set[colName] ?? sql.param(col.onUpdateFn(), col);\n const res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;\n if (i < setSize - 1) {\n return [res, sql.raw(\", \")];\n }\n return [res];\n }));\n }\n buildUpdateQuery({ table, set, where, returning, withList, joins, from, limit, orderBy }) {\n const withSql = this.buildWithCTE(withList);\n const setSql = this.buildUpdateSet(table, set);\n const fromSql = from && sql.join([sql.raw(\" from \"), this.buildFromTable(from)]);\n const joinsSql = this.buildJoins(joins);\n const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;\n const whereSql = where ? sql` where ${where}` : void 0;\n const orderBySql = this.buildOrderBy(orderBy);\n const limitSql = this.buildLimit(limit);\n return sql`${withSql}update ${table} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n }\n /**\n * Builds selection SQL with provided fields/expressions\n *\n * Examples:\n *\n * `select <selection> from`\n *\n * `insert ... returning <selection>`\n *\n * If `isSingleTable` is true, then columns won't be prefixed with table name\n */\n buildSelection(fields, { isSingleTable = false } = {}) {\n const columnsLen = fields.length;\n const chunks = fields.flatMap(({ field }, i) => {\n const chunk = [];\n if (is(field, SQL.Aliased) && field.isSelectionField) {\n chunk.push(sql.identifier(field.fieldAlias));\n } else if (is(field, SQL.Aliased) || is(field, SQL)) {\n const query = is(field, SQL.Aliased) ? field.sql : field;\n if (isSingleTable) {\n chunk.push(\n new SQL(\n query.queryChunks.map((c) => {\n if (is(c, Column)) {\n return sql.identifier(this.casing.getColumnCasing(c));\n }\n return c;\n })\n )\n );\n } else {\n chunk.push(query);\n }\n if (is(field, SQL.Aliased)) {\n chunk.push(sql` as ${sql.identifier(field.fieldAlias)}`);\n }\n } else if (is(field, Column)) {\n const tableName = field.table[Table.Symbol.Name];\n if (field.columnType === \"SQLiteNumericBigInt\") {\n if (isSingleTable) {\n chunk.push(sql`cast(${sql.identifier(this.casing.getColumnCasing(field))} as text)`);\n } else {\n chunk.push(\n sql`cast(${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))} as text)`\n );\n }\n } else {\n if (isSingleTable) {\n chunk.push(sql.identifier(this.casing.getColumnCasing(field)));\n } else {\n chunk.push(sql`${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))}`);\n }\n }\n }\n if (i < columnsLen - 1) {\n chunk.push(sql`, `);\n }\n return chunk;\n });\n return sql.join(chunks);\n }\n buildJoins(joins) {\n if (!joins || joins.length === 0) {\n return void 0;\n }\n const joinsArray = [];\n if (joins) {\n for (const [index, joinMeta] of joins.entries()) {\n if (index === 0) {\n joinsArray.push(sql` `);\n }\n const table = joinMeta.table;\n const onSql = joinMeta.on ? sql` on ${joinMeta.on}` : void 0;\n if (is(table, SQLiteTable)) {\n const tableName = table[SQLiteTable.Symbol.Name];\n const tableSchema = table[SQLiteTable.Symbol.Schema];\n const origTableName = table[SQLiteTable.Symbol.OriginalName];\n const alias = tableName === origTableName ? void 0 : joinMeta.alias;\n joinsArray.push(\n sql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : void 0}${sql.identifier(origTableName)}${alias && sql` ${sql.identifier(alias)}`}${onSql}`\n );\n } else {\n joinsArray.push(\n sql`${sql.raw(joinMeta.joinType)} join ${table}${onSql}`\n );\n }\n if (index < joins.length - 1) {\n joinsArray.push(sql` `);\n }\n }\n }\n return sql.join(joinsArray);\n }\n buildLimit(limit) {\n return typeof limit === \"object\" || typeof limit === \"number\" && limit >= 0 ? sql` limit ${limit}` : void 0;\n }\n buildOrderBy(orderBy) {\n const orderByList = [];\n if (orderBy) {\n for (const [index, orderByValue] of orderBy.entries()) {\n orderByList.push(orderByValue);\n if (index < orderBy.length - 1) {\n orderByList.push(sql`, `);\n }\n }\n }\n return orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : void 0;\n }\n buildFromTable(table) {\n if (is(table, Table) && table[Table.Symbol.IsAlias]) {\n return sql`${sql`${sql.identifier(table[Table.Symbol.Schema] ?? \"\")}.`.if(table[Table.Symbol.Schema])}${sql.identifier(table[Table.Symbol.OriginalName])} ${sql.identifier(table[Table.Symbol.Name])}`;\n }\n return table;\n }\n buildSelectQuery({\n withList,\n fields,\n fieldsFlat,\n where,\n having,\n table,\n joins,\n orderBy,\n groupBy,\n limit,\n offset,\n distinct,\n setOperators\n }) {\n const fieldsList = fieldsFlat ?? orderSelectedFields(fields);\n for (const f of fieldsList) {\n if (is(f.field, Column) && getTableName(f.field.table) !== (is(table, Subquery) ? table._.alias : is(table, SQLiteViewBase) ? table[ViewBaseConfig].name : is(table, SQL) ? void 0 : getTableName(table)) && !((table2) => joins?.some(\n ({ alias }) => alias === (table2[Table.Symbol.IsAlias] ? getTableName(table2) : table2[Table.Symbol.BaseName])\n ))(f.field.table)) {\n const tableName = getTableName(f.field.table);\n throw new Error(\n `Your \"${f.path.join(\"->\")}\" field references a column \"${tableName}\".\"${f.field.name}\", but the table \"${tableName}\" is not part of the query! Did you forget to join it?`\n );\n }\n }\n const isSingleTable = !joins || joins.length === 0;\n const withSql = this.buildWithCTE(withList);\n const distinctSql = distinct ? sql` distinct` : void 0;\n const selection = this.buildSelection(fieldsList, { isSingleTable });\n const tableSql = this.buildFromTable(table);\n const joinsSql = this.buildJoins(joins);\n const whereSql = where ? sql` where ${where}` : void 0;\n const havingSql = having ? sql` having ${having}` : void 0;\n const groupByList = [];\n if (groupBy) {\n for (const [index, groupByValue] of groupBy.entries()) {\n groupByList.push(groupByValue);\n if (index < groupBy.length - 1) {\n groupByList.push(sql`, `);\n }\n }\n }\n const groupBySql = groupByList.length > 0 ? sql` group by ${sql.join(groupByList)}` : void 0;\n const orderBySql = this.buildOrderBy(orderBy);\n const limitSql = this.buildLimit(limit);\n const offsetSql = offset ? sql` offset ${offset}` : void 0;\n const finalQuery = sql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${limitSql}${offsetSql}`;\n if (setOperators.length > 0) {\n return this.buildSetOperations(finalQuery, setOperators);\n }\n return finalQuery;\n }\n buildSetOperations(leftSelect, setOperators) {\n const [setOperator, ...rest] = setOperators;\n if (!setOperator) {\n throw new Error(\"Cannot pass undefined values to any set operator\");\n }\n if (rest.length === 0) {\n return this.buildSetOperationQuery({ leftSelect, setOperator });\n }\n return this.buildSetOperations(\n this.buildSetOperationQuery({ leftSelect, setOperator }),\n rest\n );\n }\n buildSetOperationQuery({\n leftSelect,\n setOperator: { type, isAll, rightSelect, limit, orderBy, offset }\n }) {\n const leftChunk = sql`${leftSelect.getSQL()} `;\n const rightChunk = sql`${rightSelect.getSQL()}`;\n let orderBySql;\n if (orderBy && orderBy.length > 0) {\n const orderByValues = [];\n for (const singleOrderBy of orderBy) {\n if (is(singleOrderBy, SQLiteColumn)) {\n orderByValues.push(sql.identifier(singleOrderBy.name));\n } else if (is(singleOrderBy, SQL)) {\n for (let i = 0; i < singleOrderBy.queryChunks.length; i++) {\n const chunk = singleOrderBy.queryChunks[i];\n if (is(chunk, SQLiteColumn)) {\n singleOrderBy.queryChunks[i] = sql.identifier(this.casing.getColumnCasing(chunk));\n }\n }\n orderByValues.push(sql`${singleOrderBy}`);\n } else {\n orderByValues.push(sql`${singleOrderBy}`);\n }\n }\n orderBySql = sql` order by ${sql.join(orderByValues, sql`, `)}`;\n }\n const limitSql = typeof limit === \"object\" || typeof limit === \"number\" && limit >= 0 ? sql` limit ${limit}` : void 0;\n const operatorChunk = sql.raw(`${type} ${isAll ? \"all \" : \"\"}`);\n const offsetSql = offset ? sql` offset ${offset}` : void 0;\n return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;\n }\n buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select }) {\n const valuesSqlList = [];\n const columns = table[Table.Symbol.Columns];\n const colEntries = Object.entries(columns).filter(\n ([_, col]) => !col.shouldDisableInsert()\n );\n const insertOrder = colEntries.map(([, column]) => sql.identifier(this.casing.getColumnCasing(column)));\n if (select) {\n const select2 = valuesOrSelect;\n if (is(select2, SQL)) {\n valuesSqlList.push(select2);\n } else {\n valuesSqlList.push(select2.getSQL());\n }\n } else {\n const values = valuesOrSelect;\n valuesSqlList.push(sql.raw(\"values \"));\n for (const [valueIndex, value] of values.entries()) {\n const valueList = [];\n for (const [fieldName, col] of colEntries) {\n const colValue = value[fieldName];\n if (colValue === void 0 || is(colValue, Param) && colValue.value === void 0) {\n let defaultValue;\n if (col.default !== null && col.default !== void 0) {\n defaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);\n } else if (col.defaultFn !== void 0) {\n const defaultFnResult = col.defaultFn();\n defaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);\n } else if (!col.default && col.onUpdateFn !== void 0) {\n const onUpdateFnResult = col.onUpdateFn();\n defaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);\n } else {\n defaultValue = sql`null`;\n }\n valueList.push(defaultValue);\n } else {\n valueList.push(colValue);\n }\n }\n valuesSqlList.push(valueList);\n if (valueIndex < values.length - 1) {\n valuesSqlList.push(sql`, `);\n }\n }\n }\n const withSql = this.buildWithCTE(withList);\n const valuesSql = sql.join(valuesSqlList);\n const returningSql = returning ? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}` : void 0;\n const onConflictSql = onConflict?.length ? sql.join(onConflict) : void 0;\n return sql`${withSql}insert into ${table} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;\n }\n sqlToQuery(sql2, invokeSource) {\n return sql2.toQuery({\n casing: this.casing,\n escapeName: this.escapeName,\n escapeParam: this.escapeParam,\n escapeString: this.escapeString,\n invokeSource\n });\n }\n buildRelationalQuery({\n fullSchema,\n schema,\n tableNamesMap,\n table,\n tableConfig,\n queryConfig: config,\n tableAlias,\n nestedQueryRelation,\n joinOn\n }) {\n let selection = [];\n let limit, offset, orderBy = [], where;\n const joins = [];\n if (config === true) {\n const selectionEntries = Object.entries(tableConfig.columns);\n selection = selectionEntries.map(([key, value]) => ({\n dbKey: value.name,\n tsKey: key,\n field: aliasedTableColumn(value, tableAlias),\n relationTableTsKey: void 0,\n isJson: false,\n selection: []\n }));\n } else {\n const aliasedColumns = Object.fromEntries(\n Object.entries(tableConfig.columns).map(([key, value]) => [key, aliasedTableColumn(value, tableAlias)])\n );\n if (config.where) {\n const whereSql = typeof config.where === \"function\" ? config.where(aliasedColumns, getOperators()) : config.where;\n where = whereSql && mapColumnsInSQLToAlias(whereSql, tableAlias);\n }\n const fieldsSelection = [];\n let selectedColumns = [];\n if (config.columns) {\n let isIncludeMode = false;\n for (const [field, value] of Object.entries(config.columns)) {\n if (value === void 0) {\n continue;\n }\n if (field in tableConfig.columns) {\n if (!isIncludeMode && value === true) {\n isIncludeMode = true;\n }\n selectedColumns.push(field);\n }\n }\n if (selectedColumns.length > 0) {\n selectedColumns = isIncludeMode ? selectedColumns.filter((c) => config.columns?.[c] === true) : Object.keys(tableConfig.columns).filter((key) => !selectedColumns.includes(key));\n }\n } else {\n selectedColumns = Object.keys(tableConfig.columns);\n }\n for (const field of selectedColumns) {\n const column = tableConfig.columns[field];\n fieldsSelection.push({ tsKey: field, value: column });\n }\n let selectedRelations = [];\n if (config.with) {\n selectedRelations = Object.entries(config.with).filter((entry) => !!entry[1]).map(([tsKey, queryConfig]) => ({ tsKey, queryConfig, relation: tableConfig.relations[tsKey] }));\n }\n let extras;\n if (config.extras) {\n extras = typeof config.extras === \"function\" ? config.extras(aliasedColumns, { sql }) : config.extras;\n for (const [tsKey, value] of Object.entries(extras)) {\n fieldsSelection.push({\n tsKey,\n value: mapColumnsInAliasedSQLToAlias(value, tableAlias)\n });\n }\n }\n for (const { tsKey, value } of fieldsSelection) {\n selection.push({\n dbKey: is(value, SQL.Aliased) ? value.fieldAlias : tableConfig.columns[tsKey].name,\n tsKey,\n field: is(value, Column) ? aliasedTableColumn(value, tableAlias) : value,\n relationTableTsKey: void 0,\n isJson: false,\n selection: []\n });\n }\n let orderByOrig = typeof config.orderBy === \"function\" ? config.orderBy(aliasedColumns, getOrderByOperators()) : config.orderBy ?? [];\n if (!Array.isArray(orderByOrig)) {\n orderByOrig = [orderByOrig];\n }\n orderBy = orderByOrig.map((orderByValue) => {\n if (is(orderByValue, Column)) {\n return aliasedTableColumn(orderByValue, tableAlias);\n }\n return mapColumnsInSQLToAlias(orderByValue, tableAlias);\n });\n limit = config.limit;\n offset = config.offset;\n for (const {\n tsKey: selectedRelationTsKey,\n queryConfig: selectedRelationConfigValue,\n relation\n } of selectedRelations) {\n const normalizedRelation = normalizeRelation(schema, tableNamesMap, relation);\n const relationTableName = getTableUniqueName(relation.referencedTable);\n const relationTableTsName = tableNamesMap[relationTableName];\n const relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;\n const joinOn2 = and(\n ...normalizedRelation.fields.map(\n (field2, i) => eq(\n aliasedTableColumn(normalizedRelation.references[i], relationTableAlias),\n aliasedTableColumn(field2, tableAlias)\n )\n )\n );\n const builtRelation = this.buildRelationalQuery({\n fullSchema,\n schema,\n tableNamesMap,\n table: fullSchema[relationTableTsName],\n tableConfig: schema[relationTableTsName],\n queryConfig: is(relation, One) ? selectedRelationConfigValue === true ? { limit: 1 } : { ...selectedRelationConfigValue, limit: 1 } : selectedRelationConfigValue,\n tableAlias: relationTableAlias,\n joinOn: joinOn2,\n nestedQueryRelation: relation\n });\n const field = sql`(${builtRelation.sql})`.as(selectedRelationTsKey);\n selection.push({\n dbKey: selectedRelationTsKey,\n tsKey: selectedRelationTsKey,\n field,\n relationTableTsKey: relationTableTsName,\n isJson: true,\n selection: builtRelation.selection\n });\n }\n }\n if (selection.length === 0) {\n throw new DrizzleError({\n message: `No fields selected for table \"${tableConfig.tsName}\" (\"${tableAlias}\"). You need to have at least one item in \"columns\", \"with\" or \"extras\". If you need to select all columns, omit the \"columns\" key or set it to undefined.`\n });\n }\n let result;\n where = and(joinOn, where);\n if (nestedQueryRelation) {\n let field = sql`json_array(${sql.join(\n selection.map(\n ({ field: field2 }) => is(field2, SQLiteColumn) ? sql.identifier(this.casing.getColumnCasing(field2)) : is(field2, SQL.Aliased) ? field2.sql : field2\n ),\n sql`, `\n )})`;\n if (is(nestedQueryRelation, Many)) {\n field = sql`coalesce(json_group_array(${field}), json_array())`;\n }\n const nestedSelection = [{\n dbKey: \"data\",\n tsKey: \"data\",\n field: field.as(\"data\"),\n isJson: true,\n relationTableTsKey: tableConfig.tsName,\n selection\n }];\n const needsSubquery = limit !== void 0 || offset !== void 0 || orderBy.length > 0;\n if (needsSubquery) {\n result = this.buildSelectQuery({\n table: aliasedTable(table, tableAlias),\n fields: {},\n fieldsFlat: [\n {\n path: [],\n field: sql.raw(\"*\")\n }\n ],\n where,\n limit,\n offset,\n orderBy,\n setOperators: []\n });\n where = void 0;\n limit = void 0;\n offset = void 0;\n orderBy = void 0;\n } else {\n result = aliasedTable(table, tableAlias);\n }\n result = this.buildSelectQuery({\n table: is(result, SQLiteTable) ? result : new Subquery(result, {}, tableAlias),\n fields: {},\n fieldsFlat: nestedSelection.map(({ field: field2 }) => ({\n path: [],\n field: is(field2, Column) ? aliasedTableColumn(field2, tableAlias) : field2\n })),\n joins,\n where,\n limit,\n offset,\n orderBy,\n setOperators: []\n });\n } else {\n result = this.buildSelectQuery({\n table: aliasedTable(table, tableAlias),\n fields: {},\n fieldsFlat: selection.map(({ field }) => ({\n path: [],\n field: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field\n })),\n joins,\n where,\n limit,\n offset,\n orderBy,\n setOperators: []\n });\n }\n return {\n tableTsKey: tableConfig.tsName,\n sql: result,\n selection\n };\n }\n}\nclass SQLiteSyncDialect extends SQLiteDialect {\n static [entityKind] = \"SQLiteSyncDialect\";\n migrate(migrations, session, config) {\n const migrationsTable = config === void 0 ? \"__drizzle_migrations\" : typeof config === \"string\" ? \"__drizzle_migrations\" : config.migrationsTable ?? \"__drizzle_migrations\";\n const migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n session.run(migrationTableCreate);\n const dbMigrations = session.values(\n sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`\n );\n const lastDbMigration = dbMigrations[0] ?? void 0;\n session.run(sql`BEGIN`);\n try {\n for (const migration of migrations) {\n if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {\n for (const stmt of migration.sql) {\n session.run(sql.raw(stmt));\n }\n session.run(\n sql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`\n );\n }\n }\n session.run(sql`COMMIT`);\n } catch (e) {\n session.run(sql`ROLLBACK`);\n throw e;\n }\n }\n}\nclass SQLiteAsyncDialect extends SQLiteDialect {\n static [entityKind] = \"SQLiteAsyncDialect\";\n async migrate(migrations, session, config) {\n const migrationsTable = config === void 0 ? \"__drizzle_migrations\" : typeof config === \"string\" ? \"__drizzle_migrations\" : config.migrationsTable ?? \"__drizzle_migrations\";\n const migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n await session.run(migrationTableCreate);\n const dbMigrations = await session.values(\n sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`\n );\n const lastDbMigration = dbMigrations[0] ?? void 0;\n await session.transaction(async (tx) => {\n for (const migration of migrations) {\n if (!lastDbMigration || Number(lastDbMigration[2]) < migration.folderMillis) {\n for (const stmt of migration.sql) {\n await tx.run(sql.raw(stmt));\n }\n await tx.run(\n sql`INSERT INTO ${sql.identifier(migrationsTable)} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`\n );\n }\n }\n });\n }\n}\nexport {\n SQLiteAsyncDialect,\n SQLiteDialect,\n SQLiteSyncDialect\n};\n//# sourceMappingURL=dialect.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;AAqBA,IAAM,gBAAN,MAAoB;CAClB,QAAQ,cAAc;;CAEtB;CACA,YAAY,QAAQ;AAClB,OAAK,SAAS,IAAI,YAAY,QAAQ,OAAO;;CAE/C,WAAW,MAAM;AACf,SAAO,IAAI,KAAK;;CAElB,YAAY,MAAM;AAChB,SAAO;;CAET,aAAa,KAAK;AAChB,SAAO,IAAI,IAAI,QAAQ,MAAM,KAAK,CAAC;;CAErC,aAAa,SAAS;AACpB,MAAI,CAAC,SAAS,OAAQ,QAAO,KAAK;EAClC,MAAM,gBAAgB,CAAC,GAAG,QAAQ;AAClC,OAAK,MAAM,CAAC,GAAG,MAAM,QAAQ,SAAS,EAAE;AACtC,iBAAc,KAAK,GAAG,GAAG,IAAI,WAAW,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,GAAG;AACrE,OAAI,IAAI,QAAQ,SAAS,EACvB,eAAc,KAAK,GAAG,KAAK;;AAG/B,gBAAc,KAAK,GAAG,IAAI;AAC1B,SAAO,IAAI,KAAK,cAAc;;CAEhC,iBAAiB,EAAE,OAAO,OAAO,WAAW,UAAU,OAAO,WAAW;EACtE,MAAM,UAAU,KAAK,aAAa,SAAS;EAC3C,MAAM,eAAe,YAAY,GAAG,cAAc,KAAK,eAAe,WAAW,EAAE,eAAe,MAAM,CAAC,KAAK,KAAK;AAInH,SAAO,GAAG,GAAG,QAAQ,cAAc,QAHlB,QAAQ,GAAG,UAAU,UAAU,KAAK,IAGC,eAFnC,KAAK,aAAa,QAAQ,GAC5B,KAAK,WAAW,MAAM;;CAGzC,eAAe,OAAO,KAAK;EACzB,MAAM,eAAe,MAAM,MAAM,OAAO;EACxC,MAAM,cAAc,OAAO,KAAK,aAAa,CAAC,QAC3C,YAAY,IAAI,aAAa,KAAK,KAAK,aAAa,UAAU,eAAe,KAAK,EACpF;EACD,MAAM,UAAU,YAAY;AAC5B,SAAO,IAAI,KAAK,YAAY,SAAS,SAAS,MAAM;GAClD,MAAM,MAAM,aAAa;GACzB,MAAM,QAAQ,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,EAAE,IAAI;GAC9D,MAAM,MAAM,GAAG,GAAG,IAAI,WAAW,KAAK,OAAO,gBAAgB,IAAI,CAAC,CAAC,KAAK;AACxE,OAAI,IAAI,UAAU,EAChB,QAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC;AAE7B,UAAO,CAAC,IAAI;IACZ,CAAC;;CAEL,iBAAiB,EAAE,OAAO,KAAK,OAAO,WAAW,UAAU,OAAO,MAAM,OAAO,WAAW;EACxF,MAAM,UAAU,KAAK,aAAa,SAAS;EAC3C,MAAM,SAAS,KAAK,eAAe,OAAO,IAAI;EAC9C,MAAM,UAAU,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,KAAK,eAAe,KAAK,CAAC,CAAC;EAChF,MAAM,WAAW,KAAK,WAAW,MAAM;EACvC,MAAM,eAAe,YAAY,GAAG,cAAc,KAAK,eAAe,WAAW,EAAE,eAAe,MAAM,CAAC,KAAK,KAAK;AAInH,SAAO,GAAG,GAAG,QAAQ,SAAS,MAAM,OAAO,SAAS,UAAU,WAH7C,QAAQ,GAAG,UAAU,UAAU,KAAK,IAG+B,eAFjE,KAAK,aAAa,QAAQ,GAC5B,KAAK,WAAW,MAAM;;;;;;;;;;;;;CAczC,eAAe,QAAQ,EAAE,gBAAgB,UAAU,EAAE,EAAE;EACrD,MAAM,aAAa,OAAO;EAC1B,MAAM,SAAS,OAAO,SAAS,EAAE,SAAS,MAAM;GAC9C,MAAM,QAAQ,EAAE;AAChB,OAAI,GAAG,OAAO,IAAI,QAAQ,IAAI,MAAM,iBAClC,OAAM,KAAK,IAAI,WAAW,MAAM,WAAW,CAAC;YACnC,GAAG,OAAO,IAAI,QAAQ,IAAI,GAAG,OAAO,IAAI,EAAE;IACnD,MAAM,QAAQ,GAAG,OAAO,IAAI,QAAQ,GAAG,MAAM,MAAM;AACnD,QAAI,cACF,OAAM,KACJ,IAAI,IACF,MAAM,YAAY,KAAK,MAAM;AAC3B,SAAI,GAAG,GAAG,OAAO,CACf,QAAO,IAAI,WAAW,KAAK,OAAO,gBAAgB,EAAE,CAAC;AAEvD,YAAO;MACP,CACH,CACF;QAED,OAAM,KAAK,MAAM;AAEnB,QAAI,GAAG,OAAO,IAAI,QAAQ,CACxB,OAAM,KAAK,GAAG,OAAO,IAAI,WAAW,MAAM,WAAW,GAAG;cAEjD,GAAG,OAAO,OAAO,EAAE;IAC5B,MAAM,YAAY,MAAM,MAAM,MAAM,OAAO;AAC3C,QAAI,MAAM,eAAe,sBACvB,KAAI,cACF,OAAM,KAAK,GAAG,QAAQ,IAAI,WAAW,KAAK,OAAO,gBAAgB,MAAM,CAAC,CAAC,WAAW;QAEpF,OAAM,KACJ,GAAG,QAAQ,IAAI,WAAW,UAAU,CAAC,GAAG,IAAI,WAAW,KAAK,OAAO,gBAAgB,MAAM,CAAC,CAAC,WAC5F;aAGC,cACF,OAAM,KAAK,IAAI,WAAW,KAAK,OAAO,gBAAgB,MAAM,CAAC,CAAC;QAE9D,OAAM,KAAK,GAAG,GAAG,IAAI,WAAW,UAAU,CAAC,GAAG,IAAI,WAAW,KAAK,OAAO,gBAAgB,MAAM,CAAC,GAAG;;AAIzG,OAAI,IAAI,aAAa,EACnB,OAAM,KAAK,GAAG,KAAK;AAErB,UAAO;IACP;AACF,SAAO,IAAI,KAAK,OAAO;;CAEzB,WAAW,OAAO;AAChB,MAAI,CAAC,SAAS,MAAM,WAAW,EAC7B;EAEF,MAAM,aAAa,EAAE;AACrB,MAAI,MACF,MAAK,MAAM,CAAC,OAAO,aAAa,MAAM,SAAS,EAAE;AAC/C,OAAI,UAAU,EACZ,YAAW,KAAK,GAAG,IAAI;GAEzB,MAAM,QAAQ,SAAS;GACvB,MAAM,QAAQ,SAAS,KAAK,GAAG,OAAO,SAAS,OAAO,KAAK;AAC3D,OAAI,GAAG,OAAO,YAAY,EAAE;IAC1B,MAAM,YAAY,MAAM,YAAY,OAAO;IAC3C,MAAM,cAAc,MAAM,YAAY,OAAO;IAC7C,MAAM,gBAAgB,MAAM,YAAY,OAAO;IAC/C,MAAM,QAAQ,cAAc,gBAAgB,KAAK,IAAI,SAAS;AAC9D,eAAW,KACT,GAAG,GAAG,IAAI,IAAI,SAAS,SAAS,CAAC,QAAQ,cAAc,GAAG,GAAG,IAAI,WAAW,YAAY,CAAC,KAAK,KAAK,IAAI,IAAI,WAAW,cAAc,GAAG,SAAS,GAAG,IAAI,IAAI,WAAW,MAAM,KAAK,QAClL;SAED,YAAW,KACT,GAAG,GAAG,IAAI,IAAI,SAAS,SAAS,CAAC,QAAQ,QAAQ,QAClD;AAEH,OAAI,QAAQ,MAAM,SAAS,EACzB,YAAW,KAAK,GAAG,IAAI;;AAI7B,SAAO,IAAI,KAAK,WAAW;;CAE7B,WAAW,OAAO;AAChB,SAAO,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,SAAS,IAAI,GAAG,UAAU,UAAU,KAAK;;CAE5G,aAAa,SAAS;EACpB,MAAM,cAAc,EAAE;AACtB,MAAI,QACF,MAAK,MAAM,CAAC,OAAO,iBAAiB,QAAQ,SAAS,EAAE;AACrD,eAAY,KAAK,aAAa;AAC9B,OAAI,QAAQ,QAAQ,SAAS,EAC3B,aAAY,KAAK,GAAG,KAAK;;AAI/B,SAAO,YAAY,SAAS,IAAI,GAAG,aAAa,IAAI,KAAK,YAAY,KAAK,KAAK;;CAEjF,eAAe,OAAO;AACpB,MAAI,GAAG,OAAO,MAAM,IAAI,MAAM,MAAM,OAAO,SACzC,QAAO,GAAG,GAAG,GAAG,GAAG,IAAI,WAAW,MAAM,MAAM,OAAO,WAAW,GAAG,CAAC,GAAG,GAAG,MAAM,MAAM,OAAO,QAAQ,GAAG,IAAI,WAAW,MAAM,MAAM,OAAO,cAAc,CAAC,GAAG,IAAI,WAAW,MAAM,MAAM,OAAO,MAAM;AAEtM,SAAO;;CAET,iBAAiB,EACf,UACA,QACA,YACA,OACA,QACA,OACA,OACA,SACA,SACA,OACA,QACA,UACA,gBACC;EACD,MAAM,aAAa,cAAc,oBAAoB,OAAO;AAC5D,OAAK,MAAM,KAAK,WACd,KAAI,GAAG,EAAE,OAAO,OAAO,IAAI,aAAa,EAAE,MAAM,MAAM,MAAM,GAAG,OAAO,SAAS,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO,eAAe,GAAG,MAAM,gBAAgB,OAAO,GAAG,OAAO,IAAI,GAAG,KAAK,IAAI,aAAa,MAAM,KAAK,GAAG,WAAW,OAAO,MAC/N,EAAE,YAAY,WAAW,OAAO,MAAM,OAAO,WAAW,aAAa,OAAO,GAAG,OAAO,MAAM,OAAO,WACrG,EAAE,EAAE,MAAM,MAAM,EAAE;GACjB,MAAM,YAAY,aAAa,EAAE,MAAM,MAAM;AAC7C,SAAM,IAAI,MACR,SAAS,EAAE,KAAK,KAAK,KAAK,CAAC,+BAA+B,UAAU,KAAK,EAAE,MAAM,KAAK,oBAAoB,UAAU,wDACrH;;EAGL,MAAM,gBAAgB,CAAC,SAAS,MAAM,WAAW;EACjD,MAAM,UAAU,KAAK,aAAa,SAAS;EAC3C,MAAM,cAAc,WAAW,GAAG,cAAc,KAAK;EACrD,MAAM,YAAY,KAAK,eAAe,YAAY,EAAE,eAAe,CAAC;EACpE,MAAM,WAAW,KAAK,eAAe,MAAM;EAC3C,MAAM,WAAW,KAAK,WAAW,MAAM;EACvC,MAAM,WAAW,QAAQ,GAAG,UAAU,UAAU,KAAK;EACrD,MAAM,YAAY,SAAS,GAAG,WAAW,WAAW,KAAK;EACzD,MAAM,cAAc,EAAE;AACtB,MAAI,QACF,MAAK,MAAM,CAAC,OAAO,iBAAiB,QAAQ,SAAS,EAAE;AACrD,eAAY,KAAK,aAAa;AAC9B,OAAI,QAAQ,QAAQ,SAAS,EAC3B,aAAY,KAAK,GAAG,KAAK;;EAQ/B,MAAM,aAAa,GAAG,GAAG,QAAQ,QAAQ,YAAY,GAAG,UAAU,QAAQ,WAAW,WAAW,WAJ7E,YAAY,SAAS,IAAI,GAAG,aAAa,IAAI,KAAK,YAAY,KAAK,KAAK,IAI6B,YAHrG,KAAK,aAAa,QAAQ,GAC5B,KAAK,WAAW,MAAM,GACrB,SAAS,GAAG,WAAW,WAAW,KAAK;AAEzD,MAAI,aAAa,SAAS,EACxB,QAAO,KAAK,mBAAmB,YAAY,aAAa;AAE1D,SAAO;;CAET,mBAAmB,YAAY,cAAc;EAC3C,MAAM,CAAC,aAAa,GAAG,QAAQ;AAC/B,MAAI,CAAC,YACH,OAAM,IAAI,MAAM,mDAAmD;AAErE,MAAI,KAAK,WAAW,EAClB,QAAO,KAAK,uBAAuB;GAAE;GAAY;GAAa,CAAC;AAEjE,SAAO,KAAK,mBACV,KAAK,uBAAuB;GAAE;GAAY;GAAa,CAAC,EACxD,KACD;;CAEH,uBAAuB,EACrB,YACA,aAAa,EAAE,MAAM,OAAO,aAAa,OAAO,SAAS,YACxD;EACD,MAAM,YAAY,GAAG,GAAG,WAAW,QAAQ,CAAC;EAC5C,MAAM,aAAa,GAAG,GAAG,YAAY,QAAQ;EAC7C,IAAI;AACJ,MAAI,WAAW,QAAQ,SAAS,GAAG;GACjC,MAAM,gBAAgB,EAAE;AACxB,QAAK,MAAM,iBAAiB,QAC1B,KAAI,GAAG,eAAe,aAAa,CACjC,eAAc,KAAK,IAAI,WAAW,cAAc,KAAK,CAAC;YAC7C,GAAG,eAAe,IAAI,EAAE;AACjC,SAAK,IAAI,IAAI,GAAG,IAAI,cAAc,YAAY,QAAQ,KAAK;KACzD,MAAM,QAAQ,cAAc,YAAY;AACxC,SAAI,GAAG,OAAO,aAAa,CACzB,eAAc,YAAY,KAAK,IAAI,WAAW,KAAK,OAAO,gBAAgB,MAAM,CAAC;;AAGrF,kBAAc,KAAK,GAAG,GAAG,gBAAgB;SAEzC,eAAc,KAAK,GAAG,GAAG,gBAAgB;AAG7C,gBAAa,GAAG,aAAa,IAAI,KAAK,eAAe,GAAG,KAAK;;EAE/D,MAAM,WAAW,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,SAAS,IAAI,GAAG,UAAU,UAAU,KAAK;EACpH,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,GAAG,QAAQ,SAAS,KAAK;EAC/D,MAAM,YAAY,SAAS,GAAG,WAAW,WAAW,KAAK;AACzD,SAAO,GAAG,GAAG,YAAY,gBAAgB,aAAa,aAAa,WAAW;;CAEhF,iBAAiB,EAAE,OAAO,QAAQ,gBAAgB,YAAY,WAAW,UAAU,UAAU;EAC3F,MAAM,gBAAgB,EAAE;EACxB,MAAM,UAAU,MAAM,MAAM,OAAO;EACnC,MAAM,aAAa,OAAO,QAAQ,QAAQ,CAAC,QACxC,CAAC,GAAG,SAAS,CAAC,IAAI,qBAAqB,CACzC;EACD,MAAM,cAAc,WAAW,KAAK,GAAG,YAAY,IAAI,WAAW,KAAK,OAAO,gBAAgB,OAAO,CAAC,CAAC;AACvG,MAAI,QAAQ;GACV,MAAM,UAAU;AAChB,OAAI,GAAG,SAAS,IAAI,CAClB,eAAc,KAAK,QAAQ;OAE3B,eAAc,KAAK,QAAQ,QAAQ,CAAC;SAEjC;GACL,MAAM,SAAS;AACf,iBAAc,KAAK,IAAI,IAAI,UAAU,CAAC;AACtC,QAAK,MAAM,CAAC,YAAY,UAAU,OAAO,SAAS,EAAE;IAClD,MAAM,YAAY,EAAE;AACpB,SAAK,MAAM,CAAC,WAAW,QAAQ,YAAY;KACzC,MAAM,WAAW,MAAM;AACvB,SAAI,aAAa,KAAK,KAAK,GAAG,UAAU,MAAM,IAAI,SAAS,UAAU,KAAK,GAAG;MAC3E,IAAI;AACJ,UAAI,IAAI,YAAY,QAAQ,IAAI,YAAY,KAAK,EAC/C,gBAAe,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,UAAU,IAAI,MAAM,IAAI,SAAS,IAAI;eACtE,IAAI,cAAc,KAAK,GAAG;OACnC,MAAM,kBAAkB,IAAI,WAAW;AACvC,sBAAe,GAAG,iBAAiB,IAAI,GAAG,kBAAkB,IAAI,MAAM,iBAAiB,IAAI;iBAClF,CAAC,IAAI,WAAW,IAAI,eAAe,KAAK,GAAG;OACpD,MAAM,mBAAmB,IAAI,YAAY;AACzC,sBAAe,GAAG,kBAAkB,IAAI,GAAG,mBAAmB,IAAI,MAAM,kBAAkB,IAAI;YAE9F,gBAAe,GAAG;AAEpB,gBAAU,KAAK,aAAa;WAE5B,WAAU,KAAK,SAAS;;AAG5B,kBAAc,KAAK,UAAU;AAC7B,QAAI,aAAa,OAAO,SAAS,EAC/B,eAAc,KAAK,GAAG,KAAK;;;EAIjC,MAAM,UAAU,KAAK,aAAa,SAAS;EAC3C,MAAM,YAAY,IAAI,KAAK,cAAc;EACzC,MAAM,eAAe,YAAY,GAAG,cAAc,KAAK,eAAe,WAAW,EAAE,eAAe,MAAM,CAAC,KAAK,KAAK;AAEnH,SAAO,GAAG,GAAG,QAAQ,cAAc,MAAM,GAAG,YAAY,GAAG,YADrC,YAAY,SAAS,IAAI,KAAK,WAAW,GAAG,KAAK,IACgB;;CAEzF,WAAW,MAAM,cAAc;AAC7B,SAAO,KAAK,QAAQ;GAClB,QAAQ,KAAK;GACb,YAAY,KAAK;GACjB,aAAa,KAAK;GAClB,cAAc,KAAK;GACnB;GACD,CAAC;;CAEJ,qBAAqB,EACnB,YACA,QACA,eACA,OACA,aACA,aAAa,QACb,YACA,qBACA,UACC;EACD,IAAI,YAAY,EAAE;EAClB,IAAI,OAAO,QAAQ,UAAU,EAAE,EAAE;EACjC,MAAM,QAAQ,EAAE;AAChB,MAAI,WAAW,KAEb,aADyB,OAAO,QAAQ,YAAY,QAAQ,CAC/B,KAAK,CAAC,KAAK,YAAY;GAClD,OAAO,MAAM;GACb,OAAO;GACP,OAAO,mBAAmB,OAAO,WAAW;GAC5C,oBAAoB,KAAK;GACzB,QAAQ;GACR,WAAW,EAAE;GACd,EAAE;OACE;GACL,MAAM,iBAAiB,OAAO,YAC5B,OAAO,QAAQ,YAAY,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,mBAAmB,OAAO,WAAW,CAAC,CAAC,CACxG;AACD,OAAI,OAAO,OAAO;IAChB,MAAM,WAAW,OAAO,OAAO,UAAU,aAAa,OAAO,MAAM,gBAAgB,cAAc,CAAC,GAAG,OAAO;AAC5G,YAAQ,YAAY,uBAAuB,UAAU,WAAW;;GAElE,MAAM,kBAAkB,EAAE;GAC1B,IAAI,kBAAkB,EAAE;AACxB,OAAI,OAAO,SAAS;IAClB,IAAI,gBAAgB;AACpB,SAAK,MAAM,CAAC,OAAO,UAAU,OAAO,QAAQ,OAAO,QAAQ,EAAE;AAC3D,SAAI,UAAU,KAAK,EACjB;AAEF,SAAI,SAAS,YAAY,SAAS;AAChC,UAAI,CAAC,iBAAiB,UAAU,KAC9B,iBAAgB;AAElB,sBAAgB,KAAK,MAAM;;;AAG/B,QAAI,gBAAgB,SAAS,EAC3B,mBAAkB,gBAAgB,gBAAgB,QAAQ,MAAM,OAAO,UAAU,OAAO,KAAK,GAAG,OAAO,KAAK,YAAY,QAAQ,CAAC,QAAQ,QAAQ,CAAC,gBAAgB,SAAS,IAAI,CAAC;SAGlL,mBAAkB,OAAO,KAAK,YAAY,QAAQ;AAEpD,QAAK,MAAM,SAAS,iBAAiB;IACnC,MAAM,SAAS,YAAY,QAAQ;AACnC,oBAAgB,KAAK;KAAE,OAAO;KAAO,OAAO;KAAQ,CAAC;;GAEvD,IAAI,oBAAoB,EAAE;AAC1B,OAAI,OAAO,KACT,qBAAoB,OAAO,QAAQ,OAAO,KAAK,CAAC,QAAQ,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,kBAAkB;IAAE;IAAO;IAAa,UAAU,YAAY,UAAU;IAAQ,EAAE;GAE/K,IAAI;AACJ,OAAI,OAAO,QAAQ;AACjB,aAAS,OAAO,OAAO,WAAW,aAAa,OAAO,OAAO,gBAAgB,EAAE,KAAK,CAAC,GAAG,OAAO;AAC/F,SAAK,MAAM,CAAC,OAAO,UAAU,OAAO,QAAQ,OAAO,CACjD,iBAAgB,KAAK;KACnB;KACA,OAAO,8BAA8B,OAAO,WAAW;KACxD,CAAC;;AAGN,QAAK,MAAM,EAAE,OAAO,WAAW,gBAC7B,WAAU,KAAK;IACb,OAAO,GAAG,OAAO,IAAI,QAAQ,GAAG,MAAM,aAAa,YAAY,QAAQ,OAAO;IAC9E;IACA,OAAO,GAAG,OAAO,OAAO,GAAG,mBAAmB,OAAO,WAAW,GAAG;IACnE,oBAAoB,KAAK;IACzB,QAAQ;IACR,WAAW,EAAE;IACd,CAAC;GAEJ,IAAI,cAAc,OAAO,OAAO,YAAY,aAAa,OAAO,QAAQ,gBAAgB,qBAAqB,CAAC,GAAG,OAAO,WAAW,EAAE;AACrI,OAAI,CAAC,MAAM,QAAQ,YAAY,CAC7B,eAAc,CAAC,YAAY;AAE7B,aAAU,YAAY,KAAK,iBAAiB;AAC1C,QAAI,GAAG,cAAc,OAAO,CAC1B,QAAO,mBAAmB,cAAc,WAAW;AAErD,WAAO,uBAAuB,cAAc,WAAW;KACvD;AACF,WAAQ,OAAO;AACf,YAAS,OAAO;AAChB,QAAK,MAAM,EACT,OAAO,uBACP,aAAa,6BACb,cACG,mBAAmB;IACtB,MAAM,qBAAqB,kBAAkB,QAAQ,eAAe,SAAS;IAE7E,MAAM,sBAAsB,cADF,mBAAmB,SAAS,gBAAgB;IAEtE,MAAM,qBAAqB,GAAG,WAAW,GAAG;IAC5C,MAAM,UAAU,IACd,GAAG,mBAAmB,OAAO,KAC1B,QAAQ,MAAM,GACb,mBAAmB,mBAAmB,WAAW,IAAI,mBAAmB,EACxE,mBAAmB,QAAQ,WAAW,CACvC,CACF,CACF;IACD,MAAM,gBAAgB,KAAK,qBAAqB;KAC9C;KACA;KACA;KACA,OAAO,WAAW;KAClB,aAAa,OAAO;KACpB,aAAa,GAAG,UAAU,IAAI,GAAG,gCAAgC,OAAO,EAAE,OAAO,GAAG,GAAG;MAAE,GAAG;MAA6B,OAAO;MAAG,GAAG;KACtI,YAAY;KACZ,QAAQ;KACR,qBAAqB;KACtB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,cAAc,IAAI,GAAG,GAAG,sBAAsB;AACnE,cAAU,KAAK;KACb,OAAO;KACP,OAAO;KACP;KACA,oBAAoB;KACpB,QAAQ;KACR,WAAW,cAAc;KAC1B,CAAC;;;AAGN,MAAI,UAAU,WAAW,EACvB,OAAM,IAAI,aAAa,EACrB,SAAS,iCAAiC,YAAY,OAAO,MAAM,WAAW,6JAC/E,CAAC;EAEJ,IAAI;AACJ,UAAQ,IAAI,QAAQ,MAAM;AAC1B,MAAI,qBAAqB;GACvB,IAAI,QAAQ,GAAG,cAAc,IAAI,KAC/B,UAAU,KACP,EAAE,OAAO,aAAa,GAAG,QAAQ,aAAa,GAAG,IAAI,WAAW,KAAK,OAAO,gBAAgB,OAAO,CAAC,GAAG,GAAG,QAAQ,IAAI,QAAQ,GAAG,OAAO,MAAM,OAChJ,EACD,GAAG,KACJ,CAAC;AACF,OAAI,GAAG,qBAAqB,KAAK,CAC/B,SAAQ,GAAG,6BAA6B,MAAM;GAEhD,MAAM,kBAAkB,CAAC;IACvB,OAAO;IACP,OAAO;IACP,OAAO,MAAM,GAAG,OAAO;IACvB,QAAQ;IACR,oBAAoB,YAAY;IAChC;IACD,CAAC;AAEF,OADsB,UAAU,KAAK,KAAK,WAAW,KAAK,KAAK,QAAQ,SAAS,GAC7D;AACjB,aAAS,KAAK,iBAAiB;KAC7B,OAAO,aAAa,OAAO,WAAW;KACtC,QAAQ,EAAE;KACV,YAAY,CACV;MACE,MAAM,EAAE;MACR,OAAO,IAAI,IAAI,IAAI;MACpB,CACF;KACD;KACA;KACA;KACA;KACA,cAAc,EAAE;KACjB,CAAC;AACF,YAAQ,KAAK;AACb,YAAQ,KAAK;AACb,aAAS,KAAK;AACd,cAAU,KAAK;SAEf,UAAS,aAAa,OAAO,WAAW;AAE1C,YAAS,KAAK,iBAAiB;IAC7B,OAAO,GAAG,QAAQ,YAAY,GAAG,SAAS,IAAI,SAAS,QAAQ,EAAE,EAAE,WAAW;IAC9E,QAAQ,EAAE;IACV,YAAY,gBAAgB,KAAK,EAAE,OAAO,cAAc;KACtD,MAAM,EAAE;KACR,OAAO,GAAG,QAAQ,OAAO,GAAG,mBAAmB,QAAQ,WAAW,GAAG;KACtE,EAAE;IACH;IACA;IACA;IACA;IACA;IACA,cAAc,EAAE;IACjB,CAAC;QAEF,UAAS,KAAK,iBAAiB;GAC7B,OAAO,aAAa,OAAO,WAAW;GACtC,QAAQ,EAAE;GACV,YAAY,UAAU,KAAK,EAAE,aAAa;IACxC,MAAM,EAAE;IACR,OAAO,GAAG,OAAO,OAAO,GAAG,mBAAmB,OAAO,WAAW,GAAG;IACpE,EAAE;GACH;GACA;GACA;GACA;GACA;GACA,cAAc,EAAE;GACjB,CAAC;AAEJ,SAAO;GACL,YAAY,YAAY;GACxB,KAAK;GACL;GACD;;;AAGL,IAAM,oBAAN,cAAgC,cAAc;CAC5C,QAAQ,cAAc;CACtB,QAAQ,YAAY,SAAS,QAAQ;EACnC,MAAM,kBAAkB,WAAW,KAAK,IAAI,yBAAyB,OAAO,WAAW,WAAW,yBAAyB,OAAO,mBAAmB;EACrJ,MAAM,uBAAuB,GAAG;gCACJ,IAAI,WAAW,gBAAgB,CAAC;;;;;;AAM5D,UAAQ,IAAI,qBAAqB;EAIjC,MAAM,kBAHe,QAAQ,OAC3B,GAAG,oCAAoC,IAAI,WAAW,gBAAgB,CAAC,mCACxE,CACoC,MAAM,KAAK;AAChD,UAAQ,IAAI,GAAG,QAAQ;AACvB,MAAI;AACF,QAAK,MAAM,aAAa,WACtB,KAAI,CAAC,mBAAmB,OAAO,gBAAgB,GAAG,GAAG,UAAU,cAAc;AAC3E,SAAK,MAAM,QAAQ,UAAU,IAC3B,SAAQ,IAAI,IAAI,IAAI,KAAK,CAAC;AAE5B,YAAQ,IACN,GAAG,eAAe,IAAI,WAAW,gBAAgB,CAAC,iCAAiC,UAAU,KAAK,IAAI,UAAU,aAAa,GAC9H;;AAGL,WAAQ,IAAI,GAAG,SAAS;WACjB,GAAG;AACV,WAAQ,IAAI,GAAG,WAAW;AAC1B,SAAM;;;;AAIZ,IAAM,qBAAN,cAAiC,cAAc;CAC7C,QAAQ,cAAc;CACtB,MAAM,QAAQ,YAAY,SAAS,QAAQ;EACzC,MAAM,kBAAkB,WAAW,KAAK,IAAI,yBAAyB,OAAO,WAAW,WAAW,yBAAyB,OAAO,mBAAmB;EACrJ,MAAM,uBAAuB,GAAG;gCACJ,IAAI,WAAW,gBAAgB,CAAC;;;;;;AAM5D,QAAM,QAAQ,IAAI,qBAAqB;EAIvC,MAAM,mBAHe,MAAM,QAAQ,OACjC,GAAG,oCAAoC,IAAI,WAAW,gBAAgB,CAAC,mCACxE,EACoC,MAAM,KAAK;AAChD,QAAM,QAAQ,YAAY,OAAO,OAAO;AACtC,QAAK,MAAM,aAAa,WACtB,KAAI,CAAC,mBAAmB,OAAO,gBAAgB,GAAG,GAAG,UAAU,cAAc;AAC3E,SAAK,MAAM,QAAQ,UAAU,IAC3B,OAAM,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC;AAE7B,UAAM,GAAG,IACP,GAAG,eAAe,IAAI,WAAW,gBAAgB,CAAC,iCAAiC,UAAU,KAAK,IAAI,UAAU,aAAa,GAC9H;;IAGL"}
@@ -0,0 +1,68 @@
1
+ import { entityKind } from "../entity.js";
2
+ import { TableName } from "../table.utils.js";
3
+
4
+ //#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@types+better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
5
+ var ForeignKeyBuilder = class {
6
+ static [entityKind] = "SQLiteForeignKeyBuilder";
7
+ /** @internal */
8
+ reference;
9
+ /** @internal */
10
+ _onUpdate;
11
+ /** @internal */
12
+ _onDelete;
13
+ constructor(config, actions) {
14
+ this.reference = () => {
15
+ const { name, columns, foreignColumns } = config();
16
+ return {
17
+ name,
18
+ columns,
19
+ foreignTable: foreignColumns[0].table,
20
+ foreignColumns
21
+ };
22
+ };
23
+ if (actions) {
24
+ this._onUpdate = actions.onUpdate;
25
+ this._onDelete = actions.onDelete;
26
+ }
27
+ }
28
+ onUpdate(action) {
29
+ this._onUpdate = action;
30
+ return this;
31
+ }
32
+ onDelete(action) {
33
+ this._onDelete = action;
34
+ return this;
35
+ }
36
+ /** @internal */
37
+ build(table) {
38
+ return new ForeignKey(table, this);
39
+ }
40
+ };
41
+ var ForeignKey = class {
42
+ constructor(table, builder) {
43
+ this.table = table;
44
+ this.reference = builder.reference;
45
+ this.onUpdate = builder._onUpdate;
46
+ this.onDelete = builder._onDelete;
47
+ }
48
+ static [entityKind] = "SQLiteForeignKey";
49
+ reference;
50
+ onUpdate;
51
+ onDelete;
52
+ getName() {
53
+ const { name, columns, foreignColumns } = this.reference();
54
+ const columnNames = columns.map((column) => column.name);
55
+ const foreignColumnNames = foreignColumns.map((column) => column.name);
56
+ const chunks = [
57
+ this.table[TableName],
58
+ ...columnNames,
59
+ foreignColumns[0].table[TableName],
60
+ ...foreignColumnNames
61
+ ];
62
+ return name ?? `${chunks.join("_")}_fk`;
63
+ }
64
+ };
65
+
66
+ //#endregion
67
+ export { ForeignKeyBuilder };
68
+ //# sourceMappingURL=foreign-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foreign-keys.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@types+better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js"],"sourcesContent":["import { entityKind } from \"../entity.js\";\nimport { TableName } from \"../table.utils.js\";\nclass ForeignKeyBuilder {\n static [entityKind] = \"SQLiteForeignKeyBuilder\";\n /** @internal */\n reference;\n /** @internal */\n _onUpdate;\n /** @internal */\n _onDelete;\n constructor(config, actions) {\n this.reference = () => {\n const { name, columns, foreignColumns } = config();\n return { name, columns, foreignTable: foreignColumns[0].table, foreignColumns };\n };\n if (actions) {\n this._onUpdate = actions.onUpdate;\n this._onDelete = actions.onDelete;\n }\n }\n onUpdate(action) {\n this._onUpdate = action;\n return this;\n }\n onDelete(action) {\n this._onDelete = action;\n return this;\n }\n /** @internal */\n build(table) {\n return new ForeignKey(table, this);\n }\n}\nclass ForeignKey {\n constructor(table, builder) {\n this.table = table;\n this.reference = builder.reference;\n this.onUpdate = builder._onUpdate;\n this.onDelete = builder._onDelete;\n }\n static [entityKind] = \"SQLiteForeignKey\";\n reference;\n onUpdate;\n onDelete;\n getName() {\n const { name, columns, foreignColumns } = this.reference();\n const columnNames = columns.map((column) => column.name);\n const foreignColumnNames = foreignColumns.map((column) => column.name);\n const chunks = [\n this.table[TableName],\n ...columnNames,\n foreignColumns[0].table[TableName],\n ...foreignColumnNames\n ];\n return name ?? `${chunks.join(\"_\")}_fk`;\n }\n}\nfunction foreignKey(config) {\n function mappedConfig() {\n if (typeof config === \"function\") {\n const { name, columns, foreignColumns } = config();\n return {\n name,\n columns,\n foreignColumns\n };\n }\n return config;\n }\n return new ForeignKeyBuilder(mappedConfig);\n}\nexport {\n ForeignKey,\n ForeignKeyBuilder,\n foreignKey\n};\n//# sourceMappingURL=foreign-keys.js.map"],"x_google_ignoreList":[0],"mappings":";;;;AAEA,IAAM,oBAAN,MAAwB;CACtB,QAAQ,cAAc;;CAEtB;;CAEA;;CAEA;CACA,YAAY,QAAQ,SAAS;AAC3B,OAAK,kBAAkB;GACrB,MAAM,EAAE,MAAM,SAAS,mBAAmB,QAAQ;AAClD,UAAO;IAAE;IAAM;IAAS,cAAc,eAAe,GAAG;IAAO;IAAgB;;AAEjF,MAAI,SAAS;AACX,QAAK,YAAY,QAAQ;AACzB,QAAK,YAAY,QAAQ;;;CAG7B,SAAS,QAAQ;AACf,OAAK,YAAY;AACjB,SAAO;;CAET,SAAS,QAAQ;AACf,OAAK,YAAY;AACjB,SAAO;;;CAGT,MAAM,OAAO;AACX,SAAO,IAAI,WAAW,OAAO,KAAK;;;AAGtC,IAAM,aAAN,MAAiB;CACf,YAAY,OAAO,SAAS;AAC1B,OAAK,QAAQ;AACb,OAAK,YAAY,QAAQ;AACzB,OAAK,WAAW,QAAQ;AACxB,OAAK,WAAW,QAAQ;;CAE1B,QAAQ,cAAc;CACtB;CACA;CACA;CACA,UAAU;EACR,MAAM,EAAE,MAAM,SAAS,mBAAmB,KAAK,WAAW;EAC1D,MAAM,cAAc,QAAQ,KAAK,WAAW,OAAO,KAAK;EACxD,MAAM,qBAAqB,eAAe,KAAK,WAAW,OAAO,KAAK;EACtE,MAAM,SAAS;GACb,KAAK,MAAM;GACX,GAAG;GACH,eAAe,GAAG,MAAM;GACxB,GAAG;GACJ;AACD,SAAO,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { entityKind } from "../../entity.js";
2
+ import { SQL, sql } from "../../sql/sql.js";
3
+
4
+ //#region ../../node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql+pglite@0.3.11_@types+better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js
5
+ var SQLiteCountBuilder = class SQLiteCountBuilder extends SQL {
6
+ constructor(params) {
7
+ super(SQLiteCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
8
+ this.params = params;
9
+ this.session = params.session;
10
+ this.sql = SQLiteCountBuilder.buildCount(params.source, params.filters);
11
+ }
12
+ sql;
13
+ static [entityKind] = "SQLiteCountBuilderAsync";
14
+ [Symbol.toStringTag] = "SQLiteCountBuilderAsync";
15
+ session;
16
+ static buildEmbeddedCount(source, filters) {
17
+ return sql`(select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters})`;
18
+ }
19
+ static buildCount(source, filters) {
20
+ return sql`select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters}`;
21
+ }
22
+ then(onfulfilled, onrejected) {
23
+ return Promise.resolve(this.session.count(this.sql)).then(onfulfilled, onrejected);
24
+ }
25
+ catch(onRejected) {
26
+ return this.then(void 0, onRejected);
27
+ }
28
+ finally(onFinally) {
29
+ return this.then((value) => {
30
+ onFinally?.();
31
+ return value;
32
+ }, (reason) => {
33
+ onFinally?.();
34
+ throw reason;
35
+ });
36
+ }
37
+ };
38
+
39
+ //#endregion
40
+ export { SQLiteCountBuilder };
41
+ //# sourceMappingURL=count.js.map