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,419 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Methods Helpers for Models
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities for adding custom class and instance methods
|
|
5
|
+
* to Prorm-like models.
|
|
6
|
+
*/
|
|
7
|
+
import { ModelStatic, ModelInstance } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* Add custom class methods to a model
|
|
10
|
+
* Use this to add static methods to a model (e.g., User.findByEmail)
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* addClassMethods(User, {
|
|
15
|
+
* findByEmail: async function(email) {
|
|
16
|
+
* return this.findOne({ where: { email } });
|
|
17
|
+
* },
|
|
18
|
+
* findByRole: function(role) {
|
|
19
|
+
* return this.findAll({ where: { role } });
|
|
20
|
+
* }
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @param model - The model static to add methods to
|
|
25
|
+
* @param methods - Object containing method names and their implementations
|
|
26
|
+
*/
|
|
27
|
+
export declare function addClassMethods<T extends ModelStatic<any>>(model: T, methods: Record<string, Function>): void;
|
|
28
|
+
/**
|
|
29
|
+
* Add custom instance methods to a model
|
|
30
|
+
* Use this to add methods that will be available on model instances (e.g., user.getFullName())
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* addInstanceMethods(User, {
|
|
35
|
+
* getFullName: function() {
|
|
36
|
+
* return `${this.firstName} ${this.lastName}`;
|
|
37
|
+
* },
|
|
38
|
+
* isActive: function() {
|
|
39
|
+
* return this.status === 'active';
|
|
40
|
+
* }
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @param model - The model static to add methods to
|
|
45
|
+
* @param methods - Object containing method names and their implementations
|
|
46
|
+
*/
|
|
47
|
+
export declare function addInstanceMethods<T extends ModelStatic<any>>(model: T, methods: Record<string, Function>): void;
|
|
48
|
+
/**
|
|
49
|
+
* Define custom methods when creating a model using define()
|
|
50
|
+
* This is the preferred way to add custom methods during model definition
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const User = prorm.define('User', {
|
|
55
|
+
* firstName: Prorm.STRING,
|
|
56
|
+
* lastName: Prorm.STRING,
|
|
57
|
+
* email: Prorm.STRING
|
|
58
|
+
* }, {
|
|
59
|
+
* classMethods: {
|
|
60
|
+
* findByEmail: async function(email) {
|
|
61
|
+
* return this.findOne({ where: { email } });
|
|
62
|
+
* }
|
|
63
|
+
* },
|
|
64
|
+
* instanceMethods: {
|
|
65
|
+
* getFullName: function() {
|
|
66
|
+
* return `${this.firstName} ${this.lastName}`;
|
|
67
|
+
* }
|
|
68
|
+
* }
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export interface ModelWithMethods<T = any> extends ModelStatic<ModelInstance<T>> {
|
|
73
|
+
findByEmail?: (email: string) => Promise<ModelInstance<T> | null>;
|
|
74
|
+
findByRole?: (role: string) => Promise<ModelInstance<T>[]>;
|
|
75
|
+
[key: string]: any;
|
|
76
|
+
}
|
|
77
|
+
export interface InstanceWithMethods<T = any> extends ModelInstance<T> {
|
|
78
|
+
getFullName?: () => string;
|
|
79
|
+
isActive?: () => boolean;
|
|
80
|
+
[key: string]: any;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Helper to extend a model with additional methods after definition
|
|
84
|
+
* Useful for adding methods to models defined elsewhere
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* // Extend User model with custom methods
|
|
89
|
+
* extendModel(User, {
|
|
90
|
+
* classMethods: {
|
|
91
|
+
* findActive: function() {
|
|
92
|
+
* return this.findAll({ where: { status: 'active' } });
|
|
93
|
+
* }
|
|
94
|
+
* },
|
|
95
|
+
* instanceMethods: {
|
|
96
|
+
* getDisplayName: function() {
|
|
97
|
+
* return this.name || this.email;
|
|
98
|
+
* }
|
|
99
|
+
* }
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @param model - The model to extend
|
|
104
|
+
* @param options - Object containing classMethods and/or instanceMethods
|
|
105
|
+
*/
|
|
106
|
+
export declare function extendModel<T extends ModelStatic<any>>(model: T, options: {
|
|
107
|
+
classMethods?: Record<string, Function>;
|
|
108
|
+
instanceMethods?: Record<string, Function>;
|
|
109
|
+
}): void;
|
|
110
|
+
/**
|
|
111
|
+
* Common instance methods that can be added to any model
|
|
112
|
+
*/
|
|
113
|
+
export declare const commonInstanceMethods: {
|
|
114
|
+
/**
|
|
115
|
+
* Get a single attribute value
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const name = user.get('firstName');
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
get(key: string): any;
|
|
122
|
+
/**
|
|
123
|
+
* Set a single attribute value
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* user.set('firstName', 'John');
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
set(key: string, value: any): void;
|
|
130
|
+
/**
|
|
131
|
+
* Get raw data value (bypasses getters)
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const value = user.getDataValue('firstName');
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
getDataValue(key: string): any;
|
|
138
|
+
/**
|
|
139
|
+
* Set raw data value (bypasses setters)
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* user.setDataValue('firstName', 'John');
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
setDataValue(key: string, value: any): void;
|
|
146
|
+
/**
|
|
147
|
+
* Check if record is new (not saved to database)
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* if (user.isNewRecord) {
|
|
151
|
+
* console.log('New user!');
|
|
152
|
+
* }
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
isNewRecord(): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Convert instance to JSON
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const json = user.toJSON();
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
toJSON(): Record<string, any>;
|
|
164
|
+
/**
|
|
165
|
+
* Check if a specific field has changed
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* if (user.changed('email')) {
|
|
169
|
+
* console.log('Email was changed');
|
|
170
|
+
* }
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
changed(key?: string): boolean | string[];
|
|
174
|
+
/**
|
|
175
|
+
* Get previous value of a field
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const oldEmail = user.previous('email');
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
previous(key?: string): any;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Common class methods that can be added to any model
|
|
185
|
+
*/
|
|
186
|
+
export declare const commonClassMethods: {
|
|
187
|
+
/**
|
|
188
|
+
* Find a record or create it if not found
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* const [user, created] = await User.findOrCreate({
|
|
192
|
+
* where: { email: 'john@example.com' },
|
|
193
|
+
* defaults: { name: 'John' }
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
findOrCreate<T extends ModelStatic<any>>(this: T, options: {
|
|
198
|
+
where: Record<string, any>;
|
|
199
|
+
defaults?: Record<string, any>;
|
|
200
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
201
|
+
/**
|
|
202
|
+
* Find a record or build (but not save) it if not found
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const [user, built] = await User.findOrBuild({
|
|
206
|
+
* where: { email: 'john@example.com' },
|
|
207
|
+
* defaults: { name: 'John' }
|
|
208
|
+
* });
|
|
209
|
+
* if (built) {
|
|
210
|
+
* await user.save();
|
|
211
|
+
* }
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
findOrBuild<T extends ModelStatic<any>>(this: T, options: {
|
|
215
|
+
where: Record<string, any>;
|
|
216
|
+
defaults?: Record<string, any>;
|
|
217
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
218
|
+
/**
|
|
219
|
+
* Insert or update a record
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const [user, isNew] = await User.upsert({
|
|
223
|
+
* id: 1,
|
|
224
|
+
* name: 'John',
|
|
225
|
+
* email: 'john@example.com'
|
|
226
|
+
* });
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
upsert<T extends ModelStatic<any>>(this: T, values: Record<string, any>, _options?: {
|
|
230
|
+
returning?: boolean;
|
|
231
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
232
|
+
/**
|
|
233
|
+
* Find a record by where conditions, or create it with upsert semantics
|
|
234
|
+
* Similar to findOrCreate but uses upsert for the create path
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* const [user, created] = await User.upsertOrCreate({
|
|
238
|
+
* where: { email: 'john@example.com' },
|
|
239
|
+
* defaults: { name: 'John' },
|
|
240
|
+
* updateValues: { name: 'John Updated' }
|
|
241
|
+
* });
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
upsertOrCreate<T extends ModelStatic<any>>(this: T, options: {
|
|
245
|
+
where: Record<string, any>;
|
|
246
|
+
defaults?: Record<string, any>;
|
|
247
|
+
updateValues?: Record<string, any>;
|
|
248
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
249
|
+
/**
|
|
250
|
+
* Bulk upsert - upsert multiple records at once
|
|
251
|
+
* @example
|
|
252
|
+
* ```typescript
|
|
253
|
+
* const results = await User.bulkUpsert([
|
|
254
|
+
* { id: 1, name: 'John' },
|
|
255
|
+
* { id: 2, name: 'Jane' },
|
|
256
|
+
* { name: 'New User' }
|
|
257
|
+
* ], { conflictKeys: ['email'], updateKeys: ['name'] });
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
260
|
+
bulkUpsert<T extends ModelStatic<any>>(this: T, records: Record<string, any>[], options?: {
|
|
261
|
+
conflictKeys?: string[];
|
|
262
|
+
updateKeys?: string[];
|
|
263
|
+
}): Promise<number>;
|
|
264
|
+
};
|
|
265
|
+
declare const _default: {
|
|
266
|
+
addClassMethods: typeof addClassMethods;
|
|
267
|
+
addInstanceMethods: typeof addInstanceMethods;
|
|
268
|
+
extendModel: typeof extendModel;
|
|
269
|
+
commonInstanceMethods: {
|
|
270
|
+
/**
|
|
271
|
+
* Get a single attribute value
|
|
272
|
+
* @example
|
|
273
|
+
* ```typescript
|
|
274
|
+
* const name = user.get('firstName');
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
get(key: string): any;
|
|
278
|
+
/**
|
|
279
|
+
* Set a single attribute value
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* user.set('firstName', 'John');
|
|
283
|
+
* ```
|
|
284
|
+
*/
|
|
285
|
+
set(key: string, value: any): void;
|
|
286
|
+
/**
|
|
287
|
+
* Get raw data value (bypasses getters)
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* const value = user.getDataValue('firstName');
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
getDataValue(key: string): any;
|
|
294
|
+
/**
|
|
295
|
+
* Set raw data value (bypasses setters)
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* user.setDataValue('firstName', 'John');
|
|
299
|
+
* ```
|
|
300
|
+
*/
|
|
301
|
+
setDataValue(key: string, value: any): void;
|
|
302
|
+
/**
|
|
303
|
+
* Check if record is new (not saved to database)
|
|
304
|
+
* @example
|
|
305
|
+
* ```typescript
|
|
306
|
+
* if (user.isNewRecord) {
|
|
307
|
+
* console.log('New user!');
|
|
308
|
+
* }
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
isNewRecord(): boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Convert instance to JSON
|
|
314
|
+
* @example
|
|
315
|
+
* ```typescript
|
|
316
|
+
* const json = user.toJSON();
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
toJSON(): Record<string, any>;
|
|
320
|
+
/**
|
|
321
|
+
* Check if a specific field has changed
|
|
322
|
+
* @example
|
|
323
|
+
* ```typescript
|
|
324
|
+
* if (user.changed('email')) {
|
|
325
|
+
* console.log('Email was changed');
|
|
326
|
+
* }
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
changed(key?: string): boolean | string[];
|
|
330
|
+
/**
|
|
331
|
+
* Get previous value of a field
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* const oldEmail = user.previous('email');
|
|
335
|
+
* ```
|
|
336
|
+
*/
|
|
337
|
+
previous(key?: string): any;
|
|
338
|
+
};
|
|
339
|
+
commonClassMethods: {
|
|
340
|
+
/**
|
|
341
|
+
* Find a record or create it if not found
|
|
342
|
+
* @example
|
|
343
|
+
* ```typescript
|
|
344
|
+
* const [user, created] = await User.findOrCreate({
|
|
345
|
+
* where: { email: 'john@example.com' },
|
|
346
|
+
* defaults: { name: 'John' }
|
|
347
|
+
* });
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
findOrCreate<T extends ModelStatic<any>>(this: T, options: {
|
|
351
|
+
where: Record<string, any>;
|
|
352
|
+
defaults?: Record<string, any>;
|
|
353
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
354
|
+
/**
|
|
355
|
+
* Find a record or build (but not save) it if not found
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* const [user, built] = await User.findOrBuild({
|
|
359
|
+
* where: { email: 'john@example.com' },
|
|
360
|
+
* defaults: { name: 'John' }
|
|
361
|
+
* });
|
|
362
|
+
* if (built) {
|
|
363
|
+
* await user.save();
|
|
364
|
+
* }
|
|
365
|
+
* ```
|
|
366
|
+
*/
|
|
367
|
+
findOrBuild<T extends ModelStatic<any>>(this: T, options: {
|
|
368
|
+
where: Record<string, any>;
|
|
369
|
+
defaults?: Record<string, any>;
|
|
370
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
371
|
+
/**
|
|
372
|
+
* Insert or update a record
|
|
373
|
+
* @example
|
|
374
|
+
* ```typescript
|
|
375
|
+
* const [user, isNew] = await User.upsert({
|
|
376
|
+
* id: 1,
|
|
377
|
+
* name: 'John',
|
|
378
|
+
* email: 'john@example.com'
|
|
379
|
+
* });
|
|
380
|
+
* ```
|
|
381
|
+
*/
|
|
382
|
+
upsert<T extends ModelStatic<any>>(this: T, values: Record<string, any>, _options?: {
|
|
383
|
+
returning?: boolean;
|
|
384
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
385
|
+
/**
|
|
386
|
+
* Find a record by where conditions, or create it with upsert semantics
|
|
387
|
+
* Similar to findOrCreate but uses upsert for the create path
|
|
388
|
+
* @example
|
|
389
|
+
* ```typescript
|
|
390
|
+
* const [user, created] = await User.upsertOrCreate({
|
|
391
|
+
* where: { email: 'john@example.com' },
|
|
392
|
+
* defaults: { name: 'John' },
|
|
393
|
+
* updateValues: { name: 'John Updated' }
|
|
394
|
+
* });
|
|
395
|
+
* ```
|
|
396
|
+
*/
|
|
397
|
+
upsertOrCreate<T extends ModelStatic<any>>(this: T, options: {
|
|
398
|
+
where: Record<string, any>;
|
|
399
|
+
defaults?: Record<string, any>;
|
|
400
|
+
updateValues?: Record<string, any>;
|
|
401
|
+
}): Promise<[ModelInstance<any>, boolean]>;
|
|
402
|
+
/**
|
|
403
|
+
* Bulk upsert - upsert multiple records at once
|
|
404
|
+
* @example
|
|
405
|
+
* ```typescript
|
|
406
|
+
* const results = await User.bulkUpsert([
|
|
407
|
+
* { id: 1, name: 'John' },
|
|
408
|
+
* { id: 2, name: 'Jane' },
|
|
409
|
+
* { name: 'New User' }
|
|
410
|
+
* ], { conflictKeys: ['email'], updateKeys: ['name'] });
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
413
|
+
bulkUpsert<T extends ModelStatic<any>>(this: T, records: Record<string, any>[], options?: {
|
|
414
|
+
conflictKeys?: string[];
|
|
415
|
+
updateKeys?: string[];
|
|
416
|
+
}): Promise<number>;
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
export default _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Manager Module
|
|
3
|
+
* Manages model registry and tracking all defined models
|
|
4
|
+
*/
|
|
5
|
+
import { ModelStatic, Model, AttributeOptions, ModelOptions } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Model definition entry
|
|
8
|
+
*/
|
|
9
|
+
export interface ModelDefinition {
|
|
10
|
+
name: string;
|
|
11
|
+
attributes: Record<string, AttributeOptions>;
|
|
12
|
+
options: ModelOptions;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* ModelManager class to track all models
|
|
16
|
+
*/
|
|
17
|
+
export declare class ModelManager {
|
|
18
|
+
private models;
|
|
19
|
+
private modelDefinitions;
|
|
20
|
+
/**
|
|
21
|
+
* Get a model by name
|
|
22
|
+
* @param name - Model name
|
|
23
|
+
*/
|
|
24
|
+
getModel<T extends Model = any>(name: string): ModelStatic<T> | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Set a model
|
|
27
|
+
* @param name - Model name
|
|
28
|
+
* @param model - Model static
|
|
29
|
+
*/
|
|
30
|
+
setModel<T extends Model = any>(name: string, model: ModelStatic<T>): void;
|
|
31
|
+
/**
|
|
32
|
+
* Check if a model exists
|
|
33
|
+
* @param name - Model name
|
|
34
|
+
*/
|
|
35
|
+
hasModel(name: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Remove a model by name
|
|
38
|
+
* @param name - Model name
|
|
39
|
+
*/
|
|
40
|
+
removeModel(name: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Get all registered models
|
|
43
|
+
* @returns Map of model name to ModelStatic
|
|
44
|
+
*/
|
|
45
|
+
getModels(): Map<string, ModelStatic<any>>;
|
|
46
|
+
/**
|
|
47
|
+
* Get all model names
|
|
48
|
+
* @returns Array of model names
|
|
49
|
+
*/
|
|
50
|
+
getModelNames(): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Store a model definition
|
|
53
|
+
* @param name - Model name
|
|
54
|
+
* @param attributes - Model attributes
|
|
55
|
+
* @param options - Model options
|
|
56
|
+
*/
|
|
57
|
+
addModelDefinition(name: string, attributes: Record<string, AttributeOptions>, options: ModelOptions): void;
|
|
58
|
+
/**
|
|
59
|
+
* Get a model definition
|
|
60
|
+
* @param name - Model name
|
|
61
|
+
*/
|
|
62
|
+
getModelDefinition(name: string): ModelDefinition | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Get all model definitions
|
|
65
|
+
*/
|
|
66
|
+
getAllModelDefinitions(): Map<string, ModelDefinition>;
|
|
67
|
+
/**
|
|
68
|
+
* Clear all models
|
|
69
|
+
*/
|
|
70
|
+
clear(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Get the count of registered models
|
|
73
|
+
*/
|
|
74
|
+
getModelCount(): number;
|
|
75
|
+
}
|
|
76
|
+
export default ModelManager;
|