ts-prorm-orm 1.1.0 → 1.2.1

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 +95 -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 +713 -0
  239. package/dist/index.js +36 -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,572 @@
1
+ /**
2
+ * SQLite Advanced Features Module
3
+ *
4
+ * Comprehensive support for SQLite advanced features including:
5
+ * - Views (Standard and updatable)
6
+ * - Triggers (BEFORE/AFTER INSERT/UPDATE/DELETE, recursive triggers)
7
+ * - Foreign Tables (FTS5, carray, etc.)
8
+ * - Full-Text Search (FTS5) - MATCH, rank, highlighting
9
+ * - JSON JSON1 extension - JSON each, extract
10
+ * - Generated Columns - VIRTUAL, STORED
11
+ * - Indexes - Partial, UNIQUE, expression indexes
12
+ * - Window Functions - SQLite 3.25+ (ROW_NUMBER, etc.)
13
+ * - CTEs - WITH RECURSIVE
14
+ * - Common Table Expressions
15
+ * - VACUUM and ANALYZE - Optimization
16
+ * - Savepoints - Transaction management
17
+ * - UPSERT - INSERT ... ON CONFLICT
18
+ * - Table-valued Functions - json_each, fts5, etc.
19
+ * - Extensions - Loadable extensions
20
+ * - SQLite-specific Types - INTEGER PRIMARY KEY, affinity
21
+ * - Constraints - CHECK, UNIQUE, NOT NULL with ON CONFLICT
22
+ */
23
+ import { QueryResult } from './types';
24
+ import { SQLiteDialect } from './dialects/sqlite';
25
+ /**
26
+ * Trigger timing options
27
+ */
28
+ export type TriggerTiming = 'BEFORE' | 'AFTER' | 'INSTEAD OF';
29
+ /**
30
+ * Trigger event options
31
+ */
32
+ export type TriggerEvent = 'INSERT' | 'UPDATE' | 'DELETE';
33
+ /**
34
+ * FTS5 tokenizers
35
+ */
36
+ export type FTS5Tokenizer = 'porter' | 'unicode61' | 'trigram' | 'ascii';
37
+ /**
38
+ * Generated column storage type
39
+ */
40
+ export type GeneratedStorageType = 'VIRTUAL' | 'STORED';
41
+ /**
42
+ * Conflict resolution algorithms
43
+ */
44
+ export type ConflictAlgorithm = 'ROLLBACK' | 'ABORT' | 'FAIL' | 'IGNORE' | 'REPLACE';
45
+ /**
46
+ * SQLite Advanced Features Class
47
+ * Provides comprehensive SQLite-specific features beyond standard SQL
48
+ */
49
+ export declare class SQLiteAdvanced {
50
+ private dialect;
51
+ private connection;
52
+ constructor(dialect: SQLiteDialect);
53
+ /**
54
+ * Create a standard or updatable view
55
+ * SQLite views are read-only by default, but can be made updatable via INSTEAD OF triggers
56
+ */
57
+ createView(viewName: string, query: string, options?: {
58
+ replace?: boolean;
59
+ temporary?: boolean;
60
+ columns?: string[];
61
+ }): Promise<void>;
62
+ /**
63
+ * Drop a view
64
+ */
65
+ dropView(viewName: string, options?: {
66
+ ifExists?: boolean;
67
+ cascade?: boolean;
68
+ }): Promise<void>;
69
+ /**
70
+ * List all views in the database
71
+ */
72
+ listViews(schema?: string): Promise<string[]>;
73
+ /**
74
+ * Get view definition
75
+ */
76
+ getViewDefinition(viewName: string): Promise<string | null>;
77
+ /**
78
+ * Create a trigger
79
+ */
80
+ createTrigger(triggerName: string, timing: TriggerTiming, events: TriggerEvent[], tableName: string, body: string, options?: {
81
+ replace?: boolean;
82
+ forEachRow?: boolean;
83
+ whenCondition?: string;
84
+ }): Promise<void>;
85
+ /**
86
+ * Create an AFTER INSERT trigger
87
+ */
88
+ createAfterInsertTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
89
+ /**
90
+ * Create an AFTER UPDATE trigger
91
+ */
92
+ createAfterUpdateTrigger(triggerName: string, tableName: string, body: string, columns?: string[]): Promise<void>;
93
+ /**
94
+ * Create an AFTER DELETE trigger
95
+ */
96
+ createAfterDeleteTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
97
+ /**
98
+ * Create a BEFORE INSERT trigger
99
+ */
100
+ createBeforeInsertTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
101
+ /**
102
+ * Create a BEFORE UPDATE trigger
103
+ */
104
+ createBeforeUpdateTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
105
+ /**
106
+ * Create an INSTEAD OF trigger (for views)
107
+ */
108
+ createInsteadOfTrigger(triggerName: string, viewName: string, events: TriggerEvent[], body: string): Promise<void>;
109
+ /**
110
+ * Create a recursive trigger
111
+ */
112
+ createRecursiveTrigger(triggerName: string, tableName: string, insertBody: string, updateBody: string, deleteBody?: string): Promise<void>;
113
+ /**
114
+ * Drop a trigger
115
+ */
116
+ dropTrigger(triggerName: string, options?: {
117
+ ifExists?: boolean;
118
+ }): Promise<void>;
119
+ /**
120
+ * List all triggers
121
+ */
122
+ listTriggers(tableName?: string): Promise<string[]>;
123
+ /**
124
+ * Get trigger definition
125
+ */
126
+ getTriggerDefinition(triggerName: string): Promise<string | null>;
127
+ /**
128
+ * Create an FTS5 virtual table for full-text search
129
+ */
130
+ createFTS5Table(tableName: string, columns: {
131
+ name: string;
132
+ type?: string;
133
+ notindexed?: boolean;
134
+ }[], options?: {
135
+ tokenizer?: FTS5Tokenizer | {
136
+ name: FTS5Tokenizer;
137
+ options?: Record<string, unknown>;
138
+ };
139
+ content?: string;
140
+ contentRowId?: string;
141
+ prefix?: number[] | 'all';
142
+ }): Promise<void>;
143
+ /**
144
+ * Create FTS5 table with existing content table
145
+ */
146
+ createFTS5FromTable(ftsTableName: string, sourceTable: string, sourceColumns: string[], options?: {
147
+ tokenizer?: FTS5Tokenizer;
148
+ }): Promise<void>;
149
+ /**
150
+ * Drop an FTS5 table
151
+ */
152
+ dropFTS5Table(tableName: string, options?: {
153
+ ifExists?: boolean;
154
+ }): Promise<void>;
155
+ /**
156
+ * Perform full-text search
157
+ */
158
+ fullTextSearch(ftsTable: string, searchQuery: string, options?: {
159
+ columns?: string[];
160
+ orderBy?: {
161
+ column: string;
162
+ desc?: boolean;
163
+ }[];
164
+ limit?: number;
165
+ offset?: number;
166
+ highlight?: {
167
+ before?: string;
168
+ after?: string;
169
+ column?: string;
170
+ };
171
+ snippet?: {
172
+ before?: string;
173
+ after?: string;
174
+ columns?: string[];
175
+ maxTokens?: number;
176
+ };
177
+ bm25?: boolean;
178
+ }): Promise<QueryResult>;
179
+ /**
180
+ * Rebuild FTS5 index
181
+ */
182
+ rebuildFTS5(tableName: string): Promise<void>;
183
+ /**
184
+ * Optimize FTS5 index
185
+ */
186
+ optimizeFTS5(tableName: string): Promise<void>;
187
+ /**
188
+ * Parse JSON string
189
+ */
190
+ parseJson(jsonString: string): unknown;
191
+ /**
192
+ * Extract value from JSON
193
+ */
194
+ jsonExtract(jsonColumn: string, path: string): string;
195
+ /**
196
+ * Set value in JSON
197
+ */
198
+ jsonSet(jsonColumn: string, path: string, value: unknown): string;
199
+ /**
200
+ * Insert into JSON array
201
+ */
202
+ jsonArrayAppend(jsonColumn: string, path: string, value: unknown): string;
203
+ /**
204
+ * Remove from JSON
205
+ */
206
+ jsonRemove(jsonColumn: string, path: string): string;
207
+ /**
208
+ * Get JSON array length
209
+ */
210
+ jsonArrayLength(jsonColumn: string, path?: string): string;
211
+ /**
212
+ * Check if JSON contains value
213
+ *
214
+ * Note: SQLite's JSON1 extension has no `json_contains` function (that name is
215
+ * MySQL-specific); calling this would fail at runtime with "no such function:
216
+ * json_contains". Emulate it with json_extract() equality instead.
217
+ */
218
+ jsonContains(jsonColumn: string, value: unknown, path?: string): string;
219
+ /**
220
+ * Query JSON array as table
221
+ */
222
+ jsonEach(jsonColumn: string, path?: string): string;
223
+ /**
224
+ * Query JSON object as table
225
+ */
226
+ jsonTree(jsonColumn: string, path?: string): string;
227
+ /**
228
+ * Get JSON type
229
+ */
230
+ jsonType(jsonColumn: string, path?: string): string;
231
+ /**
232
+ * Valid JSON check
233
+ */
234
+ jsonValid(jsonColumn: string): string;
235
+ /**
236
+ * Query using json_each (table-valued function)
237
+ */
238
+ jsonEachQuery(jsonColumn: string, path?: string, options?: {
239
+ key?: string;
240
+ value?: string;
241
+ type?: string;
242
+ id?: string;
243
+ parent?: string;
244
+ }): Promise<QueryResult>;
245
+ /**
246
+ * Create table with generated columns
247
+ */
248
+ createTableWithGeneratedColumns(tableName: string, columns: {
249
+ name: string;
250
+ type: string;
251
+ primaryKey?: boolean;
252
+ notNull?: boolean;
253
+ defaultValue?: unknown;
254
+ generated?: {
255
+ expression: string;
256
+ type: GeneratedStorageType;
257
+ };
258
+ }[]): string;
259
+ /**
260
+ * Create a VIRTUAL generated column
261
+ */
262
+ createVirtualColumn(name: string, type: string, expression: string): string;
263
+ /**
264
+ * Create a STORED generated column
265
+ */
266
+ createStoredColumn(name: string, type: string, expression: string): string;
267
+ /**
268
+ * Create a UNIQUE index
269
+ */
270
+ createUniqueIndex(tableName: string, indexName: string, columns: string[]): Promise<void>;
271
+ /**
272
+ * Create a partial index (with WHERE clause)
273
+ */
274
+ createPartialIndex(tableName: string, indexName: string, columns: string[], whereCondition: string): Promise<void>;
275
+ /**
276
+ * Create an expression index
277
+ */
278
+ createExpressionIndex(tableName: string, indexName: string, expression: string): Promise<void>;
279
+ /**
280
+ * Create an index with IF NOT EXISTS
281
+ */
282
+ createIndexIfNotExists(tableName: string, indexName: string, columns: string[], options?: {
283
+ unique?: boolean;
284
+ where?: string;
285
+ }): Promise<void>;
286
+ /**
287
+ * List all indexes for a table
288
+ */
289
+ listIndexes(tableName: string): Promise<{
290
+ name: string;
291
+ unique: boolean;
292
+ partial: boolean;
293
+ }[]>;
294
+ /**
295
+ * Reindex a table or database
296
+ */
297
+ reindex(target?: string): Promise<void>;
298
+ /**
299
+ * Build a window function query
300
+ */
301
+ buildWindowFunction(functionName: string, options?: {
302
+ distinct?: boolean;
303
+ filter?: string;
304
+ over?: {
305
+ partitionBy?: string[];
306
+ orderBy?: {
307
+ column: string;
308
+ desc?: boolean;
309
+ }[];
310
+ rows?: {
311
+ start?: number;
312
+ end?: number;
313
+ };
314
+ range?: {
315
+ start?: number;
316
+ end?: number;
317
+ };
318
+ frame?: 'ROWS' | 'RANGE' | 'GROUPS';
319
+ };
320
+ }): string;
321
+ /**
322
+ * ROW_NUMBER() window function
323
+ */
324
+ rowNumber(options?: {
325
+ partitionBy?: string[];
326
+ orderBy?: {
327
+ column: string;
328
+ desc?: boolean;
329
+ }[];
330
+ }): string;
331
+ /**
332
+ * RANK() window function
333
+ */
334
+ rank(options?: {
335
+ partitionBy?: string[];
336
+ orderBy?: {
337
+ column: string;
338
+ desc?: boolean;
339
+ }[];
340
+ }): string;
341
+ /**
342
+ * DENSE_RANK() window function
343
+ */
344
+ denseRank(options?: {
345
+ partitionBy?: string[];
346
+ orderBy?: {
347
+ column: string;
348
+ desc?: boolean;
349
+ }[];
350
+ }): string;
351
+ /**
352
+ * NTILE(n) window function
353
+ */
354
+ ntile(n: number, options?: {
355
+ partitionBy?: string[];
356
+ orderBy?: {
357
+ column: string;
358
+ desc?: boolean;
359
+ }[];
360
+ }): string;
361
+ /**
362
+ * LAG() window function
363
+ */
364
+ lag(column: string, offset?: number, defaultValue?: unknown): string;
365
+ /**
366
+ * LEAD() window function
367
+ */
368
+ lead(column: string, offset?: number, defaultValue?: unknown): string;
369
+ /**
370
+ * FIRST_VALUE() window function
371
+ */
372
+ firstValue(column: string): string;
373
+ /**
374
+ * LAST_VALUE() window function
375
+ */
376
+ lastValue(column: string): string;
377
+ /**
378
+ * NTH_VALUE() window function
379
+ */
380
+ nthValue(column: string, n: number): string;
381
+ /**
382
+ * Build a CTE query
383
+ */
384
+ buildCTE(cteName: string, columns: string[], query: string, recursive?: boolean): string;
385
+ /**
386
+ * Build multiple CTEs
387
+ */
388
+ buildMultipleCTEs(ctes: {
389
+ name: string;
390
+ columns?: string[];
391
+ query: string;
392
+ }[], mainQuery: string, recursive?: boolean): string;
393
+ /**
394
+ * Execute a recursive CTE query
395
+ */
396
+ executeRecursiveCTE(cteName: string, baseQuery: string, recursiveQuery: string, finalQuery: string): Promise<QueryResult>;
397
+ /**
398
+ * Recursive CTE example: Generate sequence
399
+ */
400
+ generateSequence(start: number, end: number): string;
401
+ /**
402
+ * VACUUM the database
403
+ * Reclaims disk space and defragments the database
404
+ */
405
+ vacuum(options?: {
406
+ schema?: string;
407
+ shrinkTo?: number;
408
+ analyze?: boolean;
409
+ }): Promise<void>;
410
+ /**
411
+ * ANALYZE the database
412
+ * Updates statistics for the query optimizer
413
+ */
414
+ analyze(target?: string): Promise<void>;
415
+ /**
416
+ * ANALYZE with detailed information
417
+ */
418
+ analyzeDetailed(tableName?: string): Promise<QueryResult>;
419
+ /**
420
+ * Get table statistics
421
+ */
422
+ getTableStats(tableName: string): Promise<QueryResult>;
423
+ /**
424
+ * Get index statistics
425
+ */
426
+ getIndexStats(indexName: string): Promise<QueryResult>;
427
+ /**
428
+ * Create a savepoint
429
+ */
430
+ savepoint(savepointName: string): Promise<void>;
431
+ /**
432
+ * Release a savepoint
433
+ */
434
+ releaseSavepoint(savepointName: string): Promise<void>;
435
+ /**
436
+ * Rollback to a savepoint
437
+ */
438
+ rollbackToSavepoint(savepointName: string): Promise<void>;
439
+ /**
440
+ * Execute within a savepoint
441
+ */
442
+ withSavepoint<T>(savepointName: string, fn: () => Promise<T>): Promise<T>;
443
+ /**
444
+ * Build an UPSERT query
445
+ */
446
+ buildUpsertQuery(tableName: string, columns: string[], conflictColumns: string[], updateColumns?: string[], options?: {
447
+ ignore?: boolean;
448
+ replace?: boolean;
449
+ }): string;
450
+ /**
451
+ * Perform an upsert
452
+ */
453
+ upsert(tableName: string, values: Record<string, unknown>, conflictColumns: string[], updateColumns?: string[]): Promise<QueryResult>;
454
+ /**
455
+ * Use json_each as table-valued function
456
+ */
457
+ jsonEachAsTable(jsonColumn: string, path?: string): Promise<QueryResult>;
458
+ /**
459
+ * Use json_tree as table-valued function
460
+ */
461
+ jsonTreeAsTable(jsonColumn: string, path?: string): Promise<QueryResult>;
462
+ /**
463
+ * Generate series using recursive CTE
464
+ */
465
+ generateSeries(start: number, end: number, step?: number): Promise<QueryResult>;
466
+ /**
467
+ * Use fts5 as table-valued function
468
+ */
469
+ fts5Search(ftsTable: string, query: string): Promise<QueryResult>;
470
+ /**
471
+ * Load a SQLite extension
472
+ */
473
+ loadExtension(extensionPath: string): void;
474
+ /**
475
+ * Enable/disable extension loading
476
+ */
477
+ setExtensionLoading(enabled: boolean): void;
478
+ /**
479
+ * Get list of loaded extensions
480
+ */
481
+ getLoadedExtensions(): string[];
482
+ /**
483
+ * Create INTEGER PRIMARY KEY column definition
484
+ */
485
+ createIntegerPrimaryKey(columnName: string, autoIncrement?: boolean): string;
486
+ /**
487
+ * Create column with specific affinity
488
+ */
489
+ createColumnWithAffinity(columnName: string, affinity: 'TEXT' | 'INTEGER' | 'REAL' | 'BLOB' | 'NUMERIC'): string;
490
+ /**
491
+ * Get column affinity
492
+ */
493
+ getColumnAffinity(type: string): string;
494
+ /**
495
+ * Create CHECK constraint
496
+ */
497
+ createCheckConstraint(columnName: string, condition: string): string;
498
+ /**
499
+ * Create table with ON CONFLICT clause
500
+ */
501
+ createTableWithOnConflict(tableName: string, columns: {
502
+ name: string;
503
+ type: string;
504
+ constraints?: string[];
505
+ }[], conflictAlgorithm?: ConflictAlgorithm): string;
506
+ /**
507
+ * Add ON CONFLICT to column definition
508
+ */
509
+ addOnConflictClause(constraint: string, conflictAlgorithm: ConflictAlgorithm): string;
510
+ /**
511
+ * Create UNIQUE constraint
512
+ */
513
+ createUniqueConstraint(columns: string[]): string;
514
+ /**
515
+ * Create NOT NULL constraint with ON CONFLICT
516
+ */
517
+ createNotNullConstraint(columnName: string, conflictAlgorithm?: ConflictAlgorithm): string;
518
+ /**
519
+ * Execute a PRAGMA command
520
+ */
521
+ pragma(pragmaName: string, value?: unknown): Promise<QueryResult>;
522
+ /**
523
+ * Get database info
524
+ */
525
+ getDatabaseInfo(): Promise<{
526
+ schemaVersion: number;
527
+ userVersion: number;
528
+ foreignKeys: boolean;
529
+ journalingMode: string;
530
+ synchronous: string;
531
+ cacheSize: number;
532
+ pageSize: number;
533
+ }>;
534
+ /**
535
+ * Set database options
536
+ */
537
+ setDatabaseOptions(options: {
538
+ foreignKeys?: boolean;
539
+ journalingMode?: 'DELETE' | 'TRUNCATE' | 'PERSIST' | 'MEMORY' | 'WAL' | 'OFF';
540
+ synchronous?: 'OFF' | 'NORMAL' | 'FULL' | 'EXTRA';
541
+ cacheSize?: number;
542
+ }): Promise<void>;
543
+ /**
544
+ * Get table info using PRAGMA
545
+ */
546
+ getTableInfo(tableName: string): Promise<QueryResult>;
547
+ /**
548
+ * Get index list for table
549
+ */
550
+ getIndexList(tableName: string): Promise<QueryResult>;
551
+ /**
552
+ * Get foreign key list for table
553
+ */
554
+ getForeignKeyList(tableName: string): Promise<QueryResult>;
555
+ /**
556
+ * Escape identifier
557
+ */
558
+ escapeId(identifier: unknown): string;
559
+ /**
560
+ * Escape a JSON path (or any other value) for safe interpolation inside a
561
+ * single-quoted SQL string literal, by doubling embedded single quotes.
562
+ */
563
+ private escapePathLiteral;
564
+ /**
565
+ * Escape value
566
+ */
567
+ escape(value: unknown): string;
568
+ }
569
+ /**
570
+ * Create SQLiteAdvanced instance from dialect
571
+ */
572
+ export declare function createSQLiteAdvanced(dialect: SQLiteDialect): SQLiteAdvanced;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Stream utilities for ORM operations
3
+ * Provides transform streams for streaming data processing
4
+ */
5
+ export { MapTransform, FilterTransform, BatchTransform, StreamIterator, MapTransformOptions, FilterTransformOptions, BatchTransformOptions, StreamIteratorOptions, } from './transforms';
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Transform streams for ORM operations
3
+ * Provides MapTransform and FilterTransform for streaming data processing
4
+ */
5
+ import { Transform, TransformOptions } from 'stream';
6
+ /**
7
+ * Options for MapTransform
8
+ */
9
+ export interface MapTransformOptions<T = any, R = any> extends TransformOptions {
10
+ /**
11
+ * Transform function to apply to each record
12
+ */
13
+ mapFn: (record: T) => R | Promise<R>;
14
+ /**
15
+ * Number of records to buffer (default: 1000)
16
+ */
17
+ highWaterMark?: number;
18
+ }
19
+ /**
20
+ * Transform stream that maps each record through a transform function
21
+ * Supports both synchronous and asynchronous transform functions
22
+ */
23
+ export declare class MapTransform<T = any, R = any> extends Transform {
24
+ private mapFn;
25
+ constructor(options: MapTransformOptions<T, R>);
26
+ /**
27
+ * Transform a chunk (record)
28
+ */
29
+ _transform(record: T, encoding: string, callback: (error?: Error | null, data?: R) => void): Promise<void>;
30
+ }
31
+ /**
32
+ * Options for FilterTransform
33
+ */
34
+ export interface FilterTransformOptions<T = any> extends TransformOptions {
35
+ /**
36
+ * Filter function to determine if a record should be included
37
+ */
38
+ filterFn: (record: T) => boolean | Promise<boolean>;
39
+ /**
40
+ * Number of records to buffer (default: 1000)
41
+ */
42
+ highWaterMark?: number;
43
+ }
44
+ /**
45
+ * Transform stream that filters records based on a predicate function
46
+ * Supports both synchronous and asynchronous filter functions
47
+ */
48
+ export declare class FilterTransform<T = any> extends Transform {
49
+ private filterFn;
50
+ constructor(options: FilterTransformOptions<T>);
51
+ /**
52
+ * Transform and filter a chunk (record)
53
+ */
54
+ _transform(record: T, encoding: string, callback: (error?: Error | null, data?: T) => void): Promise<void>;
55
+ }
56
+ /**
57
+ * Options for BatchTransform
58
+ */
59
+ export interface BatchTransformOptions<T = any> extends TransformOptions {
60
+ /**
61
+ * Batch size for grouping records
62
+ */
63
+ batchSize: number;
64
+ /**
65
+ * Number of records to buffer (default: 1000)
66
+ */
67
+ highWaterMark?: number;
68
+ }
69
+ /**
70
+ * Transform stream that batches records into arrays
71
+ */
72
+ export declare class BatchTransform<T = any> extends Transform {
73
+ private batchSize;
74
+ private buffer;
75
+ constructor(options: BatchTransformOptions<T>);
76
+ /**
77
+ * Transform - batch records
78
+ */
79
+ _transform(record: T, encoding: string, callback: (error?: Error | null, data?: T[]) => void): void;
80
+ /**
81
+ * Flush remaining records in buffer
82
+ */
83
+ _flush(callback: (error?: Error | null, data?: T[]) => void): void;
84
+ }
85
+ /**
86
+ * Options for StreamIterator
87
+ */
88
+ export interface StreamIteratorOptions<T = any> extends TransformOptions {
89
+ /**
90
+ * Number of records to buffer (default: 1000)
91
+ */
92
+ highWaterMark?: number;
93
+ }
94
+ /**
95
+ * Transform stream that converts a readable stream into an async iterator
96
+ * Allows using stream.pipe(new StreamIterator()) and then for await...of
97
+ */
98
+ export declare class StreamIterator<T = any> extends Transform {
99
+ private buffer;
100
+ private waiting;
101
+ private ended;
102
+ private error;
103
+ constructor(options?: StreamIteratorOptions<T>);
104
+ /**
105
+ * Transform a chunk
106
+ */
107
+ _transform(chunk: T, encoding: string, callback: (error?: Error | null, data?: T) => void): void;
108
+ /**
109
+ * Handle stream end
110
+ */
111
+ _flush(callback: (error?: Error | null, data?: T) => void): void;
112
+ /**
113
+ * Process waiting promises
114
+ */
115
+ private _processWaiting;
116
+ /**
117
+ * Create async iterator from this transform stream
118
+ */
119
+ [Symbol.asyncIterator](): NodeJS.AsyncIterator<any, any, unknown>;
120
+ }