ts-prorm-orm 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +194 -72
  3. package/dist/audit/history-query.d.ts +35 -0
  4. package/dist/audit/index.d.ts +16 -0
  5. package/dist/audit/logger.d.ts +126 -0
  6. package/dist/cache/cache-manager.d.ts +341 -0
  7. package/dist/cache/index.d.ts +8 -0
  8. package/dist/cache/redis-cluster-cache.d.ts +164 -0
  9. package/dist/cache/redis-cluster-cache.js +19 -36
  10. package/dist/cli/cloud.d.ts +55 -0
  11. package/dist/cli/cloud.js +318 -0
  12. package/dist/cli/commands/auth.d.ts +2 -0
  13. package/dist/cli/commands/auth.js +345 -0
  14. package/dist/cli/commands/billing.d.ts +2 -0
  15. package/dist/cli/commands/billing.js +135 -0
  16. package/dist/cli/commands/code.d.ts +2 -0
  17. package/dist/cli/commands/code.js +168 -0
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +154 -0
  20. package/dist/cli/commands/db.d.ts +2 -0
  21. package/dist/cli/commands/db.js +189 -0
  22. package/dist/cli/commands/index.d.ts +1 -0
  23. package/dist/cli/commands/index.js +22 -0
  24. package/dist/cli/commands/keys.d.ts +2 -0
  25. package/dist/cli/commands/keys.js +100 -0
  26. package/dist/cli/commands/misc.d.ts +2 -0
  27. package/dist/cli/commands/misc.js +282 -0
  28. package/dist/cli/commands/pull.d.ts +2 -0
  29. package/dist/cli/commands/pull.js +306 -0
  30. package/dist/cli/commands/runners.d.ts +2 -0
  31. package/dist/cli/commands/runners.js +218 -0
  32. package/dist/cli/commands/scaffold.d.ts +2 -0
  33. package/dist/cli/commands/scaffold.js +383 -0
  34. package/dist/cli/commands/secrets.d.ts +2 -0
  35. package/dist/cli/commands/secrets.js +162 -0
  36. package/dist/cli/commands/store.d.ts +2 -0
  37. package/dist/cli/commands/store.js +274 -0
  38. package/dist/cli/commands/system.d.ts +10 -0
  39. package/dist/cli/commands/system.js +169 -0
  40. package/dist/cli/commands/teams.d.ts +2 -0
  41. package/dist/cli/commands/teams.js +189 -0
  42. package/dist/cli/commands/user.d.ts +2 -0
  43. package/dist/cli/commands/user.js +171 -0
  44. package/dist/cli/framework.d.ts +103 -0
  45. package/dist/cli/framework.js +436 -0
  46. package/dist/cli/io.d.ts +26 -0
  47. package/dist/cli/io.js +181 -0
  48. package/dist/cli/keychain.d.ts +10 -0
  49. package/dist/cli/keychain.js +101 -0
  50. package/dist/cli/prompt.d.ts +20 -0
  51. package/dist/cli/prompt.js +111 -0
  52. package/dist/cli.d.ts +214 -0
  53. package/dist/cli.js +72 -5
  54. package/dist/compliance/audit-trail.d.ts +66 -0
  55. package/dist/compliance/backup-verification.d.ts +279 -0
  56. package/dist/compliance/breach-detector.d.ts +197 -0
  57. package/dist/compliance/consent-record.d.ts +107 -0
  58. package/dist/compliance/consent-versioning.d.ts +169 -0
  59. package/dist/compliance/cross-border-log.d.ts +254 -0
  60. package/dist/compliance/data-classifier.d.ts +127 -0
  61. package/dist/compliance/data-lineage.d.ts +268 -0
  62. package/dist/compliance/data-masker.d.ts +110 -0
  63. package/dist/compliance/data-portability.d.ts +98 -0
  64. package/dist/compliance/data-retention.d.ts +108 -0
  65. package/dist/compliance/dsar-workflow.d.ts +175 -0
  66. package/dist/compliance/field-encryption.d.ts +84 -0
  67. package/dist/compliance/immutable-record.d.ts +84 -0
  68. package/dist/compliance/index.d.ts +93 -0
  69. package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
  70. package/dist/compliance/pseudonymization.d.ts +96 -0
  71. package/dist/compliance/query-firewall.d.ts +661 -0
  72. package/dist/compliance/rate-limiter.d.ts +203 -0
  73. package/dist/compliance/right-to-erasure.d.ts +96 -0
  74. package/dist/compliance/row-level-security.d.ts +152 -0
  75. package/dist/compliance/security-decorator.d.ts +388 -0
  76. package/dist/compliance/security-monitor.d.ts +170 -0
  77. package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
  78. package/dist/compliance/session-isolation.d.ts +286 -0
  79. package/dist/compliance/tls-enforcer.d.ts +51 -0
  80. package/dist/compliance/worm-storage.d.ts +225 -0
  81. package/dist/connection-manager.d.ts +130 -0
  82. package/dist/connection-pool.d.ts +311 -0
  83. package/dist/decorators/audit.d.ts +49 -0
  84. package/dist/decorators/check.d.ts +218 -0
  85. package/dist/decorators/collate.d.ts +346 -0
  86. package/dist/decorators/comment.d.ts +51 -0
  87. package/dist/decorators/database-settings.d.ts +193 -0
  88. package/dist/decorators/default.d.ts +148 -0
  89. package/dist/decorators/encryption.d.ts +175 -0
  90. package/dist/decorators/engine.d.ts +97 -0
  91. package/dist/decorators/fk-constraints.d.ts +387 -0
  92. package/dist/decorators/foreign-table.d.ts +57 -0
  93. package/dist/decorators/generated.d.ts +232 -0
  94. package/dist/decorators/hstore.d.ts +96 -0
  95. package/dist/decorators/index.d.ts +57 -0
  96. package/dist/decorators/index.js +14 -30
  97. package/dist/decorators/json-column.d.ts +47 -0
  98. package/dist/decorators/jsonb.d.ts +83 -0
  99. package/dist/decorators/orm-decorators.d.ts +274 -0
  100. package/dist/decorators/permissions.d.ts +192 -0
  101. package/dist/decorators/procedure.d.ts +168 -0
  102. package/dist/decorators/procedure.js +31 -7
  103. package/dist/decorators/query-options.d.ts +527 -0
  104. package/dist/decorators/range.d.ts +122 -0
  105. package/dist/decorators/set-column.d.ts +43 -0
  106. package/dist/decorators/spatial.d.ts +60 -0
  107. package/dist/decorators/storage.d.ts +561 -0
  108. package/dist/decorators/timezone.d.ts +319 -0
  109. package/dist/decorators/trigger.d.ts +50 -0
  110. package/dist/decorators/uuid.d.ts +102 -0
  111. package/dist/decorators/view.d.ts +213 -0
  112. package/dist/diagrams/chen-diagram.d.ts +70 -0
  113. package/dist/diagrams/chen-diagram.js +33 -31
  114. package/dist/diagrams/class-diagram.d.ts +78 -0
  115. package/dist/diagrams/class-diagram.js +23 -27
  116. package/dist/diagrams/dependency-diagram.d.ts +82 -0
  117. package/dist/diagrams/dependency-diagram.js +18 -9
  118. package/dist/diagrams/er-diagram.d.ts +82 -0
  119. package/dist/diagrams/er-diagram.js +174 -231
  120. package/dist/diagrams/flow-diagram.d.ts +70 -0
  121. package/dist/diagrams/flow-diagram.js +23 -18
  122. package/dist/diagrams/gantt-diagram.d.ts +67 -0
  123. package/dist/diagrams/gantt-diagram.js +20 -18
  124. package/dist/diagrams/index-diagram.d.ts +61 -0
  125. package/dist/diagrams/index-diagram.js +36 -31
  126. package/dist/diagrams/index.d.ts +155 -0
  127. package/dist/diagrams/index.js +7 -1
  128. package/dist/diagrams/migration-diagram.d.ts +67 -0
  129. package/dist/diagrams/migration-diagram.js +45 -57
  130. package/dist/diagrams/model-diagram.d.ts +85 -0
  131. package/dist/diagrams/model-diagram.js +225 -287
  132. package/dist/diagrams/package-diagram.d.ts +69 -0
  133. package/dist/diagrams/package-diagram.js +30 -32
  134. package/dist/diagrams/palette.d.ts +138 -0
  135. package/dist/diagrams/palette.js +134 -25
  136. package/dist/diagrams/relational-diagram.d.ts +82 -0
  137. package/dist/diagrams/relational-diagram.js +51 -59
  138. package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
  139. package/dist/diagrams/schemadoc-diagram.js +36 -28
  140. package/dist/diagrams/sequence-diagram.d.ts +61 -0
  141. package/dist/diagrams/sequence-diagram.js +20 -11
  142. package/dist/diagrams/state-diagram.d.ts +85 -0
  143. package/dist/diagrams/state-diagram.js +21 -17
  144. package/dist/diagrams/svg-dom.d.ts +62 -0
  145. package/dist/diagrams/svg-dom.js +11 -0
  146. package/dist/diagrams/tree-diagram.d.ts +47 -0
  147. package/dist/diagrams/tree-diagram.js +19 -10
  148. package/dist/dialects/clickhouse/index.d.ts +660 -0
  149. package/dist/dialects/clickhouse/index.js +107 -2
  150. package/dist/dialects/cockroachdb/index.d.ts +1708 -0
  151. package/dist/dialects/cockroachdb/index.js +139 -10
  152. package/dist/dialects/cratedb/index.d.ts +262 -0
  153. package/dist/dialects/cratedb/index.js +148 -0
  154. package/dist/dialects/databricks/index.d.ts +397 -0
  155. package/dist/dialects/databricks/index.js +233 -11
  156. package/dist/dialects/db2/index.d.ts +729 -0
  157. package/dist/dialects/db2/index.js +152 -2
  158. package/dist/dialects/dialect.d.ts +1653 -0
  159. package/dist/dialects/duckdb/index.d.ts +440 -0
  160. package/dist/dialects/duckdb/index.js +21 -37
  161. package/dist/dialects/exasol/index.d.ts +197 -0
  162. package/dist/dialects/exasol/index.js +14 -0
  163. package/dist/dialects/firebird/index.d.ts +286 -0
  164. package/dist/dialects/firebird/index.js +135 -0
  165. package/dist/dialects/greenplum/index.d.ts +336 -0
  166. package/dist/dialects/greenplum/index.js +168 -0
  167. package/dist/dialects/hana/index.d.ts +512 -0
  168. package/dist/dialects/hana/index.js +17 -35
  169. package/dist/dialects/mariadb/index.d.ts +1241 -0
  170. package/dist/dialects/mariadb/index.js +181 -43
  171. package/dist/dialects/mssql/index.d.ts +729 -0
  172. package/dist/dialects/mssql/index.js +76 -7
  173. package/dist/dialects/mysql/index.d.ts +1233 -0
  174. package/dist/dialects/mysql/index.js +87 -19
  175. package/dist/dialects/oracle/index.d.ts +1222 -0
  176. package/dist/dialects/oracle/index.js +210 -9
  177. package/dist/dialects/postgres/index.d.ts +1598 -0
  178. package/dist/dialects/postgres/index.js +34 -13
  179. package/dist/dialects/query-stream-helper.d.ts +58 -0
  180. package/dist/dialects/questdb/index.d.ts +430 -0
  181. package/dist/dialects/questdb/index.js +292 -0
  182. package/dist/dialects/redshift/index.d.ts +933 -0
  183. package/dist/dialects/redshift/index.js +17 -5
  184. package/dist/dialects/singlestore/index.d.ts +233 -0
  185. package/dist/dialects/singlestore/index.js +53 -0
  186. package/dist/dialects/snowflake/index.d.ts +727 -0
  187. package/dist/dialects/snowflake/index.js +154 -5
  188. package/dist/dialects/spanner/index.d.ts +660 -0
  189. package/dist/dialects/spanner/index.js +43 -21
  190. package/dist/dialects/sqlite/index.d.ts +1133 -0
  191. package/dist/dialects/sqlite/index.js +168 -30
  192. package/dist/dialects/tidb/index.d.ts +226 -0
  193. package/dist/dialects/tidb/index.js +10 -0
  194. package/dist/dialects/timescaledb/index.d.ts +286 -0
  195. package/dist/dialects/timescaledb/index.js +179 -0
  196. package/dist/dialects/trino/index.d.ts +230 -0
  197. package/dist/dialects/trino/index.js +85 -10
  198. package/dist/dialects/turso/index.d.ts +98 -0
  199. package/dist/dialects/turso/index.js +10 -0
  200. package/dist/dialects/vertica/index.d.ts +321 -0
  201. package/dist/dialects/vertica/index.js +161 -0
  202. package/dist/dialects/yugabytedb/index.d.ts +276 -0
  203. package/dist/dialects/yugabytedb/index.js +121 -0
  204. package/dist/errors/index.d.ts +378 -0
  205. package/dist/errors/index.js +29 -1
  206. package/dist/errors/utils.d.ts +53 -0
  207. package/dist/errors.d.ts +5 -0
  208. package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
  209. package/dist/extensions/catalog/mssql-features.d.ts +20 -0
  210. package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
  211. package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
  212. package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
  213. package/dist/extensions/index.d.ts +34 -0
  214. package/dist/extensions/types.d.ts +43 -0
  215. package/dist/external-fields/adapters.d.ts +50 -0
  216. package/dist/external-fields/adapters.js +227 -0
  217. package/dist/external-fields/decorator.d.ts +77 -0
  218. package/dist/external-fields/decorator.js +80 -0
  219. package/dist/external-fields/index.d.ts +10 -0
  220. package/dist/external-fields/index.js +19 -0
  221. package/dist/external-fields/runtime.d.ts +39 -0
  222. package/dist/external-fields/runtime.js +221 -0
  223. package/dist/foreign-data.d.ts +168 -0
  224. package/dist/graph/base-graph-dialect.d.ts +250 -0
  225. package/dist/graph/base-graph-dialect.js +539 -0
  226. package/dist/graph/dgraph/index.d.ts +65 -0
  227. package/dist/graph/dgraph/index.js +559 -0
  228. package/dist/graph/gremlin/index.d.ts +59 -0
  229. package/dist/graph/gremlin/index.js +378 -0
  230. package/dist/graph/index.d.ts +60 -0
  231. package/dist/graph/index.js +67 -0
  232. package/dist/graph/neo4j/index.d.ts +50 -0
  233. package/dist/graph/neo4j/index.js +462 -0
  234. package/dist/graph/types.d.ts +213 -0
  235. package/dist/graph/types.js +234 -0
  236. package/dist/hooks/hooks-manager.d.ts +189 -0
  237. package/dist/hooks/index.d.ts +8 -0
  238. package/dist/index.d.ts +713 -0
  239. package/dist/index.js +36 -4
  240. package/dist/logging.d.ts +183 -0
  241. package/dist/migrations/index.d.ts +9 -0
  242. package/dist/migrations/migration.d.ts +143 -0
  243. package/dist/migrations/migrator.d.ts +199 -0
  244. package/dist/migrations/prormmigration.d.ts +131 -0
  245. package/dist/migrations/query-interface.d.ts +335 -0
  246. package/dist/migrations/seeder.d.ts +167 -0
  247. package/dist/models/associations.d.ts +131 -0
  248. package/dist/models/associations.js +7 -2
  249. package/dist/models/constraints.d.ts +175 -0
  250. package/dist/models/data-types.d.ts +1656 -0
  251. package/dist/models/decorators.d.ts +328 -0
  252. package/dist/models/decorators.js +61 -82
  253. package/dist/models/eager-load.d.ts +86 -0
  254. package/dist/models/eager-load.js +369 -0
  255. package/dist/models/index.d.ts +13 -0
  256. package/dist/models/indexes.d.ts +325 -0
  257. package/dist/models/methods.d.ts +419 -0
  258. package/dist/models/model-manager.d.ts +76 -0
  259. package/dist/models/model.d.ts +820 -0
  260. package/dist/models/model.js +15 -101
  261. package/dist/models/operators.d.ts +29 -0
  262. package/dist/models/scopes.d.ts +71 -0
  263. package/dist/models/typescript-types.d.ts +177 -0
  264. package/dist/nosql/aerospike/index.d.ts +126 -0
  265. package/dist/nosql/allegrograph/index.d.ts +86 -0
  266. package/dist/nosql/arangodb/index.d.ts +285 -0
  267. package/dist/nosql/arangodb/index.js +274 -2
  268. package/dist/nosql/arangodb/where.d.ts +38 -0
  269. package/dist/nosql/arangodb/where.js +94 -0
  270. package/dist/nosql/azure-blob/index.d.ts +104 -0
  271. package/dist/nosql/beanstalkd/index.d.ts +88 -0
  272. package/dist/nosql/beequeue/index.d.ts +99 -0
  273. package/dist/nosql/bigchaindb/index.d.ts +113 -0
  274. package/dist/nosql/bigtable/index.d.ts +144 -0
  275. package/dist/nosql/blazegraph/index.d.ts +88 -0
  276. package/dist/nosql/bullmq/index.d.ts +83 -0
  277. package/dist/nosql/cassandra/index.d.ts +119 -0
  278. package/dist/nosql/chroma/index.d.ts +151 -0
  279. package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
  280. package/dist/nosql/coherence/index.d.ts +91 -0
  281. package/dist/nosql/cosmosdb/index.d.ts +78 -0
  282. package/dist/nosql/couchbase/index.d.ts +103 -0
  283. package/dist/nosql/dax/index.d.ts +118 -0
  284. package/dist/nosql/deno-kv/index.d.ts +109 -0
  285. package/dist/nosql/dgraph/index.d.ts +80 -0
  286. package/dist/nosql/doris/index.d.ts +88 -0
  287. package/dist/nosql/druid/index.d.ts +95 -0
  288. package/dist/nosql/dynamodb/index.d.ts +643 -0
  289. package/dist/nosql/dynamodb/index.js +423 -0
  290. package/dist/nosql/elasticsearch/index.d.ts +239 -0
  291. package/dist/nosql/etcd/index.d.ts +243 -0
  292. package/dist/nosql/eventhubs/index.d.ts +89 -0
  293. package/dist/nosql/eventstore/index.d.ts +102 -0
  294. package/dist/nosql/faunadb/index.d.ts +141 -0
  295. package/dist/nosql/faunadb/index.js +329 -0
  296. package/dist/nosql/firestore/index.d.ts +67 -0
  297. package/dist/nosql/fluree/index.d.ts +88 -0
  298. package/dist/nosql/fuseki/index.d.ts +94 -0
  299. package/dist/nosql/gcs/index.d.ts +62 -0
  300. package/dist/nosql/gearman/index.d.ts +77 -0
  301. package/dist/nosql/geode/index.d.ts +93 -0
  302. package/dist/nosql/graphdb/index.d.ts +86 -0
  303. package/dist/nosql/graylog/index.d.ts +118 -0
  304. package/dist/nosql/gridgain/index.d.ts +78 -0
  305. package/dist/nosql/hazelcast/index.d.ts +73 -0
  306. package/dist/nosql/hbase/index.d.ts +123 -0
  307. package/dist/nosql/ignite/index.d.ts +80 -0
  308. package/dist/nosql/immudb/index.d.ts +131 -0
  309. package/dist/nosql/index.d.ts +215 -0
  310. package/dist/nosql/infinispan/index.d.ts +95 -0
  311. package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
  312. package/dist/nosql/influxdb/flux-compiler.js +170 -0
  313. package/dist/nosql/influxdb/index.d.ts +300 -0
  314. package/dist/nosql/influxdb/index.js +0 -0
  315. package/dist/nosql/kafka/index.d.ts +113 -0
  316. package/dist/nosql/keyspaces/index.d.ts +122 -0
  317. package/dist/nosql/kinesis/index.d.ts +121 -0
  318. package/dist/nosql/leveldb/index.d.ts +112 -0
  319. package/dist/nosql/leveldb/index.js +103 -1
  320. package/dist/nosql/lmdb/index.d.ts +76 -0
  321. package/dist/nosql/loki/index.d.ts +126 -0
  322. package/dist/nosql/marklogic/index.d.ts +76 -0
  323. package/dist/nosql/materialize/index.d.ts +91 -0
  324. package/dist/nosql/meilisearch/index.d.ts +76 -0
  325. package/dist/nosql/memcached/index.d.ts +138 -0
  326. package/dist/nosql/milvus/index.d.ts +167 -0
  327. package/dist/nosql/minio/index.d.ts +122 -0
  328. package/dist/nosql/momento/index.d.ts +99 -0
  329. package/dist/nosql/mongodb/index.d.ts +265 -0
  330. package/dist/nosql/mongodb/index.js +139 -0
  331. package/dist/nosql/mongodb/where.d.ts +8 -0
  332. package/dist/nosql/mongodb/where.js +181 -0
  333. package/dist/nosql/nats/index.d.ts +139 -0
  334. package/dist/nosql/nedb/index.d.ts +79 -0
  335. package/dist/nosql/neo4j/index.d.ts +217 -0
  336. package/dist/nosql/neo4j/index.js +26 -14
  337. package/dist/nosql/neptune/index.d.ts +234 -0
  338. package/dist/nosql/neptune/index.js +23 -9
  339. package/dist/nosql/nsq/index.d.ts +93 -0
  340. package/dist/nosql/opensearch/index.d.ts +97 -0
  341. package/dist/nosql/orientdb/index.d.ts +72 -0
  342. package/dist/nosql/papertrail/index.d.ts +120 -0
  343. package/dist/nosql/pinecone/index.d.ts +148 -0
  344. package/dist/nosql/pinot/index.d.ts +90 -0
  345. package/dist/nosql/pouchdb/index.d.ts +95 -0
  346. package/dist/nosql/prometheus/index.d.ts +112 -0
  347. package/dist/nosql/provendb/index.d.ts +143 -0
  348. package/dist/nosql/provendb/index.js +262 -0
  349. package/dist/nosql/pubsub/index.d.ts +83 -0
  350. package/dist/nosql/pulsar/index.d.ts +105 -0
  351. package/dist/nosql/qdrant/index.d.ts +231 -0
  352. package/dist/nosql/qldb/index.d.ts +182 -0
  353. package/dist/nosql/qldb/index.js +302 -1
  354. package/dist/nosql/r2/index.d.ts +160 -0
  355. package/dist/nosql/rabbitmq/index.d.ts +131 -0
  356. package/dist/nosql/ravendb/index.d.ts +138 -0
  357. package/dist/nosql/ravendb/index.js +323 -9
  358. package/dist/nosql/ravendb/where.d.ts +38 -0
  359. package/dist/nosql/ravendb/where.js +94 -0
  360. package/dist/nosql/redis/index.d.ts +267 -0
  361. package/dist/nosql/redis/index.js +19 -5
  362. package/dist/nosql/redpanda/index.d.ts +117 -0
  363. package/dist/nosql/resque/index.d.ts +91 -0
  364. package/dist/nosql/rethinkdb/index.d.ts +194 -0
  365. package/dist/nosql/rethinkdb/index.js +290 -0
  366. package/dist/nosql/rethinkdb/where.d.ts +38 -0
  367. package/dist/nosql/rethinkdb/where.js +94 -0
  368. package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
  369. package/dist/nosql/rocksdb/document-layer.js +338 -0
  370. package/dist/nosql/rocksdb/index.d.ts +112 -0
  371. package/dist/nosql/rocksdb/index.js +103 -1
  372. package/dist/nosql/rocksdb/where-match.d.ts +21 -0
  373. package/dist/nosql/rocksdb/where-match.js +238 -0
  374. package/dist/nosql/rockset/index.d.ts +84 -0
  375. package/dist/nosql/s3/index.d.ts +170 -0
  376. package/dist/nosql/scylladb/index.d.ts +117 -0
  377. package/dist/nosql/signoz/index.d.ts +116 -0
  378. package/dist/nosql/sns/index.d.ts +99 -0
  379. package/dist/nosql/solr/index.d.ts +129 -0
  380. package/dist/nosql/splunk/index.d.ts +125 -0
  381. package/dist/nosql/sqs/index.d.ts +116 -0
  382. package/dist/nosql/stardog/index.d.ts +86 -0
  383. package/dist/nosql/starrocks/index.d.ts +89 -0
  384. package/dist/nosql/store.d.ts +23 -0
  385. package/dist/nosql/sumologic/index.d.ts +119 -0
  386. package/dist/nosql/surrealdb/index.d.ts +156 -0
  387. package/dist/nosql/surrealdb/index.js +174 -1
  388. package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
  389. package/dist/nosql/surrealdb/query-compiler.js +193 -0
  390. package/dist/nosql/terminusdb/index.d.ts +95 -0
  391. package/dist/nosql/tigergraph/index.d.ts +314 -0
  392. package/dist/nosql/typesense/index.d.ts +82 -0
  393. package/dist/nosql/unqlite/index.d.ts +68 -0
  394. package/dist/nosql/upstash/index.d.ts +80 -0
  395. package/dist/nosql/vercel-kv/index.d.ts +82 -0
  396. package/dist/nosql/victoriametrics/index.d.ts +129 -0
  397. package/dist/nosql/virtuoso/index.d.ts +87 -0
  398. package/dist/nosql/weaviate/index.d.ts +196 -0
  399. package/dist/operators/index.d.ts +7 -0
  400. package/dist/operators.d.ts +2947 -0
  401. package/dist/operators.js +46 -1
  402. package/dist/prisma-migrate/index.d.ts +28 -0
  403. package/dist/prisma-migrate/migration-generator.d.ts +21 -0
  404. package/dist/prisma-migrate/model-generator.d.ts +12 -0
  405. package/dist/prisma-migrate/relations.d.ts +28 -0
  406. package/dist/prisma-migrate/schema-parser.d.ts +42 -0
  407. package/dist/prisma-migrate/type-mapper.d.ts +20 -0
  408. package/dist/prorm.d.ts +2093 -0
  409. package/dist/prorm.js +721 -302
  410. package/dist/query-builders/cte-builder.d.ts +104 -0
  411. package/dist/query-builders/functions/aggregate.d.ts +199 -0
  412. package/dist/query-builders/functions/conditional.d.ts +195 -0
  413. package/dist/query-builders/functions/datetime.d.ts +202 -0
  414. package/dist/query-builders/functions/fulltext.d.ts +220 -0
  415. package/dist/query-builders/functions/index.d.ts +17 -0
  416. package/dist/query-builders/functions/json.d.ts +157 -0
  417. package/dist/query-builders/functions/math.d.ts +215 -0
  418. package/dist/query-builders/functions/string.d.ts +233 -0
  419. package/dist/query-builders/functions/window.d.ts +209 -0
  420. package/dist/query-builders/include-builder.d.ts +85 -0
  421. package/dist/query-builders/index-expression-builder.d.ts +153 -0
  422. package/dist/query-builders/index.d.ts +121 -0
  423. package/dist/query-builders/index.js +10 -0
  424. package/dist/query-builders/insert-builder.d.ts +62 -0
  425. package/dist/query-builders/model-helpers.d.ts +28 -0
  426. package/dist/query-builders/order-limit-builder.d.ts +84 -0
  427. package/dist/query-builders/sql-compiler.d.ts +562 -0
  428. package/dist/query-builders/subquery-builder.d.ts +133 -0
  429. package/dist/query-builders/update-builder.d.ts +71 -0
  430. package/dist/query-builders/view-builder.d.ts +189 -0
  431. package/dist/query-builders/where-builder.d.ts +124 -0
  432. package/dist/query-interface.d.ts +407 -0
  433. package/dist/query-interface.js +84 -0
  434. package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
  435. package/dist/query-optimizers/explain-plans.d.ts +187 -0
  436. package/dist/query-optimizers/index.d.ts +27 -0
  437. package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
  438. package/dist/query-optimizers/query-hints.d.ts +201 -0
  439. package/dist/query-optimizers/query-optimizer.d.ts +162 -0
  440. package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
  441. package/dist/replica-manager.d.ts +235 -0
  442. package/dist/schema/index.d.ts +7 -0
  443. package/dist/schema/migration-generator.d.ts +74 -0
  444. package/dist/schema/schema-differ.d.ts +114 -0
  445. package/dist/schema/types.d.ts +246 -0
  446. package/dist/schema-objects.d.ts +78 -0
  447. package/dist/schema-objects.js +203 -0
  448. package/dist/sql-constants.d.ts +240 -0
  449. package/dist/sqlite-advanced.d.ts +572 -0
  450. package/dist/streams/index.d.ts +5 -0
  451. package/dist/streams/transforms.d.ts +120 -0
  452. package/dist/transaction.d.ts +221 -0
  453. package/dist/types/index.d.ts +3123 -0
  454. package/dist/user-management.d.ts +141 -0
  455. package/dist/utils/date.d.ts +149 -0
  456. package/dist/utils/index.d.ts +359 -0
  457. package/dist/utils/string.d.ts +88 -0
  458. package/dist/validators/index.d.ts +7 -0
  459. package/dist/validators/validator.d.ts +306 -0
  460. package/package.json +20 -5
@@ -0,0 +1,539 @@
1
+ "use strict";
2
+ /**
3
+ * BaseGraphDialect — shared implementation of the SQL-shaped `Dialect`
4
+ * contract for graph/object databases.
5
+ *
6
+ * The ORM's `Model` layer talks to every backend through the `Dialect`
7
+ * interface (connect/query/transaction + `build*Query` codegen + DDL). This
8
+ * class implements that whole surface **once** for graph stores, translating:
9
+ *
10
+ * - a table -> a node label (vertex type)
11
+ * - a row -> a node
12
+ * - an INSERT -> CREATE node
13
+ * - a SELECT -> MATCH node (+ traversals for `include`)
14
+ * - a WHERE -> a graph predicate (via {@link normalizeWhere})
15
+ * - an association -> a graph edge/relationship
16
+ * - an `include` -> a graph walk over that edge
17
+ * - "DDL" -> node-label / edge-type / index / constraint mgmt
18
+ *
19
+ * Each concrete dialect (Neo4j / Gremlin / Dgraph) only implements the
20
+ * connection lifecycle and a small set of language-specific `compile*`
21
+ * codegen primitives; everything else is centralized here. Genuinely
22
+ * relational-only features (partitions, materialized views, RLS, stored
23
+ * procedures, foreign-data wrappers, arbitrary SQL joins) throw a typed
24
+ * {@link GraphCapabilityError} rather than silently doing the wrong thing.
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.BaseGraphDialect = void 0;
28
+ const stream_1 = require("stream");
29
+ const dialect_1 = require("../dialects/dialect");
30
+ const types_1 = require("./types");
31
+ class BaseGraphDialect extends dialect_1.BaseDialect {
32
+ constructor(options = {}) {
33
+ super();
34
+ /** In-memory registry of node/edge models defined through the builder. */
35
+ this.nodeModels = new Map();
36
+ this.edgeModels = new Map();
37
+ this.options = options;
38
+ }
39
+ // =====================================================================
40
+ // Connection / util
41
+ // =====================================================================
42
+ getConnection() {
43
+ return this._connection;
44
+ }
45
+ isConnected() {
46
+ return this._connected;
47
+ }
48
+ /**
49
+ * Object-mode streaming: runs the query and pushes one row (or mapped
50
+ * model instance) per chunk. Graph drivers don't share a common cursor
51
+ * API, so this buffers the driver result and re-emits it — correct and
52
+ * dialect-agnostic, matching the `Model.findAllStream()` contract.
53
+ */
54
+ queryStream(statement, options) {
55
+ return stream_1.Readable.from(this.streamGen(statement, options));
56
+ }
57
+ async *streamGen(statement, options) {
58
+ const result = await this.query(statement, options);
59
+ for (const row of result.rows || []) {
60
+ yield row;
61
+ }
62
+ }
63
+ /** Values are parameterized, so `escape` is only a defensive fallback. */
64
+ escape(value) {
65
+ if (value === null || value === undefined)
66
+ return 'null';
67
+ if (typeof value === 'number' || typeof value === 'boolean')
68
+ return String(value);
69
+ return JSON.stringify(value);
70
+ }
71
+ escapeId(identifier) {
72
+ return (0, types_1.safeIdent)(identifier);
73
+ }
74
+ quoteIdentifier(identifier) {
75
+ return (0, types_1.safeIdent)(identifier);
76
+ }
77
+ quoteTable(tableName, _schema) {
78
+ return (0, types_1.safeIdent)(tableName);
79
+ }
80
+ /** Coarse property-type name; graph stores are largely schemaless. */
81
+ getDataTypeSql(dataType) {
82
+ const key = String(dataType?.key ?? dataType ?? '').toUpperCase();
83
+ if (/INT|SERIAL|DECIMAL|NUMER|FLOAT|DOUBLE|REAL/.test(key))
84
+ return 'number';
85
+ if (/BOOL/.test(key))
86
+ return 'boolean';
87
+ if (/DATE|TIME/.test(key))
88
+ return 'datetime';
89
+ if (/JSON/.test(key))
90
+ return 'object';
91
+ return 'string';
92
+ }
93
+ /** Run a compiled statement, forwarding its params as query bindings. */
94
+ async run(stmt, options) {
95
+ return this.query(stmt.text, {
96
+ ...options,
97
+ bind: { ...(options?.bind || {}), ...stmt.params },
98
+ });
99
+ }
100
+ /** Positional param array for the SQL-shaped `{ sql, values }` contract. */
101
+ paramValues(stmt) {
102
+ return Object.values(stmt.params);
103
+ }
104
+ /** Tolerant `Order` -> `[field, dir][]` normalizer. */
105
+ normalizeOrder(order) {
106
+ if (!order)
107
+ return [];
108
+ const out = [];
109
+ const arr = Array.isArray(order) ? order : [order];
110
+ for (const item of arr) {
111
+ if (typeof item === 'string') {
112
+ out.push([item, 'ASC']);
113
+ }
114
+ else if (Array.isArray(item)) {
115
+ const rawField = item[0];
116
+ const field = String(rawField && rawField.$col ? rawField.$col : rawField);
117
+ const dir = String(item[1] ?? 'ASC').toUpperCase() === 'DESC' ? 'DESC' : 'ASC';
118
+ out.push([field, dir]);
119
+ }
120
+ else if (item && typeof item === 'object' && (item.$col || item.column)) {
121
+ out.push([String(item.$col || item.column), 'ASC']);
122
+ }
123
+ }
124
+ return out;
125
+ }
126
+ /** Map ORM `include` entries into graph traversal steps. */
127
+ mapIncludes(include) {
128
+ if (!include || !Array.isArray(include))
129
+ return [];
130
+ const steps = [];
131
+ for (const inc of include) {
132
+ if (!inc || typeof inc !== 'object')
133
+ continue;
134
+ const model = inc.model || inc.association?.target;
135
+ const edge = (0, types_1.deriveAssociationEdge)({
136
+ associationType: inc.association?.associationType || inc.associationType,
137
+ as: inc.as || model?.name || model?.tableName,
138
+ target: model?.name || model?.tableName || inc.as,
139
+ edgeLabel: inc.edgeLabel,
140
+ });
141
+ steps.push({
142
+ edgeLabel: edge.edgeLabel,
143
+ direction: edge.direction === 'in' ? 'in' : 'out',
144
+ targetLabel: edge.target,
145
+ as: edge.as,
146
+ where: inc.where,
147
+ });
148
+ }
149
+ return steps;
150
+ }
151
+ // =====================================================================
152
+ // Query builders (Dialect interface) — delegate to compile* primitives.
153
+ // =====================================================================
154
+ buildWhereClause(where, _options) {
155
+ const params = new types_1.ParamBag();
156
+ const pred = (0, types_1.normalizeWhere)(where);
157
+ const sql = this.renderPredicate(pred, { nodeVar: this.defaultNodeVar, params });
158
+ return { sql, values: params.toArray() };
159
+ }
160
+ buildOrderClause(order, _options) {
161
+ return this.normalizeOrder(order)
162
+ .map(([field, dir]) => `${this.defaultNodeVar}.${(0, types_1.safeIdent)(field)} ${dir}`)
163
+ .join(', ');
164
+ }
165
+ buildLimitOffset(limit, offset) {
166
+ const parts = [];
167
+ if (offset !== undefined && offset !== null && String(offset) !== '')
168
+ parts.push(`SKIP ${offset}`);
169
+ if (limit !== undefined && limit !== null && String(limit) !== '')
170
+ parts.push(`LIMIT ${limit}`);
171
+ return parts.join(' ');
172
+ }
173
+ buildInsertQuery(tableName, values, _options) {
174
+ const stmt = this.compileCreateNode(tableName, values);
175
+ return { sql: stmt.text, values: this.paramValues(stmt) };
176
+ }
177
+ buildUpdateQuery(tableName, values, where, _options) {
178
+ const stmt = this.compileUpdateNodes(tableName, where, values);
179
+ return { sql: stmt.text, values: this.paramValues(stmt) };
180
+ }
181
+ buildDeleteQuery(tableName, where, options) {
182
+ // A delete on a graph node detaches its relationships too, unless the
183
+ // caller explicitly opts out via `truncate: false`-style semantics.
184
+ const detach = options?.truncate !== false;
185
+ const stmt = this.compileDeleteNodes(tableName, where, detach);
186
+ return { sql: stmt.text, values: this.paramValues(stmt) };
187
+ }
188
+ buildSelectQuery(options) {
189
+ const spec = {
190
+ label: options.tableName,
191
+ where: options.where,
192
+ attributes: options.attributes,
193
+ order: this.normalizeOrder(options.order),
194
+ limit: options.limit,
195
+ offset: options.offset,
196
+ include: this.mapIncludes(options.include),
197
+ distinct: options.distinct,
198
+ };
199
+ const stmt = this.compileMatch(spec);
200
+ return { sql: stmt.text, values: this.paramValues(stmt) };
201
+ }
202
+ buildUpsertQuery(tableName, values, options) {
203
+ const conflictKeys = options?.conflictFields && options.conflictFields.length
204
+ ? options.conflictFields
205
+ : this.identityKeys(tableName);
206
+ const stmt = this.compileUpsertNode(tableName, values, conflictKeys);
207
+ return { sql: stmt.text, values: this.paramValues(stmt) };
208
+ }
209
+ buildIncrementQuery(tableName, fields, where, options) {
210
+ const stmt = this.compileIncrement(tableName, fields, where, options?.by ?? 1);
211
+ return { sql: stmt.text, values: this.paramValues(stmt) };
212
+ }
213
+ /** Identity property/properties for a label (defaults to `id`). */
214
+ identityKeys(label) {
215
+ const model = this.nodeModels.get(label);
216
+ if (model?.primaryKey)
217
+ return [model.primaryKey];
218
+ if (model?.properties) {
219
+ const pk = Object.entries(model.properties)
220
+ .filter(([, def]) => def.primaryKey)
221
+ .map(([name]) => name);
222
+ if (pk.length)
223
+ return pk;
224
+ }
225
+ return ['id'];
226
+ }
227
+ // =====================================================================
228
+ // DDL-equivalent: node labels, edges, indexes, constraints.
229
+ // =====================================================================
230
+ /**
231
+ * "CREATE TABLE" for a graph store = declare a node label and materialize
232
+ * its schema hints: unique/primary-key columns become uniqueness
233
+ * constraints, `references` columns become association edges, and indexed
234
+ * columns become property indexes. Nodes themselves stay schemaless.
235
+ */
236
+ async createTable(tableName, columns, _options) {
237
+ const props = {};
238
+ const associations = [];
239
+ let primaryKey;
240
+ for (const [name, def] of Object.entries(columns)) {
241
+ props[name] = {
242
+ type: this.getDataTypeSql(def.type),
243
+ unique: def.unique === true || typeof def.unique === 'string',
244
+ required: def.allowNull === false,
245
+ primaryKey: def.primaryKey === true,
246
+ };
247
+ if (def.primaryKey)
248
+ primaryKey = name;
249
+ if (def.references) {
250
+ associations.push((0, types_1.deriveAssociationEdge)({
251
+ type: 'belongsTo',
252
+ as: name.replace(/_?id$/i, '') || name,
253
+ target: def.references.table,
254
+ }));
255
+ }
256
+ }
257
+ this.nodeModels.set(tableName, { label: tableName, properties: props, primaryKey, associations });
258
+ if (this.isConnected()) {
259
+ for (const [name, def] of Object.entries(columns)) {
260
+ if (def.primaryKey) {
261
+ await this.run(this.compileCreateConstraint(tableName, [name], 'key'));
262
+ }
263
+ else if (def.unique) {
264
+ await this.run(this.compileCreateConstraint(tableName, [name], 'unique'));
265
+ }
266
+ }
267
+ }
268
+ }
269
+ async dropTable(tableName, _options) {
270
+ this.nodeModels.delete(tableName);
271
+ if (this.isConnected()) {
272
+ await this.run(this.compileDeleteNodes(tableName, undefined, true));
273
+ }
274
+ }
275
+ async addIndex(tableName, indexName, fields, _options) {
276
+ await this.run(this.compileCreateIndex(tableName, fields, indexName));
277
+ }
278
+ async createIndex(tableName, indexDef) {
279
+ await this.run(this.compileCreateIndex(tableName, indexDef.fields, indexDef.name));
280
+ }
281
+ async removeIndex(tableName, indexName) {
282
+ await this.run(this.compileDropIndex(tableName, indexName));
283
+ }
284
+ async dropIndex(tableName, indexName, _options) {
285
+ await this.run(this.compileDropIndex(tableName, indexName));
286
+ }
287
+ async createConstraint(tableName, constraintDef) {
288
+ const kind = constraintDef.type === 'PRIMARY KEY' ? 'key' : constraintDef.type === 'UNIQUE' ? 'unique' : 'exists';
289
+ await this.run(this.compileCreateConstraint(tableName, constraintDef.fields || [], kind, constraintDef.name));
290
+ }
291
+ async dropConstraint(tableName, constraintName, _options) {
292
+ await this.run(this.compileDropConstraint(tableName, constraintName));
293
+ }
294
+ async addConstraint(tableName, options) {
295
+ if (options.type === 'FOREIGN KEY' || options.type === 'CHECK') {
296
+ // Foreign keys are modelled as edges, not constraints; CHECK has no
297
+ // graph equivalent. Both are no-ops here rather than hard failures.
298
+ return;
299
+ }
300
+ const kind = options.type === 'PRIMARY KEY' ? 'key' : 'unique';
301
+ await this.run(this.compileCreateConstraint(tableName, options.fields, kind, options.name));
302
+ }
303
+ async removeConstraint(tableName, constraintName) {
304
+ await this.run(this.compileDropConstraint(tableName, constraintName));
305
+ }
306
+ async showTables() {
307
+ const result = await this.run(this.compileShowLabels());
308
+ return (result.rows || [])
309
+ .map((r) => (typeof r === 'string' ? r : (r?.label ?? r?.name ?? Object.values(r || {})[0])))
310
+ .filter((v) => typeof v === 'string');
311
+ }
312
+ async showViews() {
313
+ return [];
314
+ }
315
+ async showMaterializedViews() {
316
+ return [];
317
+ }
318
+ async showConstraints(_tableName) {
319
+ return [];
320
+ }
321
+ async showIndexes(_tableName) {
322
+ return [];
323
+ }
324
+ async describeTable(_tableName) {
325
+ // Graph nodes are schemaless; describe from the registered model if any.
326
+ const model = this.nodeModels.get(_tableName);
327
+ const desc = {};
328
+ if (model?.properties) {
329
+ for (const [name, def] of Object.entries(model.properties)) {
330
+ desc[name] = {
331
+ type: def.type || 'string',
332
+ allowNull: !def.required,
333
+ defaultValue: null,
334
+ primaryKey: !!def.primaryKey,
335
+ autoIncrement: false,
336
+ };
337
+ }
338
+ }
339
+ return desc;
340
+ }
341
+ // Schema/namespace: graph stores use a single database/namespace. These are
342
+ // no-ops (or single-entry) rather than emulated SQL schemas.
343
+ async createSchema(_schema) {
344
+ /* no-op: graph stores have no sub-schemas */
345
+ }
346
+ async dropSchema(_schema, _options) {
347
+ /* no-op */
348
+ }
349
+ async showAllSchemas() {
350
+ return this.options.database ? [this.options.database] : [];
351
+ }
352
+ // Schemaless: adding/removing/changing a property is a per-node write, so
353
+ // there's no label-level column DDL to run here.
354
+ async addColumn(_tableName, _columnName, _definition) {
355
+ /* no-op: node properties are dynamic */
356
+ }
357
+ async removeColumn(tableName, columnName) {
358
+ // Emulate DROP COLUMN by removing the property from every node.
359
+ if (this.isConnected()) {
360
+ await this.run(this.compileUpdateNodes(tableName, undefined, { [columnName]: undefined }));
361
+ }
362
+ }
363
+ async changeColumn(_tableName, _columnName, _definition) {
364
+ /* no-op: node properties are dynamic and untyped */
365
+ }
366
+ async commentTable(_tableName, _comment) {
367
+ /* no-op: comments have no graph equivalent */
368
+ }
369
+ async commentColumn(_tableName, _columnName, _comment) {
370
+ /* no-op */
371
+ }
372
+ // =====================================================================
373
+ // Graph-native builder API (association -> edge, traversal, CRUD).
374
+ // =====================================================================
375
+ /** Register a node model (label + property schema + associations). */
376
+ defineNode(def) {
377
+ this.nodeModels.set(def.label, def);
378
+ }
379
+ /** Register an edge/relationship model between two node labels. */
380
+ defineEdge(def) {
381
+ this.edgeModels.set(def.label, def);
382
+ }
383
+ /** Create a node and return the driver result. */
384
+ async createNode(label, data) {
385
+ return this.run(this.compileCreateNode(label, data));
386
+ }
387
+ /** Find nodes matching a spec, returning the driver rows. */
388
+ async findNodes(spec) {
389
+ const result = await this.run(this.compileMatch(spec));
390
+ return result.rows || [];
391
+ }
392
+ /** Update nodes matching a filter. */
393
+ async updateNodes(label, where, values) {
394
+ return this.run(this.compileUpdateNodes(label, where, values));
395
+ }
396
+ /** Delete nodes matching a filter (detaching their edges). */
397
+ async destroyNodes(label, where) {
398
+ return this.run(this.compileDeleteNodes(label, where, true));
399
+ }
400
+ /**
401
+ * Materialize an ORM association write as a graph edge: matches the two
402
+ * endpoints by filter and connects them with the association's edge label.
403
+ */
404
+ async relate(spec) {
405
+ return this.run(this.compileCreateEdge(spec));
406
+ }
407
+ /** Walk an association/edge from matching start node(s) — an `include`/join as a graph traversal. */
408
+ async traverse(spec) {
409
+ const result = await this.run(this.compileTraverse(spec));
410
+ return result.rows || [];
411
+ }
412
+ // =====================================================================
413
+ // Relational-only features with no graph equivalent -> typed errors.
414
+ // =====================================================================
415
+ unsupported(feature) {
416
+ throw new types_1.GraphCapabilityError(feature, this.name);
417
+ }
418
+ createPartitionedTable() {
419
+ return this.unsupported('partitioned tables');
420
+ }
421
+ createPartition(_options) {
422
+ return this.unsupported('partitions');
423
+ }
424
+ attachPartition(_options) {
425
+ return this.unsupported('partitions');
426
+ }
427
+ detachPartition(_options) {
428
+ return this.unsupported('partitions');
429
+ }
430
+ dropPartition() {
431
+ return this.unsupported('partitions');
432
+ }
433
+ createView(_viewName, _query, _options) {
434
+ return this.unsupported('views');
435
+ }
436
+ dropView(_viewName, _options) {
437
+ return this.unsupported('views');
438
+ }
439
+ createMaterializedView(_options) {
440
+ return this.unsupported('materialized views');
441
+ }
442
+ refreshMaterializedView(_viewName, _options) {
443
+ return this.unsupported('materialized views');
444
+ }
445
+ dropMaterializedView(_viewName, _options) {
446
+ return this.unsupported('materialized views');
447
+ }
448
+ hasMaterializedView(_viewName) {
449
+ return this.unsupported('materialized views');
450
+ }
451
+ createStoredProcedure(_options) {
452
+ return this.unsupported('stored procedures');
453
+ }
454
+ dropStoredProcedure(_procedureName, _options) {
455
+ return this.unsupported('stored procedures');
456
+ }
457
+ executeStoredProcedure(_options) {
458
+ return this.unsupported('stored procedures');
459
+ }
460
+ hasStoredProcedure(_procedureName, _schema) {
461
+ return this.unsupported('stored procedures');
462
+ }
463
+ createTrigger(_options) {
464
+ return this.unsupported('triggers');
465
+ }
466
+ dropTrigger(_triggerName, _tableName, _options) {
467
+ return this.unsupported('triggers');
468
+ }
469
+ hasTrigger(_triggerName, _tableName) {
470
+ return this.unsupported('triggers');
471
+ }
472
+ createSequence(_options) {
473
+ return this.unsupported('sequences');
474
+ }
475
+ dropSequence(_sequenceName, _options) {
476
+ return this.unsupported('sequences');
477
+ }
478
+ nextSequenceValue(_sequenceName) {
479
+ return this.unsupported('sequences');
480
+ }
481
+ hasSequence(_sequenceName) {
482
+ return this.unsupported('sequences');
483
+ }
484
+ createPolicy(_options) {
485
+ return this.unsupported('row-level-security policies');
486
+ }
487
+ dropPolicy(_policyName, _tableName, _options) {
488
+ return this.unsupported('row-level-security policies');
489
+ }
490
+ enableRLS(_tableName, _schema) {
491
+ return this.unsupported('row-level-security');
492
+ }
493
+ disableRLS(_tableName, _schema) {
494
+ return this.unsupported('row-level-security');
495
+ }
496
+ hasPolicy(_policyName, _tableName) {
497
+ return this.unsupported('row-level-security policies');
498
+ }
499
+ createPartialIndex() {
500
+ return this.unsupported('partial indexes');
501
+ }
502
+ createExpressionIndex() {
503
+ return this.unsupported('expression indexes');
504
+ }
505
+ createIdentityColumn() {
506
+ return this.unsupported('identity columns');
507
+ }
508
+ createComputedColumn() {
509
+ return this.unsupported('computed columns');
510
+ }
511
+ renameTable(_oldName, _newName) {
512
+ return this.unsupported('renaming a node label');
513
+ }
514
+ changeOwner(_newOwner, _tableName) {
515
+ return this.unsupported('ownership changes');
516
+ }
517
+ createForeignDataWrapper() {
518
+ return this.unsupported('foreign data wrappers');
519
+ }
520
+ dropForeignDataWrapper() {
521
+ return this.unsupported('foreign data wrappers');
522
+ }
523
+ createForeignServer() {
524
+ return this.unsupported('foreign servers');
525
+ }
526
+ dropForeignServer() {
527
+ return this.unsupported('foreign servers');
528
+ }
529
+ createForeignTable() {
530
+ return this.unsupported('foreign tables');
531
+ }
532
+ createSecurityPolicy() {
533
+ return this.unsupported('security policies');
534
+ }
535
+ dropSecurityPolicy() {
536
+ return this.unsupported('security policies');
537
+ }
538
+ }
539
+ exports.BaseGraphDialect = BaseGraphDialect;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Dgraph graph dialect — DQL (GraphQL+-) queries + JSON mutations for the
3
+ * ORM builder API.
4
+ *
5
+ * Maps the ORM model API onto Dgraph's uid/predicate/edge model: node labels
6
+ * become `dgraph.type` values, finds become DQL `func: type(...)` blocks with
7
+ * `@filter(...)` and `expand(_all_)`, associations become edge predicates
8
+ * (reverse edges via `~pred` for inbound), and writes become JSON
9
+ * set/delete mutations (upserts resolve uids first, then mutate). Reads are
10
+ * parameterized with typed DQL vars (`$p0`); mutations carry structured JSON
11
+ * data (no string interpolation). Users never hand-write DQL/GraphQL for
12
+ * standard operations.
13
+ *
14
+ * Built on the optional `dgraph-js` gRPC driver, loaded lazily; a pre-built
15
+ * client can be injected via `options.client`.
16
+ */
17
+ import { Transaction } from '../../types';
18
+ import type { QueryOptions, QueryResult, TransactionOptions, WhereOptions } from '../../types';
19
+ import { BaseGraphDialect, type EdgeCreateSpec, type NodeConstraintKind, type WhereRenderContext } from '../base-graph-dialect';
20
+ import { type GraphConnectionOptions, type GraphPredicate, type GraphStatement, type GraphTraversalSpec, type NodeMatchSpec } from '../types';
21
+ export declare class DgraphGraphDialect extends BaseGraphDialect {
22
+ readonly name = "dgraph";
23
+ readonly library = "dgraph-js";
24
+ private client;
25
+ private stub;
26
+ private readonly activeTxns;
27
+ private currentTxnId;
28
+ constructor(options?: GraphConnectionOptions);
29
+ protected get defaultNodeVar(): string;
30
+ connect(): Promise<void>;
31
+ disconnect(): Promise<void>;
32
+ private requireClient;
33
+ query(statement: string, options?: QueryOptions): Promise<QueryResult>;
34
+ private extractRows;
35
+ private toStringVars;
36
+ getDatabaseVersion(): Promise<string>;
37
+ private currentTxn;
38
+ startTransaction(options?: TransactionOptions): Promise<Transaction>;
39
+ commitTransaction(transaction: Transaction): Promise<void>;
40
+ rollbackTransaction(transaction: Transaction): Promise<void>;
41
+ private mutate;
42
+ private resolveData;
43
+ private resolveRows;
44
+ private runMutation;
45
+ renderPredicate(pred: GraphPredicate, ctx: WhereRenderContext): string;
46
+ /** Render a predicate; with `params` uses typed DQL vars, else inlines literals. */
47
+ private renderDql;
48
+ private renderComparison;
49
+ private varDefs;
50
+ compileMatch(spec: NodeMatchSpec): GraphStatement;
51
+ compileCreateNode(label: string, data: Record<string, unknown>): GraphStatement;
52
+ compileUpdateNodes(label: string, where: WhereOptions | undefined, values: Record<string, unknown>): GraphStatement;
53
+ compileDeleteNodes(label: string, where: WhereOptions | undefined, _detach: boolean): GraphStatement;
54
+ compileUpsertNode(label: string, data: Record<string, unknown>, conflictKeys: string[]): GraphStatement;
55
+ compileIncrement(label: string, fields: string | string[] | Record<string, number>, where: WhereOptions | undefined, by: number): GraphStatement;
56
+ compileCreateEdge(spec: EdgeCreateSpec): GraphStatement;
57
+ compileTraverse(spec: GraphTraversalSpec): GraphStatement;
58
+ private uidQuery;
59
+ compileCreateConstraint(label: string, fields: string[], _kind: NodeConstraintKind, _name?: string): GraphStatement;
60
+ compileDropConstraint(_label: string, _name: string): GraphStatement;
61
+ compileCreateIndex(_label: string, fields: string[], _name?: string): GraphStatement;
62
+ compileDropIndex(_label: string, _name: string): GraphStatement;
63
+ compileShowLabels(): GraphStatement;
64
+ }
65
+ export default DgraphGraphDialect;