@farming-labs/orm-drizzle 0.0.21 → 0.0.24

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/dist/index.cjs CHANGED
@@ -127,11 +127,39 @@ function createDrizzleDriver(config) {
127
127
  client: config.db ?? config.client ?? runtimeClient,
128
128
  dialect: config.dialect,
129
129
  capabilities: {
130
+ numericIds: "generated",
130
131
  supportsJSON: true,
131
132
  supportsDates: true,
132
133
  supportsBooleans: true,
133
134
  supportsTransactions: true,
134
- nativeRelationLoading: "partial"
135
+ supportsSchemaNamespaces: config.dialect === "postgres",
136
+ supportsTransactionalDDL: config.dialect !== "mysql",
137
+ nativeRelationLoading: "partial",
138
+ textComparison: "database-default",
139
+ textMatching: {
140
+ equality: "database-default",
141
+ contains: "database-default",
142
+ ordering: "database-default"
143
+ },
144
+ upsert: "native",
145
+ returning: {
146
+ create: true,
147
+ update: true,
148
+ delete: false
149
+ },
150
+ returningMode: {
151
+ create: "record",
152
+ update: "record",
153
+ delete: "none"
154
+ },
155
+ nativeRelations: {
156
+ singularChains: true,
157
+ hasMany: true,
158
+ manyToMany: true,
159
+ filtered: false,
160
+ ordered: false,
161
+ paginated: false
162
+ }
135
163
  }
136
164
  });
137
165
  switch (config.dialect) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n createDriverHandle,\n type OrmDriver,\n type OrmDriverHandle,\n type SchemaDefinition,\n} from \"@farming-labs/orm\";\nimport {\n createMysqlDriver,\n createPgClientDriver,\n createPgPoolDriver,\n createSqliteDriver,\n type MysqlConnectionLike,\n type MysqlPoolLike,\n type PgClientLike,\n type PgPoolLike,\n type SqliteDatabaseLike,\n} from \"@farming-labs/orm-sql\";\n\nexport type DrizzleDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type DrizzleDatabaseLike = object & {\n $client?: unknown;\n};\n\nexport type DrizzleDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db?: DrizzleDatabaseLike;\n client?: unknown;\n dialect: DrizzleDialect;\n};\n\nexport type DrizzleDriverHandle<TClient = unknown> = OrmDriverHandle<\n \"drizzle\",\n TClient,\n DrizzleDialect\n>;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\";\n}\n\nfunction hasFunction<TName extends string>(\n value: unknown,\n name: TName,\n): value is Record<TName, (...args: any[]) => unknown> {\n return isRecord(value) && typeof value[name] === \"function\";\n}\n\nfunction resolveRuntimeClient(config: DrizzleDriverConfig<any>) {\n const client = config.client ?? config.db?.$client;\n\n if (!client) {\n throw new Error(\n 'Drizzle runtime requires a Drizzle database with a \"$client\" property or an explicit \"client\" option.',\n );\n }\n\n return client;\n}\n\nfunction wrapDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n driver: OrmDriver<TSchema, any>,\n handle: DrizzleDriverHandle<TClient>,\n): OrmDriver<TSchema, DrizzleDriverHandle<TClient>> {\n return {\n handle,\n findMany(schema, model, args) {\n return driver.findMany(schema, model, args);\n },\n findFirst(schema, model, args) {\n return driver.findFirst(schema, model, args);\n },\n findUnique(schema, model, args) {\n return driver.findUnique(schema, model, args);\n },\n count(schema, model, args) {\n return driver.count(schema, model, args);\n },\n create(schema, model, args) {\n return driver.create(schema, model, args);\n },\n createMany(schema, model, args) {\n return driver.createMany(schema, model, args);\n },\n update(schema, model, args) {\n return driver.update(schema, model, args);\n },\n updateMany(schema, model, args) {\n return driver.updateMany(schema, model, args);\n },\n upsert(schema, model, args) {\n return driver.upsert(schema, model, args);\n },\n delete(schema, model, args) {\n return driver.delete(schema, model, args);\n },\n deleteMany(schema, model, args) {\n return driver.deleteMany(schema, model, args);\n },\n transaction(schema, run) {\n return driver.transaction(schema, async (txDriver) =>\n run(wrapDrizzleDriver(txDriver, handle)),\n );\n },\n };\n}\n\nfunction createPostgresDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"connect\") && hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgPoolDriver<TSchema>(runtimeClient as PgPoolLike), handle);\n }\n\n if (hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgClientDriver<TSchema>(runtimeClient as PgClientLike), handle);\n }\n\n throw new Error(\n \"Drizzle postgres runtime expects a node-postgres Pool or Client under db.$client.\",\n );\n}\n\nfunction createMysqlDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"getConnection\") && hasFunction(runtimeClient, \"execute\")) {\n return wrapDrizzleDriver(createMysqlDriver<TSchema>(runtimeClient as MysqlPoolLike), handle);\n }\n\n if (\n hasFunction(runtimeClient, \"execute\") &&\n hasFunction(runtimeClient, \"beginTransaction\") &&\n hasFunction(runtimeClient, \"commit\") &&\n hasFunction(runtimeClient, \"rollback\")\n ) {\n return wrapDrizzleDriver(\n createMysqlDriver<TSchema>(runtimeClient as MysqlConnectionLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle mysql runtime expects a mysql2 Pool or transactional Connection under db.$client.\",\n );\n}\n\nfunction createSqliteDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"prepare\") && hasFunction(runtimeClient, \"exec\")) {\n return wrapDrizzleDriver(\n createSqliteDriver<TSchema>(runtimeClient as SqliteDatabaseLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle sqlite runtime expects a sqlite-compatible database with prepare() and exec() under db.$client.\",\n );\n}\n\nexport function createDrizzleDriver<TSchema extends SchemaDefinition<any>>(\n config: DrizzleDriverConfig<TSchema>,\n): OrmDriver<TSchema, DrizzleDriverHandle<DrizzleDatabaseLike | unknown>> {\n const runtimeClient = resolveRuntimeClient(config);\n const handle: DrizzleDriverHandle<DrizzleDatabaseLike | unknown> = createDriverHandle({\n kind: \"drizzle\",\n client: config.db ?? config.client ?? runtimeClient,\n dialect: config.dialect,\n capabilities: {\n supportsJSON: true,\n supportsDates: true,\n supportsBooleans: true,\n supportsTransactions: true,\n nativeRelationLoading: \"partial\",\n },\n });\n\n switch (config.dialect) {\n case \"postgres\":\n return createPostgresDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"mysql\":\n return createMysqlDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"sqlite\":\n return createSqliteDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKO;AACP,qBAUO;AAoBP,SAAS,SAAS,OAAkD;AAClE,SAAO,CAAC,CAAC,SAAS,OAAO,UAAU;AACrC;AAEA,SAAS,YACP,OACA,MACqD;AACrD,SAAO,SAAS,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM;AACnD;AAEA,SAAS,qBAAqB,QAAkC;AAC9D,QAAM,SAAS,OAAO,UAAU,OAAO,IAAI;AAE3C,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,kBACP,QACA,QACkD;AAClD,SAAO;AAAA,IACL;AAAA,IACA,SAAS,QAAQ,OAAO,MAAM;AAC5B,aAAO,OAAO,SAAS,QAAQ,OAAO,IAAI;AAAA,IAC5C;AAAA,IACA,UAAU,QAAQ,OAAO,MAAM;AAC7B,aAAO,OAAO,UAAU,QAAQ,OAAO,IAAI;AAAA,IAC7C;AAAA,IACA,WAAW,QAAQ,OAAO,MAAM;AAC9B,aAAO,OAAO,WAAW,QAAQ,OAAO,IAAI;AAAA,IAC9C;AAAA,IACA,MAAM,QAAQ,OAAO,MAAM;AACzB,aAAO,OAAO,MAAM,QAAQ,OAAO,IAAI;AAAA,IACzC;AAAA,IACA,OAAO,QAAQ,OAAO,MAAM;AAC1B,aAAO,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,QAAQ,OAAO,MAAM;AAC9B,aAAO,OAAO,WAAW,QAAQ,OAAO,IAAI;AAAA,IAC9C;AAAA,IACA,OAAO,QAAQ,OAAO,MAAM;AAC1B,aAAO,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,QAAQ,OAAO,MAAM;AAC9B,aAAO,OAAO,WAAW,QAAQ,OAAO,IAAI;AAAA,IAC9C;AAAA,IACA,OAAO,QAAQ,OAAO,MAAM;AAC1B,aAAO,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA,IAC1C;AAAA,IACA,OAAO,QAAQ,OAAO,MAAM;AAC1B,aAAO,OAAO,OAAO,QAAQ,OAAO,IAAI;AAAA,IAC1C;AAAA,IACA,WAAW,QAAQ,OAAO,MAAM;AAC9B,aAAO,OAAO,WAAW,QAAQ,OAAO,IAAI;AAAA,IAC9C;AAAA,IACA,YAAY,QAAQ,KAAK;AACvB,aAAO,OAAO;AAAA,QAAY;AAAA,QAAQ,OAAO,aACvC,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,4BACP,eACA,QACA;AACA,MAAI,YAAY,eAAe,SAAS,KAAK,YAAY,eAAe,OAAO,GAAG;AAChF,WAAO,sBAAkB,mCAA4B,aAA2B,GAAG,MAAM;AAAA,EAC3F;AAEA,MAAI,YAAY,eAAe,OAAO,GAAG;AACvC,WAAO,sBAAkB,qCAA8B,aAA6B,GAAG,MAAM;AAAA,EAC/F;AAEA,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,yBACP,eACA,QACA;AACA,MAAI,YAAY,eAAe,eAAe,KAAK,YAAY,eAAe,SAAS,GAAG;AACxF,WAAO,sBAAkB,kCAA2B,aAA8B,GAAG,MAAM;AAAA,EAC7F;AAEA,MACE,YAAY,eAAe,SAAS,KACpC,YAAY,eAAe,kBAAkB,KAC7C,YAAY,eAAe,QAAQ,KACnC,YAAY,eAAe,UAAU,GACrC;AACA,WAAO;AAAA,UACL,kCAA2B,aAAoC;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,0BACP,eACA,QACA;AACA,MAAI,YAAY,eAAe,SAAS,KAAK,YAAY,eAAe,MAAM,GAAG;AAC/E,WAAO;AAAA,UACL,mCAA4B,aAAmC;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAEO,SAAS,oBACd,QACwE;AACxE,QAAM,gBAAgB,qBAAqB,MAAM;AACjD,QAAM,aAA6D,+BAAmB;AAAA,IACpF,MAAM;AAAA,IACN,QAAQ,OAAO,MAAM,OAAO,UAAU;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,sBAAsB;AAAA,MACtB,uBAAuB;AAAA,IACzB;AAAA,EACF,CAAC;AAED,UAAQ,OAAO,SAAS;AAAA,IACtB,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,EACJ;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n createDriverHandle,\n type OrmDriver,\n type OrmDriverHandle,\n type SchemaDefinition,\n} from \"@farming-labs/orm\";\nimport {\n createMysqlDriver,\n createPgClientDriver,\n createPgPoolDriver,\n createSqliteDriver,\n type MysqlConnectionLike,\n type MysqlPoolLike,\n type PgClientLike,\n type PgPoolLike,\n type SqliteDatabaseLike,\n} from \"@farming-labs/orm-sql\";\n\nexport type DrizzleDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type DrizzleDatabaseLike = object & {\n $client?: unknown;\n};\n\nexport type DrizzleDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db?: DrizzleDatabaseLike;\n client?: unknown;\n dialect: DrizzleDialect;\n};\n\nexport type DrizzleDriverHandle<TClient = unknown> = OrmDriverHandle<\n \"drizzle\",\n TClient,\n DrizzleDialect\n>;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\";\n}\n\nfunction hasFunction<TName extends string>(\n value: unknown,\n name: TName,\n): value is Record<TName, (...args: any[]) => unknown> {\n return isRecord(value) && typeof value[name] === \"function\";\n}\n\nfunction resolveRuntimeClient(config: DrizzleDriverConfig<any>) {\n const client = config.client ?? config.db?.$client;\n\n if (!client) {\n throw new Error(\n 'Drizzle runtime requires a Drizzle database with a \"$client\" property or an explicit \"client\" option.',\n );\n }\n\n return client;\n}\n\nfunction wrapDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n driver: OrmDriver<TSchema, any>,\n handle: DrizzleDriverHandle<TClient>,\n): OrmDriver<TSchema, DrizzleDriverHandle<TClient>> {\n return {\n handle,\n findMany(schema, model, args) {\n return driver.findMany(schema, model, args);\n },\n findFirst(schema, model, args) {\n return driver.findFirst(schema, model, args);\n },\n findUnique(schema, model, args) {\n return driver.findUnique(schema, model, args);\n },\n count(schema, model, args) {\n return driver.count(schema, model, args);\n },\n create(schema, model, args) {\n return driver.create(schema, model, args);\n },\n createMany(schema, model, args) {\n return driver.createMany(schema, model, args);\n },\n update(schema, model, args) {\n return driver.update(schema, model, args);\n },\n updateMany(schema, model, args) {\n return driver.updateMany(schema, model, args);\n },\n upsert(schema, model, args) {\n return driver.upsert(schema, model, args);\n },\n delete(schema, model, args) {\n return driver.delete(schema, model, args);\n },\n deleteMany(schema, model, args) {\n return driver.deleteMany(schema, model, args);\n },\n transaction(schema, run) {\n return driver.transaction(schema, async (txDriver) =>\n run(wrapDrizzleDriver(txDriver, handle)),\n );\n },\n };\n}\n\nfunction createPostgresDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"connect\") && hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgPoolDriver<TSchema>(runtimeClient as PgPoolLike), handle);\n }\n\n if (hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgClientDriver<TSchema>(runtimeClient as PgClientLike), handle);\n }\n\n throw new Error(\n \"Drizzle postgres runtime expects a node-postgres Pool or Client under db.$client.\",\n );\n}\n\nfunction createMysqlDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"getConnection\") && hasFunction(runtimeClient, \"execute\")) {\n return wrapDrizzleDriver(createMysqlDriver<TSchema>(runtimeClient as MysqlPoolLike), handle);\n }\n\n if (\n hasFunction(runtimeClient, \"execute\") &&\n hasFunction(runtimeClient, \"beginTransaction\") &&\n hasFunction(runtimeClient, \"commit\") &&\n hasFunction(runtimeClient, \"rollback\")\n ) {\n return wrapDrizzleDriver(\n createMysqlDriver<TSchema>(runtimeClient as MysqlConnectionLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle mysql runtime expects a mysql2 Pool or transactional Connection under db.$client.\",\n );\n}\n\nfunction createSqliteDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"prepare\") && hasFunction(runtimeClient, \"exec\")) {\n return wrapDrizzleDriver(\n createSqliteDriver<TSchema>(runtimeClient as SqliteDatabaseLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle sqlite runtime expects a sqlite-compatible database with prepare() and exec() under db.$client.\",\n );\n}\n\nexport function createDrizzleDriver<TSchema extends SchemaDefinition<any>>(\n config: DrizzleDriverConfig<TSchema>,\n): OrmDriver<TSchema, DrizzleDriverHandle<DrizzleDatabaseLike | unknown>> {\n const runtimeClient = resolveRuntimeClient(config);\n const handle: DrizzleDriverHandle<DrizzleDatabaseLike | unknown> = createDriverHandle({\n kind: \"drizzle\",\n client: config.db ?? config.client ?? runtimeClient,\n dialect: config.dialect,\n capabilities: {\n numericIds: \"generated\",\n supportsJSON: true,\n supportsDates: true,\n supportsBooleans: true,\n supportsTransactions: true,\n supportsSchemaNamespaces: config.dialect === \"postgres\",\n supportsTransactionalDDL: config.dialect !== \"mysql\",\n nativeRelationLoading: \"partial\",\n textComparison: \"database-default\",\n textMatching: {\n equality: \"database-default\",\n contains: \"database-default\",\n ordering: \"database-default\",\n },\n upsert: \"native\",\n returning: {\n create: true,\n update: true,\n delete: false,\n },\n returningMode: {\n create: \"record\",\n update: \"record\",\n delete: \"none\",\n },\n nativeRelations: {\n singularChains: true,\n hasMany: true,\n manyToMany: true,\n filtered: false,\n ordered: false,\n paginated: false,\n },\n },\n });\n\n switch (config.dialect) {\n case \"postgres\":\n return createPostgresDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"mysql\":\n return createMysqlDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"sqlite\":\n return createSqliteDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n }\n}\n"],"mappings":"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","names":[]}
package/dist/index.js CHANGED
@@ -110,11 +110,39 @@ function createDrizzleDriver(config) {
110
110
  client: config.db ?? config.client ?? runtimeClient,
111
111
  dialect: config.dialect,
112
112
  capabilities: {
113
+ numericIds: "generated",
113
114
  supportsJSON: true,
114
115
  supportsDates: true,
115
116
  supportsBooleans: true,
116
117
  supportsTransactions: true,
117
- nativeRelationLoading: "partial"
118
+ supportsSchemaNamespaces: config.dialect === "postgres",
119
+ supportsTransactionalDDL: config.dialect !== "mysql",
120
+ nativeRelationLoading: "partial",
121
+ textComparison: "database-default",
122
+ textMatching: {
123
+ equality: "database-default",
124
+ contains: "database-default",
125
+ ordering: "database-default"
126
+ },
127
+ upsert: "native",
128
+ returning: {
129
+ create: true,
130
+ update: true,
131
+ delete: false
132
+ },
133
+ returningMode: {
134
+ create: "record",
135
+ update: "record",
136
+ delete: "none"
137
+ },
138
+ nativeRelations: {
139
+ singularChains: true,
140
+ hasMany: true,
141
+ manyToMany: true,
142
+ filtered: false,
143
+ ordered: false,
144
+ paginated: false
145
+ }
118
146
  }
119
147
  });
120
148
  switch (config.dialect) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n createDriverHandle,\n type OrmDriver,\n type OrmDriverHandle,\n type SchemaDefinition,\n} from \"@farming-labs/orm\";\nimport {\n createMysqlDriver,\n createPgClientDriver,\n createPgPoolDriver,\n createSqliteDriver,\n type MysqlConnectionLike,\n type MysqlPoolLike,\n type PgClientLike,\n type PgPoolLike,\n type SqliteDatabaseLike,\n} from \"@farming-labs/orm-sql\";\n\nexport type DrizzleDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type DrizzleDatabaseLike = object & {\n $client?: unknown;\n};\n\nexport type DrizzleDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db?: DrizzleDatabaseLike;\n client?: unknown;\n dialect: DrizzleDialect;\n};\n\nexport type DrizzleDriverHandle<TClient = unknown> = OrmDriverHandle<\n \"drizzle\",\n TClient,\n DrizzleDialect\n>;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\";\n}\n\nfunction hasFunction<TName extends string>(\n value: unknown,\n name: TName,\n): value is Record<TName, (...args: any[]) => unknown> {\n return isRecord(value) && typeof value[name] === \"function\";\n}\n\nfunction resolveRuntimeClient(config: DrizzleDriverConfig<any>) {\n const client = config.client ?? config.db?.$client;\n\n if (!client) {\n throw new Error(\n 'Drizzle runtime requires a Drizzle database with a \"$client\" property or an explicit \"client\" option.',\n );\n }\n\n return client;\n}\n\nfunction wrapDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n driver: OrmDriver<TSchema, any>,\n handle: DrizzleDriverHandle<TClient>,\n): OrmDriver<TSchema, DrizzleDriverHandle<TClient>> {\n return {\n handle,\n findMany(schema, model, args) {\n return driver.findMany(schema, model, args);\n },\n findFirst(schema, model, args) {\n return driver.findFirst(schema, model, args);\n },\n findUnique(schema, model, args) {\n return driver.findUnique(schema, model, args);\n },\n count(schema, model, args) {\n return driver.count(schema, model, args);\n },\n create(schema, model, args) {\n return driver.create(schema, model, args);\n },\n createMany(schema, model, args) {\n return driver.createMany(schema, model, args);\n },\n update(schema, model, args) {\n return driver.update(schema, model, args);\n },\n updateMany(schema, model, args) {\n return driver.updateMany(schema, model, args);\n },\n upsert(schema, model, args) {\n return driver.upsert(schema, model, args);\n },\n delete(schema, model, args) {\n return driver.delete(schema, model, args);\n },\n deleteMany(schema, model, args) {\n return driver.deleteMany(schema, model, args);\n },\n transaction(schema, run) {\n return driver.transaction(schema, async (txDriver) =>\n run(wrapDrizzleDriver(txDriver, handle)),\n );\n },\n };\n}\n\nfunction createPostgresDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"connect\") && hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgPoolDriver<TSchema>(runtimeClient as PgPoolLike), handle);\n }\n\n if (hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgClientDriver<TSchema>(runtimeClient as PgClientLike), handle);\n }\n\n throw new Error(\n \"Drizzle postgres runtime expects a node-postgres Pool or Client under db.$client.\",\n );\n}\n\nfunction createMysqlDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"getConnection\") && hasFunction(runtimeClient, \"execute\")) {\n return wrapDrizzleDriver(createMysqlDriver<TSchema>(runtimeClient as MysqlPoolLike), handle);\n }\n\n if (\n hasFunction(runtimeClient, \"execute\") &&\n hasFunction(runtimeClient, \"beginTransaction\") &&\n hasFunction(runtimeClient, \"commit\") &&\n hasFunction(runtimeClient, \"rollback\")\n ) {\n return wrapDrizzleDriver(\n createMysqlDriver<TSchema>(runtimeClient as MysqlConnectionLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle mysql runtime expects a mysql2 Pool or transactional Connection under db.$client.\",\n );\n}\n\nfunction createSqliteDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"prepare\") && hasFunction(runtimeClient, \"exec\")) {\n return wrapDrizzleDriver(\n createSqliteDriver<TSchema>(runtimeClient as SqliteDatabaseLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle sqlite runtime expects a sqlite-compatible database with prepare() and exec() under db.$client.\",\n );\n}\n\nexport function createDrizzleDriver<TSchema extends SchemaDefinition<any>>(\n config: DrizzleDriverConfig<TSchema>,\n): OrmDriver<TSchema, DrizzleDriverHandle<DrizzleDatabaseLike | unknown>> {\n const runtimeClient = resolveRuntimeClient(config);\n const handle: DrizzleDriverHandle<DrizzleDatabaseLike | unknown> = createDriverHandle({\n kind: \"drizzle\",\n client: config.db ?? config.client ?? runtimeClient,\n dialect: config.dialect,\n capabilities: {\n supportsJSON: true,\n supportsDates: true,\n supportsBooleans: true,\n supportsTransactions: true,\n nativeRelationLoading: \"partial\",\n },\n });\n\n switch (config.dialect) {\n case \"postgres\":\n return createPostgresDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"mysql\":\n return createMysqlDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"sqlite\":\n return createSqliteDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n createDriverHandle,\n type OrmDriver,\n type OrmDriverHandle,\n type SchemaDefinition,\n} from \"@farming-labs/orm\";\nimport {\n createMysqlDriver,\n createPgClientDriver,\n createPgPoolDriver,\n createSqliteDriver,\n type MysqlConnectionLike,\n type MysqlPoolLike,\n type PgClientLike,\n type PgPoolLike,\n type SqliteDatabaseLike,\n} from \"@farming-labs/orm-sql\";\n\nexport type DrizzleDialect = \"sqlite\" | \"mysql\" | \"postgres\";\n\nexport type DrizzleDatabaseLike = object & {\n $client?: unknown;\n};\n\nexport type DrizzleDriverConfig<TSchema extends SchemaDefinition<any>> = {\n db?: DrizzleDatabaseLike;\n client?: unknown;\n dialect: DrizzleDialect;\n};\n\nexport type DrizzleDriverHandle<TClient = unknown> = OrmDriverHandle<\n \"drizzle\",\n TClient,\n DrizzleDialect\n>;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\";\n}\n\nfunction hasFunction<TName extends string>(\n value: unknown,\n name: TName,\n): value is Record<TName, (...args: any[]) => unknown> {\n return isRecord(value) && typeof value[name] === \"function\";\n}\n\nfunction resolveRuntimeClient(config: DrizzleDriverConfig<any>) {\n const client = config.client ?? config.db?.$client;\n\n if (!client) {\n throw new Error(\n 'Drizzle runtime requires a Drizzle database with a \"$client\" property or an explicit \"client\" option.',\n );\n }\n\n return client;\n}\n\nfunction wrapDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n driver: OrmDriver<TSchema, any>,\n handle: DrizzleDriverHandle<TClient>,\n): OrmDriver<TSchema, DrizzleDriverHandle<TClient>> {\n return {\n handle,\n findMany(schema, model, args) {\n return driver.findMany(schema, model, args);\n },\n findFirst(schema, model, args) {\n return driver.findFirst(schema, model, args);\n },\n findUnique(schema, model, args) {\n return driver.findUnique(schema, model, args);\n },\n count(schema, model, args) {\n return driver.count(schema, model, args);\n },\n create(schema, model, args) {\n return driver.create(schema, model, args);\n },\n createMany(schema, model, args) {\n return driver.createMany(schema, model, args);\n },\n update(schema, model, args) {\n return driver.update(schema, model, args);\n },\n updateMany(schema, model, args) {\n return driver.updateMany(schema, model, args);\n },\n upsert(schema, model, args) {\n return driver.upsert(schema, model, args);\n },\n delete(schema, model, args) {\n return driver.delete(schema, model, args);\n },\n deleteMany(schema, model, args) {\n return driver.deleteMany(schema, model, args);\n },\n transaction(schema, run) {\n return driver.transaction(schema, async (txDriver) =>\n run(wrapDrizzleDriver(txDriver, handle)),\n );\n },\n };\n}\n\nfunction createPostgresDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"connect\") && hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgPoolDriver<TSchema>(runtimeClient as PgPoolLike), handle);\n }\n\n if (hasFunction(runtimeClient, \"query\")) {\n return wrapDrizzleDriver(createPgClientDriver<TSchema>(runtimeClient as PgClientLike), handle);\n }\n\n throw new Error(\n \"Drizzle postgres runtime expects a node-postgres Pool or Client under db.$client.\",\n );\n}\n\nfunction createMysqlDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"getConnection\") && hasFunction(runtimeClient, \"execute\")) {\n return wrapDrizzleDriver(createMysqlDriver<TSchema>(runtimeClient as MysqlPoolLike), handle);\n }\n\n if (\n hasFunction(runtimeClient, \"execute\") &&\n hasFunction(runtimeClient, \"beginTransaction\") &&\n hasFunction(runtimeClient, \"commit\") &&\n hasFunction(runtimeClient, \"rollback\")\n ) {\n return wrapDrizzleDriver(\n createMysqlDriver<TSchema>(runtimeClient as MysqlConnectionLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle mysql runtime expects a mysql2 Pool or transactional Connection under db.$client.\",\n );\n}\n\nfunction createSqliteDrizzleDriver<TSchema extends SchemaDefinition<any>, TClient>(\n runtimeClient: unknown,\n handle: DrizzleDriverHandle<TClient>,\n) {\n if (hasFunction(runtimeClient, \"prepare\") && hasFunction(runtimeClient, \"exec\")) {\n return wrapDrizzleDriver(\n createSqliteDriver<TSchema>(runtimeClient as SqliteDatabaseLike),\n handle,\n );\n }\n\n throw new Error(\n \"Drizzle sqlite runtime expects a sqlite-compatible database with prepare() and exec() under db.$client.\",\n );\n}\n\nexport function createDrizzleDriver<TSchema extends SchemaDefinition<any>>(\n config: DrizzleDriverConfig<TSchema>,\n): OrmDriver<TSchema, DrizzleDriverHandle<DrizzleDatabaseLike | unknown>> {\n const runtimeClient = resolveRuntimeClient(config);\n const handle: DrizzleDriverHandle<DrizzleDatabaseLike | unknown> = createDriverHandle({\n kind: \"drizzle\",\n client: config.db ?? config.client ?? runtimeClient,\n dialect: config.dialect,\n capabilities: {\n numericIds: \"generated\",\n supportsJSON: true,\n supportsDates: true,\n supportsBooleans: true,\n supportsTransactions: true,\n supportsSchemaNamespaces: config.dialect === \"postgres\",\n supportsTransactionalDDL: config.dialect !== \"mysql\",\n nativeRelationLoading: \"partial\",\n textComparison: \"database-default\",\n textMatching: {\n equality: \"database-default\",\n contains: \"database-default\",\n ordering: \"database-default\",\n },\n upsert: \"native\",\n returning: {\n create: true,\n update: true,\n delete: false,\n },\n returningMode: {\n create: \"record\",\n update: \"record\",\n delete: \"none\",\n },\n nativeRelations: {\n singularChains: true,\n hasMany: true,\n manyToMany: true,\n filtered: false,\n ordered: false,\n paginated: false,\n },\n },\n });\n\n switch (config.dialect) {\n case \"postgres\":\n return createPostgresDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"mysql\":\n return createMysqlDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n case \"sqlite\":\n return createSqliteDrizzleDriver<TSchema, DrizzleDatabaseLike | unknown>(\n runtimeClient,\n handle,\n );\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/orm-drizzle",
3
- "version": "0.0.21",
3
+ "version": "0.0.24",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -19,8 +19,8 @@
19
19
  "access": "public"
20
20
  },
21
21
  "dependencies": {
22
- "@farming-labs/orm": "0.0.21",
23
- "@farming-labs/orm-sql": "0.0.21"
22
+ "@farming-labs/orm-sql": "0.0.24",
23
+ "@farming-labs/orm": "0.0.24"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/pg": "^8.15.6",