@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 +29 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
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
|
-
|
|
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) {
|
package/dist/index.cjs.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/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
|
-
|
|
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.
|
|
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.
|
|
23
|
-
"@farming-labs/orm
|
|
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",
|