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,88 @@
1
+ /**
2
+ * String utility functions
3
+ */
4
+ export interface StringUtils {
5
+ upperCase: (str: string) => string;
6
+ lowerCase: (str: string) => string;
7
+ capitalize: (str: string) => string;
8
+ capitalizeWords: (str: string) => string;
9
+ trim: (str: string) => string;
10
+ ltrim: (str: string) => string;
11
+ rtrim: (str: string) => string;
12
+ trimStart: (str: string) => string;
13
+ trimEnd: (str: string) => string;
14
+ pad: (str: string, length: number, char?: string, direction?: 'left' | 'right' | 'both') => string;
15
+ truncate: (str: string, maxLength: number, suffix?: string) => string;
16
+ padStart: (str: string, length: number, char?: string) => string;
17
+ padEnd: (str: string, length: number, char?: string) => string;
18
+ }
19
+ export declare const regex: {
20
+ email: RegExp;
21
+ url: RegExp;
22
+ uuid: RegExp;
23
+ phone: RegExp;
24
+ numeric: RegExp;
25
+ alpha: RegExp;
26
+ alphanumeric: RegExp;
27
+ hexColor: RegExp;
28
+ isoDate: RegExp;
29
+ json: RegExp;
30
+ strongPassword: RegExp;
31
+ };
32
+ /**
33
+ * Convert a string to uppercase
34
+ */
35
+ export declare function upperCase(str: string): string;
36
+ /**
37
+ * Convert a string to lowercase
38
+ */
39
+ export declare function lowerCase(str: string): string;
40
+ /**
41
+ * Capitalize first letter of a string
42
+ */
43
+ export declare function capitalize(str: string): string;
44
+ /**
45
+ * Capitalize first letter of each word
46
+ */
47
+ export declare function capitalizeWords(str: string): string;
48
+ /**
49
+ * Trim whitespace from both ends
50
+ */
51
+ export declare function trim(str: string): string;
52
+ /**
53
+ * Trim whitespace from start
54
+ */
55
+ export declare function trimStart(str: string): string;
56
+ /**
57
+ * Trim whitespace from end
58
+ */
59
+ export declare function trimEnd(str: string): string;
60
+ /**
61
+ * Trim whitespace from start (alias for trimStart)
62
+ */
63
+ export declare function ltrim(str: string): string;
64
+ /**
65
+ * Trim whitespace from end (alias for trimEnd)
66
+ */
67
+ export declare function rtrim(str: string): string;
68
+ /**
69
+ * Pad string to specified length
70
+ */
71
+ export declare function pad(str: string, length: number, char?: string, direction?: 'left' | 'right' | 'both'): string;
72
+ /**
73
+ * Pad string at start
74
+ */
75
+ export declare function padStart(str: string, length: number, char?: string): string;
76
+ /**
77
+ * Pad string at end
78
+ */
79
+ export declare function padEnd(str: string, length: number, char?: string): string;
80
+ /**
81
+ * Truncate string to specified length
82
+ */
83
+ export declare function truncate(str: string, maxLength: number, suffix?: string): string;
84
+ /**
85
+ * String utilities object for convenient access
86
+ */
87
+ export declare const stringUtils: StringUtils;
88
+ export default stringUtils;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Validators Module
3
+ * Exports all validation functionality
4
+ */
5
+ export { Validator, ValidationError, validate, validateField, validateAsync, validateFieldAsync, createValidationError, getValidatorsForDataType, registerValidatorModel, unregisterValidatorModel, getValidatorModel, } from './validator';
6
+ export type { ValidationRule, ValidatorConfig, ValidationResult, AsyncValidationContext, UniqueCheckModel, } from './validator';
7
+ export type { ValidationErrorItem } from '../types';
@@ -0,0 +1,306 @@
1
+ /**
2
+ * Validator System for the TypeScript ORM
3
+ * Provides comprehensive validation methods and utilities
4
+ */
5
+ import type { ValidationErrorItem } from '../types';
6
+ /**
7
+ * Custom validation error class that extends Error
8
+ * Contains an array of validation error items
9
+ */
10
+ export declare class ValidationError extends Error {
11
+ errors: ValidationErrorItem[];
12
+ constructor(message?: string, errors?: ValidationErrorItem[]);
13
+ /**
14
+ * Add an error to the validation errors array
15
+ */
16
+ addError(error: ValidationErrorItem): void;
17
+ /**
18
+ * Check if there are any validation errors
19
+ */
20
+ hasErrors(): boolean;
21
+ /**
22
+ * Get errors for a specific field
23
+ */
24
+ getErrorsForField(path: string): ValidationErrorItem[];
25
+ }
26
+ /**
27
+ * Validation rule definition
28
+ */
29
+ export type ValidationRule = boolean | string | number | RegExp | ValidationRule[];
30
+ /**
31
+ * Validator configuration object
32
+ * Maps field names to their validation rules
33
+ */
34
+ export interface ValidatorConfig {
35
+ [field: string]: {
36
+ [rule: string]: ValidationRule;
37
+ };
38
+ }
39
+ /**
40
+ * Validation result from running validators
41
+ */
42
+ export interface ValidationResult {
43
+ valid: boolean;
44
+ errors: ValidationErrorItem[];
45
+ }
46
+ /**
47
+ * Minimal shape required from a Model class to support a real database
48
+ * uniqueness check. `src/models/model.ts` model classes (and the static
49
+ * side of `ModelInstance`) satisfy this shape via their `findOne` method.
50
+ */
51
+ export interface UniqueCheckModel {
52
+ findOne(options: {
53
+ where: Record<string, unknown>;
54
+ }): Promise<unknown>;
55
+ }
56
+ /**
57
+ * Register a live model class so `isUnique`/`isUniqueAsync` validators can
58
+ * resolve a `model: 'SomeModelName'` string reference to a real class with
59
+ * a working `findOne`.
60
+ */
61
+ export declare function registerValidatorModel(name: string, model: UniqueCheckModel): void;
62
+ /**
63
+ * Remove a previously registered model reference.
64
+ */
65
+ export declare function unregisterValidatorModel(name: string): void;
66
+ /**
67
+ * Look up a registered model reference by name.
68
+ */
69
+ export declare function getValidatorModel(name: string): UniqueCheckModel | undefined;
70
+ /**
71
+ * Validator class with built-in validation methods
72
+ * Provides comprehensive validation for various data types
73
+ */
74
+ export declare class Validator {
75
+ /**
76
+ * Check if value is a valid email address
77
+ */
78
+ static isEmail(value: unknown): boolean;
79
+ /**
80
+ * Check if value is a valid URL
81
+ */
82
+ static isUrl(value: unknown): boolean;
83
+ /**
84
+ * Check if value is a valid IP address (IPv4 or IPv6)
85
+ */
86
+ static isIP(value: unknown): boolean;
87
+ /**
88
+ * Check if value contains only alphabetic characters
89
+ */
90
+ static isAlpha(value: unknown): boolean;
91
+ /**
92
+ * Check if value contains only alphanumeric characters
93
+ */
94
+ static isAlphanumeric(value: unknown): boolean;
95
+ /**
96
+ * Check if value contains only numeric characters
97
+ */
98
+ static isNumeric(value: unknown): boolean;
99
+ /**
100
+ * Check if value is an integer
101
+ */
102
+ static isInt(value: unknown): boolean;
103
+ /**
104
+ * Check if value is a floating-point number
105
+ */
106
+ static isFloat(value: unknown): boolean;
107
+ /**
108
+ * Check if value is a decimal number
109
+ */
110
+ static isDecimal(value: unknown): boolean;
111
+ /**
112
+ * Check if value is a boolean
113
+ */
114
+ static isBoolean(value: unknown): boolean;
115
+ /**
116
+ * Check if value is a valid date
117
+ */
118
+ static isDate(value: unknown): boolean;
119
+ /**
120
+ * Check if value is a valid time string (HH:MM or HH:MM:SS)
121
+ */
122
+ static isTime(value: unknown): boolean;
123
+ /**
124
+ * Check if value is a valid date string (ISO 8601)
125
+ */
126
+ static isDateString(value: unknown): boolean;
127
+ /**
128
+ * Check if value is a valid UUID (version 1, 4, 5)
129
+ */
130
+ static isUUID(value: unknown): boolean;
131
+ /**
132
+ * Check if value is valid JSON
133
+ */
134
+ static isJSON(value: unknown): boolean;
135
+ /**
136
+ * Check if value is empty (null, undefined, or empty string)
137
+ */
138
+ static isEmpty(value: unknown): boolean;
139
+ /**
140
+ * Check if value is not empty
141
+ */
142
+ static notEmpty(value: unknown): boolean;
143
+ /**
144
+ * Check if string length is within bounds
145
+ * @param value - The value to check
146
+ * @param len - Single number for exact length, or [min, max] tuple
147
+ */
148
+ static len(value: unknown, len: number | [number, number]): boolean;
149
+ /**
150
+ * Check if numeric value is >= minimum
151
+ */
152
+ static min(value: unknown, minVal: number): boolean;
153
+ /**
154
+ * Check if numeric value is <= maximum
155
+ */
156
+ static max(value: unknown, maxVal: number): boolean;
157
+ /**
158
+ * Check if numeric value is within range
159
+ */
160
+ static range(value: unknown, range: [number, number]): boolean;
161
+ /**
162
+ * Check if value is in the allowed list
163
+ */
164
+ static isIn(value: unknown, values: unknown[]): boolean;
165
+ /**
166
+ * Check if value is not in the disallowed list
167
+ */
168
+ static notIn(value: unknown, values: unknown[]): boolean;
169
+ /**
170
+ * Synchronous uniqueness check.
171
+ *
172
+ * A real uniqueness check requires an async database query, which cannot
173
+ * be performed from a synchronous function. This method exists only for
174
+ * backwards compatibility with call sites that still use the
175
+ * synchronous `validate()`/`validateField()` entry points; it always
176
+ * returns `true` (never fails validation) and logs a warning so silent
177
+ * false-passes are visible.
178
+ *
179
+ * Prefer `Validator.isUniqueAsync()` (via `validateAsync()`/
180
+ * `validateFieldAsync()`) wherever a real database uniqueness check is
181
+ * required.
182
+ */
183
+ static isUnique(value: unknown, options?: {
184
+ model?: string | UniqueCheckModel;
185
+ field?: string;
186
+ where?: Record<string, unknown>;
187
+ }): boolean;
188
+ /**
189
+ * Check if value is unique by performing a real database lookup via
190
+ * `Model.findOne()`.
191
+ *
192
+ * @param value - The value to check for uniqueness
193
+ * @param options.model - Either a model name registered via
194
+ * `registerValidatorModel()`, or a live model reference (any object
195
+ * exposing an async `findOne({ where })` method, e.g. a Model class).
196
+ * @param options.field - The column/attribute name to check. Defaults to
197
+ * the field the rule was declared on when used via `validateAsync`.
198
+ * @param options.where - Extra where conditions to scope the lookup
199
+ * (e.g. multi-column uniqueness, soft-delete scoping).
200
+ * @param options.exclude - Primary-key (or other) conditions identifying
201
+ * the current instance, so an update does not fail uniqueness against
202
+ * itself. Each entry is turned into a `{ [Op.ne]: value }` condition.
203
+ */
204
+ static isUniqueAsync(value: unknown, options?: {
205
+ model?: string | UniqueCheckModel;
206
+ field?: string;
207
+ where?: Record<string, unknown>;
208
+ exclude?: Record<string, unknown>;
209
+ }): Promise<boolean>;
210
+ /**
211
+ * Check if value equals the expected value
212
+ */
213
+ static equals(value: unknown, expected: unknown): boolean;
214
+ /**
215
+ * Check if value does not equal the expected value
216
+ */
217
+ static notEquals(value: unknown, expected: unknown): boolean;
218
+ /**
219
+ * Check if value matches a regular expression
220
+ */
221
+ static matches(value: unknown, pattern: RegExp | string): boolean;
222
+ /**
223
+ * Check if value does not match a regular expression
224
+ */
225
+ static notMatches(value: unknown, pattern: RegExp | string): boolean;
226
+ /**
227
+ * Check if value is a valid credit card number (Luhn algorithm)
228
+ */
229
+ static isCreditCard(value: unknown): boolean;
230
+ /**
231
+ * Check if value is a valid postal code
232
+ */
233
+ static isPostalCode(value: unknown, locale?: string): boolean;
234
+ /**
235
+ * Check if value is a valid phone number
236
+ */
237
+ static isMobilePhone(value: unknown, locale?: string): boolean;
238
+ /**
239
+ * Check if value is a valid hexadecimal color
240
+ */
241
+ static isHexColor(value: unknown): boolean;
242
+ /**
243
+ * Check if string contains only lowercase characters
244
+ */
245
+ static isLowercase(value: unknown): boolean;
246
+ /**
247
+ * Check if string contains only uppercase characters
248
+ */
249
+ static isUppercase(value: unknown): boolean;
250
+ }
251
+ /**
252
+ * Run all validators on data and return validation result
253
+ * @param data - The data object to validate
254
+ * @param validators - The validator configuration
255
+ * @returns Validation result with valid flag and errors array
256
+ */
257
+ export declare function validate(data: Record<string, unknown>, validators: ValidatorConfig): ValidationResult;
258
+ /**
259
+ * Validate a single field with given rules
260
+ */
261
+ export declare function validateField(value: unknown, rules: Record<string, ValidationRule>): ValidationResult;
262
+ /**
263
+ * Async validation context passed to `validateAsync`/`validateFieldAsync`
264
+ * so an `isUnique` rule can exclude the current instance (e.g. by primary
265
+ * key) when validating an update, instead of failing uniqueness against
266
+ * itself.
267
+ */
268
+ export interface AsyncValidationContext {
269
+ /** Conditions identifying the current instance, e.g. `{ id: 5 }`. */
270
+ exclude?: Record<string, unknown>;
271
+ }
272
+ /**
273
+ * Async counterpart to `validate()` that performs a real database
274
+ * uniqueness check for `isUnique` rules (via `Validator.isUniqueAsync`)
275
+ * instead of always passing.
276
+ *
277
+ * @param data - The data object to validate
278
+ * @param validators - The validator configuration
279
+ * @param context - Optional async context, e.g. `{ exclude: { id: 5 } }`
280
+ * to exclude the current record from the uniqueness lookup on update.
281
+ */
282
+ export declare function validateAsync(data: Record<string, unknown>, validators: ValidatorConfig, context?: AsyncValidationContext): Promise<ValidationResult>;
283
+ /**
284
+ * Async counterpart to `validateField()` - see `validateAsync`.
285
+ */
286
+ export declare function validateFieldAsync(value: unknown, rules: Record<string, ValidationRule>, context?: AsyncValidationContext & {
287
+ field?: string;
288
+ }): Promise<ValidationResult>;
289
+ /**
290
+ * Create a ValidationError from validation result
291
+ */
292
+ export declare function createValidationError(result: ValidationResult): ValidationError;
293
+ /**
294
+ * Get validation rules based on DataType
295
+ * Useful for automatic validation based on column type
296
+ */
297
+ export declare function getValidatorsForDataType(dataType: string): Record<string, ValidationRule>;
298
+ declare const _default: {
299
+ Validator: typeof Validator;
300
+ ValidationError: typeof ValidationError;
301
+ validate: typeof validate;
302
+ validateField: typeof validateField;
303
+ createValidationError: typeof createValidationError;
304
+ getValidatorsForDataType: typeof getValidatorsForDataType;
305
+ };
306
+ export default _default;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "ts-prorm-orm",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "main": "dist/index.js",
5
- "types": "dist/types/index.d.ts",
5
+ "types": "dist/index.d.ts",
6
6
  "author": "Malcolm Stone",
7
7
  "license": "MIT",
8
8
  "description": "A TypeScript ORM for MySQL, PostgreSQL, SQLite, MSSQL, and more",
@@ -51,9 +51,10 @@
51
51
  "test:db:down": "docker compose -f docker-compose.test.yml down -v",
52
52
  "test:db:up:no-oracle": "docker compose -f docker-compose.test.yml up -d --wait postgres mysql mariadb mssql cockroachdb clickhouse",
53
53
  "test:integration": "INTEGRATION=1 jest -c jest.integration.config.js",
54
- "prepublishOnly": "npm run build && npm run test",
54
+ "prepublishOnly": "npm run build && npm run check:package && npm run test",
55
55
  "prepare": "husky",
56
- "docs:reference": "typedoc"
56
+ "docs:reference": "typedoc",
57
+ "check:package": "node scripts/check-package.mjs"
57
58
  },
58
59
  "bin": {
59
60
  "prorm": "dist/cli.js",
@@ -140,6 +141,15 @@
140
141
  "testMatch": [
141
142
  "**/tests/**/*.test.ts"
142
143
  ],
144
+ "testPathIgnorePatterns": [
145
+ "/node_modules/",
146
+ "/\\.claude/",
147
+ "/dist/"
148
+ ],
149
+ "modulePathIgnorePatterns": [
150
+ "<rootDir>/\\.claude/",
151
+ "<rootDir>/dist/"
152
+ ],
143
153
  "moduleFileExtensions": [
144
154
  "ts",
145
155
  "tsx",
@@ -168,7 +178,8 @@
168
178
  "default",
169
179
  "jest-junit"
170
180
  ],
171
- "workerIdleMemoryLimit": "256MB"
181
+ "workerIdleMemoryLimit": "256MB",
182
+ "coverageProvider": "v8"
172
183
  },
173
184
  "jest-junit": {
174
185
  "outputDirectory": ".",
@@ -186,5 +197,9 @@
186
197
  },
187
198
  "optionalDependencies": {
188
199
  "pg-copy-streams": "^7.0.0"
200
+ },
201
+ "allowScripts": {
202
+ "better-sqlite3@12.8.0": true,
203
+ "duckdb@1.4.4": true
189
204
  }
190
205
  }