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.
- package/CHANGELOG.md +95 -0
- package/README.md +194 -72
- package/dist/audit/history-query.d.ts +35 -0
- package/dist/audit/index.d.ts +16 -0
- package/dist/audit/logger.d.ts +126 -0
- package/dist/cache/cache-manager.d.ts +341 -0
- package/dist/cache/index.d.ts +8 -0
- package/dist/cache/redis-cluster-cache.d.ts +164 -0
- package/dist/cache/redis-cluster-cache.js +19 -36
- package/dist/cli/cloud.d.ts +55 -0
- package/dist/cli/cloud.js +318 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/commands/auth.js +345 -0
- package/dist/cli/commands/billing.d.ts +2 -0
- package/dist/cli/commands/billing.js +135 -0
- package/dist/cli/commands/code.d.ts +2 -0
- package/dist/cli/commands/code.js +168 -0
- package/dist/cli/commands/config.d.ts +2 -0
- package/dist/cli/commands/config.js +154 -0
- package/dist/cli/commands/db.d.ts +2 -0
- package/dist/cli/commands/db.js +189 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +22 -0
- package/dist/cli/commands/keys.d.ts +2 -0
- package/dist/cli/commands/keys.js +100 -0
- package/dist/cli/commands/misc.d.ts +2 -0
- package/dist/cli/commands/misc.js +282 -0
- package/dist/cli/commands/pull.d.ts +2 -0
- package/dist/cli/commands/pull.js +306 -0
- package/dist/cli/commands/runners.d.ts +2 -0
- package/dist/cli/commands/runners.js +218 -0
- package/dist/cli/commands/scaffold.d.ts +2 -0
- package/dist/cli/commands/scaffold.js +383 -0
- package/dist/cli/commands/secrets.d.ts +2 -0
- package/dist/cli/commands/secrets.js +162 -0
- package/dist/cli/commands/store.d.ts +2 -0
- package/dist/cli/commands/store.js +274 -0
- package/dist/cli/commands/system.d.ts +10 -0
- package/dist/cli/commands/system.js +169 -0
- package/dist/cli/commands/teams.d.ts +2 -0
- package/dist/cli/commands/teams.js +189 -0
- package/dist/cli/commands/user.d.ts +2 -0
- package/dist/cli/commands/user.js +171 -0
- package/dist/cli/framework.d.ts +103 -0
- package/dist/cli/framework.js +436 -0
- package/dist/cli/io.d.ts +26 -0
- package/dist/cli/io.js +181 -0
- package/dist/cli/keychain.d.ts +10 -0
- package/dist/cli/keychain.js +101 -0
- package/dist/cli/prompt.d.ts +20 -0
- package/dist/cli/prompt.js +111 -0
- package/dist/cli.d.ts +214 -0
- package/dist/cli.js +72 -5
- package/dist/compliance/audit-trail.d.ts +66 -0
- package/dist/compliance/backup-verification.d.ts +279 -0
- package/dist/compliance/breach-detector.d.ts +197 -0
- package/dist/compliance/consent-record.d.ts +107 -0
- package/dist/compliance/consent-versioning.d.ts +169 -0
- package/dist/compliance/cross-border-log.d.ts +254 -0
- package/dist/compliance/data-classifier.d.ts +127 -0
- package/dist/compliance/data-lineage.d.ts +268 -0
- package/dist/compliance/data-masker.d.ts +110 -0
- package/dist/compliance/data-portability.d.ts +98 -0
- package/dist/compliance/data-retention.d.ts +108 -0
- package/dist/compliance/dsar-workflow.d.ts +175 -0
- package/dist/compliance/field-encryption.d.ts +84 -0
- package/dist/compliance/immutable-record.d.ts +84 -0
- package/dist/compliance/index.d.ts +93 -0
- package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
- package/dist/compliance/pseudonymization.d.ts +96 -0
- package/dist/compliance/query-firewall.d.ts +661 -0
- package/dist/compliance/rate-limiter.d.ts +203 -0
- package/dist/compliance/right-to-erasure.d.ts +96 -0
- package/dist/compliance/row-level-security.d.ts +152 -0
- package/dist/compliance/security-decorator.d.ts +388 -0
- package/dist/compliance/security-monitor.d.ts +170 -0
- package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
- package/dist/compliance/session-isolation.d.ts +286 -0
- package/dist/compliance/tls-enforcer.d.ts +51 -0
- package/dist/compliance/worm-storage.d.ts +225 -0
- package/dist/connection-manager.d.ts +130 -0
- package/dist/connection-pool.d.ts +311 -0
- package/dist/decorators/audit.d.ts +49 -0
- package/dist/decorators/check.d.ts +218 -0
- package/dist/decorators/collate.d.ts +346 -0
- package/dist/decorators/comment.d.ts +51 -0
- package/dist/decorators/database-settings.d.ts +193 -0
- package/dist/decorators/default.d.ts +148 -0
- package/dist/decorators/encryption.d.ts +175 -0
- package/dist/decorators/engine.d.ts +97 -0
- package/dist/decorators/fk-constraints.d.ts +387 -0
- package/dist/decorators/foreign-table.d.ts +57 -0
- package/dist/decorators/generated.d.ts +232 -0
- package/dist/decorators/hstore.d.ts +96 -0
- package/dist/decorators/index.d.ts +57 -0
- package/dist/decorators/index.js +14 -30
- package/dist/decorators/json-column.d.ts +47 -0
- package/dist/decorators/jsonb.d.ts +83 -0
- package/dist/decorators/orm-decorators.d.ts +274 -0
- package/dist/decorators/permissions.d.ts +192 -0
- package/dist/decorators/procedure.d.ts +168 -0
- package/dist/decorators/procedure.js +31 -7
- package/dist/decorators/query-options.d.ts +527 -0
- package/dist/decorators/range.d.ts +122 -0
- package/dist/decorators/set-column.d.ts +43 -0
- package/dist/decorators/spatial.d.ts +60 -0
- package/dist/decorators/storage.d.ts +561 -0
- package/dist/decorators/timezone.d.ts +319 -0
- package/dist/decorators/trigger.d.ts +50 -0
- package/dist/decorators/uuid.d.ts +102 -0
- package/dist/decorators/view.d.ts +213 -0
- package/dist/diagrams/chen-diagram.d.ts +70 -0
- package/dist/diagrams/chen-diagram.js +33 -31
- package/dist/diagrams/class-diagram.d.ts +78 -0
- package/dist/diagrams/class-diagram.js +23 -27
- package/dist/diagrams/dependency-diagram.d.ts +82 -0
- package/dist/diagrams/dependency-diagram.js +18 -9
- package/dist/diagrams/er-diagram.d.ts +82 -0
- package/dist/diagrams/er-diagram.js +174 -231
- package/dist/diagrams/flow-diagram.d.ts +70 -0
- package/dist/diagrams/flow-diagram.js +23 -18
- package/dist/diagrams/gantt-diagram.d.ts +67 -0
- package/dist/diagrams/gantt-diagram.js +20 -18
- package/dist/diagrams/index-diagram.d.ts +61 -0
- package/dist/diagrams/index-diagram.js +36 -31
- package/dist/diagrams/index.d.ts +155 -0
- package/dist/diagrams/index.js +7 -1
- package/dist/diagrams/migration-diagram.d.ts +67 -0
- package/dist/diagrams/migration-diagram.js +45 -57
- package/dist/diagrams/model-diagram.d.ts +85 -0
- package/dist/diagrams/model-diagram.js +225 -287
- package/dist/diagrams/package-diagram.d.ts +69 -0
- package/dist/diagrams/package-diagram.js +30 -32
- package/dist/diagrams/palette.d.ts +138 -0
- package/dist/diagrams/palette.js +134 -25
- package/dist/diagrams/relational-diagram.d.ts +82 -0
- package/dist/diagrams/relational-diagram.js +51 -59
- package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
- package/dist/diagrams/schemadoc-diagram.js +36 -28
- package/dist/diagrams/sequence-diagram.d.ts +61 -0
- package/dist/diagrams/sequence-diagram.js +20 -11
- package/dist/diagrams/state-diagram.d.ts +85 -0
- package/dist/diagrams/state-diagram.js +21 -17
- package/dist/diagrams/svg-dom.d.ts +62 -0
- package/dist/diagrams/svg-dom.js +11 -0
- package/dist/diagrams/tree-diagram.d.ts +47 -0
- package/dist/diagrams/tree-diagram.js +19 -10
- package/dist/dialects/clickhouse/index.d.ts +660 -0
- package/dist/dialects/clickhouse/index.js +107 -2
- package/dist/dialects/cockroachdb/index.d.ts +1708 -0
- package/dist/dialects/cockroachdb/index.js +139 -10
- package/dist/dialects/cratedb/index.d.ts +262 -0
- package/dist/dialects/cratedb/index.js +148 -0
- package/dist/dialects/databricks/index.d.ts +397 -0
- package/dist/dialects/databricks/index.js +233 -11
- package/dist/dialects/db2/index.d.ts +729 -0
- package/dist/dialects/db2/index.js +152 -2
- package/dist/dialects/dialect.d.ts +1653 -0
- package/dist/dialects/duckdb/index.d.ts +440 -0
- package/dist/dialects/duckdb/index.js +21 -37
- package/dist/dialects/exasol/index.d.ts +197 -0
- package/dist/dialects/exasol/index.js +14 -0
- package/dist/dialects/firebird/index.d.ts +286 -0
- package/dist/dialects/firebird/index.js +135 -0
- package/dist/dialects/greenplum/index.d.ts +336 -0
- package/dist/dialects/greenplum/index.js +168 -0
- package/dist/dialects/hana/index.d.ts +512 -0
- package/dist/dialects/hana/index.js +17 -35
- package/dist/dialects/mariadb/index.d.ts +1241 -0
- package/dist/dialects/mariadb/index.js +181 -43
- package/dist/dialects/mssql/index.d.ts +729 -0
- package/dist/dialects/mssql/index.js +76 -7
- package/dist/dialects/mysql/index.d.ts +1233 -0
- package/dist/dialects/mysql/index.js +87 -19
- package/dist/dialects/oracle/index.d.ts +1222 -0
- package/dist/dialects/oracle/index.js +210 -9
- package/dist/dialects/postgres/index.d.ts +1598 -0
- package/dist/dialects/postgres/index.js +34 -13
- package/dist/dialects/query-stream-helper.d.ts +58 -0
- package/dist/dialects/questdb/index.d.ts +430 -0
- package/dist/dialects/questdb/index.js +292 -0
- package/dist/dialects/redshift/index.d.ts +933 -0
- package/dist/dialects/redshift/index.js +17 -5
- package/dist/dialects/singlestore/index.d.ts +233 -0
- package/dist/dialects/singlestore/index.js +53 -0
- package/dist/dialects/snowflake/index.d.ts +727 -0
- package/dist/dialects/snowflake/index.js +154 -5
- package/dist/dialects/spanner/index.d.ts +660 -0
- package/dist/dialects/spanner/index.js +43 -21
- package/dist/dialects/sqlite/index.d.ts +1133 -0
- package/dist/dialects/sqlite/index.js +168 -30
- package/dist/dialects/tidb/index.d.ts +226 -0
- package/dist/dialects/tidb/index.js +10 -0
- package/dist/dialects/timescaledb/index.d.ts +286 -0
- package/dist/dialects/timescaledb/index.js +179 -0
- package/dist/dialects/trino/index.d.ts +230 -0
- package/dist/dialects/trino/index.js +85 -10
- package/dist/dialects/turso/index.d.ts +98 -0
- package/dist/dialects/turso/index.js +10 -0
- package/dist/dialects/vertica/index.d.ts +321 -0
- package/dist/dialects/vertica/index.js +161 -0
- package/dist/dialects/yugabytedb/index.d.ts +276 -0
- package/dist/dialects/yugabytedb/index.js +121 -0
- package/dist/errors/index.d.ts +378 -0
- package/dist/errors/index.js +29 -1
- package/dist/errors/utils.d.ts +53 -0
- package/dist/errors.d.ts +5 -0
- package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
- package/dist/extensions/catalog/mssql-features.d.ts +20 -0
- package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
- package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
- package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
- package/dist/extensions/index.d.ts +34 -0
- package/dist/extensions/types.d.ts +43 -0
- package/dist/external-fields/adapters.d.ts +50 -0
- package/dist/external-fields/adapters.js +227 -0
- package/dist/external-fields/decorator.d.ts +77 -0
- package/dist/external-fields/decorator.js +80 -0
- package/dist/external-fields/index.d.ts +10 -0
- package/dist/external-fields/index.js +19 -0
- package/dist/external-fields/runtime.d.ts +39 -0
- package/dist/external-fields/runtime.js +221 -0
- package/dist/foreign-data.d.ts +168 -0
- package/dist/graph/base-graph-dialect.d.ts +250 -0
- package/dist/graph/base-graph-dialect.js +539 -0
- package/dist/graph/dgraph/index.d.ts +65 -0
- package/dist/graph/dgraph/index.js +559 -0
- package/dist/graph/gremlin/index.d.ts +59 -0
- package/dist/graph/gremlin/index.js +378 -0
- package/dist/graph/index.d.ts +60 -0
- package/dist/graph/index.js +67 -0
- package/dist/graph/neo4j/index.d.ts +50 -0
- package/dist/graph/neo4j/index.js +462 -0
- package/dist/graph/types.d.ts +213 -0
- package/dist/graph/types.js +234 -0
- package/dist/hooks/hooks-manager.d.ts +189 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/index.d.ts +713 -0
- package/dist/index.js +36 -4
- package/dist/logging.d.ts +183 -0
- package/dist/migrations/index.d.ts +9 -0
- package/dist/migrations/migration.d.ts +143 -0
- package/dist/migrations/migrator.d.ts +199 -0
- package/dist/migrations/prormmigration.d.ts +131 -0
- package/dist/migrations/query-interface.d.ts +335 -0
- package/dist/migrations/seeder.d.ts +167 -0
- package/dist/models/associations.d.ts +131 -0
- package/dist/models/associations.js +7 -2
- package/dist/models/constraints.d.ts +175 -0
- package/dist/models/data-types.d.ts +1656 -0
- package/dist/models/decorators.d.ts +328 -0
- package/dist/models/decorators.js +61 -82
- package/dist/models/eager-load.d.ts +86 -0
- package/dist/models/eager-load.js +369 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/indexes.d.ts +325 -0
- package/dist/models/methods.d.ts +419 -0
- package/dist/models/model-manager.d.ts +76 -0
- package/dist/models/model.d.ts +820 -0
- package/dist/models/model.js +15 -101
- package/dist/models/operators.d.ts +29 -0
- package/dist/models/scopes.d.ts +71 -0
- package/dist/models/typescript-types.d.ts +177 -0
- package/dist/nosql/aerospike/index.d.ts +126 -0
- package/dist/nosql/allegrograph/index.d.ts +86 -0
- package/dist/nosql/arangodb/index.d.ts +285 -0
- package/dist/nosql/arangodb/index.js +274 -2
- package/dist/nosql/arangodb/where.d.ts +38 -0
- package/dist/nosql/arangodb/where.js +94 -0
- package/dist/nosql/azure-blob/index.d.ts +104 -0
- package/dist/nosql/beanstalkd/index.d.ts +88 -0
- package/dist/nosql/beequeue/index.d.ts +99 -0
- package/dist/nosql/bigchaindb/index.d.ts +113 -0
- package/dist/nosql/bigtable/index.d.ts +144 -0
- package/dist/nosql/blazegraph/index.d.ts +88 -0
- package/dist/nosql/bullmq/index.d.ts +83 -0
- package/dist/nosql/cassandra/index.d.ts +119 -0
- package/dist/nosql/chroma/index.d.ts +151 -0
- package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
- package/dist/nosql/coherence/index.d.ts +91 -0
- package/dist/nosql/cosmosdb/index.d.ts +78 -0
- package/dist/nosql/couchbase/index.d.ts +103 -0
- package/dist/nosql/dax/index.d.ts +118 -0
- package/dist/nosql/deno-kv/index.d.ts +109 -0
- package/dist/nosql/dgraph/index.d.ts +80 -0
- package/dist/nosql/doris/index.d.ts +88 -0
- package/dist/nosql/druid/index.d.ts +95 -0
- package/dist/nosql/dynamodb/index.d.ts +643 -0
- package/dist/nosql/dynamodb/index.js +423 -0
- package/dist/nosql/elasticsearch/index.d.ts +239 -0
- package/dist/nosql/etcd/index.d.ts +243 -0
- package/dist/nosql/eventhubs/index.d.ts +89 -0
- package/dist/nosql/eventstore/index.d.ts +102 -0
- package/dist/nosql/faunadb/index.d.ts +141 -0
- package/dist/nosql/faunadb/index.js +329 -0
- package/dist/nosql/firestore/index.d.ts +67 -0
- package/dist/nosql/fluree/index.d.ts +88 -0
- package/dist/nosql/fuseki/index.d.ts +94 -0
- package/dist/nosql/gcs/index.d.ts +62 -0
- package/dist/nosql/gearman/index.d.ts +77 -0
- package/dist/nosql/geode/index.d.ts +93 -0
- package/dist/nosql/graphdb/index.d.ts +86 -0
- package/dist/nosql/graylog/index.d.ts +118 -0
- package/dist/nosql/gridgain/index.d.ts +78 -0
- package/dist/nosql/hazelcast/index.d.ts +73 -0
- package/dist/nosql/hbase/index.d.ts +123 -0
- package/dist/nosql/ignite/index.d.ts +80 -0
- package/dist/nosql/immudb/index.d.ts +131 -0
- package/dist/nosql/index.d.ts +215 -0
- package/dist/nosql/infinispan/index.d.ts +95 -0
- package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
- package/dist/nosql/influxdb/flux-compiler.js +170 -0
- package/dist/nosql/influxdb/index.d.ts +300 -0
- package/dist/nosql/influxdb/index.js +0 -0
- package/dist/nosql/kafka/index.d.ts +113 -0
- package/dist/nosql/keyspaces/index.d.ts +122 -0
- package/dist/nosql/kinesis/index.d.ts +121 -0
- package/dist/nosql/leveldb/index.d.ts +112 -0
- package/dist/nosql/leveldb/index.js +103 -1
- package/dist/nosql/lmdb/index.d.ts +76 -0
- package/dist/nosql/loki/index.d.ts +126 -0
- package/dist/nosql/marklogic/index.d.ts +76 -0
- package/dist/nosql/materialize/index.d.ts +91 -0
- package/dist/nosql/meilisearch/index.d.ts +76 -0
- package/dist/nosql/memcached/index.d.ts +138 -0
- package/dist/nosql/milvus/index.d.ts +167 -0
- package/dist/nosql/minio/index.d.ts +122 -0
- package/dist/nosql/momento/index.d.ts +99 -0
- package/dist/nosql/mongodb/index.d.ts +265 -0
- package/dist/nosql/mongodb/index.js +139 -0
- package/dist/nosql/mongodb/where.d.ts +8 -0
- package/dist/nosql/mongodb/where.js +181 -0
- package/dist/nosql/nats/index.d.ts +139 -0
- package/dist/nosql/nedb/index.d.ts +79 -0
- package/dist/nosql/neo4j/index.d.ts +217 -0
- package/dist/nosql/neo4j/index.js +26 -14
- package/dist/nosql/neptune/index.d.ts +234 -0
- package/dist/nosql/neptune/index.js +23 -9
- package/dist/nosql/nsq/index.d.ts +93 -0
- package/dist/nosql/opensearch/index.d.ts +97 -0
- package/dist/nosql/orientdb/index.d.ts +72 -0
- package/dist/nosql/papertrail/index.d.ts +120 -0
- package/dist/nosql/pinecone/index.d.ts +148 -0
- package/dist/nosql/pinot/index.d.ts +90 -0
- package/dist/nosql/pouchdb/index.d.ts +95 -0
- package/dist/nosql/prometheus/index.d.ts +112 -0
- package/dist/nosql/provendb/index.d.ts +143 -0
- package/dist/nosql/provendb/index.js +262 -0
- package/dist/nosql/pubsub/index.d.ts +83 -0
- package/dist/nosql/pulsar/index.d.ts +105 -0
- package/dist/nosql/qdrant/index.d.ts +231 -0
- package/dist/nosql/qldb/index.d.ts +182 -0
- package/dist/nosql/qldb/index.js +302 -1
- package/dist/nosql/r2/index.d.ts +160 -0
- package/dist/nosql/rabbitmq/index.d.ts +131 -0
- package/dist/nosql/ravendb/index.d.ts +138 -0
- package/dist/nosql/ravendb/index.js +323 -9
- package/dist/nosql/ravendb/where.d.ts +38 -0
- package/dist/nosql/ravendb/where.js +94 -0
- package/dist/nosql/redis/index.d.ts +267 -0
- package/dist/nosql/redis/index.js +19 -5
- package/dist/nosql/redpanda/index.d.ts +117 -0
- package/dist/nosql/resque/index.d.ts +91 -0
- package/dist/nosql/rethinkdb/index.d.ts +194 -0
- package/dist/nosql/rethinkdb/index.js +290 -0
- package/dist/nosql/rethinkdb/where.d.ts +38 -0
- package/dist/nosql/rethinkdb/where.js +94 -0
- package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
- package/dist/nosql/rocksdb/document-layer.js +338 -0
- package/dist/nosql/rocksdb/index.d.ts +112 -0
- package/dist/nosql/rocksdb/index.js +103 -1
- package/dist/nosql/rocksdb/where-match.d.ts +21 -0
- package/dist/nosql/rocksdb/where-match.js +238 -0
- package/dist/nosql/rockset/index.d.ts +84 -0
- package/dist/nosql/s3/index.d.ts +170 -0
- package/dist/nosql/scylladb/index.d.ts +117 -0
- package/dist/nosql/signoz/index.d.ts +116 -0
- package/dist/nosql/sns/index.d.ts +99 -0
- package/dist/nosql/solr/index.d.ts +129 -0
- package/dist/nosql/splunk/index.d.ts +125 -0
- package/dist/nosql/sqs/index.d.ts +116 -0
- package/dist/nosql/stardog/index.d.ts +86 -0
- package/dist/nosql/starrocks/index.d.ts +89 -0
- package/dist/nosql/store.d.ts +23 -0
- package/dist/nosql/sumologic/index.d.ts +119 -0
- package/dist/nosql/surrealdb/index.d.ts +156 -0
- package/dist/nosql/surrealdb/index.js +174 -1
- package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
- package/dist/nosql/surrealdb/query-compiler.js +193 -0
- package/dist/nosql/terminusdb/index.d.ts +95 -0
- package/dist/nosql/tigergraph/index.d.ts +314 -0
- package/dist/nosql/typesense/index.d.ts +82 -0
- package/dist/nosql/unqlite/index.d.ts +68 -0
- package/dist/nosql/upstash/index.d.ts +80 -0
- package/dist/nosql/vercel-kv/index.d.ts +82 -0
- package/dist/nosql/victoriametrics/index.d.ts +129 -0
- package/dist/nosql/virtuoso/index.d.ts +87 -0
- package/dist/nosql/weaviate/index.d.ts +196 -0
- package/dist/operators/index.d.ts +7 -0
- package/dist/operators.d.ts +2947 -0
- package/dist/operators.js +46 -1
- package/dist/prisma-migrate/index.d.ts +28 -0
- package/dist/prisma-migrate/migration-generator.d.ts +21 -0
- package/dist/prisma-migrate/model-generator.d.ts +12 -0
- package/dist/prisma-migrate/relations.d.ts +28 -0
- package/dist/prisma-migrate/schema-parser.d.ts +42 -0
- package/dist/prisma-migrate/type-mapper.d.ts +20 -0
- package/dist/prorm.d.ts +2093 -0
- package/dist/prorm.js +721 -302
- package/dist/query-builders/cte-builder.d.ts +104 -0
- package/dist/query-builders/functions/aggregate.d.ts +199 -0
- package/dist/query-builders/functions/conditional.d.ts +195 -0
- package/dist/query-builders/functions/datetime.d.ts +202 -0
- package/dist/query-builders/functions/fulltext.d.ts +220 -0
- package/dist/query-builders/functions/index.d.ts +17 -0
- package/dist/query-builders/functions/json.d.ts +157 -0
- package/dist/query-builders/functions/math.d.ts +215 -0
- package/dist/query-builders/functions/string.d.ts +233 -0
- package/dist/query-builders/functions/window.d.ts +209 -0
- package/dist/query-builders/include-builder.d.ts +85 -0
- package/dist/query-builders/index-expression-builder.d.ts +153 -0
- package/dist/query-builders/index.d.ts +121 -0
- package/dist/query-builders/index.js +10 -0
- package/dist/query-builders/insert-builder.d.ts +62 -0
- package/dist/query-builders/model-helpers.d.ts +28 -0
- package/dist/query-builders/order-limit-builder.d.ts +84 -0
- package/dist/query-builders/sql-compiler.d.ts +562 -0
- package/dist/query-builders/subquery-builder.d.ts +133 -0
- package/dist/query-builders/update-builder.d.ts +71 -0
- package/dist/query-builders/view-builder.d.ts +189 -0
- package/dist/query-builders/where-builder.d.ts +124 -0
- package/dist/query-interface.d.ts +407 -0
- package/dist/query-interface.js +84 -0
- package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
- package/dist/query-optimizers/explain-plans.d.ts +187 -0
- package/dist/query-optimizers/index.d.ts +27 -0
- package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
- package/dist/query-optimizers/query-hints.d.ts +201 -0
- package/dist/query-optimizers/query-optimizer.d.ts +162 -0
- package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
- package/dist/replica-manager.d.ts +235 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/migration-generator.d.ts +74 -0
- package/dist/schema/schema-differ.d.ts +114 -0
- package/dist/schema/types.d.ts +246 -0
- package/dist/schema-objects.d.ts +78 -0
- package/dist/schema-objects.js +203 -0
- package/dist/sql-constants.d.ts +240 -0
- package/dist/sqlite-advanced.d.ts +572 -0
- package/dist/streams/index.d.ts +5 -0
- package/dist/streams/transforms.d.ts +120 -0
- package/dist/transaction.d.ts +221 -0
- package/dist/types/index.d.ts +3123 -0
- package/dist/user-management.d.ts +141 -0
- package/dist/utils/date.d.ts +149 -0
- package/dist/utils/index.d.ts +359 -0
- package/dist/utils/string.d.ts +88 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/validator.d.ts +306 -0
- package/package.json +20 -5
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Include builder for the ORM
|
|
3
|
+
* Handles JOIN clauses for model associations
|
|
4
|
+
*/
|
|
5
|
+
import { IncludeOptions } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Result of building JOIN clauses: the combined SQL fragment and its bound values
|
|
8
|
+
*/
|
|
9
|
+
export interface IncludeResult {
|
|
10
|
+
sql: string;
|
|
11
|
+
values: unknown[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Options controlling how an IncludeBuilder generates JOINs
|
|
15
|
+
*/
|
|
16
|
+
export interface IncludeBuilderOptions {
|
|
17
|
+
replacements?: Record<string, unknown>;
|
|
18
|
+
model?: unknown;
|
|
19
|
+
dialect?: {
|
|
20
|
+
escape: (value: unknown) => string;
|
|
21
|
+
escapeId: (identifier: string) => string;
|
|
22
|
+
};
|
|
23
|
+
parentAlias?: string;
|
|
24
|
+
parentKey?: string;
|
|
25
|
+
childKey?: string;
|
|
26
|
+
/** Default schema delimiter */
|
|
27
|
+
schemaDelimiter?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* IncludeBuilder class for building JOIN clauses
|
|
31
|
+
*/
|
|
32
|
+
export declare class IncludeBuilder {
|
|
33
|
+
private options;
|
|
34
|
+
private whereBuilder;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a nested WhereBuilder (sharing replacements/model/dialect) used to
|
|
37
|
+
* render `on`, `where`, and `lateralSubquery.where` clauses on included tables
|
|
38
|
+
*/
|
|
39
|
+
constructor(options?: IncludeBuilderOptions);
|
|
40
|
+
/**
|
|
41
|
+
* Build JOIN clauses from include options
|
|
42
|
+
*/
|
|
43
|
+
build(includes: IncludeOptions[]): IncludeResult;
|
|
44
|
+
/**
|
|
45
|
+
* Build a single include (can handle nested includes)
|
|
46
|
+
*/
|
|
47
|
+
private buildInclude;
|
|
48
|
+
/**
|
|
49
|
+
* Build a through-table join for many-to-many associations
|
|
50
|
+
*/
|
|
51
|
+
private buildThroughJoin;
|
|
52
|
+
/**
|
|
53
|
+
* Get the join type based on include options
|
|
54
|
+
*/
|
|
55
|
+
private getJoinType;
|
|
56
|
+
/**
|
|
57
|
+
* Build the ON clause for a join
|
|
58
|
+
*/
|
|
59
|
+
private buildOnClause;
|
|
60
|
+
/**
|
|
61
|
+
* Build ON clause from WhereOptions
|
|
62
|
+
*/
|
|
63
|
+
private buildOnFromWhere;
|
|
64
|
+
/**
|
|
65
|
+
* Guess the foreign key name for an association
|
|
66
|
+
*/
|
|
67
|
+
private guessForeignKey;
|
|
68
|
+
/**
|
|
69
|
+
* Get the primary key of a model
|
|
70
|
+
*/
|
|
71
|
+
private getPrimaryKey;
|
|
72
|
+
/**
|
|
73
|
+
* Escape an identifier
|
|
74
|
+
*/
|
|
75
|
+
private escapeId;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create an IncludeBuilder instance
|
|
79
|
+
*/
|
|
80
|
+
export declare function createIncludeBuilder(options?: IncludeBuilderOptions): IncludeBuilder;
|
|
81
|
+
/**
|
|
82
|
+
* Quick helper to build include JOINs
|
|
83
|
+
*/
|
|
84
|
+
export declare function buildIncludes(includes: IncludeOptions[], options?: IncludeBuilderOptions): IncludeResult;
|
|
85
|
+
export default IncludeBuilder;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Index Expression Builder
|
|
3
|
+
* Provides ORM-like way to create functional indexes
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Supported SQL functions for index expressions
|
|
7
|
+
*/
|
|
8
|
+
export type IndexFunction = 'LOWER' | 'UPPER' | 'TRIM' | 'LTRIM' | 'RTRIM' | 'SUBSTRING' | 'SUBSTR' | 'LENGTH' | 'CONCAT' | 'COALESCE' | 'NULLIF' | 'ABS' | 'CEIL' | 'FLOOR' | 'ROUND' | 'SQRT' | 'POWER' | 'MOD' | 'NOW' | 'CURRENT_DATE' | 'CURRENT_TIME' | 'CURRENT_TIMESTAMP' | 'DATE' | 'TIME' | 'YEAR' | 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' | 'EXTRACT' | 'TO_CHAR' | 'TO_DATE' | 'TO_TIMESTAMP' | 'JSON_EXTRACT' | 'JSONB_EXTRACT' | 'CAST' | 'CONVERT';
|
|
9
|
+
/**
|
|
10
|
+
* Expression type definitions
|
|
11
|
+
*/
|
|
12
|
+
export interface ColumnRef {
|
|
13
|
+
__type: 'column';
|
|
14
|
+
model?: string;
|
|
15
|
+
column: string;
|
|
16
|
+
}
|
|
17
|
+
export interface FunctionCall {
|
|
18
|
+
__type: 'function';
|
|
19
|
+
name: IndexFunction | string;
|
|
20
|
+
args: ExpressionArg[];
|
|
21
|
+
}
|
|
22
|
+
export interface LiteralValue {
|
|
23
|
+
__type: 'literal';
|
|
24
|
+
value: any;
|
|
25
|
+
type?: 'string' | 'number' | 'boolean' | 'date';
|
|
26
|
+
}
|
|
27
|
+
/** Union type for function arguments */
|
|
28
|
+
export type ExpressionArg = string | ColumnRef | LiteralValue;
|
|
29
|
+
/** Union type for all expression parts */
|
|
30
|
+
export type ExpressionPart = ColumnRef | FunctionCall | LiteralValue;
|
|
31
|
+
/**
|
|
32
|
+
* Index column definition with optional expression
|
|
33
|
+
*/
|
|
34
|
+
export interface IndexColumn {
|
|
35
|
+
/** Column name */
|
|
36
|
+
name: string;
|
|
37
|
+
/** Optional expression for functional index */
|
|
38
|
+
expression?: ExpressionPart;
|
|
39
|
+
/** Optional length for prefix index */
|
|
40
|
+
length?: number;
|
|
41
|
+
/** Sort order */
|
|
42
|
+
order?: 'ASC' | 'DESC';
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Index options
|
|
46
|
+
*/
|
|
47
|
+
export interface IndexBuilderOptions {
|
|
48
|
+
/** Index name */
|
|
49
|
+
name?: string;
|
|
50
|
+
/** Index type: BTREE, HASH, GIN, GiST, BRIN, etc. */
|
|
51
|
+
type?: string;
|
|
52
|
+
/** Unique index */
|
|
53
|
+
unique?: boolean;
|
|
54
|
+
/** Index if not exists */
|
|
55
|
+
ifNotExists?: boolean;
|
|
56
|
+
/** Partial index WHERE clause */
|
|
57
|
+
where?: WhereCondition;
|
|
58
|
+
/** NULLS FIRST/LAST (PostgreSQL) */
|
|
59
|
+
nullsFirst?: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Simple WHERE condition for partial indexes
|
|
63
|
+
*/
|
|
64
|
+
export interface WhereCondition {
|
|
65
|
+
field: string;
|
|
66
|
+
operator: '=' | '>' | '<' | '>=' | '<=' | '!=' | '<>' | 'IS NULL' | 'IS NOT NULL' | 'IN' | 'LIKE' | 'BETWEEN';
|
|
67
|
+
value: any;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Builder for index expressions
|
|
71
|
+
*/
|
|
72
|
+
export declare class IndexExpressionBuilder {
|
|
73
|
+
private columns;
|
|
74
|
+
/**
|
|
75
|
+
* Add a simple column to the index
|
|
76
|
+
*/
|
|
77
|
+
column(name: string, opts?: {
|
|
78
|
+
length?: number;
|
|
79
|
+
order?: 'ASC' | 'DESC';
|
|
80
|
+
}): IndexExpressionBuilder;
|
|
81
|
+
/**
|
|
82
|
+
* Add a functional index using a column reference
|
|
83
|
+
*/
|
|
84
|
+
functional(column: string, opts?: {
|
|
85
|
+
model?: string | {
|
|
86
|
+
tableName?: string;
|
|
87
|
+
name?: string;
|
|
88
|
+
};
|
|
89
|
+
length?: number;
|
|
90
|
+
order?: 'ASC' | 'DESC';
|
|
91
|
+
}): IndexExpressionBuilder;
|
|
92
|
+
/**
|
|
93
|
+
* Add LOWER(column) expression
|
|
94
|
+
*/
|
|
95
|
+
lower(column: string, opts?: {
|
|
96
|
+
order?: 'ASC' | 'DESC';
|
|
97
|
+
}): IndexExpressionBuilder;
|
|
98
|
+
/**
|
|
99
|
+
* Add UPPER(column) expression
|
|
100
|
+
*/
|
|
101
|
+
upper(column: string, opts?: {
|
|
102
|
+
order?: 'ASC' | 'DESC';
|
|
103
|
+
}): IndexExpressionBuilder;
|
|
104
|
+
/**
|
|
105
|
+
* Add LENGTH(column) expression
|
|
106
|
+
*/
|
|
107
|
+
length(column: string, opts?: {
|
|
108
|
+
order?: 'ASC' | 'DESC';
|
|
109
|
+
}): IndexExpressionBuilder;
|
|
110
|
+
/**
|
|
111
|
+
* Add SUBSTRING(column FROM start FOR length) expression
|
|
112
|
+
*/
|
|
113
|
+
substring(column: string, start: number, length?: number, opts?: {
|
|
114
|
+
order?: 'ASC' | 'DESC';
|
|
115
|
+
}): IndexExpressionBuilder;
|
|
116
|
+
/**
|
|
117
|
+
* Add a custom function expression
|
|
118
|
+
*/
|
|
119
|
+
fn(name: IndexFunction | string, args: ExpressionArg[], alias?: string): IndexExpressionBuilder;
|
|
120
|
+
/**
|
|
121
|
+
* Add COALESCE expression for handling NULLs
|
|
122
|
+
*/
|
|
123
|
+
coalesce(column: string, defaultValue: any): IndexExpressionBuilder;
|
|
124
|
+
/**
|
|
125
|
+
* Add CAST expression
|
|
126
|
+
*/
|
|
127
|
+
cast(column: string, asType: string): IndexExpressionBuilder;
|
|
128
|
+
/**
|
|
129
|
+
* Add JSON extract expression (PostgreSQL)
|
|
130
|
+
*/
|
|
131
|
+
jsonExtract(column: string, path: string): IndexExpressionBuilder;
|
|
132
|
+
/**
|
|
133
|
+
* Get all index columns
|
|
134
|
+
*/
|
|
135
|
+
getColumns(): IndexColumn[];
|
|
136
|
+
/**
|
|
137
|
+
* Build the index column expressions
|
|
138
|
+
*/
|
|
139
|
+
toSQL(dialect: any): string;
|
|
140
|
+
/**
|
|
141
|
+
* Reset the builder
|
|
142
|
+
*/
|
|
143
|
+
reset(): void;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Create a new index expression builder
|
|
147
|
+
*/
|
|
148
|
+
export declare function createIndexBuilder(): IndexExpressionBuilder;
|
|
149
|
+
declare const _default: {
|
|
150
|
+
IndexExpressionBuilder: typeof IndexExpressionBuilder;
|
|
151
|
+
createIndexBuilder: typeof createIndexBuilder;
|
|
152
|
+
};
|
|
153
|
+
export default _default;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query Builders
|
|
3
|
+
* Exports all query builder classes and utilities
|
|
4
|
+
*/
|
|
5
|
+
export { getTableName, getModelName, isModel } from './model-helpers';
|
|
6
|
+
export { SqlCompiler, SqlCompilerOptions } from './sql-compiler';
|
|
7
|
+
export { CTEBuilder, CTEDefinition, RecursiveCTEOptions, createCTEBuilder } from './cte-builder';
|
|
8
|
+
export { SubqueryBuilder, SubqueryOptions, ExistsSubqueryOptions, ScalarSubqueryOptions, } from './subquery-builder';
|
|
9
|
+
export { ViewBuilder, ViewOptions, MaterializedViewOptions, createViewBuilder, } from './view-builder';
|
|
10
|
+
export { IndexExpressionBuilder, IndexColumn, IndexBuilderOptions, IndexFunction, createIndexBuilder, } from './index-expression-builder';
|
|
11
|
+
/** @deprecated Not used by any query path; each dialect builds its own WHERE clause. */
|
|
12
|
+
export { WhereBuilder, WhereClauseResult, WhereBuilderOptions, createWhereBuilder, buildWhereClause, } from './where-builder';
|
|
13
|
+
/** @deprecated Eager loading goes through `src/models/eager-load.ts`, not this builder. */
|
|
14
|
+
export { IncludeBuilder, IncludeResult, IncludeBuilderOptions, createIncludeBuilder, buildIncludes, } from './include-builder';
|
|
15
|
+
export { OrderBuilder, LimitOffsetBuilder, OrderLimitBuilder, OrderClauseResult, OrderLimitOptions, createOrderBuilder, createOrderLimitBuilder, buildOrder, buildLimitOffset, } from './order-limit-builder';
|
|
16
|
+
export { InsertBuilder, InsertQueryResult, InsertBuilderOptions, createInsertBuilder, buildInsertQuery, buildBulkInsertQuery, } from './insert-builder';
|
|
17
|
+
/** @deprecated Not used by `Model.update()`; each dialect builds its own UPDATE. */
|
|
18
|
+
export { UpdateBuilder, UpdateQueryResult, UpdateBuilderOptions, createUpdateBuilder, buildUpdateQuery, buildUpdateWithOperations, } from './update-builder';
|
|
19
|
+
/**
|
|
20
|
+
* Query Builder Factory
|
|
21
|
+
* Creates query builders with common configuration
|
|
22
|
+
*/
|
|
23
|
+
export interface QueryBuilderFactoryOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Database dialect
|
|
26
|
+
*/
|
|
27
|
+
dialect?: 'mysql' | 'postgres' | 'sqlite' | 'mssql' | 'mariadb';
|
|
28
|
+
/**
|
|
29
|
+
* Table name prefix
|
|
30
|
+
*/
|
|
31
|
+
tablePrefix?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Database schema
|
|
34
|
+
*/
|
|
35
|
+
schema?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Use parameterized queries
|
|
38
|
+
*/
|
|
39
|
+
parameterized?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Parameter character
|
|
42
|
+
*/
|
|
43
|
+
paramChar?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a query builder with the given options
|
|
47
|
+
*/
|
|
48
|
+
export declare function createQueryBuilder(options?: QueryBuilderFactoryOptions): {
|
|
49
|
+
sqlCompiler: any;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Quick query helper for simple queries
|
|
53
|
+
*/
|
|
54
|
+
export declare function createQuickQuery(dialect?: string): {
|
|
55
|
+
/**
|
|
56
|
+
* Build a simple SELECT query
|
|
57
|
+
*/
|
|
58
|
+
select: (table: string, where?: any) => any;
|
|
59
|
+
/**
|
|
60
|
+
* Build a simple INSERT query
|
|
61
|
+
*/
|
|
62
|
+
insert: (table: string, values: Record<string, any>) => any;
|
|
63
|
+
/**
|
|
64
|
+
* Build a simple UPDATE query
|
|
65
|
+
*/
|
|
66
|
+
update: (table: string, values: Record<string, any>, where: any) => any;
|
|
67
|
+
/**
|
|
68
|
+
* Build a simple DELETE query
|
|
69
|
+
*/
|
|
70
|
+
delete: (table: string, where: any) => any;
|
|
71
|
+
/**
|
|
72
|
+
* Build a WHERE clause
|
|
73
|
+
*/
|
|
74
|
+
where: (conditions: any) => any;
|
|
75
|
+
/**
|
|
76
|
+
* Build an ORDER BY clause
|
|
77
|
+
*/
|
|
78
|
+
order: (order: any) => any;
|
|
79
|
+
/**
|
|
80
|
+
* Build a LIMIT/OFFSET clause
|
|
81
|
+
*/
|
|
82
|
+
limitOffset: (limit?: number | string, offset?: number | string) => any;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Get or create the default query builder
|
|
86
|
+
*/
|
|
87
|
+
export declare function getDefaultQueryBuilder(): {
|
|
88
|
+
/**
|
|
89
|
+
* Build a simple SELECT query
|
|
90
|
+
*/
|
|
91
|
+
select: (table: string, where?: any) => any;
|
|
92
|
+
/**
|
|
93
|
+
* Build a simple INSERT query
|
|
94
|
+
*/
|
|
95
|
+
insert: (table: string, values: Record<string, any>) => any;
|
|
96
|
+
/**
|
|
97
|
+
* Build a simple UPDATE query
|
|
98
|
+
*/
|
|
99
|
+
update: (table: string, values: Record<string, any>, where: any) => any;
|
|
100
|
+
/**
|
|
101
|
+
* Build a simple DELETE query
|
|
102
|
+
*/
|
|
103
|
+
delete: (table: string, where: any) => any;
|
|
104
|
+
/**
|
|
105
|
+
* Build a WHERE clause
|
|
106
|
+
*/
|
|
107
|
+
where: (conditions: any) => any;
|
|
108
|
+
/**
|
|
109
|
+
* Build an ORDER BY clause
|
|
110
|
+
*/
|
|
111
|
+
order: (order: any) => any;
|
|
112
|
+
/**
|
|
113
|
+
* Build a LIMIT/OFFSET clause
|
|
114
|
+
*/
|
|
115
|
+
limitOffset: (limit?: number | string, offset?: number | string) => any;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Set the default query builder
|
|
119
|
+
*/
|
|
120
|
+
export declare function setDefaultQueryBuilder(builder: ReturnType<typeof createQuickQuery>): void;
|
|
121
|
+
export { SqlCompiler as SqlCompilerDefault } from './sql-compiler';
|
|
@@ -33,10 +33,19 @@ var index_expression_builder_1 = require("./index-expression-builder");
|
|
|
33
33
|
Object.defineProperty(exports, "IndexExpressionBuilder", { enumerable: true, get: function () { return index_expression_builder_1.IndexExpressionBuilder; } });
|
|
34
34
|
Object.defineProperty(exports, "createIndexBuilder", { enumerable: true, get: function () { return index_expression_builder_1.createIndexBuilder; } });
|
|
35
35
|
// Export modular query builders
|
|
36
|
+
//
|
|
37
|
+
// NOTE: `WhereBuilder`, `IncludeBuilder` and `UpdateBuilder` below are NOT on
|
|
38
|
+
// any runtime query path. Every dialect implements its own `buildWhereClause`,
|
|
39
|
+
// and eager loading goes through `src/models/eager-load.ts`. These are kept for
|
|
40
|
+
// callers that construct SQL fragments directly, but changing them has no
|
|
41
|
+
// effect on `findAll`/`update`/`include` behaviour - see
|
|
42
|
+
// `src/models/COVERAGE-AUDIT.md`. Prefer the model APIs.
|
|
43
|
+
/** @deprecated Not used by any query path; each dialect builds its own WHERE clause. */
|
|
36
44
|
var where_builder_1 = require("./where-builder");
|
|
37
45
|
Object.defineProperty(exports, "WhereBuilder", { enumerable: true, get: function () { return where_builder_1.WhereBuilder; } });
|
|
38
46
|
Object.defineProperty(exports, "createWhereBuilder", { enumerable: true, get: function () { return where_builder_1.createWhereBuilder; } });
|
|
39
47
|
Object.defineProperty(exports, "buildWhereClause", { enumerable: true, get: function () { return where_builder_1.buildWhereClause; } });
|
|
48
|
+
/** @deprecated Eager loading goes through `src/models/eager-load.ts`, not this builder. */
|
|
40
49
|
var include_builder_1 = require("./include-builder");
|
|
41
50
|
Object.defineProperty(exports, "IncludeBuilder", { enumerable: true, get: function () { return include_builder_1.IncludeBuilder; } });
|
|
42
51
|
Object.defineProperty(exports, "createIncludeBuilder", { enumerable: true, get: function () { return include_builder_1.createIncludeBuilder; } });
|
|
@@ -54,6 +63,7 @@ Object.defineProperty(exports, "InsertBuilder", { enumerable: true, get: functio
|
|
|
54
63
|
Object.defineProperty(exports, "createInsertBuilder", { enumerable: true, get: function () { return insert_builder_1.createInsertBuilder; } });
|
|
55
64
|
Object.defineProperty(exports, "buildInsertQuery", { enumerable: true, get: function () { return insert_builder_1.buildInsertQuery; } });
|
|
56
65
|
Object.defineProperty(exports, "buildBulkInsertQuery", { enumerable: true, get: function () { return insert_builder_1.buildBulkInsertQuery; } });
|
|
66
|
+
/** @deprecated Not used by `Model.update()`; each dialect builds its own UPDATE. */
|
|
57
67
|
var update_builder_1 = require("./update-builder");
|
|
58
68
|
Object.defineProperty(exports, "UpdateBuilder", { enumerable: true, get: function () { return update_builder_1.UpdateBuilder; } });
|
|
59
69
|
Object.defineProperty(exports, "createUpdateBuilder", { enumerable: true, get: function () { return update_builder_1.createUpdateBuilder; } });
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert query builder for the ORM
|
|
3
|
+
* Handles INSERT queries including bulk inserts and upserts
|
|
4
|
+
*/
|
|
5
|
+
export interface InsertQueryResult {
|
|
6
|
+
sql: string;
|
|
7
|
+
values: unknown[];
|
|
8
|
+
generatedIds?: unknown[];
|
|
9
|
+
}
|
|
10
|
+
export interface InsertBuilderOptions {
|
|
11
|
+
returning?: boolean | string[];
|
|
12
|
+
upsert?: boolean;
|
|
13
|
+
conflictFields?: string[];
|
|
14
|
+
dialect?: {
|
|
15
|
+
escape: (value: unknown) => string;
|
|
16
|
+
escapeId: (identifier: string) => string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* InsertBuilder class for building INSERT queries
|
|
21
|
+
*/
|
|
22
|
+
export declare class InsertBuilder {
|
|
23
|
+
private options;
|
|
24
|
+
constructor(options?: InsertBuilderOptions);
|
|
25
|
+
/**
|
|
26
|
+
* Build an INSERT query for a single record
|
|
27
|
+
*/
|
|
28
|
+
build(tableName: string, values: Record<string, unknown>): InsertQueryResult;
|
|
29
|
+
/**
|
|
30
|
+
* Build a bulk INSERT query
|
|
31
|
+
*/
|
|
32
|
+
buildBulk(tableName: string, records: Record<string, unknown>[]): InsertQueryResult;
|
|
33
|
+
/**
|
|
34
|
+
* Build an upsert (INSERT ... ON CONFLICT) query
|
|
35
|
+
*/
|
|
36
|
+
private buildUpsert;
|
|
37
|
+
/**
|
|
38
|
+
* Build a bulk upsert query
|
|
39
|
+
*/
|
|
40
|
+
private buildBulkUpsert;
|
|
41
|
+
/**
|
|
42
|
+
* Build the RETURNING clause
|
|
43
|
+
*/
|
|
44
|
+
private buildReturningClause;
|
|
45
|
+
/**
|
|
46
|
+
* Escape an identifier
|
|
47
|
+
*/
|
|
48
|
+
private escapeId;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create an InsertBuilder instance
|
|
52
|
+
*/
|
|
53
|
+
export declare function createInsertBuilder(options?: InsertBuilderOptions): InsertBuilder;
|
|
54
|
+
/**
|
|
55
|
+
* Quick helper to build an INSERT query
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildInsertQuery(tableName: string, values: Record<string, unknown>, options?: InsertBuilderOptions): InsertQueryResult;
|
|
58
|
+
/**
|
|
59
|
+
* Quick helper to build a bulk INSERT query
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildBulkInsertQuery(tableName: string, records: Record<string, unknown>[], options?: InsertBuilderOptions): InsertQueryResult;
|
|
62
|
+
export default InsertBuilder;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Helpers
|
|
3
|
+
* Utilities for working with Model classes in builders
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get table name from a model class or string
|
|
7
|
+
*/
|
|
8
|
+
export declare function getTableName(model: string | {
|
|
9
|
+
tableName?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
/**
|
|
13
|
+
* Check if value is a model class (has tableName or name property)
|
|
14
|
+
*/
|
|
15
|
+
export declare function isModel(value: any): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Get model name from model class
|
|
18
|
+
*/
|
|
19
|
+
export declare function getModelName(model: string | {
|
|
20
|
+
tableName?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
}): string;
|
|
23
|
+
declare const _default: {
|
|
24
|
+
getTableName: typeof getTableName;
|
|
25
|
+
isModel: typeof isModel;
|
|
26
|
+
getModelName: typeof getModelName;
|
|
27
|
+
};
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order and Limit builder for the ORM
|
|
3
|
+
* Handles ORDER BY, LIMIT, and OFFSET clauses
|
|
4
|
+
*/
|
|
5
|
+
import { Order, ModelStatic } from '../types';
|
|
6
|
+
export interface OrderLimitOptions {
|
|
7
|
+
replacements?: Record<string, unknown>;
|
|
8
|
+
model?: ModelStatic<any>;
|
|
9
|
+
dialect?: {
|
|
10
|
+
name?: string;
|
|
11
|
+
escapeId: (identifier: string) => string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface OrderClauseResult {
|
|
15
|
+
sql: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* OrderBuilder class for building ORDER BY clauses
|
|
19
|
+
*/
|
|
20
|
+
export declare class OrderBuilder {
|
|
21
|
+
private options;
|
|
22
|
+
constructor(options?: OrderLimitOptions);
|
|
23
|
+
/**
|
|
24
|
+
* Build an ORDER BY clause from Order options
|
|
25
|
+
*/
|
|
26
|
+
build(order: Order | undefined): OrderClauseResult;
|
|
27
|
+
/**
|
|
28
|
+
* Build a single order item
|
|
29
|
+
*/
|
|
30
|
+
private buildOrderItem;
|
|
31
|
+
/**
|
|
32
|
+
* Escape an identifier
|
|
33
|
+
*/
|
|
34
|
+
private escapeId;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* LimitBuilder class for building LIMIT and OFFSET clauses
|
|
38
|
+
*/
|
|
39
|
+
export declare class LimitOffsetBuilder {
|
|
40
|
+
private options;
|
|
41
|
+
constructor(options?: OrderLimitOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Build LIMIT and OFFSET clauses
|
|
44
|
+
* Handles SQLite which requires LIMIT when using OFFSET
|
|
45
|
+
*/
|
|
46
|
+
build(limit?: number | string, offset?: number | string): string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Combined Order and Limit builder
|
|
50
|
+
*/
|
|
51
|
+
export declare class OrderLimitBuilder {
|
|
52
|
+
private orderBuilder;
|
|
53
|
+
private limitOffsetBuilder;
|
|
54
|
+
constructor(options?: OrderLimitOptions);
|
|
55
|
+
/**
|
|
56
|
+
* Build ORDER BY clause
|
|
57
|
+
*/
|
|
58
|
+
buildOrder(order: Order | undefined): OrderClauseResult;
|
|
59
|
+
/**
|
|
60
|
+
* Build LIMIT/OFFSET clause
|
|
61
|
+
*/
|
|
62
|
+
buildLimitOffset(limit?: number | string, offset?: number | string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build both ORDER BY and LIMIT/OFFSET
|
|
65
|
+
*/
|
|
66
|
+
build(order?: Order, limit?: number | string, offset?: number | string): string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Create an OrderBuilder instance
|
|
70
|
+
*/
|
|
71
|
+
export declare function createOrderBuilder(options?: OrderLimitOptions): OrderBuilder;
|
|
72
|
+
/**
|
|
73
|
+
* Create an OrderLimitBuilder instance
|
|
74
|
+
*/
|
|
75
|
+
export declare function createOrderLimitBuilder(options?: OrderLimitOptions): OrderLimitBuilder;
|
|
76
|
+
/**
|
|
77
|
+
* Quick helper to build ORDER BY clause
|
|
78
|
+
*/
|
|
79
|
+
export declare function buildOrder(order: Order, options?: OrderLimitOptions): OrderClauseResult;
|
|
80
|
+
/**
|
|
81
|
+
* Quick helper to build LIMIT/OFFSET clause
|
|
82
|
+
*/
|
|
83
|
+
export declare function buildLimitOffset(limit?: number | string, offset?: number | string): string;
|
|
84
|
+
export default OrderLimitBuilder;
|