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,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared types and helpers for the ORM's graph/object-database dialects
|
|
4
|
+
* (Neo4j, Gremlin/TinkerPop/Neptune, Dgraph).
|
|
5
|
+
*
|
|
6
|
+
* These live under `src/graph/` and are intentionally self-contained: the
|
|
7
|
+
* graph dialects reuse the SQL-shaped `Dialect` contract (so the same
|
|
8
|
+
* `Model` builder API drives them) but express everything as graph
|
|
9
|
+
* primitives — node labels, edges/relationships, and traversals — instead
|
|
10
|
+
* of tables and joins. Nothing here edits shared base files.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.ParamBag = exports.GraphCapabilityError = void 0;
|
|
14
|
+
exports.normalizeWhere = normalizeWhere;
|
|
15
|
+
exports.deriveAssociationEdge = deriveAssociationEdge;
|
|
16
|
+
exports.defaultEdgeLabel = defaultEdgeLabel;
|
|
17
|
+
exports.safeIdent = safeIdent;
|
|
18
|
+
const index_1 = require("../errors/index");
|
|
19
|
+
const operators_1 = require("../operators");
|
|
20
|
+
/**
|
|
21
|
+
* Typed error thrown when a relational feature has no meaningful graph
|
|
22
|
+
* equivalent and cannot be emulated via traversal (e.g. arbitrary SQL joins
|
|
23
|
+
* on a pure graph, materialized views, row-level-security policies).
|
|
24
|
+
*/
|
|
25
|
+
class GraphCapabilityError extends index_1.DatabaseError {
|
|
26
|
+
constructor(feature, dialect) {
|
|
27
|
+
super(`"${feature}" is not supported by the ${dialect} graph dialect`, {
|
|
28
|
+
code: index_1.ErrorCodes.DATABASE_ERROR,
|
|
29
|
+
original: feature,
|
|
30
|
+
});
|
|
31
|
+
this.name = 'GraphCapabilityError';
|
|
32
|
+
this.feature = feature;
|
|
33
|
+
this.dialect = dialect;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.GraphCapabilityError = GraphCapabilityError;
|
|
37
|
+
/**
|
|
38
|
+
* Allocates unique, ordered parameter names and collects their values.
|
|
39
|
+
* Produces both a named-param map (for Cypher `$p0` / DQL `$p0` / Gremlin
|
|
40
|
+
* bindings) and, via {@link toArray}, a positional array for the SQL-shaped
|
|
41
|
+
* `{ sql, values }` return contract.
|
|
42
|
+
*/
|
|
43
|
+
class ParamBag {
|
|
44
|
+
constructor(prefix = 'p') {
|
|
45
|
+
this.prefix = prefix;
|
|
46
|
+
this.index = 0;
|
|
47
|
+
this.params = {};
|
|
48
|
+
this.names = [];
|
|
49
|
+
}
|
|
50
|
+
add(value) {
|
|
51
|
+
const name = `${this.prefix}${this.index++}`;
|
|
52
|
+
this.params[name] = value;
|
|
53
|
+
this.names.push(name);
|
|
54
|
+
return name;
|
|
55
|
+
}
|
|
56
|
+
toArray() {
|
|
57
|
+
return this.names.map((n) => this.params[n]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.ParamBag = ParamBag;
|
|
61
|
+
// Map every relevant `Op` symbol to a canonical operator name.
|
|
62
|
+
const OP_SYMBOL_TO_CANON = new Map([
|
|
63
|
+
[operators_1.Op.eq, 'eq'],
|
|
64
|
+
[operators_1.Op.is, 'eq'],
|
|
65
|
+
[operators_1.Op.ne, 'ne'],
|
|
66
|
+
[operators_1.Op.gt, 'gt'],
|
|
67
|
+
[operators_1.Op.gte, 'gte'],
|
|
68
|
+
[operators_1.Op.lt, 'lt'],
|
|
69
|
+
[operators_1.Op.lte, 'lte'],
|
|
70
|
+
[operators_1.Op.in, 'in'],
|
|
71
|
+
[operators_1.Op.notIn, 'notIn'],
|
|
72
|
+
[operators_1.Op.like, 'like'],
|
|
73
|
+
[operators_1.Op.notLike, 'notLike'],
|
|
74
|
+
[operators_1.Op.iLike, 'iLike'],
|
|
75
|
+
[operators_1.Op.notILike, 'notILike'],
|
|
76
|
+
[operators_1.Op.between, 'between'],
|
|
77
|
+
[operators_1.Op.notBetween, 'notBetween'],
|
|
78
|
+
[operators_1.Op.regexp, 'regexp'],
|
|
79
|
+
[operators_1.Op.notRegexp, 'notRegexp'],
|
|
80
|
+
[operators_1.Op.startsWith, 'startsWith'],
|
|
81
|
+
[operators_1.Op.notStartsWith, 'notStartsWith'],
|
|
82
|
+
[operators_1.Op.endsWith, 'endsWith'],
|
|
83
|
+
[operators_1.Op.notEndsWith, 'notEndsWith'],
|
|
84
|
+
[operators_1.Op.substring, 'substring'],
|
|
85
|
+
[operators_1.Op.notSubstring, 'notSubstring'],
|
|
86
|
+
]);
|
|
87
|
+
const STRING_OP_TO_CANON = {
|
|
88
|
+
$eq: 'eq',
|
|
89
|
+
$ne: 'ne',
|
|
90
|
+
$gt: 'gt',
|
|
91
|
+
$gte: 'gte',
|
|
92
|
+
$lt: 'lt',
|
|
93
|
+
$lte: 'lte',
|
|
94
|
+
$in: 'in',
|
|
95
|
+
$notIn: 'notIn',
|
|
96
|
+
$like: 'like',
|
|
97
|
+
$notLike: 'notLike',
|
|
98
|
+
$iLike: 'iLike',
|
|
99
|
+
$between: 'between',
|
|
100
|
+
$notBetween: 'notBetween',
|
|
101
|
+
$regexp: 'regexp',
|
|
102
|
+
$notRegexp: 'notRegexp',
|
|
103
|
+
$startsWith: 'startsWith',
|
|
104
|
+
$endsWith: 'endsWith',
|
|
105
|
+
$substring: 'substring',
|
|
106
|
+
};
|
|
107
|
+
function isPlainValue(v) {
|
|
108
|
+
return (v === null ||
|
|
109
|
+
v === undefined ||
|
|
110
|
+
typeof v === 'string' ||
|
|
111
|
+
typeof v === 'number' ||
|
|
112
|
+
typeof v === 'boolean' ||
|
|
113
|
+
v instanceof Date ||
|
|
114
|
+
Array.isArray(v));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Convert a field-level value (scalar, array, or `{ [Op.x]: value }` object)
|
|
118
|
+
* into one or more comparison predicates for `field`.
|
|
119
|
+
*/
|
|
120
|
+
function fieldToPredicates(field, value) {
|
|
121
|
+
if (value === null) {
|
|
122
|
+
return [{ kind: 'cmp', field, op: 'isNull', value: null }];
|
|
123
|
+
}
|
|
124
|
+
if (isPlainValue(value)) {
|
|
125
|
+
return [{ kind: 'cmp', field, op: 'eq', value }];
|
|
126
|
+
}
|
|
127
|
+
if (typeof value === 'object') {
|
|
128
|
+
const preds = [];
|
|
129
|
+
const obj = value;
|
|
130
|
+
// Symbol-keyed operators (Op.gte, Op.in, ...).
|
|
131
|
+
for (const sym of Object.getOwnPropertySymbols(obj)) {
|
|
132
|
+
const opVal = obj[sym];
|
|
133
|
+
if (sym === operators_1.Op.isNull) {
|
|
134
|
+
preds.push({ kind: 'cmp', field, op: 'isNull', value: null });
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (sym === operators_1.Op.isNotNull) {
|
|
138
|
+
preds.push({ kind: 'cmp', field, op: 'isNotNull', value: null });
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
const canon = OP_SYMBOL_TO_CANON.get(sym);
|
|
142
|
+
if (canon) {
|
|
143
|
+
preds.push({ kind: 'cmp', field, op: canon, value: opVal });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// String-keyed operators ($gte, $in, ...).
|
|
147
|
+
for (const key of Object.keys(obj)) {
|
|
148
|
+
const canon = STRING_OP_TO_CANON[key];
|
|
149
|
+
if (canon) {
|
|
150
|
+
preds.push({ kind: 'cmp', field, op: canon, value: obj[key] });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (preds.length === 0) {
|
|
154
|
+
// No recognized operators: treat as an equality against the object.
|
|
155
|
+
return [{ kind: 'cmp', field, op: 'eq', value }];
|
|
156
|
+
}
|
|
157
|
+
return preds;
|
|
158
|
+
}
|
|
159
|
+
return [{ kind: 'cmp', field, op: 'eq', value }];
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Normalize an ORM `WhereOptions` (mixing `Op.*` symbols, `$and`/`$or`/
|
|
163
|
+
* `$not`, and plain equality) into a {@link GraphPredicate} tree. Returns a
|
|
164
|
+
* `{ kind: 'true' }` node for an empty/absent filter.
|
|
165
|
+
*/
|
|
166
|
+
function normalizeWhere(where) {
|
|
167
|
+
if (!where || typeof where !== 'object') {
|
|
168
|
+
return { kind: 'true' };
|
|
169
|
+
}
|
|
170
|
+
const items = [];
|
|
171
|
+
const obj = where;
|
|
172
|
+
// Symbol logical operators: Op.and / Op.or / Op.not.
|
|
173
|
+
for (const sym of Object.getOwnPropertySymbols(obj)) {
|
|
174
|
+
const v = obj[sym];
|
|
175
|
+
if (sym === operators_1.Op.and && Array.isArray(v)) {
|
|
176
|
+
items.push({ kind: 'and', items: v.map((w) => normalizeWhere(w)) });
|
|
177
|
+
}
|
|
178
|
+
else if (sym === operators_1.Op.or && Array.isArray(v)) {
|
|
179
|
+
items.push({ kind: 'or', items: v.map((w) => normalizeWhere(w)) });
|
|
180
|
+
}
|
|
181
|
+
else if (sym === operators_1.Op.not) {
|
|
182
|
+
items.push({ kind: 'not', item: normalizeWhere(v) });
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
for (const key of Object.keys(obj)) {
|
|
186
|
+
const v = obj[key];
|
|
187
|
+
if (key === '$and' && Array.isArray(v)) {
|
|
188
|
+
items.push({ kind: 'and', items: v.map((w) => normalizeWhere(w)) });
|
|
189
|
+
}
|
|
190
|
+
else if (key === '$or' && Array.isArray(v)) {
|
|
191
|
+
items.push({ kind: 'or', items: v.map((w) => normalizeWhere(w)) });
|
|
192
|
+
}
|
|
193
|
+
else if (key === '$not') {
|
|
194
|
+
items.push({ kind: 'not', item: normalizeWhere(v) });
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
items.push(...fieldToPredicates(key, v));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (items.length === 0) {
|
|
201
|
+
return { kind: 'true' };
|
|
202
|
+
}
|
|
203
|
+
if (items.length === 1) {
|
|
204
|
+
return items[0];
|
|
205
|
+
}
|
|
206
|
+
return { kind: 'and', items };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Derive a graph edge from an ORM association descriptor (as produced by
|
|
210
|
+
* `Model.hasMany`/`belongsTo`/etc.). Accepts a loose shape so it works with
|
|
211
|
+
* either the ORM's association objects or a plain {@link GraphAssociationSpec}.
|
|
212
|
+
*/
|
|
213
|
+
function deriveAssociationEdge(assoc) {
|
|
214
|
+
const rawType = (assoc.associationType || assoc.type || 'hasMany');
|
|
215
|
+
const type = (['hasMany', 'hasOne', 'belongsTo', 'belongsToMany'].includes(rawType)
|
|
216
|
+
? rawType
|
|
217
|
+
: 'hasMany');
|
|
218
|
+
const targetName = typeof assoc.target === 'string'
|
|
219
|
+
? assoc.target
|
|
220
|
+
: assoc.target?.label || assoc.target?.name || assoc.as || 'Node';
|
|
221
|
+
const as = assoc.as || targetName;
|
|
222
|
+
const direction = assoc.direction ?? (type === 'belongsTo' ? 'in' : 'out');
|
|
223
|
+
const edgeLabel = assoc.edgeLabel || defaultEdgeLabel(as);
|
|
224
|
+
return { type, as, target: targetName, edgeLabel, direction };
|
|
225
|
+
}
|
|
226
|
+
/** Default edge label for an association name, e.g. `posts` -> `HAS_POSTS`. */
|
|
227
|
+
function defaultEdgeLabel(as) {
|
|
228
|
+
return `HAS_${as.replace(/([a-z0-9])([A-Z])/g, '$1_$2').replace(/[\s-]+/g, '_').toUpperCase()}`;
|
|
229
|
+
}
|
|
230
|
+
/** Sanitize an identifier (label/property/edge) to a safe `[A-Za-z0-9_]` token. */
|
|
231
|
+
function safeIdent(name) {
|
|
232
|
+
const cleaned = String(name).replace(/[^A-Za-z0-9_]/g, '_');
|
|
233
|
+
return /^[0-9]/.test(cleaned) ? `_${cleaned}` : cleaned;
|
|
234
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks Manager for the TypeScript ORM
|
|
3
|
+
* Provides a centralized system for managing Prorm-style model hooks
|
|
4
|
+
*/
|
|
5
|
+
import { HookOptions, HookHandler, BulkHookHandler } from '../types';
|
|
6
|
+
export type HookName = 'beforeValidate' | 'afterValidate' | 'beforeCreate' | 'afterCreate' | 'beforeUpdate' | 'afterUpdate' | 'beforeDestroy' | 'afterDestroy' | 'beforeSave' | 'afterSave' | 'beforeBulkCreate' | 'afterBulkCreate' | 'beforeBulkUpdate' | 'afterBulkUpdate' | 'beforeBulkDestroy' | 'afterBulkDestroy' | 'beforeFind' | 'afterFind';
|
|
7
|
+
export type HookCallback = HookHandler | BulkHookHandler | FindHookHandler;
|
|
8
|
+
export interface FindHookHandler {
|
|
9
|
+
(options: FindHookOptions): Promise<void> | void;
|
|
10
|
+
}
|
|
11
|
+
export interface FindHookOptions extends HookOptions {
|
|
12
|
+
where?: Record<string, any>;
|
|
13
|
+
attributes?: string[];
|
|
14
|
+
include?: any[];
|
|
15
|
+
order?: any;
|
|
16
|
+
limit?: number | string;
|
|
17
|
+
offset?: number | string;
|
|
18
|
+
model?: any;
|
|
19
|
+
}
|
|
20
|
+
export type HooksMap = Map<HookName, Set<HookCallback>>;
|
|
21
|
+
/**
|
|
22
|
+
* HooksManager - Manages all lifecycle hooks for a model
|
|
23
|
+
*/
|
|
24
|
+
export declare class HooksManager {
|
|
25
|
+
private hooks;
|
|
26
|
+
private modelName;
|
|
27
|
+
constructor(modelName?: string);
|
|
28
|
+
/**
|
|
29
|
+
* Initialize all hook types as empty Sets
|
|
30
|
+
*/
|
|
31
|
+
private initializeHooks;
|
|
32
|
+
/**
|
|
33
|
+
* Get all hooks
|
|
34
|
+
*/
|
|
35
|
+
getHooks(): HooksMap;
|
|
36
|
+
/**
|
|
37
|
+
* Get hooks for a specific hook name
|
|
38
|
+
*/
|
|
39
|
+
getHook(hookName: HookName): Set<HookCallback>;
|
|
40
|
+
/**
|
|
41
|
+
* Add a hook callback
|
|
42
|
+
*/
|
|
43
|
+
addHook(hookName: string, callback: HookCallback): this;
|
|
44
|
+
/**
|
|
45
|
+
* Remove a hook callback
|
|
46
|
+
*/
|
|
47
|
+
removeHook(hookName: string, callback: HookCallback): this;
|
|
48
|
+
/**
|
|
49
|
+
* Run all callbacks for a specific hook
|
|
50
|
+
*/
|
|
51
|
+
runHook(hookName: string, ...args: any[]): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a hook has registered callbacks
|
|
54
|
+
*/
|
|
55
|
+
hasHook(hookName: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get the count of hooks for a specific hook name
|
|
58
|
+
*/
|
|
59
|
+
getHookCount(hookName: string): number;
|
|
60
|
+
/**
|
|
61
|
+
* Clear all hooks
|
|
62
|
+
*/
|
|
63
|
+
clearHooks(): this;
|
|
64
|
+
/**
|
|
65
|
+
* Clear hooks for a specific hook name
|
|
66
|
+
*/
|
|
67
|
+
clearHook(hookName: string): this;
|
|
68
|
+
/**
|
|
69
|
+
* Normalize hook name to camelCase
|
|
70
|
+
*/
|
|
71
|
+
private normalizeHookName;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create a hooks object compatible with Model options
|
|
75
|
+
*/
|
|
76
|
+
export declare function createHooksObject(hooksManager: HooksManager): Record<string, HookCallback>;
|
|
77
|
+
/**
|
|
78
|
+
* Mixin function to add hook methods to a Model class
|
|
79
|
+
*/
|
|
80
|
+
export declare function addHookMethods<T extends HooksManager>(target: any, hooksManager: T): void;
|
|
81
|
+
/**
|
|
82
|
+
* Create a beforeValidate hook wrapper
|
|
83
|
+
*/
|
|
84
|
+
export declare function beforeValidate(callback: HookHandler): {
|
|
85
|
+
beforeValidate: HookHandler;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Create an afterValidate hook wrapper
|
|
89
|
+
*/
|
|
90
|
+
export declare function afterValidate(callback: HookHandler): {
|
|
91
|
+
afterValidate: HookHandler;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Create a beforeCreate hook wrapper
|
|
95
|
+
*/
|
|
96
|
+
export declare function beforeCreate(callback: HookHandler): {
|
|
97
|
+
beforeCreate: HookHandler;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Create an afterCreate hook wrapper
|
|
101
|
+
*/
|
|
102
|
+
export declare function afterCreate(callback: HookHandler): {
|
|
103
|
+
afterCreate: HookHandler;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Create a beforeUpdate hook wrapper
|
|
107
|
+
*/
|
|
108
|
+
export declare function beforeUpdate(callback: HookHandler): {
|
|
109
|
+
beforeUpdate: HookHandler;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Create an afterUpdate hook wrapper
|
|
113
|
+
*/
|
|
114
|
+
export declare function afterUpdate(callback: HookHandler): {
|
|
115
|
+
afterUpdate: HookHandler;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Create a beforeDestroy hook wrapper
|
|
119
|
+
*/
|
|
120
|
+
export declare function beforeDestroy(callback: HookHandler): {
|
|
121
|
+
beforeDestroy: HookHandler;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Create an afterDestroy hook wrapper
|
|
125
|
+
*/
|
|
126
|
+
export declare function afterDestroy(callback: HookHandler): {
|
|
127
|
+
afterDestroy: HookHandler;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Create a beforeSave hook wrapper
|
|
131
|
+
*/
|
|
132
|
+
export declare function beforeSave(callback: HookHandler): {
|
|
133
|
+
beforeSave: HookHandler;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Create an afterSave hook wrapper
|
|
137
|
+
*/
|
|
138
|
+
export declare function afterSave(callback: HookHandler): {
|
|
139
|
+
afterSave: HookHandler;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Create a beforeBulkCreate hook wrapper
|
|
143
|
+
*/
|
|
144
|
+
export declare function beforeBulkCreate(callback: BulkHookHandler): {
|
|
145
|
+
beforeBulkCreate: BulkHookHandler;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Create an afterBulkCreate hook wrapper
|
|
149
|
+
*/
|
|
150
|
+
export declare function afterBulkCreate(callback: BulkHookHandler): {
|
|
151
|
+
afterBulkCreate: BulkHookHandler;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Create a beforeBulkUpdate hook wrapper
|
|
155
|
+
*/
|
|
156
|
+
export declare function beforeBulkUpdate(callback: BulkHookHandler): {
|
|
157
|
+
beforeBulkUpdate: BulkHookHandler;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Create an afterBulkUpdate hook wrapper
|
|
161
|
+
*/
|
|
162
|
+
export declare function afterBulkUpdate(callback: BulkHookHandler): {
|
|
163
|
+
afterBulkUpdate: BulkHookHandler;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Create a beforeBulkDestroy hook wrapper
|
|
167
|
+
*/
|
|
168
|
+
export declare function beforeBulkDestroy(callback: BulkHookHandler): {
|
|
169
|
+
beforeBulkDestroy: BulkHookHandler;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Create an afterBulkDestroy hook wrapper
|
|
173
|
+
*/
|
|
174
|
+
export declare function afterBulkDestroy(callback: BulkHookHandler): {
|
|
175
|
+
afterBulkDestroy: BulkHookHandler;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Create a beforeFind hook wrapper
|
|
179
|
+
*/
|
|
180
|
+
export declare function beforeFind(callback: FindHookHandler): {
|
|
181
|
+
beforeFind: FindHookHandler;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Create an afterFind hook wrapper
|
|
185
|
+
*/
|
|
186
|
+
export declare function afterFind(callback: FindHookHandler): {
|
|
187
|
+
afterFind: FindHookHandler;
|
|
188
|
+
};
|
|
189
|
+
export default HooksManager;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks module exports for the TypeScript ORM
|
|
3
|
+
* Provides a comprehensive hooks system for model lifecycle events
|
|
4
|
+
*/
|
|
5
|
+
export { HooksManager, default } from './hooks-manager';
|
|
6
|
+
export type { HookName, HookCallback, HooksMap, FindHookHandler, FindHookOptions, } from './hooks-manager';
|
|
7
|
+
export { createHooksObject, addHookMethods, beforeValidate, afterValidate, beforeCreate, afterCreate, beforeUpdate, afterUpdate, beforeDestroy, afterDestroy, beforeSave, afterSave, beforeBulkCreate, afterBulkCreate, beforeBulkUpdate, afterBulkUpdate, beforeBulkDestroy, afterBulkDestroy, beforeFind, afterFind, } from './hooks-manager';
|
|
8
|
+
export type { Model, HookOptions, HookHandler, BulkHookHandler, ModelHooks, Transaction, } from '../types';
|