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,387 @@
1
+ /**
2
+ * Foreign Key Constraints and Column Options Decorators for the ORM.
3
+ *
4
+ * Provides decorators for:
5
+ * - FK cascade options (ON DELETE, ON UPDATE)
6
+ * - FK references definition
7
+ * - Deferrable constraints
8
+ * - Unique constraints
9
+ * - Auto-increment / Identity configuration
10
+ * - Generated columns (PostgreSQL 12+)
11
+ * - Exclusion constraints
12
+ *
13
+ * Usage Examples:
14
+ *
15
+ * // Foreign Key cascade options
16
+ * @OnDelete('CASCADE')
17
+ * @OnUpdate('CASCADE')
18
+ * @References({ model: Role, key: 'id' })
19
+ * roleId: number;
20
+ *
21
+ * // Multiple FK options with deferrable
22
+ * @OnDelete('RESTRICT')
23
+ * @OnUpdate('SET NULL')
24
+ * @References({
25
+ * model: User,
26
+ * key: 'id',
27
+ * deferrable: 'INITIALLY DEFERRED'
28
+ * })
29
+ * assignedTo: number;
30
+ *
31
+ * // Deferrable constraint
32
+ * @Deferrable('INITIALLY DEFERRED')
33
+ * @Unique('user_email')
34
+ * email: string;
35
+ *
36
+ * // AutoIncrement with custom settings
37
+ * @AutoIncrement({
38
+ * start: 1000,
39
+ * increment: 1,
40
+ * cache: 1000,
41
+ * minValue: 1,
42
+ * maxValue: 999999,
43
+ * cycle: false,
44
+ * sequence: 'user_id_seq'
45
+ * })
46
+ * id: number;
47
+ *
48
+ * // Sequence-based identity (PostgreSQL)
49
+ * @Identity({
50
+ * type: 'ALWAYS',
51
+ * start: 1,
52
+ * increment: 1
53
+ * })
54
+ * id: number;
55
+ *
56
+ * // Generated column (PostgreSQL 12+)
57
+ * @GeneratedAlways({
58
+ * as: 'id + 1',
59
+ * stored: true
60
+ * })
61
+ * sequenceNumber: number;
62
+ *
63
+ * // Exclusion constraint (PostgreSQL)
64
+ * @Exclusion({
65
+ * using: 'daterange',
66
+ * elements: ['daterange WITH &&']
67
+ * })
68
+ * bookingRange: [Date, Date];
69
+ */
70
+ import 'reflect-metadata';
71
+ /**
72
+ * Foreign key action types for ON DELETE / ON UPDATE
73
+ */
74
+ export type ForeignKeyAction = 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'NO ACTION';
75
+ /**
76
+ * Deferrable type for foreign key constraints
77
+ */
78
+ export type DeferrableType = 'NOT DEFERRABLE' | 'INITIALLY IMMEDIATE' | 'INITIALLY DEFERRED';
79
+ /**
80
+ * Identity type for auto-increment columns
81
+ */
82
+ export type IdentityType = 'ALWAYS' | 'BY DEFAULT';
83
+ /**
84
+ * Options for @References decorator
85
+ */
86
+ export interface ReferencesOptions {
87
+ /** Referenced model (class or string model name) */
88
+ model: Function | string;
89
+ /** Referenced column key (default: 'id') */
90
+ key?: string;
91
+ /** FK constraint name (auto-generated if not provided) */
92
+ name?: string;
93
+ /** Make constraint deferrable */
94
+ deferrable?: DeferrableType;
95
+ }
96
+ /**
97
+ * Options for @Deferrable decorator
98
+ */
99
+ export interface DeferrableOptions {
100
+ /** Deferrable type */
101
+ deferrable: DeferrableType;
102
+ /** Override for specific operation */
103
+ deferFor?: DeferrableType;
104
+ }
105
+ /**
106
+ * Options for @AutoIncrement decorator
107
+ */
108
+ export interface AutoIncrementOptions {
109
+ /** Starting value for the sequence */
110
+ start?: number;
111
+ /** Increment value */
112
+ increment?: number;
113
+ /** Number of values to cache */
114
+ cache?: number;
115
+ /** Minimum value */
116
+ minValue?: number;
117
+ /** Maximum value */
118
+ maxValue?: number;
119
+ /** Whether to cycle when exhausted */
120
+ cycle?: boolean;
121
+ /** Custom sequence name (PostgreSQL) */
122
+ sequence?: string;
123
+ }
124
+ /**
125
+ * Options for @Identity decorator (PostgreSQL sequences)
126
+ */
127
+ export interface IdentityOptions {
128
+ /** Identity type: ALWAYS or BY DEFAULT */
129
+ type?: IdentityType;
130
+ /** Starting value */
131
+ start?: number;
132
+ /** Increment value */
133
+ increment?: number;
134
+ /** Cache size */
135
+ cache?: number;
136
+ /** Minimum value */
137
+ min?: number;
138
+ /** Maximum value */
139
+ max?: number;
140
+ /** Whether to cycle */
141
+ cycle?: boolean;
142
+ }
143
+ /**
144
+ * Options for @GeneratedAlways decorator (PostgreSQL 12+)
145
+ */
146
+ export interface GeneratedAlwaysOptions {
147
+ /** SQL expression for generated column */
148
+ as: string;
149
+ /** Whether column is stored (vs virtual) */
150
+ stored?: boolean;
151
+ /** Column type (required for stored generated columns) */
152
+ type?: string;
153
+ }
154
+ /**
155
+ * Options for @Exclusion decorator (PostgreSQL)
156
+ */
157
+ export interface ExclusionOptions {
158
+ /** Index using method (gist, btree, etc.) */
159
+ using?: string;
160
+ /** Exclusion elements with operators */
161
+ elements: string[];
162
+ /** Constraint name */
163
+ name?: string;
164
+ }
165
+ /**
166
+ * Metadata stored on property
167
+ */
168
+ export interface ForeignKeyMetadata {
169
+ propertyName: string;
170
+ onDelete?: ForeignKeyAction;
171
+ onUpdate?: ForeignKeyAction;
172
+ references?: ReferencesOptions;
173
+ deferrable?: DeferrableOptions;
174
+ }
175
+ export interface UniqueMetadata {
176
+ propertyName: string;
177
+ constraintName?: string;
178
+ }
179
+ export interface AutoIncrementMetadata {
180
+ propertyName: string;
181
+ options: AutoIncrementOptions;
182
+ }
183
+ export interface IdentityMetadata {
184
+ propertyName: string;
185
+ options: IdentityOptions;
186
+ }
187
+ export interface GeneratedAlwaysMetadata {
188
+ propertyName: string;
189
+ options: GeneratedAlwaysOptions;
190
+ }
191
+ export interface ExclusionMetadata {
192
+ propertyName: string;
193
+ options: ExclusionOptions;
194
+ }
195
+ /**
196
+ * @OnDelete - Specify foreign key ON DELETE action
197
+ *
198
+ * @OnDelete('CASCADE')
199
+ * roleId: number;
200
+ *
201
+ * @param action - The delete action (CASCADE, RESTRICT, SET NULL, SET DEFAULT, NO ACTION)
202
+ */
203
+ export declare function OnDelete(action: ForeignKeyAction): PropertyDecorator;
204
+ /**
205
+ * @OnUpdate - Specify foreign key ON UPDATE action
206
+ *
207
+ * @OnUpdate('CASCADE')
208
+ * roleId: number;
209
+ *
210
+ * @param action - The update action (CASCADE, RESTRICT, SET NULL, SET DEFAULT, NO ACTION)
211
+ */
212
+ export declare function OnUpdate(action: ForeignKeyAction): PropertyDecorator;
213
+ /**
214
+ * @References - Define foreign key references
215
+ *
216
+ * @References({ model: Role, key: 'id' })
217
+ * roleId: number;
218
+ *
219
+ * @References({
220
+ * model: User,
221
+ * key: 'id',
222
+ * deferrable: 'INITIALLY DEFERRED'
223
+ * })
224
+ * assignedTo: number;
225
+ *
226
+ * @param options - Reference configuration
227
+ */
228
+ export declare function References(options: ReferencesOptions): PropertyDecorator;
229
+ /**
230
+ * @Deferrable - Make constraint deferrable
231
+ *
232
+ * @Deferrable('INITIALLY DEFERRED')
233
+ * email: string;
234
+ *
235
+ * // With operation override
236
+ * @Deferrable({
237
+ * deferrable: 'INITIALLY IMMEDIATE',
238
+ * deferFor: 'NOT DEFERRABLE'
239
+ * })
240
+ * departmentId: number;
241
+ *
242
+ * @param options - Deferrable configuration (string or object)
243
+ */
244
+ export declare function Deferrable(options: DeferrableType | DeferrableOptions): PropertyDecorator;
245
+ /**
246
+ * @Unique - Add unique constraint to a column
247
+ *
248
+ * @Unique('user_email')
249
+ * email: string;
250
+ *
251
+ * @param name - Optional constraint name
252
+ */
253
+ export declare function Unique(name?: string): PropertyDecorator;
254
+ /**
255
+ * @AutoIncrement - Configure auto-increment with custom settings
256
+ *
257
+ * @AutoIncrement({
258
+ * start: 1000,
259
+ * increment: 1,
260
+ * cache: 1000,
261
+ * minValue: 1,
262
+ * maxValue: 999999,
263
+ * cycle: false,
264
+ * sequence: 'user_id_seq'
265
+ * })
266
+ * id: number;
267
+ *
268
+ * @param options - Auto-increment configuration
269
+ */
270
+ export declare function AutoIncrement(options: AutoIncrementOptions): PropertyDecorator;
271
+ /**
272
+ * @Identity - Configure sequence-based identity (PostgreSQL)
273
+ *
274
+ * @Identity({
275
+ * type: 'ALWAYS',
276
+ * start: 1,
277
+ * increment: 1
278
+ * })
279
+ * id: number;
280
+ *
281
+ * @param options - Identity configuration
282
+ */
283
+ export declare function Identity(options: IdentityOptions): PropertyDecorator;
284
+ /**
285
+ * @GeneratedAlways - Define a generated column (PostgreSQL 12+)
286
+ *
287
+ * @GeneratedAlways({
288
+ * as: 'id + 1',
289
+ * stored: true
290
+ * })
291
+ * sequenceNumber: number;
292
+ *
293
+ * @param options - Generated column configuration
294
+ */
295
+ export declare function GeneratedAlways(options: GeneratedAlwaysOptions): PropertyDecorator;
296
+ /**
297
+ * @Exclusion - Define exclusion constraint (PostgreSQL)
298
+ *
299
+ * @Exclusion({
300
+ * using: 'daterange',
301
+ * elements: ['daterange WITH &&']
302
+ * })
303
+ * bookingRange: [Date, Date];
304
+ *
305
+ * @param options - Exclusion constraint configuration
306
+ */
307
+ export declare function Exclusion(options: ExclusionOptions): PropertyDecorator;
308
+ /**
309
+ * Get foreign key metadata for a property.
310
+ */
311
+ export declare function getForeignKeyMetadata(target: object, propertyKey: string): ForeignKeyMetadata | undefined;
312
+ /**
313
+ * Get all foreign key metadata for a class.
314
+ */
315
+ export declare function getAllForeignKeyMetadata(target: object): Map<string, ForeignKeyMetadata>;
316
+ /**
317
+ * Get unique metadata for a property.
318
+ */
319
+ export declare function getUniqueMetadata(target: object, propertyKey: string): UniqueMetadata | undefined;
320
+ /**
321
+ * Get all unique metadata for a class.
322
+ */
323
+ export declare function getAllUniqueMetadata(target: object): Map<string, UniqueMetadata>;
324
+ /**
325
+ * Get auto-increment metadata for a property.
326
+ */
327
+ export declare function getAutoIncrementMetadata(target: object, propertyKey: string): AutoIncrementMetadata | undefined;
328
+ /**
329
+ * Get all auto-increment metadata for a class.
330
+ */
331
+ export declare function getAllAutoIncrementMetadata(target: object): Map<string, AutoIncrementMetadata>;
332
+ /**
333
+ * Get identity metadata for a property.
334
+ */
335
+ export declare function getIdentityMetadata(target: object, propertyKey: string): IdentityMetadata | undefined;
336
+ /**
337
+ * Get all identity metadata for a class.
338
+ */
339
+ export declare function getAllIdentityMetadata(target: object): Map<string, IdentityMetadata>;
340
+ /**
341
+ * Get generated always metadata for a property.
342
+ */
343
+ export declare function getGeneratedAlwaysMetadata(target: object, propertyKey: string): GeneratedAlwaysMetadata | undefined;
344
+ /**
345
+ * Get all generated always metadata for a class.
346
+ */
347
+ export declare function getAllGeneratedAlwaysMetadata(target: object): Map<string, GeneratedAlwaysMetadata>;
348
+ /**
349
+ * Get exclusion metadata for a property.
350
+ */
351
+ export declare function getExclusionMetadata(target: object, propertyKey: string): ExclusionMetadata | undefined;
352
+ /**
353
+ * Get all exclusion metadata for a class.
354
+ */
355
+ export declare function getAllExclusionMetadata(target: object): Map<string, ExclusionMetadata>;
356
+ /**
357
+ * Build ON DELETE SQL clause.
358
+ */
359
+ export declare function buildOnDeleteSQL(action: ForeignKeyAction): string;
360
+ /**
361
+ * Build ON UPDATE SQL clause.
362
+ */
363
+ export declare function buildOnUpdateSQL(action: ForeignKeyAction): string;
364
+ /**
365
+ * Build REFERENCES SQL clause.
366
+ */
367
+ export declare function buildReferencesSQL(options: ReferencesOptions): string;
368
+ /**
369
+ * Build DEFERRABLE SQL clause.
370
+ */
371
+ export declare function buildDeferrableSQL(options: DeferrableOptions): string;
372
+ /**
373
+ * Build AUTO_INCREMENT / IDENTITY SQL.
374
+ */
375
+ export declare function buildAutoIncrementSQL(options: AutoIncrementOptions): string;
376
+ /**
377
+ * Build IDENTITY SQL (PostgreSQL).
378
+ */
379
+ export declare function buildIdentitySQL(options: IdentityOptions): string;
380
+ /**
381
+ * Build GENERATED ALWAYS SQL (PostgreSQL 12+).
382
+ */
383
+ export declare function buildGeneratedAlwaysSQL(options: GeneratedAlwaysOptions): string;
384
+ /**
385
+ * Build EXCLUSION constraint SQL (PostgreSQL).
386
+ */
387
+ export declare function buildExclusionSQL(tableName: string, options: ExclusionOptions): string;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @ForeignTable class decorator
3
+ * for PostgreSQL FOREIGN TABLE with Redis caching
4
+ */
5
+ import type { Prorm } from '../prorm';
6
+ export interface RedisClient {
7
+ set(key: string, value: string, mode?: string, ttl?: number): Promise<string>;
8
+ get(key: string): Promise<string | null>;
9
+ del(key: string): Promise<number>;
10
+ exists(key: string): Promise<number>;
11
+ expire(key: string, seconds: number): Promise<number>;
12
+ ttl(key: string): Promise<number>;
13
+ multi(): RedisMulti;
14
+ }
15
+ export interface RedisMulti {
16
+ set(key: string, value: string, mode?: string, ttl?: number): RedisMulti;
17
+ get(key: string): RedisMulti;
18
+ del(key: string): RedisMulti;
19
+ expire(key: string, seconds: number): RedisMulti;
20
+ exec(): Promise<Array<[Error | null, any]>>;
21
+ }
22
+ export interface ForeignTableCacheOptions {
23
+ redis?: boolean;
24
+ ttl?: number;
25
+ keyPrefix?: string;
26
+ }
27
+ export interface ForeignTableUserMapping {
28
+ user: string;
29
+ options?: Record<string, string>;
30
+ }
31
+ export interface ForeignTableOptions {
32
+ server: string;
33
+ foreignSchema?: string;
34
+ options?: Record<string, string>;
35
+ userMappings?: ForeignTableUserMapping[];
36
+ columns?: Record<string, {
37
+ type: string;
38
+ options?: string;
39
+ }>;
40
+ cache?: ForeignTableCacheOptions;
41
+ ifNotExists?: boolean;
42
+ schema?: string;
43
+ }
44
+ export declare function setForeignTableRedisClient(client: RedisClient): void;
45
+ export declare function getForeignTableRedisClient(): RedisClient | null;
46
+ export declare function ForeignTable(options: ForeignTableOptions): (target: Function) => void;
47
+ export declare function getForeignTableOptions(target: Function): ForeignTableOptions | undefined;
48
+ export declare function isForeignTable(target: Function): boolean;
49
+ export declare function cacheForeignTableOptions(target: Function, options?: ForeignTableOptions): Promise<void>;
50
+ export declare function getCachedForeignTableOptions(target: Function): Promise<ForeignTableOptions | null>;
51
+ export declare function invalidateForeignTableCache(target: Function): Promise<void>;
52
+ export declare function warmupForeignTableCache(target: Function, prorm: Prorm): Promise<void>;
53
+ export declare const ForeignTableRegistry: {
54
+ getOptions(target: Function): ForeignTableOptions | undefined;
55
+ isForeignTable(target: Function): boolean;
56
+ getSQL(target: Function): string;
57
+ };
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Generated Column decorators for the ORM.
3
+ *
4
+ * Supports database-level computed columns:
5
+ * - VIRTUAL: Computed on read, not stored in DB
6
+ * - STORED: Computed on write, physically stored in DB
7
+ * - IDENTITY: Auto-increment primary key configuration
8
+ *
9
+ * Usage:
10
+ *
11
+ * // Virtual computed column (default)
12
+ * @Generated()
13
+ * get fullName() {
14
+ * return `${this.firstName} ${this.lastName}`;
15
+ * }
16
+ *
17
+ * // Stored computed column
18
+ * @Generated('stored')
19
+ * get total() {
20
+ * return this.price * this.quantity;
21
+ * }
22
+ *
23
+ * // With custom expression
24
+ * @Generated({
25
+ * as: 'CONCAT(first_name, " ", last_name)',
26
+ * type: 'varchar(255)',
27
+ * stored: true
28
+ * })
29
+ * fullName: string;
30
+ *
31
+ * // Identity/Auto-increment configuration
32
+ * @Generated({
33
+ * identity: true,
34
+ * start: 1,
35
+ * increment: 1,
36
+ * cache: 1000
37
+ * })
38
+ * id: number;
39
+ */
40
+ import 'reflect-metadata';
41
+ /**
42
+ * Generated column type - how the column value is computed
43
+ */
44
+ export type GeneratedType = 'virtual' | 'stored';
45
+ /**
46
+ * Supported SQL dialect identifiers used throughout the ORM
47
+ */
48
+ export type GeneratedDialect = 'mysql' | 'mariadb' | 'postgres' | 'mssql' | 'oracle' | 'sqlite';
49
+ /**
50
+ * Options for @Generated decorator
51
+ */
52
+ export interface GeneratedOptions {
53
+ /**
54
+ * Column type (required for stored/generated columns)
55
+ * Example: 'varchar(255)', 'integer', 'decimal(10,2)'
56
+ */
57
+ type?: string;
58
+ /**
59
+ * SQL expression for the generated column
60
+ * Example: 'CONCAT(first_name, " ", last_name)', 'price * quantity'
61
+ */
62
+ as?: string;
63
+ /**
64
+ * Whether the column is stored or virtual
65
+ * - 'virtual' (default): Computed on read, not stored in DB
66
+ * - 'stored': Computed on write, physically stored in DB
67
+ */
68
+ stored?: boolean;
69
+ /**
70
+ * Enable identity/auto-increment for the column
71
+ * PostgreSQL: IDENTITY, MySQL: AUTO_INCREMENT
72
+ */
73
+ identity?: boolean;
74
+ /**
75
+ * Starting value for identity sequence
76
+ * PostgreSQL: START WITH, MySQL: auto_increment
77
+ */
78
+ start?: number;
79
+ /**
80
+ * Increment value for identity sequence
81
+ * PostgreSQL: INCREMENT BY, MySQL: auto_increment_increment
82
+ */
83
+ increment?: number;
84
+ /**
85
+ * Number of sequence values to cache
86
+ * PostgreSQL: CACHE, MySQL: auto_increment_cache_size
87
+ */
88
+ cache?: number;
89
+ /**
90
+ * Minimum value for the sequence
91
+ */
92
+ min?: number;
93
+ /**
94
+ * Maximum value for the sequence
95
+ */
96
+ max?: number;
97
+ /**
98
+ * Whether the sequence cycles when exhausted
99
+ */
100
+ cycle?: boolean;
101
+ /**
102
+ * Custom sequence name (PostgreSQL specific)
103
+ */
104
+ sequence?: string;
105
+ }
106
+ /**
107
+ * Metadata stored on the target (class or property)
108
+ */
109
+ export interface GeneratedMetadata {
110
+ /**
111
+ * The property name this decorator is applied to
112
+ */
113
+ propertyName?: string;
114
+ /**
115
+ * Whether it's a getter (for class property getters)
116
+ */
117
+ isGetter?: boolean;
118
+ /**
119
+ * Generated column options
120
+ */
121
+ options: GeneratedOptions;
122
+ }
123
+ /**
124
+ * Decorator for generated/computed columns.
125
+ *
126
+ * Usage with getter (for computed properties):
127
+ *
128
+ * class User extends Model {
129
+ * @Generated()
130
+ * get fullName() {
131
+ * return `${this.firstName} ${this.lastName}`;
132
+ * }
133
+ * }
134
+ *
135
+ * Usage with options:
136
+ *
137
+ * @Generated({
138
+ * as: 'CONCAT(first_name, " ", last_name)',
139
+ * type: 'varchar(255)',
140
+ * stored: true
141
+ * })
142
+ * fullName: string;
143
+ *
144
+ * @param options - Generated column options or just storage type
145
+ */
146
+ export declare function Generated(options?: GeneratedOptions | GeneratedType): PropertyDecorator;
147
+ /**
148
+ * Decorator specifically for identity/auto-increment columns.
149
+ *
150
+ * Usage:
151
+ *
152
+ * @Generated({
153
+ * identity: true,
154
+ * start: 1,
155
+ * increment: 1,
156
+ * cache: 1000
157
+ * })
158
+ * id: number;
159
+ *
160
+ * @param options - Identity configuration options
161
+ */
162
+ export declare function Identity(options: GeneratedOptions): PropertyDecorator;
163
+ /**
164
+ * Get generated column metadata for a property.
165
+ *
166
+ * @param target - The target class or prototype
167
+ * @param propertyKey - The property name
168
+ * @returns The generated metadata or undefined
169
+ */
170
+ export declare function getGeneratedMetadata(target: object, propertyKey: string): GeneratedMetadata | undefined;
171
+ /**
172
+ * Get identity metadata for a property.
173
+ *
174
+ * @param target - The target class or prototype
175
+ * @param propertyKey - The property name
176
+ * @returns The identity metadata or undefined
177
+ */
178
+ export declare function getIdentityMetadata(target: object, propertyKey: string): GeneratedMetadata | undefined;
179
+ /**
180
+ * Get all generated column metadata for a class.
181
+ *
182
+ * @param target - The target class or prototype
183
+ * @returns Map of property names to their generated metadata
184
+ */
185
+ export declare function getAllGeneratedMetadata(target: object): Map<string, GeneratedMetadata>;
186
+ /**
187
+ * Get all identity metadata for a class.
188
+ *
189
+ * @param target - The target class or prototype
190
+ * @returns Map of property names to their identity metadata
191
+ */
192
+ export declare function getAllIdentityMetadata(target: object): Map<string, GeneratedMetadata>;
193
+ /**
194
+ * Check if a property is a generated column.
195
+ *
196
+ * @param target - The target class or prototype
197
+ * @param propertyKey - The property name
198
+ * @returns True if the property is generated
199
+ */
200
+ export declare function isGeneratedColumn(target: object, propertyKey: string): boolean;
201
+ /**
202
+ * Check if a property is an identity/auto-increment column.
203
+ *
204
+ * @param target - The target class or prototype
205
+ * @param propertyKey - The property name
206
+ * @returns True if the property is an identity column
207
+ */
208
+ export declare function isIdentityColumn(target: object, propertyKey: string): boolean;
209
+ /**
210
+ * Build the SQL expression for a generated column.
211
+ *
212
+ * @param options - The generated column options
213
+ * @returns The SQL expression string
214
+ */
215
+ export declare function buildGeneratedSQL(options: GeneratedOptions): string;
216
+ /**
217
+ * Check if generated column is stored (persisted) or virtual.
218
+ *
219
+ * When `options.stored` is explicitly set, that value is used as-is.
220
+ * When it is left unspecified, the default depends on the target dialect:
221
+ * - PostgreSQL (before v18) only supports `STORED` generated columns —
222
+ * `VIRTUAL` is not a valid option, so it defaults to `true` (stored).
223
+ * - MySQL/MariaDB support both `VIRTUAL` and `STORED`, and default to
224
+ * `VIRTUAL` (the lighter-weight option), so this defaults to `false`.
225
+ * - Other dialects (sqlite, mssql, oracle) also default to `false`
226
+ * (virtual/computed, not persisted), matching their typical defaults.
227
+ *
228
+ * @param options - The generated column options
229
+ * @param dialect - The target SQL dialect (defaults to 'mysql' for backwards compatibility)
230
+ * @returns True if stored, false if virtual
231
+ */
232
+ export declare function isStored(options: GeneratedOptions, dialect?: GeneratedDialect): boolean;