ts-prorm-orm 1.1.0 → 1.2.0

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 (460) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +194 -72
  3. package/dist/audit/history-query.d.ts +35 -0
  4. package/dist/audit/index.d.ts +16 -0
  5. package/dist/audit/logger.d.ts +126 -0
  6. package/dist/cache/cache-manager.d.ts +341 -0
  7. package/dist/cache/index.d.ts +8 -0
  8. package/dist/cache/redis-cluster-cache.d.ts +164 -0
  9. package/dist/cache/redis-cluster-cache.js +19 -36
  10. package/dist/cli/cloud.d.ts +55 -0
  11. package/dist/cli/cloud.js +318 -0
  12. package/dist/cli/commands/auth.d.ts +2 -0
  13. package/dist/cli/commands/auth.js +345 -0
  14. package/dist/cli/commands/billing.d.ts +2 -0
  15. package/dist/cli/commands/billing.js +135 -0
  16. package/dist/cli/commands/code.d.ts +2 -0
  17. package/dist/cli/commands/code.js +168 -0
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +154 -0
  20. package/dist/cli/commands/db.d.ts +2 -0
  21. package/dist/cli/commands/db.js +189 -0
  22. package/dist/cli/commands/index.d.ts +1 -0
  23. package/dist/cli/commands/index.js +22 -0
  24. package/dist/cli/commands/keys.d.ts +2 -0
  25. package/dist/cli/commands/keys.js +100 -0
  26. package/dist/cli/commands/misc.d.ts +2 -0
  27. package/dist/cli/commands/misc.js +282 -0
  28. package/dist/cli/commands/pull.d.ts +2 -0
  29. package/dist/cli/commands/pull.js +306 -0
  30. package/dist/cli/commands/runners.d.ts +2 -0
  31. package/dist/cli/commands/runners.js +218 -0
  32. package/dist/cli/commands/scaffold.d.ts +2 -0
  33. package/dist/cli/commands/scaffold.js +383 -0
  34. package/dist/cli/commands/secrets.d.ts +2 -0
  35. package/dist/cli/commands/secrets.js +162 -0
  36. package/dist/cli/commands/store.d.ts +2 -0
  37. package/dist/cli/commands/store.js +274 -0
  38. package/dist/cli/commands/system.d.ts +10 -0
  39. package/dist/cli/commands/system.js +169 -0
  40. package/dist/cli/commands/teams.d.ts +2 -0
  41. package/dist/cli/commands/teams.js +189 -0
  42. package/dist/cli/commands/user.d.ts +2 -0
  43. package/dist/cli/commands/user.js +171 -0
  44. package/dist/cli/framework.d.ts +103 -0
  45. package/dist/cli/framework.js +436 -0
  46. package/dist/cli/io.d.ts +26 -0
  47. package/dist/cli/io.js +181 -0
  48. package/dist/cli/keychain.d.ts +10 -0
  49. package/dist/cli/keychain.js +101 -0
  50. package/dist/cli/prompt.d.ts +20 -0
  51. package/dist/cli/prompt.js +111 -0
  52. package/dist/cli.d.ts +214 -0
  53. package/dist/cli.js +72 -5
  54. package/dist/compliance/audit-trail.d.ts +66 -0
  55. package/dist/compliance/backup-verification.d.ts +279 -0
  56. package/dist/compliance/breach-detector.d.ts +197 -0
  57. package/dist/compliance/consent-record.d.ts +107 -0
  58. package/dist/compliance/consent-versioning.d.ts +169 -0
  59. package/dist/compliance/cross-border-log.d.ts +254 -0
  60. package/dist/compliance/data-classifier.d.ts +127 -0
  61. package/dist/compliance/data-lineage.d.ts +268 -0
  62. package/dist/compliance/data-masker.d.ts +110 -0
  63. package/dist/compliance/data-portability.d.ts +98 -0
  64. package/dist/compliance/data-retention.d.ts +108 -0
  65. package/dist/compliance/dsar-workflow.d.ts +175 -0
  66. package/dist/compliance/field-encryption.d.ts +84 -0
  67. package/dist/compliance/immutable-record.d.ts +84 -0
  68. package/dist/compliance/index.d.ts +93 -0
  69. package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
  70. package/dist/compliance/pseudonymization.d.ts +96 -0
  71. package/dist/compliance/query-firewall.d.ts +661 -0
  72. package/dist/compliance/rate-limiter.d.ts +203 -0
  73. package/dist/compliance/right-to-erasure.d.ts +96 -0
  74. package/dist/compliance/row-level-security.d.ts +152 -0
  75. package/dist/compliance/security-decorator.d.ts +388 -0
  76. package/dist/compliance/security-monitor.d.ts +170 -0
  77. package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
  78. package/dist/compliance/session-isolation.d.ts +286 -0
  79. package/dist/compliance/tls-enforcer.d.ts +51 -0
  80. package/dist/compliance/worm-storage.d.ts +225 -0
  81. package/dist/connection-manager.d.ts +130 -0
  82. package/dist/connection-pool.d.ts +311 -0
  83. package/dist/decorators/audit.d.ts +49 -0
  84. package/dist/decorators/check.d.ts +218 -0
  85. package/dist/decorators/collate.d.ts +346 -0
  86. package/dist/decorators/comment.d.ts +51 -0
  87. package/dist/decorators/database-settings.d.ts +193 -0
  88. package/dist/decorators/default.d.ts +148 -0
  89. package/dist/decorators/encryption.d.ts +175 -0
  90. package/dist/decorators/engine.d.ts +97 -0
  91. package/dist/decorators/fk-constraints.d.ts +387 -0
  92. package/dist/decorators/foreign-table.d.ts +57 -0
  93. package/dist/decorators/generated.d.ts +232 -0
  94. package/dist/decorators/hstore.d.ts +96 -0
  95. package/dist/decorators/index.d.ts +57 -0
  96. package/dist/decorators/index.js +14 -30
  97. package/dist/decorators/json-column.d.ts +47 -0
  98. package/dist/decorators/jsonb.d.ts +83 -0
  99. package/dist/decorators/orm-decorators.d.ts +274 -0
  100. package/dist/decorators/permissions.d.ts +192 -0
  101. package/dist/decorators/procedure.d.ts +168 -0
  102. package/dist/decorators/procedure.js +31 -7
  103. package/dist/decorators/query-options.d.ts +527 -0
  104. package/dist/decorators/range.d.ts +122 -0
  105. package/dist/decorators/set-column.d.ts +43 -0
  106. package/dist/decorators/spatial.d.ts +60 -0
  107. package/dist/decorators/storage.d.ts +561 -0
  108. package/dist/decorators/timezone.d.ts +319 -0
  109. package/dist/decorators/trigger.d.ts +50 -0
  110. package/dist/decorators/uuid.d.ts +102 -0
  111. package/dist/decorators/view.d.ts +213 -0
  112. package/dist/diagrams/chen-diagram.d.ts +70 -0
  113. package/dist/diagrams/chen-diagram.js +33 -31
  114. package/dist/diagrams/class-diagram.d.ts +78 -0
  115. package/dist/diagrams/class-diagram.js +23 -27
  116. package/dist/diagrams/dependency-diagram.d.ts +82 -0
  117. package/dist/diagrams/dependency-diagram.js +18 -9
  118. package/dist/diagrams/er-diagram.d.ts +82 -0
  119. package/dist/diagrams/er-diagram.js +174 -231
  120. package/dist/diagrams/flow-diagram.d.ts +70 -0
  121. package/dist/diagrams/flow-diagram.js +23 -18
  122. package/dist/diagrams/gantt-diagram.d.ts +67 -0
  123. package/dist/diagrams/gantt-diagram.js +20 -18
  124. package/dist/diagrams/index-diagram.d.ts +61 -0
  125. package/dist/diagrams/index-diagram.js +36 -31
  126. package/dist/diagrams/index.d.ts +155 -0
  127. package/dist/diagrams/index.js +7 -1
  128. package/dist/diagrams/migration-diagram.d.ts +67 -0
  129. package/dist/diagrams/migration-diagram.js +45 -57
  130. package/dist/diagrams/model-diagram.d.ts +85 -0
  131. package/dist/diagrams/model-diagram.js +225 -287
  132. package/dist/diagrams/package-diagram.d.ts +69 -0
  133. package/dist/diagrams/package-diagram.js +30 -32
  134. package/dist/diagrams/palette.d.ts +138 -0
  135. package/dist/diagrams/palette.js +134 -25
  136. package/dist/diagrams/relational-diagram.d.ts +82 -0
  137. package/dist/diagrams/relational-diagram.js +51 -59
  138. package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
  139. package/dist/diagrams/schemadoc-diagram.js +36 -28
  140. package/dist/diagrams/sequence-diagram.d.ts +61 -0
  141. package/dist/diagrams/sequence-diagram.js +20 -11
  142. package/dist/diagrams/state-diagram.d.ts +85 -0
  143. package/dist/diagrams/state-diagram.js +21 -17
  144. package/dist/diagrams/svg-dom.d.ts +62 -0
  145. package/dist/diagrams/svg-dom.js +11 -0
  146. package/dist/diagrams/tree-diagram.d.ts +47 -0
  147. package/dist/diagrams/tree-diagram.js +19 -10
  148. package/dist/dialects/clickhouse/index.d.ts +660 -0
  149. package/dist/dialects/clickhouse/index.js +107 -2
  150. package/dist/dialects/cockroachdb/index.d.ts +1708 -0
  151. package/dist/dialects/cockroachdb/index.js +139 -10
  152. package/dist/dialects/cratedb/index.d.ts +262 -0
  153. package/dist/dialects/cratedb/index.js +148 -0
  154. package/dist/dialects/databricks/index.d.ts +397 -0
  155. package/dist/dialects/databricks/index.js +233 -11
  156. package/dist/dialects/db2/index.d.ts +729 -0
  157. package/dist/dialects/db2/index.js +152 -2
  158. package/dist/dialects/dialect.d.ts +1653 -0
  159. package/dist/dialects/duckdb/index.d.ts +440 -0
  160. package/dist/dialects/duckdb/index.js +21 -37
  161. package/dist/dialects/exasol/index.d.ts +197 -0
  162. package/dist/dialects/exasol/index.js +14 -0
  163. package/dist/dialects/firebird/index.d.ts +286 -0
  164. package/dist/dialects/firebird/index.js +135 -0
  165. package/dist/dialects/greenplum/index.d.ts +336 -0
  166. package/dist/dialects/greenplum/index.js +168 -0
  167. package/dist/dialects/hana/index.d.ts +512 -0
  168. package/dist/dialects/hana/index.js +17 -35
  169. package/dist/dialects/mariadb/index.d.ts +1241 -0
  170. package/dist/dialects/mariadb/index.js +181 -43
  171. package/dist/dialects/mssql/index.d.ts +729 -0
  172. package/dist/dialects/mssql/index.js +76 -7
  173. package/dist/dialects/mysql/index.d.ts +1233 -0
  174. package/dist/dialects/mysql/index.js +87 -19
  175. package/dist/dialects/oracle/index.d.ts +1222 -0
  176. package/dist/dialects/oracle/index.js +210 -9
  177. package/dist/dialects/postgres/index.d.ts +1598 -0
  178. package/dist/dialects/postgres/index.js +34 -13
  179. package/dist/dialects/query-stream-helper.d.ts +58 -0
  180. package/dist/dialects/questdb/index.d.ts +430 -0
  181. package/dist/dialects/questdb/index.js +292 -0
  182. package/dist/dialects/redshift/index.d.ts +933 -0
  183. package/dist/dialects/redshift/index.js +17 -5
  184. package/dist/dialects/singlestore/index.d.ts +233 -0
  185. package/dist/dialects/singlestore/index.js +53 -0
  186. package/dist/dialects/snowflake/index.d.ts +727 -0
  187. package/dist/dialects/snowflake/index.js +154 -5
  188. package/dist/dialects/spanner/index.d.ts +660 -0
  189. package/dist/dialects/spanner/index.js +43 -21
  190. package/dist/dialects/sqlite/index.d.ts +1133 -0
  191. package/dist/dialects/sqlite/index.js +168 -30
  192. package/dist/dialects/tidb/index.d.ts +226 -0
  193. package/dist/dialects/tidb/index.js +10 -0
  194. package/dist/dialects/timescaledb/index.d.ts +286 -0
  195. package/dist/dialects/timescaledb/index.js +179 -0
  196. package/dist/dialects/trino/index.d.ts +230 -0
  197. package/dist/dialects/trino/index.js +85 -10
  198. package/dist/dialects/turso/index.d.ts +98 -0
  199. package/dist/dialects/turso/index.js +10 -0
  200. package/dist/dialects/vertica/index.d.ts +321 -0
  201. package/dist/dialects/vertica/index.js +161 -0
  202. package/dist/dialects/yugabytedb/index.d.ts +276 -0
  203. package/dist/dialects/yugabytedb/index.js +121 -0
  204. package/dist/errors/index.d.ts +378 -0
  205. package/dist/errors/index.js +29 -1
  206. package/dist/errors/utils.d.ts +53 -0
  207. package/dist/errors.d.ts +5 -0
  208. package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
  209. package/dist/extensions/catalog/mssql-features.d.ts +20 -0
  210. package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
  211. package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
  212. package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
  213. package/dist/extensions/index.d.ts +34 -0
  214. package/dist/extensions/types.d.ts +43 -0
  215. package/dist/external-fields/adapters.d.ts +50 -0
  216. package/dist/external-fields/adapters.js +227 -0
  217. package/dist/external-fields/decorator.d.ts +77 -0
  218. package/dist/external-fields/decorator.js +80 -0
  219. package/dist/external-fields/index.d.ts +10 -0
  220. package/dist/external-fields/index.js +19 -0
  221. package/dist/external-fields/runtime.d.ts +39 -0
  222. package/dist/external-fields/runtime.js +221 -0
  223. package/dist/foreign-data.d.ts +168 -0
  224. package/dist/graph/base-graph-dialect.d.ts +250 -0
  225. package/dist/graph/base-graph-dialect.js +539 -0
  226. package/dist/graph/dgraph/index.d.ts +65 -0
  227. package/dist/graph/dgraph/index.js +559 -0
  228. package/dist/graph/gremlin/index.d.ts +59 -0
  229. package/dist/graph/gremlin/index.js +378 -0
  230. package/dist/graph/index.d.ts +60 -0
  231. package/dist/graph/index.js +67 -0
  232. package/dist/graph/neo4j/index.d.ts +50 -0
  233. package/dist/graph/neo4j/index.js +462 -0
  234. package/dist/graph/types.d.ts +213 -0
  235. package/dist/graph/types.js +234 -0
  236. package/dist/hooks/hooks-manager.d.ts +189 -0
  237. package/dist/hooks/index.d.ts +8 -0
  238. package/dist/index.d.ts +711 -0
  239. package/dist/index.js +19 -4
  240. package/dist/logging.d.ts +183 -0
  241. package/dist/migrations/index.d.ts +9 -0
  242. package/dist/migrations/migration.d.ts +143 -0
  243. package/dist/migrations/migrator.d.ts +199 -0
  244. package/dist/migrations/prormmigration.d.ts +131 -0
  245. package/dist/migrations/query-interface.d.ts +335 -0
  246. package/dist/migrations/seeder.d.ts +167 -0
  247. package/dist/models/associations.d.ts +131 -0
  248. package/dist/models/associations.js +7 -2
  249. package/dist/models/constraints.d.ts +175 -0
  250. package/dist/models/data-types.d.ts +1656 -0
  251. package/dist/models/decorators.d.ts +328 -0
  252. package/dist/models/decorators.js +61 -82
  253. package/dist/models/eager-load.d.ts +86 -0
  254. package/dist/models/eager-load.js +369 -0
  255. package/dist/models/index.d.ts +13 -0
  256. package/dist/models/indexes.d.ts +325 -0
  257. package/dist/models/methods.d.ts +419 -0
  258. package/dist/models/model-manager.d.ts +76 -0
  259. package/dist/models/model.d.ts +820 -0
  260. package/dist/models/model.js +15 -101
  261. package/dist/models/operators.d.ts +29 -0
  262. package/dist/models/scopes.d.ts +71 -0
  263. package/dist/models/typescript-types.d.ts +177 -0
  264. package/dist/nosql/aerospike/index.d.ts +126 -0
  265. package/dist/nosql/allegrograph/index.d.ts +86 -0
  266. package/dist/nosql/arangodb/index.d.ts +285 -0
  267. package/dist/nosql/arangodb/index.js +274 -2
  268. package/dist/nosql/arangodb/where.d.ts +38 -0
  269. package/dist/nosql/arangodb/where.js +94 -0
  270. package/dist/nosql/azure-blob/index.d.ts +104 -0
  271. package/dist/nosql/beanstalkd/index.d.ts +88 -0
  272. package/dist/nosql/beequeue/index.d.ts +99 -0
  273. package/dist/nosql/bigchaindb/index.d.ts +113 -0
  274. package/dist/nosql/bigtable/index.d.ts +144 -0
  275. package/dist/nosql/blazegraph/index.d.ts +88 -0
  276. package/dist/nosql/bullmq/index.d.ts +83 -0
  277. package/dist/nosql/cassandra/index.d.ts +119 -0
  278. package/dist/nosql/chroma/index.d.ts +151 -0
  279. package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
  280. package/dist/nosql/coherence/index.d.ts +91 -0
  281. package/dist/nosql/cosmosdb/index.d.ts +78 -0
  282. package/dist/nosql/couchbase/index.d.ts +103 -0
  283. package/dist/nosql/dax/index.d.ts +118 -0
  284. package/dist/nosql/deno-kv/index.d.ts +109 -0
  285. package/dist/nosql/dgraph/index.d.ts +80 -0
  286. package/dist/nosql/doris/index.d.ts +88 -0
  287. package/dist/nosql/druid/index.d.ts +95 -0
  288. package/dist/nosql/dynamodb/index.d.ts +643 -0
  289. package/dist/nosql/dynamodb/index.js +423 -0
  290. package/dist/nosql/elasticsearch/index.d.ts +239 -0
  291. package/dist/nosql/etcd/index.d.ts +243 -0
  292. package/dist/nosql/eventhubs/index.d.ts +89 -0
  293. package/dist/nosql/eventstore/index.d.ts +102 -0
  294. package/dist/nosql/faunadb/index.d.ts +141 -0
  295. package/dist/nosql/faunadb/index.js +329 -0
  296. package/dist/nosql/firestore/index.d.ts +67 -0
  297. package/dist/nosql/fluree/index.d.ts +88 -0
  298. package/dist/nosql/fuseki/index.d.ts +94 -0
  299. package/dist/nosql/gcs/index.d.ts +62 -0
  300. package/dist/nosql/gearman/index.d.ts +77 -0
  301. package/dist/nosql/geode/index.d.ts +93 -0
  302. package/dist/nosql/graphdb/index.d.ts +86 -0
  303. package/dist/nosql/graylog/index.d.ts +118 -0
  304. package/dist/nosql/gridgain/index.d.ts +78 -0
  305. package/dist/nosql/hazelcast/index.d.ts +73 -0
  306. package/dist/nosql/hbase/index.d.ts +123 -0
  307. package/dist/nosql/ignite/index.d.ts +80 -0
  308. package/dist/nosql/immudb/index.d.ts +131 -0
  309. package/dist/nosql/index.d.ts +215 -0
  310. package/dist/nosql/infinispan/index.d.ts +95 -0
  311. package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
  312. package/dist/nosql/influxdb/flux-compiler.js +170 -0
  313. package/dist/nosql/influxdb/index.d.ts +300 -0
  314. package/dist/nosql/influxdb/index.js +0 -0
  315. package/dist/nosql/kafka/index.d.ts +113 -0
  316. package/dist/nosql/keyspaces/index.d.ts +122 -0
  317. package/dist/nosql/kinesis/index.d.ts +121 -0
  318. package/dist/nosql/leveldb/index.d.ts +112 -0
  319. package/dist/nosql/leveldb/index.js +103 -1
  320. package/dist/nosql/lmdb/index.d.ts +76 -0
  321. package/dist/nosql/loki/index.d.ts +126 -0
  322. package/dist/nosql/marklogic/index.d.ts +76 -0
  323. package/dist/nosql/materialize/index.d.ts +91 -0
  324. package/dist/nosql/meilisearch/index.d.ts +76 -0
  325. package/dist/nosql/memcached/index.d.ts +138 -0
  326. package/dist/nosql/milvus/index.d.ts +167 -0
  327. package/dist/nosql/minio/index.d.ts +122 -0
  328. package/dist/nosql/momento/index.d.ts +99 -0
  329. package/dist/nosql/mongodb/index.d.ts +265 -0
  330. package/dist/nosql/mongodb/index.js +139 -0
  331. package/dist/nosql/mongodb/where.d.ts +8 -0
  332. package/dist/nosql/mongodb/where.js +181 -0
  333. package/dist/nosql/nats/index.d.ts +139 -0
  334. package/dist/nosql/nedb/index.d.ts +79 -0
  335. package/dist/nosql/neo4j/index.d.ts +217 -0
  336. package/dist/nosql/neo4j/index.js +26 -14
  337. package/dist/nosql/neptune/index.d.ts +234 -0
  338. package/dist/nosql/neptune/index.js +23 -9
  339. package/dist/nosql/nsq/index.d.ts +93 -0
  340. package/dist/nosql/opensearch/index.d.ts +97 -0
  341. package/dist/nosql/orientdb/index.d.ts +72 -0
  342. package/dist/nosql/papertrail/index.d.ts +120 -0
  343. package/dist/nosql/pinecone/index.d.ts +148 -0
  344. package/dist/nosql/pinot/index.d.ts +90 -0
  345. package/dist/nosql/pouchdb/index.d.ts +95 -0
  346. package/dist/nosql/prometheus/index.d.ts +112 -0
  347. package/dist/nosql/provendb/index.d.ts +143 -0
  348. package/dist/nosql/provendb/index.js +262 -0
  349. package/dist/nosql/pubsub/index.d.ts +83 -0
  350. package/dist/nosql/pulsar/index.d.ts +105 -0
  351. package/dist/nosql/qdrant/index.d.ts +231 -0
  352. package/dist/nosql/qldb/index.d.ts +182 -0
  353. package/dist/nosql/qldb/index.js +302 -1
  354. package/dist/nosql/r2/index.d.ts +160 -0
  355. package/dist/nosql/rabbitmq/index.d.ts +131 -0
  356. package/dist/nosql/ravendb/index.d.ts +138 -0
  357. package/dist/nosql/ravendb/index.js +323 -9
  358. package/dist/nosql/ravendb/where.d.ts +38 -0
  359. package/dist/nosql/ravendb/where.js +94 -0
  360. package/dist/nosql/redis/index.d.ts +267 -0
  361. package/dist/nosql/redis/index.js +19 -5
  362. package/dist/nosql/redpanda/index.d.ts +117 -0
  363. package/dist/nosql/resque/index.d.ts +91 -0
  364. package/dist/nosql/rethinkdb/index.d.ts +194 -0
  365. package/dist/nosql/rethinkdb/index.js +290 -0
  366. package/dist/nosql/rethinkdb/where.d.ts +38 -0
  367. package/dist/nosql/rethinkdb/where.js +94 -0
  368. package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
  369. package/dist/nosql/rocksdb/document-layer.js +338 -0
  370. package/dist/nosql/rocksdb/index.d.ts +112 -0
  371. package/dist/nosql/rocksdb/index.js +103 -1
  372. package/dist/nosql/rocksdb/where-match.d.ts +21 -0
  373. package/dist/nosql/rocksdb/where-match.js +238 -0
  374. package/dist/nosql/rockset/index.d.ts +84 -0
  375. package/dist/nosql/s3/index.d.ts +170 -0
  376. package/dist/nosql/scylladb/index.d.ts +117 -0
  377. package/dist/nosql/signoz/index.d.ts +116 -0
  378. package/dist/nosql/sns/index.d.ts +99 -0
  379. package/dist/nosql/solr/index.d.ts +129 -0
  380. package/dist/nosql/splunk/index.d.ts +125 -0
  381. package/dist/nosql/sqs/index.d.ts +116 -0
  382. package/dist/nosql/stardog/index.d.ts +86 -0
  383. package/dist/nosql/starrocks/index.d.ts +89 -0
  384. package/dist/nosql/store.d.ts +23 -0
  385. package/dist/nosql/sumologic/index.d.ts +119 -0
  386. package/dist/nosql/surrealdb/index.d.ts +156 -0
  387. package/dist/nosql/surrealdb/index.js +174 -1
  388. package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
  389. package/dist/nosql/surrealdb/query-compiler.js +193 -0
  390. package/dist/nosql/terminusdb/index.d.ts +95 -0
  391. package/dist/nosql/tigergraph/index.d.ts +314 -0
  392. package/dist/nosql/typesense/index.d.ts +82 -0
  393. package/dist/nosql/unqlite/index.d.ts +68 -0
  394. package/dist/nosql/upstash/index.d.ts +80 -0
  395. package/dist/nosql/vercel-kv/index.d.ts +82 -0
  396. package/dist/nosql/victoriametrics/index.d.ts +129 -0
  397. package/dist/nosql/virtuoso/index.d.ts +87 -0
  398. package/dist/nosql/weaviate/index.d.ts +196 -0
  399. package/dist/operators/index.d.ts +7 -0
  400. package/dist/operators.d.ts +2947 -0
  401. package/dist/operators.js +46 -1
  402. package/dist/prisma-migrate/index.d.ts +28 -0
  403. package/dist/prisma-migrate/migration-generator.d.ts +21 -0
  404. package/dist/prisma-migrate/model-generator.d.ts +12 -0
  405. package/dist/prisma-migrate/relations.d.ts +28 -0
  406. package/dist/prisma-migrate/schema-parser.d.ts +42 -0
  407. package/dist/prisma-migrate/type-mapper.d.ts +20 -0
  408. package/dist/prorm.d.ts +2093 -0
  409. package/dist/prorm.js +721 -302
  410. package/dist/query-builders/cte-builder.d.ts +104 -0
  411. package/dist/query-builders/functions/aggregate.d.ts +199 -0
  412. package/dist/query-builders/functions/conditional.d.ts +195 -0
  413. package/dist/query-builders/functions/datetime.d.ts +202 -0
  414. package/dist/query-builders/functions/fulltext.d.ts +220 -0
  415. package/dist/query-builders/functions/index.d.ts +17 -0
  416. package/dist/query-builders/functions/json.d.ts +157 -0
  417. package/dist/query-builders/functions/math.d.ts +215 -0
  418. package/dist/query-builders/functions/string.d.ts +233 -0
  419. package/dist/query-builders/functions/window.d.ts +209 -0
  420. package/dist/query-builders/include-builder.d.ts +85 -0
  421. package/dist/query-builders/index-expression-builder.d.ts +153 -0
  422. package/dist/query-builders/index.d.ts +121 -0
  423. package/dist/query-builders/index.js +10 -0
  424. package/dist/query-builders/insert-builder.d.ts +62 -0
  425. package/dist/query-builders/model-helpers.d.ts +28 -0
  426. package/dist/query-builders/order-limit-builder.d.ts +84 -0
  427. package/dist/query-builders/sql-compiler.d.ts +562 -0
  428. package/dist/query-builders/subquery-builder.d.ts +133 -0
  429. package/dist/query-builders/update-builder.d.ts +71 -0
  430. package/dist/query-builders/view-builder.d.ts +189 -0
  431. package/dist/query-builders/where-builder.d.ts +124 -0
  432. package/dist/query-interface.d.ts +407 -0
  433. package/dist/query-interface.js +84 -0
  434. package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
  435. package/dist/query-optimizers/explain-plans.d.ts +187 -0
  436. package/dist/query-optimizers/index.d.ts +27 -0
  437. package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
  438. package/dist/query-optimizers/query-hints.d.ts +201 -0
  439. package/dist/query-optimizers/query-optimizer.d.ts +162 -0
  440. package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
  441. package/dist/replica-manager.d.ts +235 -0
  442. package/dist/schema/index.d.ts +7 -0
  443. package/dist/schema/migration-generator.d.ts +74 -0
  444. package/dist/schema/schema-differ.d.ts +114 -0
  445. package/dist/schema/types.d.ts +246 -0
  446. package/dist/schema-objects.d.ts +78 -0
  447. package/dist/schema-objects.js +203 -0
  448. package/dist/sql-constants.d.ts +240 -0
  449. package/dist/sqlite-advanced.d.ts +572 -0
  450. package/dist/streams/index.d.ts +5 -0
  451. package/dist/streams/transforms.d.ts +120 -0
  452. package/dist/transaction.d.ts +221 -0
  453. package/dist/types/index.d.ts +3123 -0
  454. package/dist/user-management.d.ts +141 -0
  455. package/dist/utils/date.d.ts +149 -0
  456. package/dist/utils/index.d.ts +359 -0
  457. package/dist/utils/string.d.ts +88 -0
  458. package/dist/validators/index.d.ts +7 -0
  459. package/dist/validators/validator.d.ts +306 -0
  460. package/package.json +20 -5
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Include builder for the ORM
3
+ * Handles JOIN clauses for model associations
4
+ */
5
+ import { IncludeOptions } from '../types';
6
+ /**
7
+ * Result of building JOIN clauses: the combined SQL fragment and its bound values
8
+ */
9
+ export interface IncludeResult {
10
+ sql: string;
11
+ values: unknown[];
12
+ }
13
+ /**
14
+ * Options controlling how an IncludeBuilder generates JOINs
15
+ */
16
+ export interface IncludeBuilderOptions {
17
+ replacements?: Record<string, unknown>;
18
+ model?: unknown;
19
+ dialect?: {
20
+ escape: (value: unknown) => string;
21
+ escapeId: (identifier: string) => string;
22
+ };
23
+ parentAlias?: string;
24
+ parentKey?: string;
25
+ childKey?: string;
26
+ /** Default schema delimiter */
27
+ schemaDelimiter?: string;
28
+ }
29
+ /**
30
+ * IncludeBuilder class for building JOIN clauses
31
+ */
32
+ export declare class IncludeBuilder {
33
+ private options;
34
+ private whereBuilder;
35
+ /**
36
+ * Creates a nested WhereBuilder (sharing replacements/model/dialect) used to
37
+ * render `on`, `where`, and `lateralSubquery.where` clauses on included tables
38
+ */
39
+ constructor(options?: IncludeBuilderOptions);
40
+ /**
41
+ * Build JOIN clauses from include options
42
+ */
43
+ build(includes: IncludeOptions[]): IncludeResult;
44
+ /**
45
+ * Build a single include (can handle nested includes)
46
+ */
47
+ private buildInclude;
48
+ /**
49
+ * Build a through-table join for many-to-many associations
50
+ */
51
+ private buildThroughJoin;
52
+ /**
53
+ * Get the join type based on include options
54
+ */
55
+ private getJoinType;
56
+ /**
57
+ * Build the ON clause for a join
58
+ */
59
+ private buildOnClause;
60
+ /**
61
+ * Build ON clause from WhereOptions
62
+ */
63
+ private buildOnFromWhere;
64
+ /**
65
+ * Guess the foreign key name for an association
66
+ */
67
+ private guessForeignKey;
68
+ /**
69
+ * Get the primary key of a model
70
+ */
71
+ private getPrimaryKey;
72
+ /**
73
+ * Escape an identifier
74
+ */
75
+ private escapeId;
76
+ }
77
+ /**
78
+ * Create an IncludeBuilder instance
79
+ */
80
+ export declare function createIncludeBuilder(options?: IncludeBuilderOptions): IncludeBuilder;
81
+ /**
82
+ * Quick helper to build include JOINs
83
+ */
84
+ export declare function buildIncludes(includes: IncludeOptions[], options?: IncludeBuilderOptions): IncludeResult;
85
+ export default IncludeBuilder;
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Index Expression Builder
3
+ * Provides ORM-like way to create functional indexes
4
+ */
5
+ /**
6
+ * Supported SQL functions for index expressions
7
+ */
8
+ export type IndexFunction = 'LOWER' | 'UPPER' | 'TRIM' | 'LTRIM' | 'RTRIM' | 'SUBSTRING' | 'SUBSTR' | 'LENGTH' | 'CONCAT' | 'COALESCE' | 'NULLIF' | 'ABS' | 'CEIL' | 'FLOOR' | 'ROUND' | 'SQRT' | 'POWER' | 'MOD' | 'NOW' | 'CURRENT_DATE' | 'CURRENT_TIME' | 'CURRENT_TIMESTAMP' | 'DATE' | 'TIME' | 'YEAR' | 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' | 'EXTRACT' | 'TO_CHAR' | 'TO_DATE' | 'TO_TIMESTAMP' | 'JSON_EXTRACT' | 'JSONB_EXTRACT' | 'CAST' | 'CONVERT';
9
+ /**
10
+ * Expression type definitions
11
+ */
12
+ export interface ColumnRef {
13
+ __type: 'column';
14
+ model?: string;
15
+ column: string;
16
+ }
17
+ export interface FunctionCall {
18
+ __type: 'function';
19
+ name: IndexFunction | string;
20
+ args: ExpressionArg[];
21
+ }
22
+ export interface LiteralValue {
23
+ __type: 'literal';
24
+ value: any;
25
+ type?: 'string' | 'number' | 'boolean' | 'date';
26
+ }
27
+ /** Union type for function arguments */
28
+ export type ExpressionArg = string | ColumnRef | LiteralValue;
29
+ /** Union type for all expression parts */
30
+ export type ExpressionPart = ColumnRef | FunctionCall | LiteralValue;
31
+ /**
32
+ * Index column definition with optional expression
33
+ */
34
+ export interface IndexColumn {
35
+ /** Column name */
36
+ name: string;
37
+ /** Optional expression for functional index */
38
+ expression?: ExpressionPart;
39
+ /** Optional length for prefix index */
40
+ length?: number;
41
+ /** Sort order */
42
+ order?: 'ASC' | 'DESC';
43
+ }
44
+ /**
45
+ * Index options
46
+ */
47
+ export interface IndexBuilderOptions {
48
+ /** Index name */
49
+ name?: string;
50
+ /** Index type: BTREE, HASH, GIN, GiST, BRIN, etc. */
51
+ type?: string;
52
+ /** Unique index */
53
+ unique?: boolean;
54
+ /** Index if not exists */
55
+ ifNotExists?: boolean;
56
+ /** Partial index WHERE clause */
57
+ where?: WhereCondition;
58
+ /** NULLS FIRST/LAST (PostgreSQL) */
59
+ nullsFirst?: boolean;
60
+ }
61
+ /**
62
+ * Simple WHERE condition for partial indexes
63
+ */
64
+ export interface WhereCondition {
65
+ field: string;
66
+ operator: '=' | '>' | '<' | '>=' | '<=' | '!=' | '<>' | 'IS NULL' | 'IS NOT NULL' | 'IN' | 'LIKE' | 'BETWEEN';
67
+ value: any;
68
+ }
69
+ /**
70
+ * Builder for index expressions
71
+ */
72
+ export declare class IndexExpressionBuilder {
73
+ private columns;
74
+ /**
75
+ * Add a simple column to the index
76
+ */
77
+ column(name: string, opts?: {
78
+ length?: number;
79
+ order?: 'ASC' | 'DESC';
80
+ }): IndexExpressionBuilder;
81
+ /**
82
+ * Add a functional index using a column reference
83
+ */
84
+ functional(column: string, opts?: {
85
+ model?: string | {
86
+ tableName?: string;
87
+ name?: string;
88
+ };
89
+ length?: number;
90
+ order?: 'ASC' | 'DESC';
91
+ }): IndexExpressionBuilder;
92
+ /**
93
+ * Add LOWER(column) expression
94
+ */
95
+ lower(column: string, opts?: {
96
+ order?: 'ASC' | 'DESC';
97
+ }): IndexExpressionBuilder;
98
+ /**
99
+ * Add UPPER(column) expression
100
+ */
101
+ upper(column: string, opts?: {
102
+ order?: 'ASC' | 'DESC';
103
+ }): IndexExpressionBuilder;
104
+ /**
105
+ * Add LENGTH(column) expression
106
+ */
107
+ length(column: string, opts?: {
108
+ order?: 'ASC' | 'DESC';
109
+ }): IndexExpressionBuilder;
110
+ /**
111
+ * Add SUBSTRING(column FROM start FOR length) expression
112
+ */
113
+ substring(column: string, start: number, length?: number, opts?: {
114
+ order?: 'ASC' | 'DESC';
115
+ }): IndexExpressionBuilder;
116
+ /**
117
+ * Add a custom function expression
118
+ */
119
+ fn(name: IndexFunction | string, args: ExpressionArg[], alias?: string): IndexExpressionBuilder;
120
+ /**
121
+ * Add COALESCE expression for handling NULLs
122
+ */
123
+ coalesce(column: string, defaultValue: any): IndexExpressionBuilder;
124
+ /**
125
+ * Add CAST expression
126
+ */
127
+ cast(column: string, asType: string): IndexExpressionBuilder;
128
+ /**
129
+ * Add JSON extract expression (PostgreSQL)
130
+ */
131
+ jsonExtract(column: string, path: string): IndexExpressionBuilder;
132
+ /**
133
+ * Get all index columns
134
+ */
135
+ getColumns(): IndexColumn[];
136
+ /**
137
+ * Build the index column expressions
138
+ */
139
+ toSQL(dialect: any): string;
140
+ /**
141
+ * Reset the builder
142
+ */
143
+ reset(): void;
144
+ }
145
+ /**
146
+ * Create a new index expression builder
147
+ */
148
+ export declare function createIndexBuilder(): IndexExpressionBuilder;
149
+ declare const _default: {
150
+ IndexExpressionBuilder: typeof IndexExpressionBuilder;
151
+ createIndexBuilder: typeof createIndexBuilder;
152
+ };
153
+ export default _default;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Query Builders
3
+ * Exports all query builder classes and utilities
4
+ */
5
+ export { getTableName, getModelName, isModel } from './model-helpers';
6
+ export { SqlCompiler, SqlCompilerOptions } from './sql-compiler';
7
+ export { CTEBuilder, CTEDefinition, RecursiveCTEOptions, createCTEBuilder } from './cte-builder';
8
+ export { SubqueryBuilder, SubqueryOptions, ExistsSubqueryOptions, ScalarSubqueryOptions, } from './subquery-builder';
9
+ export { ViewBuilder, ViewOptions, MaterializedViewOptions, createViewBuilder, } from './view-builder';
10
+ export { IndexExpressionBuilder, IndexColumn, IndexBuilderOptions, IndexFunction, createIndexBuilder, } from './index-expression-builder';
11
+ /** @deprecated Not used by any query path; each dialect builds its own WHERE clause. */
12
+ export { WhereBuilder, WhereClauseResult, WhereBuilderOptions, createWhereBuilder, buildWhereClause, } from './where-builder';
13
+ /** @deprecated Eager loading goes through `src/models/eager-load.ts`, not this builder. */
14
+ export { IncludeBuilder, IncludeResult, IncludeBuilderOptions, createIncludeBuilder, buildIncludes, } from './include-builder';
15
+ export { OrderBuilder, LimitOffsetBuilder, OrderLimitBuilder, OrderClauseResult, OrderLimitOptions, createOrderBuilder, createOrderLimitBuilder, buildOrder, buildLimitOffset, } from './order-limit-builder';
16
+ export { InsertBuilder, InsertQueryResult, InsertBuilderOptions, createInsertBuilder, buildInsertQuery, buildBulkInsertQuery, } from './insert-builder';
17
+ /** @deprecated Not used by `Model.update()`; each dialect builds its own UPDATE. */
18
+ export { UpdateBuilder, UpdateQueryResult, UpdateBuilderOptions, createUpdateBuilder, buildUpdateQuery, buildUpdateWithOperations, } from './update-builder';
19
+ /**
20
+ * Query Builder Factory
21
+ * Creates query builders with common configuration
22
+ */
23
+ export interface QueryBuilderFactoryOptions {
24
+ /**
25
+ * Database dialect
26
+ */
27
+ dialect?: 'mysql' | 'postgres' | 'sqlite' | 'mssql' | 'mariadb';
28
+ /**
29
+ * Table name prefix
30
+ */
31
+ tablePrefix?: string;
32
+ /**
33
+ * Database schema
34
+ */
35
+ schema?: string;
36
+ /**
37
+ * Use parameterized queries
38
+ */
39
+ parameterized?: boolean;
40
+ /**
41
+ * Parameter character
42
+ */
43
+ paramChar?: string;
44
+ }
45
+ /**
46
+ * Create a query builder with the given options
47
+ */
48
+ export declare function createQueryBuilder(options?: QueryBuilderFactoryOptions): {
49
+ sqlCompiler: any;
50
+ };
51
+ /**
52
+ * Quick query helper for simple queries
53
+ */
54
+ export declare function createQuickQuery(dialect?: string): {
55
+ /**
56
+ * Build a simple SELECT query
57
+ */
58
+ select: (table: string, where?: any) => any;
59
+ /**
60
+ * Build a simple INSERT query
61
+ */
62
+ insert: (table: string, values: Record<string, any>) => any;
63
+ /**
64
+ * Build a simple UPDATE query
65
+ */
66
+ update: (table: string, values: Record<string, any>, where: any) => any;
67
+ /**
68
+ * Build a simple DELETE query
69
+ */
70
+ delete: (table: string, where: any) => any;
71
+ /**
72
+ * Build a WHERE clause
73
+ */
74
+ where: (conditions: any) => any;
75
+ /**
76
+ * Build an ORDER BY clause
77
+ */
78
+ order: (order: any) => any;
79
+ /**
80
+ * Build a LIMIT/OFFSET clause
81
+ */
82
+ limitOffset: (limit?: number | string, offset?: number | string) => any;
83
+ };
84
+ /**
85
+ * Get or create the default query builder
86
+ */
87
+ export declare function getDefaultQueryBuilder(): {
88
+ /**
89
+ * Build a simple SELECT query
90
+ */
91
+ select: (table: string, where?: any) => any;
92
+ /**
93
+ * Build a simple INSERT query
94
+ */
95
+ insert: (table: string, values: Record<string, any>) => any;
96
+ /**
97
+ * Build a simple UPDATE query
98
+ */
99
+ update: (table: string, values: Record<string, any>, where: any) => any;
100
+ /**
101
+ * Build a simple DELETE query
102
+ */
103
+ delete: (table: string, where: any) => any;
104
+ /**
105
+ * Build a WHERE clause
106
+ */
107
+ where: (conditions: any) => any;
108
+ /**
109
+ * Build an ORDER BY clause
110
+ */
111
+ order: (order: any) => any;
112
+ /**
113
+ * Build a LIMIT/OFFSET clause
114
+ */
115
+ limitOffset: (limit?: number | string, offset?: number | string) => any;
116
+ };
117
+ /**
118
+ * Set the default query builder
119
+ */
120
+ export declare function setDefaultQueryBuilder(builder: ReturnType<typeof createQuickQuery>): void;
121
+ export { SqlCompiler as SqlCompilerDefault } from './sql-compiler';
@@ -33,10 +33,19 @@ var index_expression_builder_1 = require("./index-expression-builder");
33
33
  Object.defineProperty(exports, "IndexExpressionBuilder", { enumerable: true, get: function () { return index_expression_builder_1.IndexExpressionBuilder; } });
34
34
  Object.defineProperty(exports, "createIndexBuilder", { enumerable: true, get: function () { return index_expression_builder_1.createIndexBuilder; } });
35
35
  // Export modular query builders
36
+ //
37
+ // NOTE: `WhereBuilder`, `IncludeBuilder` and `UpdateBuilder` below are NOT on
38
+ // any runtime query path. Every dialect implements its own `buildWhereClause`,
39
+ // and eager loading goes through `src/models/eager-load.ts`. These are kept for
40
+ // callers that construct SQL fragments directly, but changing them has no
41
+ // effect on `findAll`/`update`/`include` behaviour - see
42
+ // `src/models/COVERAGE-AUDIT.md`. Prefer the model APIs.
43
+ /** @deprecated Not used by any query path; each dialect builds its own WHERE clause. */
36
44
  var where_builder_1 = require("./where-builder");
37
45
  Object.defineProperty(exports, "WhereBuilder", { enumerable: true, get: function () { return where_builder_1.WhereBuilder; } });
38
46
  Object.defineProperty(exports, "createWhereBuilder", { enumerable: true, get: function () { return where_builder_1.createWhereBuilder; } });
39
47
  Object.defineProperty(exports, "buildWhereClause", { enumerable: true, get: function () { return where_builder_1.buildWhereClause; } });
48
+ /** @deprecated Eager loading goes through `src/models/eager-load.ts`, not this builder. */
40
49
  var include_builder_1 = require("./include-builder");
41
50
  Object.defineProperty(exports, "IncludeBuilder", { enumerable: true, get: function () { return include_builder_1.IncludeBuilder; } });
42
51
  Object.defineProperty(exports, "createIncludeBuilder", { enumerable: true, get: function () { return include_builder_1.createIncludeBuilder; } });
@@ -54,6 +63,7 @@ Object.defineProperty(exports, "InsertBuilder", { enumerable: true, get: functio
54
63
  Object.defineProperty(exports, "createInsertBuilder", { enumerable: true, get: function () { return insert_builder_1.createInsertBuilder; } });
55
64
  Object.defineProperty(exports, "buildInsertQuery", { enumerable: true, get: function () { return insert_builder_1.buildInsertQuery; } });
56
65
  Object.defineProperty(exports, "buildBulkInsertQuery", { enumerable: true, get: function () { return insert_builder_1.buildBulkInsertQuery; } });
66
+ /** @deprecated Not used by `Model.update()`; each dialect builds its own UPDATE. */
57
67
  var update_builder_1 = require("./update-builder");
58
68
  Object.defineProperty(exports, "UpdateBuilder", { enumerable: true, get: function () { return update_builder_1.UpdateBuilder; } });
59
69
  Object.defineProperty(exports, "createUpdateBuilder", { enumerable: true, get: function () { return update_builder_1.createUpdateBuilder; } });
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Insert query builder for the ORM
3
+ * Handles INSERT queries including bulk inserts and upserts
4
+ */
5
+ export interface InsertQueryResult {
6
+ sql: string;
7
+ values: unknown[];
8
+ generatedIds?: unknown[];
9
+ }
10
+ export interface InsertBuilderOptions {
11
+ returning?: boolean | string[];
12
+ upsert?: boolean;
13
+ conflictFields?: string[];
14
+ dialect?: {
15
+ escape: (value: unknown) => string;
16
+ escapeId: (identifier: string) => string;
17
+ };
18
+ }
19
+ /**
20
+ * InsertBuilder class for building INSERT queries
21
+ */
22
+ export declare class InsertBuilder {
23
+ private options;
24
+ constructor(options?: InsertBuilderOptions);
25
+ /**
26
+ * Build an INSERT query for a single record
27
+ */
28
+ build(tableName: string, values: Record<string, unknown>): InsertQueryResult;
29
+ /**
30
+ * Build a bulk INSERT query
31
+ */
32
+ buildBulk(tableName: string, records: Record<string, unknown>[]): InsertQueryResult;
33
+ /**
34
+ * Build an upsert (INSERT ... ON CONFLICT) query
35
+ */
36
+ private buildUpsert;
37
+ /**
38
+ * Build a bulk upsert query
39
+ */
40
+ private buildBulkUpsert;
41
+ /**
42
+ * Build the RETURNING clause
43
+ */
44
+ private buildReturningClause;
45
+ /**
46
+ * Escape an identifier
47
+ */
48
+ private escapeId;
49
+ }
50
+ /**
51
+ * Create an InsertBuilder instance
52
+ */
53
+ export declare function createInsertBuilder(options?: InsertBuilderOptions): InsertBuilder;
54
+ /**
55
+ * Quick helper to build an INSERT query
56
+ */
57
+ export declare function buildInsertQuery(tableName: string, values: Record<string, unknown>, options?: InsertBuilderOptions): InsertQueryResult;
58
+ /**
59
+ * Quick helper to build a bulk INSERT query
60
+ */
61
+ export declare function buildBulkInsertQuery(tableName: string, records: Record<string, unknown>[], options?: InsertBuilderOptions): InsertQueryResult;
62
+ export default InsertBuilder;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Model Helpers
3
+ * Utilities for working with Model classes in builders
4
+ */
5
+ /**
6
+ * Get table name from a model class or string
7
+ */
8
+ export declare function getTableName(model: string | {
9
+ tableName?: string;
10
+ name?: string;
11
+ }): string;
12
+ /**
13
+ * Check if value is a model class (has tableName or name property)
14
+ */
15
+ export declare function isModel(value: any): boolean;
16
+ /**
17
+ * Get model name from model class
18
+ */
19
+ export declare function getModelName(model: string | {
20
+ tableName?: string;
21
+ name?: string;
22
+ }): string;
23
+ declare const _default: {
24
+ getTableName: typeof getTableName;
25
+ isModel: typeof isModel;
26
+ getModelName: typeof getModelName;
27
+ };
28
+ export default _default;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Order and Limit builder for the ORM
3
+ * Handles ORDER BY, LIMIT, and OFFSET clauses
4
+ */
5
+ import { Order, ModelStatic } from '../types';
6
+ export interface OrderLimitOptions {
7
+ replacements?: Record<string, unknown>;
8
+ model?: ModelStatic<any>;
9
+ dialect?: {
10
+ name?: string;
11
+ escapeId: (identifier: string) => string;
12
+ };
13
+ }
14
+ export interface OrderClauseResult {
15
+ sql: string;
16
+ }
17
+ /**
18
+ * OrderBuilder class for building ORDER BY clauses
19
+ */
20
+ export declare class OrderBuilder {
21
+ private options;
22
+ constructor(options?: OrderLimitOptions);
23
+ /**
24
+ * Build an ORDER BY clause from Order options
25
+ */
26
+ build(order: Order | undefined): OrderClauseResult;
27
+ /**
28
+ * Build a single order item
29
+ */
30
+ private buildOrderItem;
31
+ /**
32
+ * Escape an identifier
33
+ */
34
+ private escapeId;
35
+ }
36
+ /**
37
+ * LimitBuilder class for building LIMIT and OFFSET clauses
38
+ */
39
+ export declare class LimitOffsetBuilder {
40
+ private options;
41
+ constructor(options?: OrderLimitOptions);
42
+ /**
43
+ * Build LIMIT and OFFSET clauses
44
+ * Handles SQLite which requires LIMIT when using OFFSET
45
+ */
46
+ build(limit?: number | string, offset?: number | string): string;
47
+ }
48
+ /**
49
+ * Combined Order and Limit builder
50
+ */
51
+ export declare class OrderLimitBuilder {
52
+ private orderBuilder;
53
+ private limitOffsetBuilder;
54
+ constructor(options?: OrderLimitOptions);
55
+ /**
56
+ * Build ORDER BY clause
57
+ */
58
+ buildOrder(order: Order | undefined): OrderClauseResult;
59
+ /**
60
+ * Build LIMIT/OFFSET clause
61
+ */
62
+ buildLimitOffset(limit?: number | string, offset?: number | string): string;
63
+ /**
64
+ * Build both ORDER BY and LIMIT/OFFSET
65
+ */
66
+ build(order?: Order, limit?: number | string, offset?: number | string): string;
67
+ }
68
+ /**
69
+ * Create an OrderBuilder instance
70
+ */
71
+ export declare function createOrderBuilder(options?: OrderLimitOptions): OrderBuilder;
72
+ /**
73
+ * Create an OrderLimitBuilder instance
74
+ */
75
+ export declare function createOrderLimitBuilder(options?: OrderLimitOptions): OrderLimitBuilder;
76
+ /**
77
+ * Quick helper to build ORDER BY clause
78
+ */
79
+ export declare function buildOrder(order: Order, options?: OrderLimitOptions): OrderClauseResult;
80
+ /**
81
+ * Quick helper to build LIMIT/OFFSET clause
82
+ */
83
+ export declare function buildLimitOffset(limit?: number | string, offset?: number | string): string;
84
+ export default OrderLimitBuilder;