ts-prorm-orm 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -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 +711 -0
- package/dist/index.js +19 -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,572 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Advanced Features Module
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive support for SQLite advanced features including:
|
|
5
|
+
* - Views (Standard and updatable)
|
|
6
|
+
* - Triggers (BEFORE/AFTER INSERT/UPDATE/DELETE, recursive triggers)
|
|
7
|
+
* - Foreign Tables (FTS5, carray, etc.)
|
|
8
|
+
* - Full-Text Search (FTS5) - MATCH, rank, highlighting
|
|
9
|
+
* - JSON JSON1 extension - JSON each, extract
|
|
10
|
+
* - Generated Columns - VIRTUAL, STORED
|
|
11
|
+
* - Indexes - Partial, UNIQUE, expression indexes
|
|
12
|
+
* - Window Functions - SQLite 3.25+ (ROW_NUMBER, etc.)
|
|
13
|
+
* - CTEs - WITH RECURSIVE
|
|
14
|
+
* - Common Table Expressions
|
|
15
|
+
* - VACUUM and ANALYZE - Optimization
|
|
16
|
+
* - Savepoints - Transaction management
|
|
17
|
+
* - UPSERT - INSERT ... ON CONFLICT
|
|
18
|
+
* - Table-valued Functions - json_each, fts5, etc.
|
|
19
|
+
* - Extensions - Loadable extensions
|
|
20
|
+
* - SQLite-specific Types - INTEGER PRIMARY KEY, affinity
|
|
21
|
+
* - Constraints - CHECK, UNIQUE, NOT NULL with ON CONFLICT
|
|
22
|
+
*/
|
|
23
|
+
import { QueryResult } from './types';
|
|
24
|
+
import { SQLiteDialect } from './dialects/sqlite';
|
|
25
|
+
/**
|
|
26
|
+
* Trigger timing options
|
|
27
|
+
*/
|
|
28
|
+
export type TriggerTiming = 'BEFORE' | 'AFTER' | 'INSTEAD OF';
|
|
29
|
+
/**
|
|
30
|
+
* Trigger event options
|
|
31
|
+
*/
|
|
32
|
+
export type TriggerEvent = 'INSERT' | 'UPDATE' | 'DELETE';
|
|
33
|
+
/**
|
|
34
|
+
* FTS5 tokenizers
|
|
35
|
+
*/
|
|
36
|
+
export type FTS5Tokenizer = 'porter' | 'unicode61' | 'trigram' | 'ascii';
|
|
37
|
+
/**
|
|
38
|
+
* Generated column storage type
|
|
39
|
+
*/
|
|
40
|
+
export type GeneratedStorageType = 'VIRTUAL' | 'STORED';
|
|
41
|
+
/**
|
|
42
|
+
* Conflict resolution algorithms
|
|
43
|
+
*/
|
|
44
|
+
export type ConflictAlgorithm = 'ROLLBACK' | 'ABORT' | 'FAIL' | 'IGNORE' | 'REPLACE';
|
|
45
|
+
/**
|
|
46
|
+
* SQLite Advanced Features Class
|
|
47
|
+
* Provides comprehensive SQLite-specific features beyond standard SQL
|
|
48
|
+
*/
|
|
49
|
+
export declare class SQLiteAdvanced {
|
|
50
|
+
private dialect;
|
|
51
|
+
private connection;
|
|
52
|
+
constructor(dialect: SQLiteDialect);
|
|
53
|
+
/**
|
|
54
|
+
* Create a standard or updatable view
|
|
55
|
+
* SQLite views are read-only by default, but can be made updatable via INSTEAD OF triggers
|
|
56
|
+
*/
|
|
57
|
+
createView(viewName: string, query: string, options?: {
|
|
58
|
+
replace?: boolean;
|
|
59
|
+
temporary?: boolean;
|
|
60
|
+
columns?: string[];
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Drop a view
|
|
64
|
+
*/
|
|
65
|
+
dropView(viewName: string, options?: {
|
|
66
|
+
ifExists?: boolean;
|
|
67
|
+
cascade?: boolean;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* List all views in the database
|
|
71
|
+
*/
|
|
72
|
+
listViews(schema?: string): Promise<string[]>;
|
|
73
|
+
/**
|
|
74
|
+
* Get view definition
|
|
75
|
+
*/
|
|
76
|
+
getViewDefinition(viewName: string): Promise<string | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Create a trigger
|
|
79
|
+
*/
|
|
80
|
+
createTrigger(triggerName: string, timing: TriggerTiming, events: TriggerEvent[], tableName: string, body: string, options?: {
|
|
81
|
+
replace?: boolean;
|
|
82
|
+
forEachRow?: boolean;
|
|
83
|
+
whenCondition?: string;
|
|
84
|
+
}): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Create an AFTER INSERT trigger
|
|
87
|
+
*/
|
|
88
|
+
createAfterInsertTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Create an AFTER UPDATE trigger
|
|
91
|
+
*/
|
|
92
|
+
createAfterUpdateTrigger(triggerName: string, tableName: string, body: string, columns?: string[]): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Create an AFTER DELETE trigger
|
|
95
|
+
*/
|
|
96
|
+
createAfterDeleteTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Create a BEFORE INSERT trigger
|
|
99
|
+
*/
|
|
100
|
+
createBeforeInsertTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Create a BEFORE UPDATE trigger
|
|
103
|
+
*/
|
|
104
|
+
createBeforeUpdateTrigger(triggerName: string, tableName: string, body: string): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Create an INSTEAD OF trigger (for views)
|
|
107
|
+
*/
|
|
108
|
+
createInsteadOfTrigger(triggerName: string, viewName: string, events: TriggerEvent[], body: string): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Create a recursive trigger
|
|
111
|
+
*/
|
|
112
|
+
createRecursiveTrigger(triggerName: string, tableName: string, insertBody: string, updateBody: string, deleteBody?: string): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Drop a trigger
|
|
115
|
+
*/
|
|
116
|
+
dropTrigger(triggerName: string, options?: {
|
|
117
|
+
ifExists?: boolean;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* List all triggers
|
|
121
|
+
*/
|
|
122
|
+
listTriggers(tableName?: string): Promise<string[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Get trigger definition
|
|
125
|
+
*/
|
|
126
|
+
getTriggerDefinition(triggerName: string): Promise<string | null>;
|
|
127
|
+
/**
|
|
128
|
+
* Create an FTS5 virtual table for full-text search
|
|
129
|
+
*/
|
|
130
|
+
createFTS5Table(tableName: string, columns: {
|
|
131
|
+
name: string;
|
|
132
|
+
type?: string;
|
|
133
|
+
notindexed?: boolean;
|
|
134
|
+
}[], options?: {
|
|
135
|
+
tokenizer?: FTS5Tokenizer | {
|
|
136
|
+
name: FTS5Tokenizer;
|
|
137
|
+
options?: Record<string, unknown>;
|
|
138
|
+
};
|
|
139
|
+
content?: string;
|
|
140
|
+
contentRowId?: string;
|
|
141
|
+
prefix?: number[] | 'all';
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Create FTS5 table with existing content table
|
|
145
|
+
*/
|
|
146
|
+
createFTS5FromTable(ftsTableName: string, sourceTable: string, sourceColumns: string[], options?: {
|
|
147
|
+
tokenizer?: FTS5Tokenizer;
|
|
148
|
+
}): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Drop an FTS5 table
|
|
151
|
+
*/
|
|
152
|
+
dropFTS5Table(tableName: string, options?: {
|
|
153
|
+
ifExists?: boolean;
|
|
154
|
+
}): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Perform full-text search
|
|
157
|
+
*/
|
|
158
|
+
fullTextSearch(ftsTable: string, searchQuery: string, options?: {
|
|
159
|
+
columns?: string[];
|
|
160
|
+
orderBy?: {
|
|
161
|
+
column: string;
|
|
162
|
+
desc?: boolean;
|
|
163
|
+
}[];
|
|
164
|
+
limit?: number;
|
|
165
|
+
offset?: number;
|
|
166
|
+
highlight?: {
|
|
167
|
+
before?: string;
|
|
168
|
+
after?: string;
|
|
169
|
+
column?: string;
|
|
170
|
+
};
|
|
171
|
+
snippet?: {
|
|
172
|
+
before?: string;
|
|
173
|
+
after?: string;
|
|
174
|
+
columns?: string[];
|
|
175
|
+
maxTokens?: number;
|
|
176
|
+
};
|
|
177
|
+
bm25?: boolean;
|
|
178
|
+
}): Promise<QueryResult>;
|
|
179
|
+
/**
|
|
180
|
+
* Rebuild FTS5 index
|
|
181
|
+
*/
|
|
182
|
+
rebuildFTS5(tableName: string): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* Optimize FTS5 index
|
|
185
|
+
*/
|
|
186
|
+
optimizeFTS5(tableName: string): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Parse JSON string
|
|
189
|
+
*/
|
|
190
|
+
parseJson(jsonString: string): unknown;
|
|
191
|
+
/**
|
|
192
|
+
* Extract value from JSON
|
|
193
|
+
*/
|
|
194
|
+
jsonExtract(jsonColumn: string, path: string): string;
|
|
195
|
+
/**
|
|
196
|
+
* Set value in JSON
|
|
197
|
+
*/
|
|
198
|
+
jsonSet(jsonColumn: string, path: string, value: unknown): string;
|
|
199
|
+
/**
|
|
200
|
+
* Insert into JSON array
|
|
201
|
+
*/
|
|
202
|
+
jsonArrayAppend(jsonColumn: string, path: string, value: unknown): string;
|
|
203
|
+
/**
|
|
204
|
+
* Remove from JSON
|
|
205
|
+
*/
|
|
206
|
+
jsonRemove(jsonColumn: string, path: string): string;
|
|
207
|
+
/**
|
|
208
|
+
* Get JSON array length
|
|
209
|
+
*/
|
|
210
|
+
jsonArrayLength(jsonColumn: string, path?: string): string;
|
|
211
|
+
/**
|
|
212
|
+
* Check if JSON contains value
|
|
213
|
+
*
|
|
214
|
+
* Note: SQLite's JSON1 extension has no `json_contains` function (that name is
|
|
215
|
+
* MySQL-specific); calling this would fail at runtime with "no such function:
|
|
216
|
+
* json_contains". Emulate it with json_extract() equality instead.
|
|
217
|
+
*/
|
|
218
|
+
jsonContains(jsonColumn: string, value: unknown, path?: string): string;
|
|
219
|
+
/**
|
|
220
|
+
* Query JSON array as table
|
|
221
|
+
*/
|
|
222
|
+
jsonEach(jsonColumn: string, path?: string): string;
|
|
223
|
+
/**
|
|
224
|
+
* Query JSON object as table
|
|
225
|
+
*/
|
|
226
|
+
jsonTree(jsonColumn: string, path?: string): string;
|
|
227
|
+
/**
|
|
228
|
+
* Get JSON type
|
|
229
|
+
*/
|
|
230
|
+
jsonType(jsonColumn: string, path?: string): string;
|
|
231
|
+
/**
|
|
232
|
+
* Valid JSON check
|
|
233
|
+
*/
|
|
234
|
+
jsonValid(jsonColumn: string): string;
|
|
235
|
+
/**
|
|
236
|
+
* Query using json_each (table-valued function)
|
|
237
|
+
*/
|
|
238
|
+
jsonEachQuery(jsonColumn: string, path?: string, options?: {
|
|
239
|
+
key?: string;
|
|
240
|
+
value?: string;
|
|
241
|
+
type?: string;
|
|
242
|
+
id?: string;
|
|
243
|
+
parent?: string;
|
|
244
|
+
}): Promise<QueryResult>;
|
|
245
|
+
/**
|
|
246
|
+
* Create table with generated columns
|
|
247
|
+
*/
|
|
248
|
+
createTableWithGeneratedColumns(tableName: string, columns: {
|
|
249
|
+
name: string;
|
|
250
|
+
type: string;
|
|
251
|
+
primaryKey?: boolean;
|
|
252
|
+
notNull?: boolean;
|
|
253
|
+
defaultValue?: unknown;
|
|
254
|
+
generated?: {
|
|
255
|
+
expression: string;
|
|
256
|
+
type: GeneratedStorageType;
|
|
257
|
+
};
|
|
258
|
+
}[]): string;
|
|
259
|
+
/**
|
|
260
|
+
* Create a VIRTUAL generated column
|
|
261
|
+
*/
|
|
262
|
+
createVirtualColumn(name: string, type: string, expression: string): string;
|
|
263
|
+
/**
|
|
264
|
+
* Create a STORED generated column
|
|
265
|
+
*/
|
|
266
|
+
createStoredColumn(name: string, type: string, expression: string): string;
|
|
267
|
+
/**
|
|
268
|
+
* Create a UNIQUE index
|
|
269
|
+
*/
|
|
270
|
+
createUniqueIndex(tableName: string, indexName: string, columns: string[]): Promise<void>;
|
|
271
|
+
/**
|
|
272
|
+
* Create a partial index (with WHERE clause)
|
|
273
|
+
*/
|
|
274
|
+
createPartialIndex(tableName: string, indexName: string, columns: string[], whereCondition: string): Promise<void>;
|
|
275
|
+
/**
|
|
276
|
+
* Create an expression index
|
|
277
|
+
*/
|
|
278
|
+
createExpressionIndex(tableName: string, indexName: string, expression: string): Promise<void>;
|
|
279
|
+
/**
|
|
280
|
+
* Create an index with IF NOT EXISTS
|
|
281
|
+
*/
|
|
282
|
+
createIndexIfNotExists(tableName: string, indexName: string, columns: string[], options?: {
|
|
283
|
+
unique?: boolean;
|
|
284
|
+
where?: string;
|
|
285
|
+
}): Promise<void>;
|
|
286
|
+
/**
|
|
287
|
+
* List all indexes for a table
|
|
288
|
+
*/
|
|
289
|
+
listIndexes(tableName: string): Promise<{
|
|
290
|
+
name: string;
|
|
291
|
+
unique: boolean;
|
|
292
|
+
partial: boolean;
|
|
293
|
+
}[]>;
|
|
294
|
+
/**
|
|
295
|
+
* Reindex a table or database
|
|
296
|
+
*/
|
|
297
|
+
reindex(target?: string): Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* Build a window function query
|
|
300
|
+
*/
|
|
301
|
+
buildWindowFunction(functionName: string, options?: {
|
|
302
|
+
distinct?: boolean;
|
|
303
|
+
filter?: string;
|
|
304
|
+
over?: {
|
|
305
|
+
partitionBy?: string[];
|
|
306
|
+
orderBy?: {
|
|
307
|
+
column: string;
|
|
308
|
+
desc?: boolean;
|
|
309
|
+
}[];
|
|
310
|
+
rows?: {
|
|
311
|
+
start?: number;
|
|
312
|
+
end?: number;
|
|
313
|
+
};
|
|
314
|
+
range?: {
|
|
315
|
+
start?: number;
|
|
316
|
+
end?: number;
|
|
317
|
+
};
|
|
318
|
+
frame?: 'ROWS' | 'RANGE' | 'GROUPS';
|
|
319
|
+
};
|
|
320
|
+
}): string;
|
|
321
|
+
/**
|
|
322
|
+
* ROW_NUMBER() window function
|
|
323
|
+
*/
|
|
324
|
+
rowNumber(options?: {
|
|
325
|
+
partitionBy?: string[];
|
|
326
|
+
orderBy?: {
|
|
327
|
+
column: string;
|
|
328
|
+
desc?: boolean;
|
|
329
|
+
}[];
|
|
330
|
+
}): string;
|
|
331
|
+
/**
|
|
332
|
+
* RANK() window function
|
|
333
|
+
*/
|
|
334
|
+
rank(options?: {
|
|
335
|
+
partitionBy?: string[];
|
|
336
|
+
orderBy?: {
|
|
337
|
+
column: string;
|
|
338
|
+
desc?: boolean;
|
|
339
|
+
}[];
|
|
340
|
+
}): string;
|
|
341
|
+
/**
|
|
342
|
+
* DENSE_RANK() window function
|
|
343
|
+
*/
|
|
344
|
+
denseRank(options?: {
|
|
345
|
+
partitionBy?: string[];
|
|
346
|
+
orderBy?: {
|
|
347
|
+
column: string;
|
|
348
|
+
desc?: boolean;
|
|
349
|
+
}[];
|
|
350
|
+
}): string;
|
|
351
|
+
/**
|
|
352
|
+
* NTILE(n) window function
|
|
353
|
+
*/
|
|
354
|
+
ntile(n: number, options?: {
|
|
355
|
+
partitionBy?: string[];
|
|
356
|
+
orderBy?: {
|
|
357
|
+
column: string;
|
|
358
|
+
desc?: boolean;
|
|
359
|
+
}[];
|
|
360
|
+
}): string;
|
|
361
|
+
/**
|
|
362
|
+
* LAG() window function
|
|
363
|
+
*/
|
|
364
|
+
lag(column: string, offset?: number, defaultValue?: unknown): string;
|
|
365
|
+
/**
|
|
366
|
+
* LEAD() window function
|
|
367
|
+
*/
|
|
368
|
+
lead(column: string, offset?: number, defaultValue?: unknown): string;
|
|
369
|
+
/**
|
|
370
|
+
* FIRST_VALUE() window function
|
|
371
|
+
*/
|
|
372
|
+
firstValue(column: string): string;
|
|
373
|
+
/**
|
|
374
|
+
* LAST_VALUE() window function
|
|
375
|
+
*/
|
|
376
|
+
lastValue(column: string): string;
|
|
377
|
+
/**
|
|
378
|
+
* NTH_VALUE() window function
|
|
379
|
+
*/
|
|
380
|
+
nthValue(column: string, n: number): string;
|
|
381
|
+
/**
|
|
382
|
+
* Build a CTE query
|
|
383
|
+
*/
|
|
384
|
+
buildCTE(cteName: string, columns: string[], query: string, recursive?: boolean): string;
|
|
385
|
+
/**
|
|
386
|
+
* Build multiple CTEs
|
|
387
|
+
*/
|
|
388
|
+
buildMultipleCTEs(ctes: {
|
|
389
|
+
name: string;
|
|
390
|
+
columns?: string[];
|
|
391
|
+
query: string;
|
|
392
|
+
}[], mainQuery: string, recursive?: boolean): string;
|
|
393
|
+
/**
|
|
394
|
+
* Execute a recursive CTE query
|
|
395
|
+
*/
|
|
396
|
+
executeRecursiveCTE(cteName: string, baseQuery: string, recursiveQuery: string, finalQuery: string): Promise<QueryResult>;
|
|
397
|
+
/**
|
|
398
|
+
* Recursive CTE example: Generate sequence
|
|
399
|
+
*/
|
|
400
|
+
generateSequence(start: number, end: number): string;
|
|
401
|
+
/**
|
|
402
|
+
* VACUUM the database
|
|
403
|
+
* Reclaims disk space and defragments the database
|
|
404
|
+
*/
|
|
405
|
+
vacuum(options?: {
|
|
406
|
+
schema?: string;
|
|
407
|
+
shrinkTo?: number;
|
|
408
|
+
analyze?: boolean;
|
|
409
|
+
}): Promise<void>;
|
|
410
|
+
/**
|
|
411
|
+
* ANALYZE the database
|
|
412
|
+
* Updates statistics for the query optimizer
|
|
413
|
+
*/
|
|
414
|
+
analyze(target?: string): Promise<void>;
|
|
415
|
+
/**
|
|
416
|
+
* ANALYZE with detailed information
|
|
417
|
+
*/
|
|
418
|
+
analyzeDetailed(tableName?: string): Promise<QueryResult>;
|
|
419
|
+
/**
|
|
420
|
+
* Get table statistics
|
|
421
|
+
*/
|
|
422
|
+
getTableStats(tableName: string): Promise<QueryResult>;
|
|
423
|
+
/**
|
|
424
|
+
* Get index statistics
|
|
425
|
+
*/
|
|
426
|
+
getIndexStats(indexName: string): Promise<QueryResult>;
|
|
427
|
+
/**
|
|
428
|
+
* Create a savepoint
|
|
429
|
+
*/
|
|
430
|
+
savepoint(savepointName: string): Promise<void>;
|
|
431
|
+
/**
|
|
432
|
+
* Release a savepoint
|
|
433
|
+
*/
|
|
434
|
+
releaseSavepoint(savepointName: string): Promise<void>;
|
|
435
|
+
/**
|
|
436
|
+
* Rollback to a savepoint
|
|
437
|
+
*/
|
|
438
|
+
rollbackToSavepoint(savepointName: string): Promise<void>;
|
|
439
|
+
/**
|
|
440
|
+
* Execute within a savepoint
|
|
441
|
+
*/
|
|
442
|
+
withSavepoint<T>(savepointName: string, fn: () => Promise<T>): Promise<T>;
|
|
443
|
+
/**
|
|
444
|
+
* Build an UPSERT query
|
|
445
|
+
*/
|
|
446
|
+
buildUpsertQuery(tableName: string, columns: string[], conflictColumns: string[], updateColumns?: string[], options?: {
|
|
447
|
+
ignore?: boolean;
|
|
448
|
+
replace?: boolean;
|
|
449
|
+
}): string;
|
|
450
|
+
/**
|
|
451
|
+
* Perform an upsert
|
|
452
|
+
*/
|
|
453
|
+
upsert(tableName: string, values: Record<string, unknown>, conflictColumns: string[], updateColumns?: string[]): Promise<QueryResult>;
|
|
454
|
+
/**
|
|
455
|
+
* Use json_each as table-valued function
|
|
456
|
+
*/
|
|
457
|
+
jsonEachAsTable(jsonColumn: string, path?: string): Promise<QueryResult>;
|
|
458
|
+
/**
|
|
459
|
+
* Use json_tree as table-valued function
|
|
460
|
+
*/
|
|
461
|
+
jsonTreeAsTable(jsonColumn: string, path?: string): Promise<QueryResult>;
|
|
462
|
+
/**
|
|
463
|
+
* Generate series using recursive CTE
|
|
464
|
+
*/
|
|
465
|
+
generateSeries(start: number, end: number, step?: number): Promise<QueryResult>;
|
|
466
|
+
/**
|
|
467
|
+
* Use fts5 as table-valued function
|
|
468
|
+
*/
|
|
469
|
+
fts5Search(ftsTable: string, query: string): Promise<QueryResult>;
|
|
470
|
+
/**
|
|
471
|
+
* Load a SQLite extension
|
|
472
|
+
*/
|
|
473
|
+
loadExtension(extensionPath: string): void;
|
|
474
|
+
/**
|
|
475
|
+
* Enable/disable extension loading
|
|
476
|
+
*/
|
|
477
|
+
setExtensionLoading(enabled: boolean): void;
|
|
478
|
+
/**
|
|
479
|
+
* Get list of loaded extensions
|
|
480
|
+
*/
|
|
481
|
+
getLoadedExtensions(): string[];
|
|
482
|
+
/**
|
|
483
|
+
* Create INTEGER PRIMARY KEY column definition
|
|
484
|
+
*/
|
|
485
|
+
createIntegerPrimaryKey(columnName: string, autoIncrement?: boolean): string;
|
|
486
|
+
/**
|
|
487
|
+
* Create column with specific affinity
|
|
488
|
+
*/
|
|
489
|
+
createColumnWithAffinity(columnName: string, affinity: 'TEXT' | 'INTEGER' | 'REAL' | 'BLOB' | 'NUMERIC'): string;
|
|
490
|
+
/**
|
|
491
|
+
* Get column affinity
|
|
492
|
+
*/
|
|
493
|
+
getColumnAffinity(type: string): string;
|
|
494
|
+
/**
|
|
495
|
+
* Create CHECK constraint
|
|
496
|
+
*/
|
|
497
|
+
createCheckConstraint(columnName: string, condition: string): string;
|
|
498
|
+
/**
|
|
499
|
+
* Create table with ON CONFLICT clause
|
|
500
|
+
*/
|
|
501
|
+
createTableWithOnConflict(tableName: string, columns: {
|
|
502
|
+
name: string;
|
|
503
|
+
type: string;
|
|
504
|
+
constraints?: string[];
|
|
505
|
+
}[], conflictAlgorithm?: ConflictAlgorithm): string;
|
|
506
|
+
/**
|
|
507
|
+
* Add ON CONFLICT to column definition
|
|
508
|
+
*/
|
|
509
|
+
addOnConflictClause(constraint: string, conflictAlgorithm: ConflictAlgorithm): string;
|
|
510
|
+
/**
|
|
511
|
+
* Create UNIQUE constraint
|
|
512
|
+
*/
|
|
513
|
+
createUniqueConstraint(columns: string[]): string;
|
|
514
|
+
/**
|
|
515
|
+
* Create NOT NULL constraint with ON CONFLICT
|
|
516
|
+
*/
|
|
517
|
+
createNotNullConstraint(columnName: string, conflictAlgorithm?: ConflictAlgorithm): string;
|
|
518
|
+
/**
|
|
519
|
+
* Execute a PRAGMA command
|
|
520
|
+
*/
|
|
521
|
+
pragma(pragmaName: string, value?: unknown): Promise<QueryResult>;
|
|
522
|
+
/**
|
|
523
|
+
* Get database info
|
|
524
|
+
*/
|
|
525
|
+
getDatabaseInfo(): Promise<{
|
|
526
|
+
schemaVersion: number;
|
|
527
|
+
userVersion: number;
|
|
528
|
+
foreignKeys: boolean;
|
|
529
|
+
journalingMode: string;
|
|
530
|
+
synchronous: string;
|
|
531
|
+
cacheSize: number;
|
|
532
|
+
pageSize: number;
|
|
533
|
+
}>;
|
|
534
|
+
/**
|
|
535
|
+
* Set database options
|
|
536
|
+
*/
|
|
537
|
+
setDatabaseOptions(options: {
|
|
538
|
+
foreignKeys?: boolean;
|
|
539
|
+
journalingMode?: 'DELETE' | 'TRUNCATE' | 'PERSIST' | 'MEMORY' | 'WAL' | 'OFF';
|
|
540
|
+
synchronous?: 'OFF' | 'NORMAL' | 'FULL' | 'EXTRA';
|
|
541
|
+
cacheSize?: number;
|
|
542
|
+
}): Promise<void>;
|
|
543
|
+
/**
|
|
544
|
+
* Get table info using PRAGMA
|
|
545
|
+
*/
|
|
546
|
+
getTableInfo(tableName: string): Promise<QueryResult>;
|
|
547
|
+
/**
|
|
548
|
+
* Get index list for table
|
|
549
|
+
*/
|
|
550
|
+
getIndexList(tableName: string): Promise<QueryResult>;
|
|
551
|
+
/**
|
|
552
|
+
* Get foreign key list for table
|
|
553
|
+
*/
|
|
554
|
+
getForeignKeyList(tableName: string): Promise<QueryResult>;
|
|
555
|
+
/**
|
|
556
|
+
* Escape identifier
|
|
557
|
+
*/
|
|
558
|
+
escapeId(identifier: unknown): string;
|
|
559
|
+
/**
|
|
560
|
+
* Escape a JSON path (or any other value) for safe interpolation inside a
|
|
561
|
+
* single-quoted SQL string literal, by doubling embedded single quotes.
|
|
562
|
+
*/
|
|
563
|
+
private escapePathLiteral;
|
|
564
|
+
/**
|
|
565
|
+
* Escape value
|
|
566
|
+
*/
|
|
567
|
+
escape(value: unknown): string;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Create SQLiteAdvanced instance from dialect
|
|
571
|
+
*/
|
|
572
|
+
export declare function createSQLiteAdvanced(dialect: SQLiteDialect): SQLiteAdvanced;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream utilities for ORM operations
|
|
3
|
+
* Provides transform streams for streaming data processing
|
|
4
|
+
*/
|
|
5
|
+
export { MapTransform, FilterTransform, BatchTransform, StreamIterator, MapTransformOptions, FilterTransformOptions, BatchTransformOptions, StreamIteratorOptions, } from './transforms';
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transform streams for ORM operations
|
|
3
|
+
* Provides MapTransform and FilterTransform for streaming data processing
|
|
4
|
+
*/
|
|
5
|
+
import { Transform, TransformOptions } from 'stream';
|
|
6
|
+
/**
|
|
7
|
+
* Options for MapTransform
|
|
8
|
+
*/
|
|
9
|
+
export interface MapTransformOptions<T = any, R = any> extends TransformOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Transform function to apply to each record
|
|
12
|
+
*/
|
|
13
|
+
mapFn: (record: T) => R | Promise<R>;
|
|
14
|
+
/**
|
|
15
|
+
* Number of records to buffer (default: 1000)
|
|
16
|
+
*/
|
|
17
|
+
highWaterMark?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Transform stream that maps each record through a transform function
|
|
21
|
+
* Supports both synchronous and asynchronous transform functions
|
|
22
|
+
*/
|
|
23
|
+
export declare class MapTransform<T = any, R = any> extends Transform {
|
|
24
|
+
private mapFn;
|
|
25
|
+
constructor(options: MapTransformOptions<T, R>);
|
|
26
|
+
/**
|
|
27
|
+
* Transform a chunk (record)
|
|
28
|
+
*/
|
|
29
|
+
_transform(record: T, encoding: string, callback: (error?: Error | null, data?: R) => void): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Options for FilterTransform
|
|
33
|
+
*/
|
|
34
|
+
export interface FilterTransformOptions<T = any> extends TransformOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Filter function to determine if a record should be included
|
|
37
|
+
*/
|
|
38
|
+
filterFn: (record: T) => boolean | Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Number of records to buffer (default: 1000)
|
|
41
|
+
*/
|
|
42
|
+
highWaterMark?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Transform stream that filters records based on a predicate function
|
|
46
|
+
* Supports both synchronous and asynchronous filter functions
|
|
47
|
+
*/
|
|
48
|
+
export declare class FilterTransform<T = any> extends Transform {
|
|
49
|
+
private filterFn;
|
|
50
|
+
constructor(options: FilterTransformOptions<T>);
|
|
51
|
+
/**
|
|
52
|
+
* Transform and filter a chunk (record)
|
|
53
|
+
*/
|
|
54
|
+
_transform(record: T, encoding: string, callback: (error?: Error | null, data?: T) => void): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for BatchTransform
|
|
58
|
+
*/
|
|
59
|
+
export interface BatchTransformOptions<T = any> extends TransformOptions {
|
|
60
|
+
/**
|
|
61
|
+
* Batch size for grouping records
|
|
62
|
+
*/
|
|
63
|
+
batchSize: number;
|
|
64
|
+
/**
|
|
65
|
+
* Number of records to buffer (default: 1000)
|
|
66
|
+
*/
|
|
67
|
+
highWaterMark?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Transform stream that batches records into arrays
|
|
71
|
+
*/
|
|
72
|
+
export declare class BatchTransform<T = any> extends Transform {
|
|
73
|
+
private batchSize;
|
|
74
|
+
private buffer;
|
|
75
|
+
constructor(options: BatchTransformOptions<T>);
|
|
76
|
+
/**
|
|
77
|
+
* Transform - batch records
|
|
78
|
+
*/
|
|
79
|
+
_transform(record: T, encoding: string, callback: (error?: Error | null, data?: T[]) => void): void;
|
|
80
|
+
/**
|
|
81
|
+
* Flush remaining records in buffer
|
|
82
|
+
*/
|
|
83
|
+
_flush(callback: (error?: Error | null, data?: T[]) => void): void;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Options for StreamIterator
|
|
87
|
+
*/
|
|
88
|
+
export interface StreamIteratorOptions<T = any> extends TransformOptions {
|
|
89
|
+
/**
|
|
90
|
+
* Number of records to buffer (default: 1000)
|
|
91
|
+
*/
|
|
92
|
+
highWaterMark?: number;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Transform stream that converts a readable stream into an async iterator
|
|
96
|
+
* Allows using stream.pipe(new StreamIterator()) and then for await...of
|
|
97
|
+
*/
|
|
98
|
+
export declare class StreamIterator<T = any> extends Transform {
|
|
99
|
+
private buffer;
|
|
100
|
+
private waiting;
|
|
101
|
+
private ended;
|
|
102
|
+
private error;
|
|
103
|
+
constructor(options?: StreamIteratorOptions<T>);
|
|
104
|
+
/**
|
|
105
|
+
* Transform a chunk
|
|
106
|
+
*/
|
|
107
|
+
_transform(chunk: T, encoding: string, callback: (error?: Error | null, data?: T) => void): void;
|
|
108
|
+
/**
|
|
109
|
+
* Handle stream end
|
|
110
|
+
*/
|
|
111
|
+
_flush(callback: (error?: Error | null, data?: T) => void): void;
|
|
112
|
+
/**
|
|
113
|
+
* Process waiting promises
|
|
114
|
+
*/
|
|
115
|
+
private _processWaiting;
|
|
116
|
+
/**
|
|
117
|
+
* Create async iterator from this transform stream
|
|
118
|
+
*/
|
|
119
|
+
[Symbol.asyncIterator](): NodeJS.AsyncIterator<any, any, unknown>;
|
|
120
|
+
}
|