ts-prorm-orm 1.1.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 (310) hide show
  1. package/CHANGELOG.md +1111 -0
  2. package/LICENSE +21 -0
  3. package/README.md +573 -0
  4. package/dist/audit/history-query.js +180 -0
  5. package/dist/audit/index.js +23 -0
  6. package/dist/audit/logger.js +236 -0
  7. package/dist/cache/cache-manager.js +84 -0
  8. package/dist/cache/index.js +16 -0
  9. package/dist/cache/redis-cluster-cache.js +557 -0
  10. package/dist/cli.js +2200 -0
  11. package/dist/compliance/audit-trail.js +68 -0
  12. package/dist/compliance/backup-verification.js +685 -0
  13. package/dist/compliance/breach-detector.js +505 -0
  14. package/dist/compliance/consent-record.js +227 -0
  15. package/dist/compliance/consent-versioning.js +331 -0
  16. package/dist/compliance/cross-border-log.js +530 -0
  17. package/dist/compliance/data-classifier.js +258 -0
  18. package/dist/compliance/data-lineage.js +565 -0
  19. package/dist/compliance/data-masker.js +303 -0
  20. package/dist/compliance/data-portability.js +265 -0
  21. package/dist/compliance/data-retention.js +195 -0
  22. package/dist/compliance/dsar-workflow.js +342 -0
  23. package/dist/compliance/field-encryption.js +223 -0
  24. package/dist/compliance/immutable-record.js +148 -0
  25. package/dist/compliance/index.js +260 -0
  26. package/dist/compliance/privacy-impact-assessment.js +364 -0
  27. package/dist/compliance/pseudonymization.js +269 -0
  28. package/dist/compliance/query-firewall.js +1182 -0
  29. package/dist/compliance/rate-limiter.js +580 -0
  30. package/dist/compliance/right-to-erasure.js +117 -0
  31. package/dist/compliance/row-level-security.js +246 -0
  32. package/dist/compliance/security-decorator.js +574 -0
  33. package/dist/compliance/security-monitor.js +525 -0
  34. package/dist/compliance/sensitive-data-discovery.js +476 -0
  35. package/dist/compliance/session-isolation.js +472 -0
  36. package/dist/compliance/tls-enforcer.js +108 -0
  37. package/dist/compliance/worm-storage.js +712 -0
  38. package/dist/connection-manager.js +198 -0
  39. package/dist/connection-pool.js +519 -0
  40. package/dist/decorators/audit.js +136 -0
  41. package/dist/decorators/belongs-to-many.js +115 -0
  42. package/dist/decorators/belongs-to.js +115 -0
  43. package/dist/decorators/check.js +435 -0
  44. package/dist/decorators/collate.js +329 -0
  45. package/dist/decorators/comment.js +205 -0
  46. package/dist/decorators/database-settings.js +236 -0
  47. package/dist/decorators/default.js +244 -0
  48. package/dist/decorators/encryption.js +235 -0
  49. package/dist/decorators/engine.js +97 -0
  50. package/dist/decorators/fk-constraints.js +594 -0
  51. package/dist/decorators/foreign-table.js +136 -0
  52. package/dist/decorators/generated.js +274 -0
  53. package/dist/decorators/has-many.js +127 -0
  54. package/dist/decorators/has-one.js +116 -0
  55. package/dist/decorators/hstore.js +129 -0
  56. package/dist/decorators/index.js +355 -0
  57. package/dist/decorators/json-column.js +83 -0
  58. package/dist/decorators/jsonb.js +101 -0
  59. package/dist/decorators/orm-decorators.js +425 -0
  60. package/dist/decorators/permissions.js +294 -0
  61. package/dist/decorators/procedure.js +210 -0
  62. package/dist/decorators/query-options.js +556 -0
  63. package/dist/decorators/range.js +167 -0
  64. package/dist/decorators/set-column.js +83 -0
  65. package/dist/decorators/spatial.js +114 -0
  66. package/dist/decorators/storage.js +580 -0
  67. package/dist/decorators/timezone.js +512 -0
  68. package/dist/decorators/trigger.js +90 -0
  69. package/dist/decorators/uuid.js +135 -0
  70. package/dist/decorators/view.js +258 -0
  71. package/dist/diagrams/chen-diagram.js +354 -0
  72. package/dist/diagrams/class-diagram.js +384 -0
  73. package/dist/diagrams/dependency-diagram.js +432 -0
  74. package/dist/diagrams/er-diagram.js +605 -0
  75. package/dist/diagrams/flow-diagram.js +394 -0
  76. package/dist/diagrams/gantt-diagram.js +411 -0
  77. package/dist/diagrams/index-diagram.js +353 -0
  78. package/dist/diagrams/index.js +184 -0
  79. package/dist/diagrams/migration-diagram.js +316 -0
  80. package/dist/diagrams/model-diagram.js +616 -0
  81. package/dist/diagrams/package-diagram.js +376 -0
  82. package/dist/diagrams/palette.js +85 -0
  83. package/dist/diagrams/relational-diagram.js +455 -0
  84. package/dist/diagrams/schemadoc-diagram.js +309 -0
  85. package/dist/diagrams/sequence-diagram.js +307 -0
  86. package/dist/diagrams/state-diagram.js +344 -0
  87. package/dist/diagrams/svg-dom.js +111 -0
  88. package/dist/diagrams/tree-diagram.js +250 -0
  89. package/dist/dialects/clickhouse/index.js +1742 -0
  90. package/dist/dialects/cockroachdb/index.js +4677 -0
  91. package/dist/dialects/cratedb/index.js +441 -0
  92. package/dist/dialects/databricks/index.js +517 -0
  93. package/dist/dialects/db2/index.js +2225 -0
  94. package/dist/dialects/dialect.js +720 -0
  95. package/dist/dialects/duckdb/index.js +2014 -0
  96. package/dist/dialects/exasol/index.js +357 -0
  97. package/dist/dialects/firebird/index.js +495 -0
  98. package/dist/dialects/greenplum/index.js +457 -0
  99. package/dist/dialects/hana/index.js +1741 -0
  100. package/dist/dialects/mariadb/index.js +3590 -0
  101. package/dist/dialects/mssql/index.js +2296 -0
  102. package/dist/dialects/mysql/index.js +4058 -0
  103. package/dist/dialects/oracle/index.js +2999 -0
  104. package/dist/dialects/postgres/index.js +5319 -0
  105. package/dist/dialects/query-stream-helper.js +152 -0
  106. package/dist/dialects/questdb/index.js +433 -0
  107. package/dist/dialects/redshift/index.js +2277 -0
  108. package/dist/dialects/singlestore/index.js +354 -0
  109. package/dist/dialects/snowflake/index.js +2082 -0
  110. package/dist/dialects/spanner/index.js +1768 -0
  111. package/dist/dialects/sqlite/index.js +3382 -0
  112. package/dist/dialects/tidb/index.js +377 -0
  113. package/dist/dialects/timescaledb/index.js +164 -0
  114. package/dist/dialects/trino/index.js +420 -0
  115. package/dist/dialects/turso/index.js +227 -0
  116. package/dist/dialects/vertica/index.js +317 -0
  117. package/dist/dialects/yugabytedb/index.js +424 -0
  118. package/dist/errors/index.js +472 -0
  119. package/dist/errors/utils.js +340 -0
  120. package/dist/errors.js +21 -0
  121. package/dist/extensions/catalog/cloud-warehouse-features.js +207 -0
  122. package/dist/extensions/catalog/mssql-features.js +147 -0
  123. package/dist/extensions/catalog/mysql-mariadb-plugins.js +229 -0
  124. package/dist/extensions/catalog/oracle-db2-features.js +196 -0
  125. package/dist/extensions/catalog/postgres-extensions.js +516 -0
  126. package/dist/extensions/index.js +71 -0
  127. package/dist/extensions/types.js +13 -0
  128. package/dist/foreign-data.js +173 -0
  129. package/dist/hooks/hooks-manager.js +350 -0
  130. package/dist/hooks/index.js +37 -0
  131. package/dist/index.js +463 -0
  132. package/dist/logging.js +335 -0
  133. package/dist/migrations/index.js +40 -0
  134. package/dist/migrations/migration.js +196 -0
  135. package/dist/migrations/migrator.js +411 -0
  136. package/dist/migrations/prormmigration.js +275 -0
  137. package/dist/migrations/query-interface.js +435 -0
  138. package/dist/migrations/seeder.js +353 -0
  139. package/dist/models/associations.js +852 -0
  140. package/dist/models/constraints.js +288 -0
  141. package/dist/models/data-types.js +2518 -0
  142. package/dist/models/decorators.js +445 -0
  143. package/dist/models/index.js +33 -0
  144. package/dist/models/indexes.js +531 -0
  145. package/dist/models/methods.js +382 -0
  146. package/dist/models/model-manager.js +103 -0
  147. package/dist/models/model.js +5349 -0
  148. package/dist/models/operators.js +67 -0
  149. package/dist/models/scopes.js +189 -0
  150. package/dist/models/typescript-types.js +26 -0
  151. package/dist/nosql/aerospike/index.js +205 -0
  152. package/dist/nosql/allegrograph/index.js +169 -0
  153. package/dist/nosql/arangodb/index.js +364 -0
  154. package/dist/nosql/azure-blob/index.js +206 -0
  155. package/dist/nosql/beanstalkd/index.js +231 -0
  156. package/dist/nosql/beequeue/index.js +210 -0
  157. package/dist/nosql/bigchaindb/index.js +195 -0
  158. package/dist/nosql/bigtable/index.js +224 -0
  159. package/dist/nosql/blazegraph/index.js +173 -0
  160. package/dist/nosql/bullmq/index.js +191 -0
  161. package/dist/nosql/cassandra/index.js +174 -0
  162. package/dist/nosql/chroma/index.js +190 -0
  163. package/dist/nosql/cloudflare-kv/index.js +220 -0
  164. package/dist/nosql/coherence/index.js +200 -0
  165. package/dist/nosql/cosmosdb/index.js +157 -0
  166. package/dist/nosql/couchbase/index.js +213 -0
  167. package/dist/nosql/dax/index.js +212 -0
  168. package/dist/nosql/deno-kv/index.js +206 -0
  169. package/dist/nosql/dgraph/index.js +171 -0
  170. package/dist/nosql/doris/index.js +169 -0
  171. package/dist/nosql/druid/index.js +162 -0
  172. package/dist/nosql/dynamodb/index.js +937 -0
  173. package/dist/nosql/elasticsearch/index.js +377 -0
  174. package/dist/nosql/etcd/index.js +502 -0
  175. package/dist/nosql/eventhubs/index.js +213 -0
  176. package/dist/nosql/eventstore/index.js +254 -0
  177. package/dist/nosql/faunadb/index.js +188 -0
  178. package/dist/nosql/firestore/index.js +177 -0
  179. package/dist/nosql/fluree/index.js +148 -0
  180. package/dist/nosql/fuseki/index.js +170 -0
  181. package/dist/nosql/gcs/index.js +172 -0
  182. package/dist/nosql/gearman/index.js +160 -0
  183. package/dist/nosql/geode/index.js +196 -0
  184. package/dist/nosql/graphdb/index.js +169 -0
  185. package/dist/nosql/graylog/index.js +188 -0
  186. package/dist/nosql/gridgain/index.js +171 -0
  187. package/dist/nosql/hazelcast/index.js +162 -0
  188. package/dist/nosql/hbase/index.js +230 -0
  189. package/dist/nosql/ignite/index.js +173 -0
  190. package/dist/nosql/immudb/index.js +184 -0
  191. package/dist/nosql/index.js +232 -0
  192. package/dist/nosql/infinispan/index.js +200 -0
  193. package/dist/nosql/influxdb/index.js +0 -0
  194. package/dist/nosql/kafka/index.js +234 -0
  195. package/dist/nosql/keyspaces/index.js +189 -0
  196. package/dist/nosql/kinesis/index.js +253 -0
  197. package/dist/nosql/leveldb/index.js +153 -0
  198. package/dist/nosql/lmdb/index.js +160 -0
  199. package/dist/nosql/loki/index.js +201 -0
  200. package/dist/nosql/marklogic/index.js +204 -0
  201. package/dist/nosql/materialize/index.js +145 -0
  202. package/dist/nosql/meilisearch/index.js +154 -0
  203. package/dist/nosql/memcached/index.js +223 -0
  204. package/dist/nosql/milvus/index.js +410 -0
  205. package/dist/nosql/minio/index.js +265 -0
  206. package/dist/nosql/momento/index.js +179 -0
  207. package/dist/nosql/mongodb/index.js +461 -0
  208. package/dist/nosql/nats/index.js +247 -0
  209. package/dist/nosql/nedb/index.js +164 -0
  210. package/dist/nosql/neo4j/index.js +450 -0
  211. package/dist/nosql/neptune/index.js +470 -0
  212. package/dist/nosql/nsq/index.js +200 -0
  213. package/dist/nosql/opensearch/index.js +186 -0
  214. package/dist/nosql/orientdb/index.js +175 -0
  215. package/dist/nosql/papertrail/index.js +200 -0
  216. package/dist/nosql/pinecone/index.js +0 -0
  217. package/dist/nosql/pinot/index.js +133 -0
  218. package/dist/nosql/pouchdb/index.js +172 -0
  219. package/dist/nosql/prometheus/index.js +174 -0
  220. package/dist/nosql/provendb/index.js +147 -0
  221. package/dist/nosql/pubsub/index.js +187 -0
  222. package/dist/nosql/pulsar/index.js +232 -0
  223. package/dist/nosql/qdrant/index.js +295 -0
  224. package/dist/nosql/qldb/index.js +192 -0
  225. package/dist/nosql/r2/index.js +281 -0
  226. package/dist/nosql/rabbitmq/index.js +237 -0
  227. package/dist/nosql/ravendb/index.js +175 -0
  228. package/dist/nosql/redis/index.js +607 -0
  229. package/dist/nosql/redpanda/index.js +237 -0
  230. package/dist/nosql/resque/index.js +203 -0
  231. package/dist/nosql/rethinkdb/index.js +232 -0
  232. package/dist/nosql/rocksdb/index.js +152 -0
  233. package/dist/nosql/rockset/index.js +126 -0
  234. package/dist/nosql/s3/index.js +298 -0
  235. package/dist/nosql/scylladb/index.js +178 -0
  236. package/dist/nosql/signoz/index.js +227 -0
  237. package/dist/nosql/sns/index.js +201 -0
  238. package/dist/nosql/solr/index.js +231 -0
  239. package/dist/nosql/splunk/index.js +227 -0
  240. package/dist/nosql/sqs/index.js +246 -0
  241. package/dist/nosql/stardog/index.js +169 -0
  242. package/dist/nosql/starrocks/index.js +170 -0
  243. package/dist/nosql/store.js +2 -0
  244. package/dist/nosql/sumologic/index.js +213 -0
  245. package/dist/nosql/surrealdb/index.js +179 -0
  246. package/dist/nosql/terminusdb/index.js +151 -0
  247. package/dist/nosql/tigergraph/index.js +469 -0
  248. package/dist/nosql/typesense/index.js +148 -0
  249. package/dist/nosql/unqlite/index.js +157 -0
  250. package/dist/nosql/upstash/index.js +167 -0
  251. package/dist/nosql/vercel-kv/index.js +166 -0
  252. package/dist/nosql/victoriametrics/index.js +213 -0
  253. package/dist/nosql/virtuoso/index.js +169 -0
  254. package/dist/nosql/weaviate/index.js +276 -0
  255. package/dist/operators/index.js +108 -0
  256. package/dist/operators.js +2690 -0
  257. package/dist/prisma-migrate/index.js +38 -0
  258. package/dist/prisma-migrate/migration-generator.js +125 -0
  259. package/dist/prisma-migrate/model-generator.js +172 -0
  260. package/dist/prisma-migrate/relations.js +100 -0
  261. package/dist/prisma-migrate/schema-parser.js +167 -0
  262. package/dist/prisma-migrate/type-mapper.js +40 -0
  263. package/dist/prorm.js +6832 -0
  264. package/dist/query-builders/cte-builder.js +80 -0
  265. package/dist/query-builders/functions/aggregate.js +390 -0
  266. package/dist/query-builders/functions/conditional.js +503 -0
  267. package/dist/query-builders/functions/datetime.js +695 -0
  268. package/dist/query-builders/functions/fulltext.js +439 -0
  269. package/dist/query-builders/functions/index.js +93 -0
  270. package/dist/query-builders/functions/json.js +427 -0
  271. package/dist/query-builders/functions/math.js +399 -0
  272. package/dist/query-builders/functions/string.js +518 -0
  273. package/dist/query-builders/functions/window.js +328 -0
  274. package/dist/query-builders/include-builder.js +323 -0
  275. package/dist/query-builders/index-expression-builder.js +242 -0
  276. package/dist/query-builders/index.js +161 -0
  277. package/dist/query-builders/insert-builder.js +164 -0
  278. package/dist/query-builders/model-helpers.js +38 -0
  279. package/dist/query-builders/order-limit-builder.js +239 -0
  280. package/dist/query-builders/sql-compiler.js +2040 -0
  281. package/dist/query-builders/subquery-builder.js +152 -0
  282. package/dist/query-builders/update-builder.js +182 -0
  283. package/dist/query-builders/view-builder.js +218 -0
  284. package/dist/query-builders/where-builder.js +1532 -0
  285. package/dist/query-interface.js +622 -0
  286. package/dist/query-optimizers/batch-optimizer.js +426 -0
  287. package/dist/query-optimizers/explain-plans.js +415 -0
  288. package/dist/query-optimizers/index.js +51 -0
  289. package/dist/query-optimizers/prepared-statement-cache.js +423 -0
  290. package/dist/query-optimizers/query-hints.js +438 -0
  291. package/dist/query-optimizers/query-optimizer.js +278 -0
  292. package/dist/query-optimizers/slow-query-logger.js +271 -0
  293. package/dist/replica-manager.js +507 -0
  294. package/dist/schema/index.js +15 -0
  295. package/dist/schema/migration-generator.js +374 -0
  296. package/dist/schema/schema-differ.js +549 -0
  297. package/dist/schema/types.js +6 -0
  298. package/dist/sql-constants.js +300 -0
  299. package/dist/sqlite-advanced.js +1047 -0
  300. package/dist/streams/index.js +12 -0
  301. package/dist/streams/transforms.js +178 -0
  302. package/dist/transaction.js +456 -0
  303. package/dist/types/index.js +180 -0
  304. package/dist/user-management.js +127 -0
  305. package/dist/utils/date.js +300 -0
  306. package/dist/utils/index.js +1079 -0
  307. package/dist/utils/string.js +161 -0
  308. package/dist/validators/index.js +19 -0
  309. package/dist/validators/validator.js +911 -0
  310. package/package.json +190 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * HStore Decorator for the ORM
4
+ *
5
+ * Provides PostgreSQL HStore key-value type support.
6
+ * Requires: CREATE EXTENSION IF NOT EXISTS hstore
7
+ *
8
+ * Usage:
9
+ *
10
+ * // Basic HStore column
11
+ * @HStore()
12
+ * attributes: Record<string, string>;
13
+ *
14
+ * // With options
15
+ * @HStore({ allowNull: false })
16
+ * metadata: Record<string, any>;
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.HStore = HStore;
20
+ exports.getHStoreMetadata = getHStoreMetadata;
21
+ exports.getAllHStoreMetadata = getAllHStoreMetadata;
22
+ exports.isHStoreColumn = isHStoreColumn;
23
+ exports.clearHStoreMetadata = clearHStoreMetadata;
24
+ exports.getHStoreExtensionSQL = getHStoreExtensionSQL;
25
+ exports.buildHStoreDefaultSQL = buildHStoreDefaultSQL;
26
+ // ==================== Registry ====================
27
+ const hstoreMetadataMap = new Map();
28
+ /**
29
+ * HStore decorator for PostgreSQL HStore columns
30
+ *
31
+ * @param options - Optional HStore column options
32
+ *
33
+ * @example
34
+ * // Basic HStore column
35
+ * class Product extends Model {
36
+ * @HStore()
37
+ * attributes: Record<string, string>;
38
+ * }
39
+ *
40
+ * // With options
41
+ * class Product extends Model {
42
+ * @HStore({ allowNull: false })
43
+ * metadata: Record<string, any>;
44
+ * }
45
+ */
46
+ function HStore(options) {
47
+ return function (target, propertyKey) {
48
+ const decoratorOptions = {
49
+ allowNull: true,
50
+ useNative: true,
51
+ ...options,
52
+ };
53
+ // Get or create metadata map for this class
54
+ if (!hstoreMetadataMap.has(target.constructor)) {
55
+ hstoreMetadataMap.set(target.constructor, new Map());
56
+ }
57
+ const metadataMap = hstoreMetadataMap.get(target.constructor);
58
+ // Store metadata
59
+ metadataMap.set(propertyKey, {
60
+ options: decoratorOptions,
61
+ });
62
+ };
63
+ }
64
+ /**
65
+ * Get HStore metadata for a property
66
+ *
67
+ * @param target - The target class
68
+ * @param propertyKey - The property name
69
+ * @returns HStore metadata or undefined if not found
70
+ */
71
+ function getHStoreMetadata(target, propertyKey) {
72
+ const metadataMap = hstoreMetadataMap.get(target.constructor);
73
+ if (!metadataMap) {
74
+ return undefined;
75
+ }
76
+ return metadataMap.get(propertyKey);
77
+ }
78
+ /**
79
+ * Get all HStore metadata for a class
80
+ *
81
+ * @param target - The target class
82
+ * @returns Map of property names to HStore metadata
83
+ */
84
+ function getAllHStoreMetadata(target) {
85
+ return hstoreMetadataMap.get(target.constructor) || new Map();
86
+ }
87
+ /**
88
+ * Check if a property is an HStore column
89
+ *
90
+ * @param target - The target class
91
+ * @param propertyKey - The property name
92
+ * @returns True if the property is an HStore column
93
+ */
94
+ function isHStoreColumn(target, propertyKey) {
95
+ const metadata = getHStoreMetadata(target, propertyKey);
96
+ return metadata !== undefined;
97
+ }
98
+ /**
99
+ * Clear HStore metadata (useful for testing)
100
+ */
101
+ function clearHStoreMetadata() {
102
+ hstoreMetadataMap.clear();
103
+ }
104
+ /**
105
+ * Get the SQL to create the HStore extension
106
+ *
107
+ * @returns SQL to create the hstore extension
108
+ */
109
+ function getHStoreExtensionSQL() {
110
+ return 'CREATE EXTENSION IF NOT EXISTS hstore';
111
+ }
112
+ /**
113
+ * Build the default value SQL for HStore
114
+ *
115
+ * @param defaultValue - The default value object
116
+ * @returns SQL for the default value
117
+ */
118
+ function buildHStoreDefaultSQL(defaultValue) {
119
+ if (!defaultValue) {
120
+ return undefined;
121
+ }
122
+ // Convert object to HStore string format: "key1"=>"value1", "key2"=>"value2"
123
+ const pairs = Object.entries(defaultValue).map(([key, value]) => {
124
+ const escapedKey = key.replace(/"/g, '\\"');
125
+ const escapedValue = String(value).replace(/"/g, '\\"');
126
+ return `"${escapedKey}"=>"${escapedValue}"`;
127
+ });
128
+ return `'${pairs.join(', ')}'`;
129
+ }
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ /**
3
+ * TypeScript Decorators / Annotations for ts-prorm-orm
4
+ *
5
+ * Exports all decorator utilities organized by category:
6
+ *
7
+ * Encryption — @Secure / @SecureField for password hashing
8
+ * Procedures — @Procedure / @SqlFunction for stored procedures & SQL functions
9
+ * Views — @View for mapping a Model class to a database view
10
+ * Permissions — @CanView / @CannotView / @Permission / @CanWrite / @CannotWrite
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.processBelongsToManyDecorators = exports.getAllBelongsToMany = exports.getBelongsToMany = exports.BelongsToMany = exports.processBelongsToDecorators = exports.getAllBelongsTo = exports.getBelongsTo = exports.BelongsTo = exports.processHasOneDecorators = exports.getAllHasOne = exports.getHasOne = exports.HasOne = exports.processHasManyDecorators = exports.getAllHasMany = exports.getHasMany = exports.HasMany = exports.withPermissions = exports.filterWriteByPermissions = exports.filterByPermissions = exports.getAllowedAttributes = exports.canWriteField = exports.canViewField = exports.PermissionRegistry = exports.Permission = exports.CannotWrite = exports.CanWrite = exports.CannotView = exports.CanView = exports.getEngineOptions = exports.EngineRegistry = exports.Engine = exports.getMaterializedViewOptions = exports.MaterializedViewRegistry = exports.MaterializedView = exports.getViewOptions = exports.ViewRegistry = exports.View = exports.ProcedureRegistry = exports.SqlFunction = exports.Procedure = exports.createArgon2Adapter = exports.createBcryptAdapter = exports.getSecureFields = exports.applySecureHooks = exports.verifySecureField = exports.hashSecureFields = exports.getEncryptionAdapter = exports.setEncryptionAdapter = exports.SecureField = exports.Secure = void 0;
14
+ exports.HOOK_DECORATORS = exports.ASSOCIATION_DECORATORS = exports.CONSTRAINT_DECORATORS = exports.MODEL_DECORATORS = exports.ALL_DECORATORS = exports.ORMDecorators = exports.clearCollateMetadata = exports.generateColumnCollateSQL = exports.generateAlterTableCollateSQL = exports.generateCreateDatabaseSQL = exports.getOrderByOptions = exports.getTableCollateOptions = exports.getDatabaseOptions = exports.getColumnCollate = exports.getCollateMetadata = exports.SetCollate = exports.OrderBy = exports.TableCollate = exports.Database = exports.Locale = exports.Collate = exports.CollateEnum = exports.createSettingsContext = exports.generateSettingsSQL = exports.getAllDatabaseSettings = exports.isForeignKeyChecksDisabled = exports.getDatabaseSettings = exports.getForeignKeyChecksSetting = exports.DatabaseSetting = exports.ForeignKeyChecks = exports.isStored = exports.buildGeneratedSQL = exports.isIdentityColumn = exports.isGeneratedColumn = exports.getAllIdentityMetadata = exports.getAllGeneratedMetadata = exports.getIdentityMetadata = exports.getGeneratedMetadata = exports.Identity = exports.Generated = exports.clearCheckConstraints = exports.buildAllCheckConstraints = exports.buildCheckConstraintSQL = exports.getAllCheckConstraints = exports.getTableCheckConstraints = exports.getCheckConstraints = exports.operatorToSQL = exports.CheckTable = exports.CheckColumn = exports.Check = void 0;
15
+ exports.applyTimezoneHooks = exports.convertInstanceOnWrite = exports.convertInstanceOnRead = exports.getAllTimezoneFields = exports.getDefaultTimezone = exports.getTableTimezone = exports.getTimezoneForField = exports.getTimezoneFields = exports.getEffectiveTimezone = exports.convertWhereToTimezone = exports.applyTimezoneToQuery = exports.convertOnWrite = exports.convertOnRead = exports.parseDate = exports.formatDateTimezone = exports.convertFromTimezone = exports.convertToTimezone = exports.resolveTimezoneFromContext = exports.clearTimezoneContext = exports.getTimezoneContext = exports.setTimezoneContext = exports.TimezoneEnum = exports.Timezone = exports.computedDefault = exports.randomIntDefault = exports.nowDefault = exports.uuidDefault = exports.applyDefaultHooks = exports.applyDefaultValues = exports.toPrormDefault = exports.getDefaultForField = exports.getDefaultFields = exports.Default = exports.generateConstraintCommentSQL = exports.generateIndexCommentSQL = exports.generateCommentSQL = exports.getAllConstraintComments = exports.getConstraintComment = exports.setConstraintComment = exports.getAllIndexComments = exports.getIndexComment = exports.setIndexComment = exports.getAllFieldComments = exports.getFieldComment = exports.getTableComment = exports.CommentRegistry = exports.Comment = exports.SETTINGS_DECORATORS = exports.POSTGRES_DECORATORS = exports.VALIDATION_DECORATORS = void 0;
16
+ exports.generateTablespaceSQL = exports.generateStorageSQL = exports.getColumnStorageOptions = exports.getInheritsOptions = exports.getOnCommitOption = exports.getStatisticsOptions = exports.getReplicaIdentityOptions = exports.getCompressionOptions = exports.getClusteredOptions = exports.getTablespaceOptions = exports.getStorageOptions = exports.ColumnStorage = exports.Inherits = exports.OnCommit = exports.Statistics = exports.ReplicaIdentity = exports.Compression = exports.Clustered = exports.TablespaceOptionsFn = exports.Tablespace = exports.Storage = exports.buildExclusionSQL = exports.buildGeneratedAlwaysSQL = exports.buildIdentitySQL = exports.buildAutoIncrementSQL = exports.buildDeferrableSQL = exports.buildReferencesSQL = exports.buildOnUpdateSQL = exports.buildOnDeleteSQL = exports.getAllExclusionMetadata = exports.getExclusionMetadata = exports.getAllGeneratedAlwaysMetadata = exports.getGeneratedAlwaysMetadata = exports.getAllIdentityMetadataForeignKey = exports.getIdentityMetadataForeignKey = exports.getAllAutoIncrementMetadata = exports.getAutoIncrementMetadata = exports.getAllUniqueMetadata = exports.getUniqueMetadata = exports.getAllForeignKeyMetadata = exports.getForeignKeyMetadata = exports.Exclusion = exports.GeneratedAlways = exports.IdentityDecorator = exports.AutoIncrement = exports.Unique = exports.Deferrable = exports.References = exports.OnUpdate = exports.OnDelete = void 0;
17
+ exports.SetColumn = exports.generateJSONRemoveSQL = exports.generateJSONSetSQL = exports.generateJSONExtractSQL = exports.isJSONColumn = exports.getAllJSONColumnMetadata = exports.getJSONColumnMetadata = exports.JSONColumn = exports.generateSpatialIndexSQL = exports.isSpatialColumn = exports.getAllSpatialMetadata = exports.getSpatialMetadata = exports.Spatial = exports.generateCursorSQL = exports.generateDistinctOnSQL = exports.generateTablesampleSQL = exports.generateIdleInTransactionTimeoutSQL = exports.generateStatementTimeoutSQL = exports.generateLockSQL = exports.generateIndexHintSQL = exports.isDistinctEnabled = exports.getTablesampleOptions = exports.getDistinctOnColumns = exports.getFetchOptions = exports.getCursorOptions = exports.getIdleInTransactionTimeout = exports.getStatementTimeout = exports.getLockOptions = exports.getQueryHints = exports.FetchWith = exports.Fetch = exports.Cursor = exports.IdleInTransactionTimeout = exports.StatementTimeout = exports.WithLock = exports.DistinctOn = exports.Distinct = exports.Tablesample = exports.IgnoreIndex = exports.ForceIndex = exports.UseIndex = exports.generatePartitionBoundSQL = exports.generatePartitionSQL = exports.getPartitionOptions = exports.Partition = exports.generateInheritsSQL = exports.generateStatisticsSQL = exports.generateReplicaIdentitySQL = exports.generateCompressionSQL = exports.generateClusteredSQL = void 0;
18
+ exports.getRangeOverlapSQL = exports.getRangeContainedBySQL = exports.buildRangeLiteral = exports.clearRangeMetadata = exports.isRangeColumn = exports.getAllRangeMetadata = exports.getRangeMetadata = exports.Range = exports.buildHStoreDefaultSQL = exports.getHStoreExtensionSQL = exports.clearHStoreMetadata = exports.isHStoreColumn = exports.getAllHStoreMetadata = exports.getHStoreMetadata = exports.HStore = exports.clearJSONBMetadata = exports.isJSONBColumn = exports.getAllJSONBMetadata = exports.getJSONBMetadata = exports.JSONB = exports.buildUUIDDefaultSQL = exports.getUUIDExtensionSQL = exports.clearUUIDMetadata = exports.isUUIDColumn = exports.getAllUUIDMetadata = exports.getUUIDMetadata = exports.UUID = exports.generateSetFindInSetSQL = exports.isSetColumn = exports.getAllSetColumnMetadata = exports.getSetColumnMetadata = exports.SetColumnWithOptions = void 0;
19
+ // ── Encryption ─────────────────────────────────────────────────────────────
20
+ var encryption_1 = require("./encryption");
21
+ Object.defineProperty(exports, "Secure", { enumerable: true, get: function () { return encryption_1.Secure; } });
22
+ Object.defineProperty(exports, "SecureField", { enumerable: true, get: function () { return encryption_1.SecureField; } });
23
+ Object.defineProperty(exports, "setEncryptionAdapter", { enumerable: true, get: function () { return encryption_1.setEncryptionAdapter; } });
24
+ Object.defineProperty(exports, "getEncryptionAdapter", { enumerable: true, get: function () { return encryption_1.getEncryptionAdapter; } });
25
+ Object.defineProperty(exports, "hashSecureFields", { enumerable: true, get: function () { return encryption_1.hashSecureFields; } });
26
+ Object.defineProperty(exports, "verifySecureField", { enumerable: true, get: function () { return encryption_1.verifySecureField; } });
27
+ Object.defineProperty(exports, "applySecureHooks", { enumerable: true, get: function () { return encryption_1.applySecureHooks; } });
28
+ Object.defineProperty(exports, "getSecureFields", { enumerable: true, get: function () { return encryption_1.getSecureFields; } });
29
+ Object.defineProperty(exports, "createBcryptAdapter", { enumerable: true, get: function () { return encryption_1.createBcryptAdapter; } });
30
+ Object.defineProperty(exports, "createArgon2Adapter", { enumerable: true, get: function () { return encryption_1.createArgon2Adapter; } });
31
+ // ── Procedures & SQL Functions ──────────────────────────────────────────────
32
+ var procedure_1 = require("./procedure");
33
+ Object.defineProperty(exports, "Procedure", { enumerable: true, get: function () { return procedure_1.Procedure; } });
34
+ Object.defineProperty(exports, "SqlFunction", { enumerable: true, get: function () { return procedure_1.SqlFunction; } });
35
+ Object.defineProperty(exports, "ProcedureRegistry", { enumerable: true, get: function () { return procedure_1.ProcedureRegistry; } });
36
+ // ── Views ───────────────────────────────────────────────────────────────────
37
+ var view_1 = require("./view");
38
+ Object.defineProperty(exports, "View", { enumerable: true, get: function () { return view_1.View; } });
39
+ Object.defineProperty(exports, "ViewRegistry", { enumerable: true, get: function () { return view_1.ViewRegistry; } });
40
+ Object.defineProperty(exports, "getViewOptions", { enumerable: true, get: function () { return view_1.getViewOptions; } });
41
+ Object.defineProperty(exports, "MaterializedView", { enumerable: true, get: function () { return view_1.MaterializedView; } });
42
+ Object.defineProperty(exports, "MaterializedViewRegistry", { enumerable: true, get: function () { return view_1.MaterializedViewRegistry; } });
43
+ Object.defineProperty(exports, "getMaterializedViewOptions", { enumerable: true, get: function () { return view_1.getMaterializedViewOptions; } });
44
+ // ── Engine ──────────────────────────────────────────────────────────────────
45
+ var engine_1 = require("./engine");
46
+ Object.defineProperty(exports, "Engine", { enumerable: true, get: function () { return engine_1.Engine; } });
47
+ Object.defineProperty(exports, "EngineRegistry", { enumerable: true, get: function () { return engine_1.EngineRegistry; } });
48
+ Object.defineProperty(exports, "getEngineOptions", { enumerable: true, get: function () { return engine_1.getEngineOptions; } });
49
+ // ── Permissions ─────────────────────────────────────────────────────────────
50
+ var permissions_1 = require("./permissions");
51
+ Object.defineProperty(exports, "CanView", { enumerable: true, get: function () { return permissions_1.CanView; } });
52
+ Object.defineProperty(exports, "CannotView", { enumerable: true, get: function () { return permissions_1.CannotView; } });
53
+ Object.defineProperty(exports, "CanWrite", { enumerable: true, get: function () { return permissions_1.CanWrite; } });
54
+ Object.defineProperty(exports, "CannotWrite", { enumerable: true, get: function () { return permissions_1.CannotWrite; } });
55
+ Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return permissions_1.Permission; } });
56
+ Object.defineProperty(exports, "PermissionRegistry", { enumerable: true, get: function () { return permissions_1.PermissionRegistry; } });
57
+ Object.defineProperty(exports, "canViewField", { enumerable: true, get: function () { return permissions_1.canViewField; } });
58
+ Object.defineProperty(exports, "canWriteField", { enumerable: true, get: function () { return permissions_1.canWriteField; } });
59
+ Object.defineProperty(exports, "getAllowedAttributes", { enumerable: true, get: function () { return permissions_1.getAllowedAttributes; } });
60
+ Object.defineProperty(exports, "filterByPermissions", { enumerable: true, get: function () { return permissions_1.filterByPermissions; } });
61
+ Object.defineProperty(exports, "filterWriteByPermissions", { enumerable: true, get: function () { return permissions_1.filterWriteByPermissions; } });
62
+ Object.defineProperty(exports, "withPermissions", { enumerable: true, get: function () { return permissions_1.withPermissions; } });
63
+ // ── HasMany ───────────────────────────────────────────────────────────────────
64
+ var has_many_1 = require("./has-many");
65
+ Object.defineProperty(exports, "HasMany", { enumerable: true, get: function () { return has_many_1.HasMany; } });
66
+ Object.defineProperty(exports, "getHasMany", { enumerable: true, get: function () { return has_many_1.getHasMany; } });
67
+ Object.defineProperty(exports, "getAllHasMany", { enumerable: true, get: function () { return has_many_1.getAllHasMany; } });
68
+ Object.defineProperty(exports, "processHasManyDecorators", { enumerable: true, get: function () { return has_many_1.processHasManyDecorators; } });
69
+ // ── HasOne ───────────────────────────────────────────────────────────────────
70
+ var has_one_1 = require("./has-one");
71
+ Object.defineProperty(exports, "HasOne", { enumerable: true, get: function () { return has_one_1.HasOne; } });
72
+ Object.defineProperty(exports, "getHasOne", { enumerable: true, get: function () { return has_one_1.getHasOne; } });
73
+ Object.defineProperty(exports, "getAllHasOne", { enumerable: true, get: function () { return has_one_1.getAllHasOne; } });
74
+ Object.defineProperty(exports, "processHasOneDecorators", { enumerable: true, get: function () { return has_one_1.processHasOneDecorators; } });
75
+ // ── BelongsTo ─────────────────────────────────────────────────────────────────
76
+ var belongs_to_1 = require("./belongs-to");
77
+ Object.defineProperty(exports, "BelongsTo", { enumerable: true, get: function () { return belongs_to_1.BelongsTo; } });
78
+ Object.defineProperty(exports, "getBelongsTo", { enumerable: true, get: function () { return belongs_to_1.getBelongsTo; } });
79
+ Object.defineProperty(exports, "getAllBelongsTo", { enumerable: true, get: function () { return belongs_to_1.getAllBelongsTo; } });
80
+ Object.defineProperty(exports, "processBelongsToDecorators", { enumerable: true, get: function () { return belongs_to_1.processBelongsToDecorators; } });
81
+ // ── BelongsToMany ─────────────────────────────────────────────────────────────
82
+ var belongs_to_many_1 = require("./belongs-to-many");
83
+ Object.defineProperty(exports, "BelongsToMany", { enumerable: true, get: function () { return belongs_to_many_1.BelongsToMany; } });
84
+ Object.defineProperty(exports, "getBelongsToMany", { enumerable: true, get: function () { return belongs_to_many_1.getBelongsToMany; } });
85
+ Object.defineProperty(exports, "getAllBelongsToMany", { enumerable: true, get: function () { return belongs_to_many_1.getAllBelongsToMany; } });
86
+ Object.defineProperty(exports, "processBelongsToManyDecorators", { enumerable: true, get: function () { return belongs_to_many_1.processBelongsToManyDecorators; } });
87
+ // ── Check Constraints ────────────────────────────────────────────────────────
88
+ var check_1 = require("./check");
89
+ Object.defineProperty(exports, "Check", { enumerable: true, get: function () { return check_1.Check; } });
90
+ Object.defineProperty(exports, "CheckColumn", { enumerable: true, get: function () { return check_1.CheckColumn; } });
91
+ Object.defineProperty(exports, "CheckTable", { enumerable: true, get: function () { return check_1.CheckTable; } });
92
+ Object.defineProperty(exports, "operatorToSQL", { enumerable: true, get: function () { return check_1.operatorToSQL; } });
93
+ Object.defineProperty(exports, "getCheckConstraints", { enumerable: true, get: function () { return check_1.getCheckConstraints; } });
94
+ Object.defineProperty(exports, "getTableCheckConstraints", { enumerable: true, get: function () { return check_1.getTableCheckConstraints; } });
95
+ Object.defineProperty(exports, "getAllCheckConstraints", { enumerable: true, get: function () { return check_1.getAllCheckConstraints; } });
96
+ Object.defineProperty(exports, "buildCheckConstraintSQL", { enumerable: true, get: function () { return check_1.buildCheckConstraintSQL; } });
97
+ Object.defineProperty(exports, "buildAllCheckConstraints", { enumerable: true, get: function () { return check_1.buildAllCheckConstraints; } });
98
+ Object.defineProperty(exports, "clearCheckConstraints", { enumerable: true, get: function () { return check_1.clearCheckConstraints; } });
99
+ // ── Generated Columns ────────────────────────────────────────────────────────
100
+ var generated_1 = require("./generated");
101
+ Object.defineProperty(exports, "Generated", { enumerable: true, get: function () { return generated_1.Generated; } });
102
+ Object.defineProperty(exports, "Identity", { enumerable: true, get: function () { return generated_1.Identity; } });
103
+ Object.defineProperty(exports, "getGeneratedMetadata", { enumerable: true, get: function () { return generated_1.getGeneratedMetadata; } });
104
+ Object.defineProperty(exports, "getIdentityMetadata", { enumerable: true, get: function () { return generated_1.getIdentityMetadata; } });
105
+ Object.defineProperty(exports, "getAllGeneratedMetadata", { enumerable: true, get: function () { return generated_1.getAllGeneratedMetadata; } });
106
+ Object.defineProperty(exports, "getAllIdentityMetadata", { enumerable: true, get: function () { return generated_1.getAllIdentityMetadata; } });
107
+ Object.defineProperty(exports, "isGeneratedColumn", { enumerable: true, get: function () { return generated_1.isGeneratedColumn; } });
108
+ Object.defineProperty(exports, "isIdentityColumn", { enumerable: true, get: function () { return generated_1.isIdentityColumn; } });
109
+ Object.defineProperty(exports, "buildGeneratedSQL", { enumerable: true, get: function () { return generated_1.buildGeneratedSQL; } });
110
+ Object.defineProperty(exports, "isStored", { enumerable: true, get: function () { return generated_1.isStored; } });
111
+ // ── Database Settings ────────────────────────────────────────────────────────
112
+ var database_settings_1 = require("./database-settings");
113
+ Object.defineProperty(exports, "ForeignKeyChecks", { enumerable: true, get: function () { return database_settings_1.ForeignKeyChecks; } });
114
+ Object.defineProperty(exports, "DatabaseSetting", { enumerable: true, get: function () { return database_settings_1.DatabaseSetting; } });
115
+ Object.defineProperty(exports, "getForeignKeyChecksSetting", { enumerable: true, get: function () { return database_settings_1.getForeignKeyChecksSetting; } });
116
+ Object.defineProperty(exports, "getDatabaseSettings", { enumerable: true, get: function () { return database_settings_1.getDatabaseSettings; } });
117
+ Object.defineProperty(exports, "isForeignKeyChecksDisabled", { enumerable: true, get: function () { return database_settings_1.isForeignKeyChecksDisabled; } });
118
+ Object.defineProperty(exports, "getAllDatabaseSettings", { enumerable: true, get: function () { return database_settings_1.getAllDatabaseSettings; } });
119
+ Object.defineProperty(exports, "generateSettingsSQL", { enumerable: true, get: function () { return database_settings_1.generateSettingsSQL; } });
120
+ Object.defineProperty(exports, "createSettingsContext", { enumerable: true, get: function () { return database_settings_1.createSettingsContext; } });
121
+ // ── Collate & Locale ────────────────────────────────────────────────────────
122
+ var collate_1 = require("./collate");
123
+ Object.defineProperty(exports, "CollateEnum", { enumerable: true, get: function () { return collate_1.CollateEnum; } });
124
+ Object.defineProperty(exports, "Collate", { enumerable: true, get: function () { return collate_1.Collate; } });
125
+ Object.defineProperty(exports, "Locale", { enumerable: true, get: function () { return collate_1.Locale; } });
126
+ var collate_2 = require("./collate");
127
+ Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return collate_2.Database; } });
128
+ Object.defineProperty(exports, "TableCollate", { enumerable: true, get: function () { return collate_2.TableCollate; } });
129
+ Object.defineProperty(exports, "OrderBy", { enumerable: true, get: function () { return collate_2.OrderBy; } });
130
+ Object.defineProperty(exports, "SetCollate", { enumerable: true, get: function () { return collate_2.SetCollate; } });
131
+ Object.defineProperty(exports, "getCollateMetadata", { enumerable: true, get: function () { return collate_2.getCollateMetadata; } });
132
+ Object.defineProperty(exports, "getColumnCollate", { enumerable: true, get: function () { return collate_2.getColumnCollate; } });
133
+ Object.defineProperty(exports, "getDatabaseOptions", { enumerable: true, get: function () { return collate_2.getDatabaseOptions; } });
134
+ Object.defineProperty(exports, "getTableCollateOptions", { enumerable: true, get: function () { return collate_2.getTableCollateOptions; } });
135
+ Object.defineProperty(exports, "getOrderByOptions", { enumerable: true, get: function () { return collate_2.getOrderByOptions; } });
136
+ Object.defineProperty(exports, "generateCreateDatabaseSQL", { enumerable: true, get: function () { return collate_2.generateCreateDatabaseSQL; } });
137
+ Object.defineProperty(exports, "generateAlterTableCollateSQL", { enumerable: true, get: function () { return collate_2.generateAlterTableCollateSQL; } });
138
+ Object.defineProperty(exports, "generateColumnCollateSQL", { enumerable: true, get: function () { return collate_2.generateColumnCollateSQL; } });
139
+ Object.defineProperty(exports, "clearCollateMetadata", { enumerable: true, get: function () { return collate_2.clearCollateMetadata; } });
140
+ // ── ORM Decorators Registry ─────────────────────────────────────────────────
141
+ var orm_decorators_1 = require("./orm-decorators");
142
+ Object.defineProperty(exports, "ORMDecorators", { enumerable: true, get: function () { return orm_decorators_1.ORMDecorators; } });
143
+ Object.defineProperty(exports, "ALL_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.ALL_DECORATORS; } });
144
+ Object.defineProperty(exports, "MODEL_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.MODEL_DECORATORS; } });
145
+ Object.defineProperty(exports, "CONSTRAINT_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.CONSTRAINT_DECORATORS; } });
146
+ Object.defineProperty(exports, "ASSOCIATION_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.ASSOCIATION_DECORATORS; } });
147
+ Object.defineProperty(exports, "HOOK_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.HOOK_DECORATORS; } });
148
+ Object.defineProperty(exports, "VALIDATION_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.VALIDATION_DECORATORS; } });
149
+ Object.defineProperty(exports, "POSTGRES_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.POSTGRES_DECORATORS; } });
150
+ Object.defineProperty(exports, "SETTINGS_DECORATORS", { enumerable: true, get: function () { return orm_decorators_1.SETTINGS_DECORATORS; } });
151
+ // ── Comments ──────────────────────────────────────────────────────────────────
152
+ var comment_1 = require("./comment");
153
+ Object.defineProperty(exports, "Comment", { enumerable: true, get: function () { return comment_1.Comment; } });
154
+ Object.defineProperty(exports, "CommentRegistry", { enumerable: true, get: function () { return comment_1.CommentRegistry; } });
155
+ Object.defineProperty(exports, "getTableComment", { enumerable: true, get: function () { return comment_1.getTableComment; } });
156
+ Object.defineProperty(exports, "getFieldComment", { enumerable: true, get: function () { return comment_1.getFieldComment; } });
157
+ Object.defineProperty(exports, "getAllFieldComments", { enumerable: true, get: function () { return comment_1.getAllFieldComments; } });
158
+ Object.defineProperty(exports, "setIndexComment", { enumerable: true, get: function () { return comment_1.setIndexComment; } });
159
+ Object.defineProperty(exports, "getIndexComment", { enumerable: true, get: function () { return comment_1.getIndexComment; } });
160
+ Object.defineProperty(exports, "getAllIndexComments", { enumerable: true, get: function () { return comment_1.getAllIndexComments; } });
161
+ Object.defineProperty(exports, "setConstraintComment", { enumerable: true, get: function () { return comment_1.setConstraintComment; } });
162
+ Object.defineProperty(exports, "getConstraintComment", { enumerable: true, get: function () { return comment_1.getConstraintComment; } });
163
+ Object.defineProperty(exports, "getAllConstraintComments", { enumerable: true, get: function () { return comment_1.getAllConstraintComments; } });
164
+ Object.defineProperty(exports, "generateCommentSQL", { enumerable: true, get: function () { return comment_1.generateCommentSQL; } });
165
+ Object.defineProperty(exports, "generateIndexCommentSQL", { enumerable: true, get: function () { return comment_1.generateIndexCommentSQL; } });
166
+ Object.defineProperty(exports, "generateConstraintCommentSQL", { enumerable: true, get: function () { return comment_1.generateConstraintCommentSQL; } });
167
+ // ── Default Values ─────────────────────────────────────────────────────────
168
+ var default_1 = require("./default");
169
+ Object.defineProperty(exports, "Default", { enumerable: true, get: function () { return default_1.Default; } });
170
+ Object.defineProperty(exports, "getDefaultFields", { enumerable: true, get: function () { return default_1.getDefaultFields; } });
171
+ Object.defineProperty(exports, "getDefaultForField", { enumerable: true, get: function () { return default_1.getDefaultForField; } });
172
+ Object.defineProperty(exports, "toPrormDefault", { enumerable: true, get: function () { return default_1.toPrormDefault; } });
173
+ Object.defineProperty(exports, "applyDefaultValues", { enumerable: true, get: function () { return default_1.applyDefaultValues; } });
174
+ Object.defineProperty(exports, "applyDefaultHooks", { enumerable: true, get: function () { return default_1.applyDefaultHooks; } });
175
+ Object.defineProperty(exports, "uuidDefault", { enumerable: true, get: function () { return default_1.uuidDefault; } });
176
+ Object.defineProperty(exports, "nowDefault", { enumerable: true, get: function () { return default_1.nowDefault; } });
177
+ Object.defineProperty(exports, "randomIntDefault", { enumerable: true, get: function () { return default_1.randomIntDefault; } });
178
+ Object.defineProperty(exports, "computedDefault", { enumerable: true, get: function () { return default_1.computedDefault; } });
179
+ // ── Timezone ─────────────────────────────────────────────────────────────────
180
+ var timezone_1 = require("./timezone");
181
+ Object.defineProperty(exports, "Timezone", { enumerable: true, get: function () { return timezone_1.Timezone; } });
182
+ Object.defineProperty(exports, "TimezoneEnum", { enumerable: true, get: function () { return timezone_1.Timezone; } });
183
+ Object.defineProperty(exports, "setTimezoneContext", { enumerable: true, get: function () { return timezone_1.setTimezoneContext; } });
184
+ Object.defineProperty(exports, "getTimezoneContext", { enumerable: true, get: function () { return timezone_1.getTimezoneContext; } });
185
+ Object.defineProperty(exports, "clearTimezoneContext", { enumerable: true, get: function () { return timezone_1.clearTimezoneContext; } });
186
+ Object.defineProperty(exports, "resolveTimezoneFromContext", { enumerable: true, get: function () { return timezone_1.resolveTimezoneFromContext; } });
187
+ Object.defineProperty(exports, "convertToTimezone", { enumerable: true, get: function () { return timezone_1.convertToTimezone; } });
188
+ Object.defineProperty(exports, "convertFromTimezone", { enumerable: true, get: function () { return timezone_1.convertFromTimezone; } });
189
+ Object.defineProperty(exports, "formatDateTimezone", { enumerable: true, get: function () { return timezone_1.formatDateTimezone; } });
190
+ Object.defineProperty(exports, "parseDate", { enumerable: true, get: function () { return timezone_1.parseDate; } });
191
+ Object.defineProperty(exports, "convertOnRead", { enumerable: true, get: function () { return timezone_1.convertOnRead; } });
192
+ Object.defineProperty(exports, "convertOnWrite", { enumerable: true, get: function () { return timezone_1.convertOnWrite; } });
193
+ Object.defineProperty(exports, "applyTimezoneToQuery", { enumerable: true, get: function () { return timezone_1.applyTimezoneToQuery; } });
194
+ Object.defineProperty(exports, "convertWhereToTimezone", { enumerable: true, get: function () { return timezone_1.convertWhereToTimezone; } });
195
+ Object.defineProperty(exports, "getEffectiveTimezone", { enumerable: true, get: function () { return timezone_1.getEffectiveTimezone; } });
196
+ Object.defineProperty(exports, "getTimezoneFields", { enumerable: true, get: function () { return timezone_1.getTimezoneFields; } });
197
+ Object.defineProperty(exports, "getTimezoneForField", { enumerable: true, get: function () { return timezone_1.getTimezoneForField; } });
198
+ Object.defineProperty(exports, "getTableTimezone", { enumerable: true, get: function () { return timezone_1.getTableTimezone; } });
199
+ Object.defineProperty(exports, "getDefaultTimezone", { enumerable: true, get: function () { return timezone_1.getDefaultTimezone; } });
200
+ Object.defineProperty(exports, "getAllTimezoneFields", { enumerable: true, get: function () { return timezone_1.getAllTimezoneFields; } });
201
+ Object.defineProperty(exports, "convertInstanceOnRead", { enumerable: true, get: function () { return timezone_1.convertInstanceOnRead; } });
202
+ Object.defineProperty(exports, "convertInstanceOnWrite", { enumerable: true, get: function () { return timezone_1.convertInstanceOnWrite; } });
203
+ Object.defineProperty(exports, "applyTimezoneHooks", { enumerable: true, get: function () { return timezone_1.applyTimezoneHooks; } });
204
+ // ── Foreign Key Constraints & Column Options ────────────────────────────────
205
+ var fk_constraints_1 = require("./fk-constraints");
206
+ Object.defineProperty(exports, "OnDelete", { enumerable: true, get: function () { return fk_constraints_1.OnDelete; } });
207
+ Object.defineProperty(exports, "OnUpdate", { enumerable: true, get: function () { return fk_constraints_1.OnUpdate; } });
208
+ Object.defineProperty(exports, "References", { enumerable: true, get: function () { return fk_constraints_1.References; } });
209
+ Object.defineProperty(exports, "Deferrable", { enumerable: true, get: function () { return fk_constraints_1.Deferrable; } });
210
+ Object.defineProperty(exports, "Unique", { enumerable: true, get: function () { return fk_constraints_1.Unique; } });
211
+ Object.defineProperty(exports, "AutoIncrement", { enumerable: true, get: function () { return fk_constraints_1.AutoIncrement; } });
212
+ Object.defineProperty(exports, "IdentityDecorator", { enumerable: true, get: function () { return fk_constraints_1.Identity; } });
213
+ Object.defineProperty(exports, "GeneratedAlways", { enumerable: true, get: function () { return fk_constraints_1.GeneratedAlways; } });
214
+ Object.defineProperty(exports, "Exclusion", { enumerable: true, get: function () { return fk_constraints_1.Exclusion; } });
215
+ Object.defineProperty(exports, "getForeignKeyMetadata", { enumerable: true, get: function () { return fk_constraints_1.getForeignKeyMetadata; } });
216
+ Object.defineProperty(exports, "getAllForeignKeyMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAllForeignKeyMetadata; } });
217
+ Object.defineProperty(exports, "getUniqueMetadata", { enumerable: true, get: function () { return fk_constraints_1.getUniqueMetadata; } });
218
+ Object.defineProperty(exports, "getAllUniqueMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAllUniqueMetadata; } });
219
+ Object.defineProperty(exports, "getAutoIncrementMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAutoIncrementMetadata; } });
220
+ Object.defineProperty(exports, "getAllAutoIncrementMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAllAutoIncrementMetadata; } });
221
+ Object.defineProperty(exports, "getIdentityMetadataForeignKey", { enumerable: true, get: function () { return fk_constraints_1.getIdentityMetadata; } });
222
+ Object.defineProperty(exports, "getAllIdentityMetadataForeignKey", { enumerable: true, get: function () { return fk_constraints_1.getAllIdentityMetadata; } });
223
+ Object.defineProperty(exports, "getGeneratedAlwaysMetadata", { enumerable: true, get: function () { return fk_constraints_1.getGeneratedAlwaysMetadata; } });
224
+ Object.defineProperty(exports, "getAllGeneratedAlwaysMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAllGeneratedAlwaysMetadata; } });
225
+ Object.defineProperty(exports, "getExclusionMetadata", { enumerable: true, get: function () { return fk_constraints_1.getExclusionMetadata; } });
226
+ Object.defineProperty(exports, "getAllExclusionMetadata", { enumerable: true, get: function () { return fk_constraints_1.getAllExclusionMetadata; } });
227
+ Object.defineProperty(exports, "buildOnDeleteSQL", { enumerable: true, get: function () { return fk_constraints_1.buildOnDeleteSQL; } });
228
+ Object.defineProperty(exports, "buildOnUpdateSQL", { enumerable: true, get: function () { return fk_constraints_1.buildOnUpdateSQL; } });
229
+ Object.defineProperty(exports, "buildReferencesSQL", { enumerable: true, get: function () { return fk_constraints_1.buildReferencesSQL; } });
230
+ Object.defineProperty(exports, "buildDeferrableSQL", { enumerable: true, get: function () { return fk_constraints_1.buildDeferrableSQL; } });
231
+ Object.defineProperty(exports, "buildAutoIncrementSQL", { enumerable: true, get: function () { return fk_constraints_1.buildAutoIncrementSQL; } });
232
+ Object.defineProperty(exports, "buildIdentitySQL", { enumerable: true, get: function () { return fk_constraints_1.buildIdentitySQL; } });
233
+ Object.defineProperty(exports, "buildGeneratedAlwaysSQL", { enumerable: true, get: function () { return fk_constraints_1.buildGeneratedAlwaysSQL; } });
234
+ Object.defineProperty(exports, "buildExclusionSQL", { enumerable: true, get: function () { return fk_constraints_1.buildExclusionSQL; } });
235
+ // ── Storage ───────────────────────────────────────────────────────────────────
236
+ var storage_1 = require("./storage");
237
+ Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return storage_1.Storage; } });
238
+ Object.defineProperty(exports, "Tablespace", { enumerable: true, get: function () { return storage_1.Tablespace; } });
239
+ Object.defineProperty(exports, "TablespaceOptionsFn", { enumerable: true, get: function () { return storage_1.TablespaceOptions; } });
240
+ Object.defineProperty(exports, "Clustered", { enumerable: true, get: function () { return storage_1.Clustered; } });
241
+ Object.defineProperty(exports, "Compression", { enumerable: true, get: function () { return storage_1.Compression; } });
242
+ Object.defineProperty(exports, "ReplicaIdentity", { enumerable: true, get: function () { return storage_1.ReplicaIdentity; } });
243
+ Object.defineProperty(exports, "Statistics", { enumerable: true, get: function () { return storage_1.Statistics; } });
244
+ Object.defineProperty(exports, "OnCommit", { enumerable: true, get: function () { return storage_1.OnCommit; } });
245
+ Object.defineProperty(exports, "Inherits", { enumerable: true, get: function () { return storage_1.Inherits; } });
246
+ Object.defineProperty(exports, "ColumnStorage", { enumerable: true, get: function () { return storage_1.ColumnStorage; } });
247
+ Object.defineProperty(exports, "getStorageOptions", { enumerable: true, get: function () { return storage_1.getStorageOptions; } });
248
+ Object.defineProperty(exports, "getTablespaceOptions", { enumerable: true, get: function () { return storage_1.getTablespaceOptions; } });
249
+ Object.defineProperty(exports, "getClusteredOptions", { enumerable: true, get: function () { return storage_1.getClusteredOptions; } });
250
+ Object.defineProperty(exports, "getCompressionOptions", { enumerable: true, get: function () { return storage_1.getCompressionOptions; } });
251
+ Object.defineProperty(exports, "getReplicaIdentityOptions", { enumerable: true, get: function () { return storage_1.getReplicaIdentityOptions; } });
252
+ Object.defineProperty(exports, "getStatisticsOptions", { enumerable: true, get: function () { return storage_1.getStatisticsOptions; } });
253
+ Object.defineProperty(exports, "getOnCommitOption", { enumerable: true, get: function () { return storage_1.getOnCommitOption; } });
254
+ Object.defineProperty(exports, "getInheritsOptions", { enumerable: true, get: function () { return storage_1.getInheritsOptions; } });
255
+ Object.defineProperty(exports, "getColumnStorageOptions", { enumerable: true, get: function () { return storage_1.getColumnStorageOptions; } });
256
+ Object.defineProperty(exports, "generateStorageSQL", { enumerable: true, get: function () { return storage_1.generateStorageSQL; } });
257
+ Object.defineProperty(exports, "generateTablespaceSQL", { enumerable: true, get: function () { return storage_1.generateTablespaceSQL; } });
258
+ Object.defineProperty(exports, "generateClusteredSQL", { enumerable: true, get: function () { return storage_1.generateClusteredSQL; } });
259
+ Object.defineProperty(exports, "generateCompressionSQL", { enumerable: true, get: function () { return storage_1.generateCompressionSQL; } });
260
+ Object.defineProperty(exports, "generateReplicaIdentitySQL", { enumerable: true, get: function () { return storage_1.generateReplicaIdentitySQL; } });
261
+ Object.defineProperty(exports, "generateStatisticsSQL", { enumerable: true, get: function () { return storage_1.generateStatisticsSQL; } });
262
+ Object.defineProperty(exports, "generateInheritsSQL", { enumerable: true, get: function () { return storage_1.generateInheritsSQL; } });
263
+ Object.defineProperty(exports, "Partition", { enumerable: true, get: function () { return storage_1.Partition; } });
264
+ Object.defineProperty(exports, "getPartitionOptions", { enumerable: true, get: function () { return storage_1.getPartitionOptions; } });
265
+ Object.defineProperty(exports, "generatePartitionSQL", { enumerable: true, get: function () { return storage_1.generatePartitionSQL; } });
266
+ Object.defineProperty(exports, "generatePartitionBoundSQL", { enumerable: true, get: function () { return storage_1.generatePartitionBoundSQL; } });
267
+ // ── Query Options ────────────────────────────────────────────────────────────
268
+ var query_options_1 = require("./query-options");
269
+ Object.defineProperty(exports, "UseIndex", { enumerable: true, get: function () { return query_options_1.UseIndex; } });
270
+ Object.defineProperty(exports, "ForceIndex", { enumerable: true, get: function () { return query_options_1.ForceIndex; } });
271
+ Object.defineProperty(exports, "IgnoreIndex", { enumerable: true, get: function () { return query_options_1.IgnoreIndex; } });
272
+ Object.defineProperty(exports, "Tablesample", { enumerable: true, get: function () { return query_options_1.Tablesample; } });
273
+ Object.defineProperty(exports, "Distinct", { enumerable: true, get: function () { return query_options_1.Distinct; } });
274
+ Object.defineProperty(exports, "DistinctOn", { enumerable: true, get: function () { return query_options_1.DistinctOn; } });
275
+ Object.defineProperty(exports, "WithLock", { enumerable: true, get: function () { return query_options_1.WithLock; } });
276
+ Object.defineProperty(exports, "StatementTimeout", { enumerable: true, get: function () { return query_options_1.StatementTimeout; } });
277
+ Object.defineProperty(exports, "IdleInTransactionTimeout", { enumerable: true, get: function () { return query_options_1.IdleInTransactionTimeout; } });
278
+ Object.defineProperty(exports, "Cursor", { enumerable: true, get: function () { return query_options_1.Cursor; } });
279
+ Object.defineProperty(exports, "Fetch", { enumerable: true, get: function () { return query_options_1.Fetch; } });
280
+ Object.defineProperty(exports, "FetchWith", { enumerable: true, get: function () { return query_options_1.FetchWith; } });
281
+ Object.defineProperty(exports, "getQueryHints", { enumerable: true, get: function () { return query_options_1.getQueryHints; } });
282
+ Object.defineProperty(exports, "getLockOptions", { enumerable: true, get: function () { return query_options_1.getLockOptions; } });
283
+ Object.defineProperty(exports, "getStatementTimeout", { enumerable: true, get: function () { return query_options_1.getStatementTimeout; } });
284
+ Object.defineProperty(exports, "getIdleInTransactionTimeout", { enumerable: true, get: function () { return query_options_1.getIdleInTransactionTimeout; } });
285
+ Object.defineProperty(exports, "getCursorOptions", { enumerable: true, get: function () { return query_options_1.getCursorOptions; } });
286
+ Object.defineProperty(exports, "getFetchOptions", { enumerable: true, get: function () { return query_options_1.getFetchOptions; } });
287
+ Object.defineProperty(exports, "getDistinctOnColumns", { enumerable: true, get: function () { return query_options_1.getDistinctOnColumns; } });
288
+ Object.defineProperty(exports, "getTablesampleOptions", { enumerable: true, get: function () { return query_options_1.getTablesampleOptions; } });
289
+ Object.defineProperty(exports, "isDistinctEnabled", { enumerable: true, get: function () { return query_options_1.isDistinctEnabled; } });
290
+ Object.defineProperty(exports, "generateIndexHintSQL", { enumerable: true, get: function () { return query_options_1.generateIndexHintSQL; } });
291
+ Object.defineProperty(exports, "generateLockSQL", { enumerable: true, get: function () { return query_options_1.generateLockSQL; } });
292
+ Object.defineProperty(exports, "generateStatementTimeoutSQL", { enumerable: true, get: function () { return query_options_1.generateStatementTimeoutSQL; } });
293
+ Object.defineProperty(exports, "generateIdleInTransactionTimeoutSQL", { enumerable: true, get: function () { return query_options_1.generateIdleInTransactionTimeoutSQL; } });
294
+ Object.defineProperty(exports, "generateTablesampleSQL", { enumerable: true, get: function () { return query_options_1.generateTablesampleSQL; } });
295
+ Object.defineProperty(exports, "generateDistinctOnSQL", { enumerable: true, get: function () { return query_options_1.generateDistinctOnSQL; } });
296
+ Object.defineProperty(exports, "generateCursorSQL", { enumerable: true, get: function () { return query_options_1.generateCursorSQL; } });
297
+ // ── Spatial ────────────────────────────────────────────────────────────────────
298
+ var spatial_1 = require("./spatial");
299
+ Object.defineProperty(exports, "Spatial", { enumerable: true, get: function () { return spatial_1.Spatial; } });
300
+ Object.defineProperty(exports, "getSpatialMetadata", { enumerable: true, get: function () { return spatial_1.getSpatialMetadata; } });
301
+ Object.defineProperty(exports, "getAllSpatialMetadata", { enumerable: true, get: function () { return spatial_1.getAllSpatialMetadata; } });
302
+ Object.defineProperty(exports, "isSpatialColumn", { enumerable: true, get: function () { return spatial_1.isSpatialColumn; } });
303
+ Object.defineProperty(exports, "generateSpatialIndexSQL", { enumerable: true, get: function () { return spatial_1.generateSpatialIndexSQL; } });
304
+ // ── JSON Column ────────────────────────────────────────────────────────────────
305
+ var json_column_1 = require("./json-column");
306
+ Object.defineProperty(exports, "JSONColumn", { enumerable: true, get: function () { return json_column_1.JSONColumn; } });
307
+ Object.defineProperty(exports, "getJSONColumnMetadata", { enumerable: true, get: function () { return json_column_1.getJSONColumnMetadata; } });
308
+ Object.defineProperty(exports, "getAllJSONColumnMetadata", { enumerable: true, get: function () { return json_column_1.getAllJSONColumnMetadata; } });
309
+ Object.defineProperty(exports, "isJSONColumn", { enumerable: true, get: function () { return json_column_1.isJSONColumn; } });
310
+ Object.defineProperty(exports, "generateJSONExtractSQL", { enumerable: true, get: function () { return json_column_1.generateJSONExtractSQL; } });
311
+ Object.defineProperty(exports, "generateJSONSetSQL", { enumerable: true, get: function () { return json_column_1.generateJSONSetSQL; } });
312
+ Object.defineProperty(exports, "generateJSONRemoveSQL", { enumerable: true, get: function () { return json_column_1.generateJSONRemoveSQL; } });
313
+ // ── SET Column ─────────────────────────────────────────────────────────────────
314
+ var set_column_1 = require("./set-column");
315
+ Object.defineProperty(exports, "SetColumn", { enumerable: true, get: function () { return set_column_1.SetColumn; } });
316
+ Object.defineProperty(exports, "SetColumnWithOptions", { enumerable: true, get: function () { return set_column_1.SetColumnWithOptions; } });
317
+ Object.defineProperty(exports, "getSetColumnMetadata", { enumerable: true, get: function () { return set_column_1.getSetColumnMetadata; } });
318
+ Object.defineProperty(exports, "getAllSetColumnMetadata", { enumerable: true, get: function () { return set_column_1.getAllSetColumnMetadata; } });
319
+ Object.defineProperty(exports, "isSetColumn", { enumerable: true, get: function () { return set_column_1.isSetColumn; } });
320
+ Object.defineProperty(exports, "generateSetFindInSetSQL", { enumerable: true, get: function () { return set_column_1.generateSetFindInSetSQL; } });
321
+ // ── PostgreSQL UUID ────────────────────────────────────────────────────────────
322
+ var uuid_1 = require("./uuid");
323
+ Object.defineProperty(exports, "UUID", { enumerable: true, get: function () { return uuid_1.UUID; } });
324
+ Object.defineProperty(exports, "getUUIDMetadata", { enumerable: true, get: function () { return uuid_1.getUUIDMetadata; } });
325
+ Object.defineProperty(exports, "getAllUUIDMetadata", { enumerable: true, get: function () { return uuid_1.getAllUUIDMetadata; } });
326
+ Object.defineProperty(exports, "isUUIDColumn", { enumerable: true, get: function () { return uuid_1.isUUIDColumn; } });
327
+ Object.defineProperty(exports, "clearUUIDMetadata", { enumerable: true, get: function () { return uuid_1.clearUUIDMetadata; } });
328
+ Object.defineProperty(exports, "getUUIDExtensionSQL", { enumerable: true, get: function () { return uuid_1.getUUIDExtensionSQL; } });
329
+ Object.defineProperty(exports, "buildUUIDDefaultSQL", { enumerable: true, get: function () { return uuid_1.buildUUIDDefaultSQL; } });
330
+ // ── PostgreSQL JSONB ─────────────────────────────────────────────────────────
331
+ var jsonb_1 = require("./jsonb");
332
+ Object.defineProperty(exports, "JSONB", { enumerable: true, get: function () { return jsonb_1.JSONB; } });
333
+ Object.defineProperty(exports, "getJSONBMetadata", { enumerable: true, get: function () { return jsonb_1.getJSONBMetadata; } });
334
+ Object.defineProperty(exports, "getAllJSONBMetadata", { enumerable: true, get: function () { return jsonb_1.getAllJSONBMetadata; } });
335
+ Object.defineProperty(exports, "isJSONBColumn", { enumerable: true, get: function () { return jsonb_1.isJSONBColumn; } });
336
+ Object.defineProperty(exports, "clearJSONBMetadata", { enumerable: true, get: function () { return jsonb_1.clearJSONBMetadata; } });
337
+ // ── PostgreSQL HStore ─────────────────────────────────────────────────────────
338
+ var hstore_1 = require("./hstore");
339
+ Object.defineProperty(exports, "HStore", { enumerable: true, get: function () { return hstore_1.HStore; } });
340
+ Object.defineProperty(exports, "getHStoreMetadata", { enumerable: true, get: function () { return hstore_1.getHStoreMetadata; } });
341
+ Object.defineProperty(exports, "getAllHStoreMetadata", { enumerable: true, get: function () { return hstore_1.getAllHStoreMetadata; } });
342
+ Object.defineProperty(exports, "isHStoreColumn", { enumerable: true, get: function () { return hstore_1.isHStoreColumn; } });
343
+ Object.defineProperty(exports, "clearHStoreMetadata", { enumerable: true, get: function () { return hstore_1.clearHStoreMetadata; } });
344
+ Object.defineProperty(exports, "getHStoreExtensionSQL", { enumerable: true, get: function () { return hstore_1.getHStoreExtensionSQL; } });
345
+ Object.defineProperty(exports, "buildHStoreDefaultSQL", { enumerable: true, get: function () { return hstore_1.buildHStoreDefaultSQL; } });
346
+ // ── PostgreSQL Range Types ─────────────────────────────────────────────────────
347
+ var range_1 = require("./range");
348
+ Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return range_1.Range; } });
349
+ Object.defineProperty(exports, "getRangeMetadata", { enumerable: true, get: function () { return range_1.getRangeMetadata; } });
350
+ Object.defineProperty(exports, "getAllRangeMetadata", { enumerable: true, get: function () { return range_1.getAllRangeMetadata; } });
351
+ Object.defineProperty(exports, "isRangeColumn", { enumerable: true, get: function () { return range_1.isRangeColumn; } });
352
+ Object.defineProperty(exports, "clearRangeMetadata", { enumerable: true, get: function () { return range_1.clearRangeMetadata; } });
353
+ Object.defineProperty(exports, "buildRangeLiteral", { enumerable: true, get: function () { return range_1.buildRangeLiteral; } });
354
+ Object.defineProperty(exports, "getRangeContainedBySQL", { enumerable: true, get: function () { return range_1.getRangeContainedBySQL; } });
355
+ Object.defineProperty(exports, "getRangeOverlapSQL", { enumerable: true, get: function () { return range_1.getRangeOverlapSQL; } });
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * JSON Column decorator for MySQL native JSON type
4
+ *
5
+ * @example
6
+ * class Document extends Model {
7
+ * @JSONColumn()
8
+ * data: DataTypes.JSONCOLUMN;
9
+ *
10
+ * @JSONColumn({ validate: true })
11
+ * config: DataTypes.JSONCOLUMN;
12
+ * }
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.JSONColumn = JSONColumn;
16
+ exports.getJSONColumnMetadata = getJSONColumnMetadata;
17
+ exports.getAllJSONColumnMetadata = getAllJSONColumnMetadata;
18
+ exports.isJSONColumn = isJSONColumn;
19
+ exports.generateJSONExtractSQL = generateJSONExtractSQL;
20
+ exports.generateJSONSetSQL = generateJSONSetSQL;
21
+ exports.generateJSONRemoveSQL = generateJSONRemoveSQL;
22
+ const JSONCOLUMN_METADATA_KEY = Symbol('jsonColumn');
23
+ /**
24
+ * Decorator to mark a field as a JSON column
25
+ * @param options - Options for the JSON column
26
+ */
27
+ function JSONColumn(options) {
28
+ return (target, propertyKey) => {
29
+ const metadata = {
30
+ validate: options?.validate ?? false,
31
+ unescapedUnicode: options?.unescapedUnicode ?? false,
32
+ compact: options?.compact ?? false,
33
+ };
34
+ target[`${String(propertyKey)}_jsoncolumn`] = metadata;
35
+ };
36
+ }
37
+ /**
38
+ * Get JSON column metadata for a field
39
+ */
40
+ function getJSONColumnMetadata(target, propertyKey) {
41
+ return target[`${propertyKey}_jsoncolumn`];
42
+ }
43
+ /**
44
+ * Get all JSON column metadata for a model
45
+ */
46
+ function getAllJSONColumnMetadata(target) {
47
+ const metadata = new Map();
48
+ const keys = Object.keys(target);
49
+ for (const key of keys) {
50
+ const jsonMeta = target[`${key}_jsoncolumn`];
51
+ if (jsonMeta) {
52
+ metadata.set(key, jsonMeta);
53
+ }
54
+ }
55
+ return metadata;
56
+ }
57
+ /**
58
+ * Check if a field is marked as JSON column
59
+ */
60
+ function isJSONColumn(target, propertyKey) {
61
+ return !!getJSONColumnMetadata(target, propertyKey);
62
+ }
63
+ /**
64
+ * Generate SQL for extracting JSON path
65
+ */
66
+ function generateJSONExtractSQL(columnName, path, unquote) {
67
+ if (unquote) {
68
+ return `JSON_UNQUOTE(JSON_EXTRACT(\`${columnName}\`, '${path}'))`;
69
+ }
70
+ return `JSON_EXTRACT(\`${columnName}\`, '${path}')`;
71
+ }
72
+ /**
73
+ * Generate SQL for setting JSON value
74
+ */
75
+ function generateJSONSetSQL(columnName, path, value) {
76
+ return `JSON_SET(\`${columnName}\`, '${path}', ${value})`;
77
+ }
78
+ /**
79
+ * Generate SQL for removing JSON value
80
+ */
81
+ function generateJSONRemoveSQL(columnName, path) {
82
+ return `JSON_REMOVE(\`${columnName}\`, '${path}')`;
83
+ }