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,148 @@
1
+ /**
2
+ * Default Value Decorator for the ORM
3
+ *
4
+ * Provides a type-safe way to set column defaults without raw SQL.
5
+ * Supports static values, functions, sequences, and database functions.
6
+ *
7
+ * Usage:
8
+ *
9
+ * // Static values
10
+ * @Default(18)
11
+ * age: number;
12
+ *
13
+ * @Default(true)
14
+ * isActive: boolean;
15
+ *
16
+ * @Default('pending')
17
+ * status: string;
18
+ *
19
+ * // Function for dynamic default
20
+ * @Default(() => new Date())
21
+ * createdAt: Date;
22
+ *
23
+ * // Auto-generate UUID
24
+ * @Default(() => uuidv4())
25
+ * id: string;
26
+ *
27
+ * // For JSON columns
28
+ * @Default({ role: 'user', verified: false })
29
+ * preferences: object;
30
+ *
31
+ * // For array columns
32
+ * @Default(['admin'])
33
+ * roles: string[];
34
+ *
35
+ * // Auto-sequences (PostgreSQL)
36
+ * @Default({ sequence: 'user_id_seq' })
37
+ * id: number;
38
+ *
39
+ * // Database functions
40
+ * @Default({ fn: 'now' })
41
+ * createdAt: Date;
42
+ *
43
+ * @Default({ fn: 'upper', args: ['username'] })
44
+ * username: string;
45
+ *
46
+ * // Raw SQL only when needed
47
+ * @Default({ literal: "CURRENT_TIMESTAMP" })
48
+ * updatedAt: Date;
49
+ */
50
+ /**
51
+ * Options for default value configuration.
52
+ * Supports multiple ways to specify defaults.
53
+ */
54
+ export type DefaultValueOptions = DefaultStaticValue | DefaultFunction | DefaultSequence | DefaultDatabaseFn | DefaultLiteral;
55
+ /**
56
+ * Static value (primitive, object, array).
57
+ */
58
+ export type DefaultStaticValue = any;
59
+ /**
60
+ * Function that returns the default value.
61
+ * Called at runtime when creating new instances.
62
+ */
63
+ export interface DefaultFunction {
64
+ fn: (instance?: any) => any;
65
+ }
66
+ /**
67
+ * Database sequence for auto-increment (PostgreSQL).
68
+ */
69
+ export interface DefaultSequence {
70
+ sequence: string;
71
+ }
72
+ /**
73
+ * Database function call (e.g., NOW(), UPPER(), etc.)
74
+ */
75
+ export interface DefaultDatabaseFn {
76
+ fn: string;
77
+ args?: any[];
78
+ }
79
+ /**
80
+ * Raw SQL literal (use sparingly).
81
+ */
82
+ export interface DefaultLiteral {
83
+ literal: string;
84
+ }
85
+ export interface DefaultFieldMeta {
86
+ field: string;
87
+ options: DefaultValueOptions;
88
+ }
89
+ /**
90
+ * Get all default field metadata from a model class.
91
+ */
92
+ export declare function getDefaultFields(target: Function): DefaultFieldMeta[];
93
+ /**
94
+ * Get default value for a specific field.
95
+ */
96
+ export declare function getDefaultForField(target: Function, field: string): DefaultValueOptions | undefined;
97
+ /**
98
+ * Convert @Default options to prorm column definition format.
99
+ * This is used when initializing the model.
100
+ */
101
+ export declare function toPrormDefault(options: DefaultValueOptions): any;
102
+ /**
103
+ * Apply default values to a model instance.
104
+ * Call this in beforeCreate/beforeUpdate hooks.
105
+ *
106
+ * @param instance - The model instance
107
+ */
108
+ export declare function applyDefaultValues(instance: any): void;
109
+ /**
110
+ * Register beforeCreate hook to automatically apply default values.
111
+ * Call once per model after Model.init().
112
+ *
113
+ * @param ModelClass - The model class
114
+ */
115
+ export declare function applyDefaultHooks(ModelClass: any): void;
116
+ /**
117
+ * Set a default value for a model field.
118
+ *
119
+ * Can be used as:
120
+ * - @Default(18) - static value
121
+ * - @Default(() => new Date()) - function for dynamic defaults
122
+ * - @Default({ sequence: 'user_id_seq' }) - database sequence
123
+ * - @Default({ fn: 'now' }) - database function
124
+ * - @Default({ literal: "CURRENT_TIMESTAMP" }) - raw SQL
125
+ *
126
+ * @param options - The default value or configuration
127
+ */
128
+ export declare function Default(options: DefaultValueOptions): (target: any, propertyKey: string) => void;
129
+ /**
130
+ * Helper to create a UUID default.
131
+ * Usage: @Default(() => uuidv4())
132
+ */
133
+ export declare function uuidDefault(): string;
134
+ /**
135
+ * Helper to create a current timestamp default.
136
+ * Usage: @Default(() => new Date())
137
+ */
138
+ export declare function nowDefault(): Date;
139
+ /**
140
+ * Helper to create a random integer default.
141
+ * Usage: @Default(() => Math.floor(Math.random() * 100))
142
+ */
143
+ export declare function randomIntDefault(min?: number, max?: number): number;
144
+ /**
145
+ * Helper to create a default based on another field.
146
+ * Usage: @Default((instance) => instance.username?.toLowerCase())
147
+ */
148
+ export declare function computedDefault(computeFn: (instance: any) => any): DefaultFunction;
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Encryption decorators and adapter system for the ORM.
3
+ *
4
+ * Allows fields to be annotated with @Secure so values are automatically
5
+ * hashed before being saved. The encryption algorithm is fully swappable
6
+ * via EncryptionAdapter — default recommendation is bcrypt, but you can
7
+ * plug in argon2, scrypt, or any custom implementation.
8
+ *
9
+ * Usage:
10
+ *
11
+ * // 1. Install your preferred package, e.g. npm install bcrypt
12
+ * // 2. Wire up the adapter once at boot time:
13
+ * import bcrypt from 'bcrypt';
14
+ * setEncryptionAdapter({
15
+ * hash: (value) => bcrypt.hash(value, 12),
16
+ * verify: (plain, hashed) => bcrypt.compare(plain, hashed),
17
+ * });
18
+ *
19
+ * // 3. Annotate fields on your model class:
20
+ * class User extends Model { ... }
21
+ * User.init({
22
+ * password: { type: DataTypes.STRING, allowNull: false }
23
+ * }, { prorm });
24
+ * Secure('password')(User); // field decorator style
25
+ *
26
+ * // Or use the decorator on the class definition (requires experimentalDecorators):
27
+ * @SecureField('password')
28
+ * class User extends Model { ... }
29
+ */
30
+ /**
31
+ * Pluggable encryption adapter.
32
+ * Implement this interface to use any hashing library.
33
+ */
34
+ export interface EncryptionAdapter {
35
+ /**
36
+ * Hash a plain-text value.
37
+ * @param value - The plain-text string to hash
38
+ * @returns A promise that resolves to the hashed string
39
+ */
40
+ hash(value: string): Promise<string>;
41
+ /**
42
+ * Verify a plain-text value against a previously computed hash.
43
+ * @param plain - The plain-text candidate
44
+ * @param hashed - The stored hash to compare against
45
+ * @returns A promise resolving to true if they match
46
+ */
47
+ verify(plain: string, hashed: string): Promise<boolean>;
48
+ }
49
+ /**
50
+ * Options for the @Secure / SecureField decorator.
51
+ */
52
+ export interface SecureOptions {
53
+ /**
54
+ * The adapter to use for this specific field.
55
+ * Overrides the global adapter set via setEncryptionAdapter().
56
+ */
57
+ adapter?: EncryptionAdapter;
58
+ /**
59
+ * If true, the field will only be hashed when the value has changed
60
+ * (i.e. it does not look like a hash already). Default: true.
61
+ */
62
+ skipIfHashed?: boolean;
63
+ /**
64
+ * Optional algorithm label for documentation / metadata purposes.
65
+ * Has no functional effect — it just marks the intended algorithm.
66
+ * Example: 'bcrypt', 'argon2id', 'scrypt'
67
+ */
68
+ algorithm?: string;
69
+ }
70
+ /**
71
+ * Set the global encryption adapter used by all @Secure fields that
72
+ * do not specify their own adapter.
73
+ *
74
+ * Call this once during application bootstrap, e.g.:
75
+ *
76
+ * import bcrypt from 'bcrypt';
77
+ * setEncryptionAdapter({
78
+ * hash: (v) => bcrypt.hash(v, 12),
79
+ * verify: (plain, hash) => bcrypt.compare(plain, hash),
80
+ * });
81
+ */
82
+ export declare function setEncryptionAdapter(adapter: EncryptionAdapter): void;
83
+ /**
84
+ * Return the currently registered global adapter, or null if none has
85
+ * been configured.
86
+ */
87
+ export declare function getEncryptionAdapter(): EncryptionAdapter | null;
88
+ export interface SecureFieldMeta {
89
+ field: string;
90
+ options: SecureOptions;
91
+ }
92
+ /**
93
+ * Read the list of secure-field annotations attached to a model constructor.
94
+ */
95
+ export declare function getSecureFields(target: Function): SecureFieldMeta[];
96
+ /**
97
+ * Mark a model field so its value is automatically hashed before INSERT/UPDATE.
98
+ *
99
+ * This is a class decorator factory — pass the field name(s):
100
+ *
101
+ * @SecureField('password')
102
+ * @SecureField('pin', { algorithm: 'bcrypt', adapter: myAdapter })
103
+ * class User extends Model { ... }
104
+ *
105
+ * The ORM will call hashSecureFields(instance) in a beforeCreate /
106
+ * beforeUpdate hook to encrypt the field before it reaches the database.
107
+ */
108
+ export declare function SecureField(field: string, options?: SecureOptions): (target: Function) => void;
109
+ /**
110
+ * Alias for SecureField — preferred shorthand.
111
+ *
112
+ * @Secure('password')
113
+ * class User extends Model { ... }
114
+ */
115
+ export declare const Secure: typeof SecureField;
116
+ /**
117
+ * Hash all @Secure-annotated fields on a model instance.
118
+ *
119
+ * Call this inside a beforeCreate / beforeUpdate hook, or let the ORM
120
+ * do it automatically when you use applySecureHooks().
121
+ *
122
+ * @param instance - The model instance whose fields should be hashed
123
+ */
124
+ export declare function hashSecureFields(instance: any): Promise<void>;
125
+ /**
126
+ * Verify a plain-text value against the stored hash of a @Secure field.
127
+ *
128
+ * @param instance - The model instance containing the stored hash
129
+ * @param field - The field name
130
+ * @param plainText - The candidate value to check
131
+ * @returns true if the plain-text matches the stored hash
132
+ */
133
+ export declare function verifySecureField(instance: any, field: string, plainText: string): Promise<boolean>;
134
+ /**
135
+ * Register beforeCreate and beforeUpdate hooks on a model so that
136
+ * @Secure fields are automatically hashed whenever an instance is saved.
137
+ *
138
+ * Call once per model after Model.init():
139
+ *
140
+ * applySecureHooks(User);
141
+ *
142
+ * @param ModelClass - The model class (result of prorm.define or Model.init)
143
+ */
144
+ export declare function applySecureHooks(ModelClass: any): void;
145
+ /**
146
+ * Create a bcrypt adapter.
147
+ *
148
+ * Requires `bcrypt` or `bcryptjs` to be installed:
149
+ * npm install bcrypt (native, faster)
150
+ * npm install bcryptjs (pure JS, no native build)
151
+ *
152
+ * @param saltRounds - bcrypt cost factor (default: 12)
153
+ *
154
+ * Usage:
155
+ * import bcrypt from 'bcrypt';
156
+ * setEncryptionAdapter(createBcryptAdapter(bcrypt, 12));
157
+ */
158
+ export declare function createBcryptAdapter(bcryptLib: {
159
+ hash(data: string, saltOrRounds: number): Promise<string>;
160
+ compare(data: string, encrypted: string): Promise<boolean>;
161
+ }, saltRounds?: number): EncryptionAdapter;
162
+ /**
163
+ * Create an argon2 adapter.
164
+ *
165
+ * Requires `argon2` to be installed:
166
+ * npm install argon2
167
+ *
168
+ * Usage:
169
+ * import argon2 from 'argon2';
170
+ * setEncryptionAdapter(createArgon2Adapter(argon2));
171
+ */
172
+ export declare function createArgon2Adapter(argon2Lib: {
173
+ hash(plain: string): Promise<string>;
174
+ verify(hash: string, plain: string): Promise<boolean>;
175
+ }): EncryptionAdapter;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * `@Engine` — class decorator for annotating a Model with dialect-specific
3
+ * per-table storage-engine configuration, mirroring the `@View`/
4
+ * `@MaterializedView` pattern (`src/decorators/view.ts`): stores metadata on
5
+ * the class, exposed via a registry, rather than being silently read by
6
+ * `Prorm.sync()` - keeping engine selection an explicit, visible step.
7
+ *
8
+ * Built for ClickHouse's MergeTree-family engine configuration first (the
9
+ * dialect that most needs per-table engine choice - `mergeTreeEngine`/
10
+ * `orderBy`/`ttl`/`partitionBy`/`projections` are all read as loosely-typed
11
+ * extensions off `TableOptions` in `src/dialects/clickhouse/index.ts` since
12
+ * the base `Dialect` interface has no notion of storage engines), but the
13
+ * shape is generic enough for any dialect with similar per-table engine/
14
+ * storage options (e.g. MySQL's `ENGINE=InnoDB`).
15
+ *
16
+ * Example:
17
+ *
18
+ * @Engine({
19
+ * mergeTreeEngine: { type: 'ReplacingMergeTree', version: 'updatedAt' },
20
+ * orderBy: ['id', 'createdAt'],
21
+ * ttl: 'createdAt + INTERVAL 90 DAY',
22
+ * })
23
+ * class Event extends Model {
24
+ * declare id: number;
25
+ * declare createdAt: Date;
26
+ * declare updatedAt: Date;
27
+ * }
28
+ *
29
+ * // At table-creation time:
30
+ * const dialect = prorm.getDialectInstance() as ClickHouseDialect;
31
+ * await dialect.createTable('events', columns, {
32
+ * ...EngineRegistry.getTableOptions(Event),
33
+ * });
34
+ */
35
+ import type { MergeTreeEngineConfig, ProjectionDefinition } from '../dialects/clickhouse';
36
+ export interface EngineOptions {
37
+ /**
38
+ * MySQL/MariaDB-style raw engine name, e.g. 'InnoDB', 'MyISAM'.
39
+ * Ignored by dialects that use `mergeTreeEngine` instead (ClickHouse).
40
+ */
41
+ engine?: string;
42
+ /**
43
+ * ClickHouse MergeTree-family engine configuration (see
44
+ * `MergeTreeEngineConfig` in `src/dialects/clickhouse/index.ts`). Takes
45
+ * precedence over `engine` when both are supplied, since it gets the
46
+ * engine's required-column validation (e.g. CollapsingMergeTree's
47
+ * `Sign Int8` column) a raw engine string cannot.
48
+ */
49
+ mergeTreeEngine?: MergeTreeEngineConfig;
50
+ /**
51
+ * ClickHouse ORDER BY clause (mandatory for MergeTree-family engines -
52
+ * ClickHouse's stand-in for a traditional primary key, controlling
53
+ * physical sort/merge order). Either a raw SQL fragment or a column list.
54
+ */
55
+ orderBy?: string | string[];
56
+ /** ClickHouse PARTITION BY clause. */
57
+ partitionBy?: string;
58
+ /**
59
+ * ClickHouse table-level TTL expression, e.g.
60
+ * `'createdAt + INTERVAL 30 DAY'` or
61
+ * `"createdAt + INTERVAL 30 DAY TO VOLUME 'cold'"`.
62
+ */
63
+ ttl?: string;
64
+ /**
65
+ * ClickHouse MergeTree projections to create inline at CREATE TABLE time,
66
+ * keyed by projection name.
67
+ */
68
+ projections?: Record<string, ProjectionDefinition>;
69
+ }
70
+ /**
71
+ * Read the @Engine options attached to a class.
72
+ * Returns undefined if the class has no @Engine decorator.
73
+ */
74
+ export declare function getEngineOptions(target: Function): EngineOptions | undefined;
75
+ /**
76
+ * Annotate a Model subclass with dialect-specific storage-engine
77
+ * configuration.
78
+ *
79
+ * @Engine({ mergeTreeEngine: { type: 'AggregatingMergeTree' }, orderBy: ['id'] })
80
+ * class Metrics extends Model { ... }
81
+ */
82
+ export declare function Engine(options: EngineOptions): (target: Function) => void;
83
+ export declare const EngineRegistry: {
84
+ /**
85
+ * Read the raw @Engine options attached to a class.
86
+ */
87
+ getOptions(target: Function): EngineOptions | undefined;
88
+ /**
89
+ * Returns the @Engine options in the shape `createTable()` expects to be
90
+ * spread into its `options` argument (ClickHouse reads `mergeTreeEngine`/
91
+ * `orderBy`/`ttl`/`partitionBy`/`projections` as loosely-typed extensions;
92
+ * MySQL/MariaDB read `engine` directly off `TableOptions`). Returns an
93
+ * empty object (not undefined) when the class has no @Engine decorator,
94
+ * so callers can always safely spread the result.
95
+ */
96
+ getTableOptions(target: Function): Record<string, unknown>;
97
+ };