import {Connector, DatabaseKind, DatabaseUrlParsed} from "@azimutt/models" import {bigquery} from "@azimutt/connector-bigquery" import {couchbase} from "@azimutt/connector-couchbase" import {mariadb} from "@azimutt/connector-mariadb" import {mongodb} from "@azimutt/connector-mongodb" import {mysql} from "@azimutt/connector-mysql" import {oracle} from "@azimutt/connector-oracle" import {postgres} from "@azimutt/connector-postgres" import {snowflake} from "@azimutt/connector-snowflake" import {sqlserver} from "@azimutt/connector-sqlserver" const connectors: Record = { bigquery: bigquery, cassandra: undefined, couchbase: couchbase, db2: undefined, elasticsearch: undefined, mariadb: mariadb, mongodb: mongodb, mysql: mysql, oracle: oracle, postgres: postgres, redis: undefined, snowflake: snowflake, sqlite: undefined, sqlserver: sqlserver, } export function getConnector(url: DatabaseUrlParsed): Connector | undefined { return url.kind ? connectors[url.kind] : undefined } export function availableConnectors(): DatabaseKind[] { return Object.entries(connectors).filter(([, c]) => !!c).map(([kind,]) => kind as DatabaseKind) }