UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

1 lines 1.8 kB
{"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport type { AnyMySqlTable, MySqlTableFn } from 'drizzle-orm/mysql-core'\nimport { type PgDatabase } from 'drizzle-orm/pg-core'\nimport type { AnyPgTable, PgTableFn } from 'drizzle-orm/pg-core'\nimport { type BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\nimport type { AnySQLiteTable, SQLiteTableFn } from 'drizzle-orm/sqlite-core'\n\nimport type { DefaultSchema as MySqlSchema } from './mysql/index.js'\n\nexport type AnyMySqlDatabase = MySqlDatabase<any, any>\nexport type AnyPgDatabase = PgDatabase<any, any, any>\nexport type AnySQLiteDatabase = BaseSQLiteDatabase<any, any, any, any>\n\nexport interface MinimumSchema {\n\tmysql: MySqlSchema & Record<string, AnyMySqlTable>\n}\n\nexport type SqlFlavorOptions =\n\t| AnyMySqlDatabase\n\t| AnyPgDatabase\n\t| AnySQLiteDatabase\n\nexport type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MinimumSchema['mysql']\n\t: never\n\nexport type TableFn<Flavor> = Flavor extends AnyMySqlDatabase\n\t? MySqlTableFn\n\t: Flavor extends AnyPgDatabase\n\t\t? PgTableFn\n\t\t: Flavor extends AnySQLiteDatabase\n\t\t\t? SQLiteTableFn\n\t\t\t: AnySQLiteTable\n\ntype NonNullableProps<T> = {\n\t[P in keyof T]: null extends T[P] ? never : P\n}[keyof T]\n\nexport function stripUndefined<T>(obj: T): Pick<T, NonNullableProps<T>> {\n\tconst result = {} as T\n\tfor (const key in obj) if (obj[key] !== undefined) result[key] = obj[key]\n\treturn result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsCA;;;;;AAAO,SAASA,eAAkBC,KAAM;AACvC,QAAMC,SAAS,CAAC;AAChB,aAAWC,OAAOF;AAAK,QAAIA,IAAIE,GAAAA,MAASC;AAAWF,aAAOC,GAAAA,IAAOF,IAAIE,GAAAA;AACrE,SAAOD;AACR;AAJgBF;","names":["stripUndefined","obj","result","key","undefined"]}