-
-
Save juliusmarminge/f27b83d8077700474f8bc96d179cc714 to your computer and use it in GitHub Desktop.
drizzle-zod that imports the z object from `@hono/zod-openapi`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/index.cjs b/index.cjs | |
index ae060f4f799bd18432d5b6a2fdec26ad1caee736..9719e6ec7491ee50a89739f297e50b7f4920be19 100644 | |
--- a/index.cjs | |
+++ b/index.cjs | |
@@ -1,2 +1,2 @@ | |
-"use strict";var e=require("drizzle-orm"),t=require("drizzle-orm/mysql-core"),r=require("drizzle-orm/pg-core"),n=require("drizzle-orm/sqlite-core"),a=require("zod");const i=a.z.union([a.z.string(),a.z.number(),a.z.boolean(),a.z.null()]),s=a.z.lazy((()=>a.z.union([i,a.z.array(s),a.z.record(s)])));function o(i){let l;if(function(e){return"enumValues"in e&&Array.isArray(e.enumValues)&&e.enumValues.length>0}(i)&&(l=i.enumValues.length?a.z.enum(i.enumValues):a.z.string()),!l)if(e.is(i,r.PgUUID))l=a.z.string().uuid();else if("custom"===i.dataType)l=a.z.any();else if("json"===i.dataType)l=s;else if("array"===i.dataType)l=a.z.array(o(i.baseColumn));else if("number"===i.dataType)l=a.z.number();else if("bigint"===i.dataType)l=a.z.bigint();else if("boolean"===i.dataType)l=a.z.boolean();else if("date"===i.dataType)l=a.z.date();else if("string"===i.dataType){let s=a.z.string();(e.is(i,r.PgChar)||e.is(i,r.PgVarchar)||e.is(i,t.MySqlVarChar)||e.is(i,t.MySqlVarBinary)||e.is(i,t.MySqlChar)||e.is(i,n.SQLiteText))&&"number"==typeof i.length&&(s=s.max(i.length)),l=s}return l||(l=a.z.any()),l}exports.createInsertSchema=function(t,r){const n=e.getTableColumns(t),i=Object.entries(n);let s=Object.fromEntries(i.map((([e,t])=>[e,o(t)])));r&&(s=Object.assign(s,Object.fromEntries(Object.entries(r).map((([e,t])=>[e,"function"==typeof t?t(s):t])))));for(const[e,t]of i)t.notNull?t.hasDefault&&(s[e]=s[e].optional()):s[e]=s[e].nullable().optional();return a.z.object(s)},exports.createSelectSchema=function(t,r){const n=e.getTableColumns(t),i=Object.entries(n);let s=Object.fromEntries(i.map((([e,t])=>[e,o(t)])));r&&(s=Object.assign(s,Object.fromEntries(Object.entries(r).map((([e,t])=>[e,"function"==typeof t?t(s):t])))));for(const[e,t]of i)t.notNull||(s[e]=s[e].nullable());return a.z.object(s)},exports.jsonSchema=s; | |
+"use strict";var e=require("drizzle-orm"),t=require("drizzle-orm/mysql-core"),r=require("drizzle-orm/pg-core"),n=require("drizzle-orm/sqlite-core"),a=require("@hono/zod-openapi");const i=a.z.union([a.z.string(),a.z.number(),a.z.boolean(),a.z.null()]),s=a.z.lazy((()=>a.z.union([i,a.z.array(s),a.z.record(s)])));function o(i){let l;if(function(e){return"enumValues"in e&&Array.isArray(e.enumValues)&&e.enumValues.length>0}(i)&&(l=i.enumValues.length?a.z.enum(i.enumValues):a.z.string()),!l)if(e.is(i,r.PgUUID))l=a.z.string().uuid();else if("custom"===i.dataType)l=a.z.any();else if("json"===i.dataType)l=s;else if("array"===i.dataType)l=a.z.array(o(i.baseColumn));else if("number"===i.dataType)l=a.z.number();else if("bigint"===i.dataType)l=a.z.bigint();else if("boolean"===i.dataType)l=a.z.boolean();else if("date"===i.dataType)l=a.z.date();else if("string"===i.dataType){let s=a.z.string();(e.is(i,r.PgChar)||e.is(i,r.PgVarchar)||e.is(i,t.MySqlVarChar)||e.is(i,t.MySqlVarBinary)||e.is(i,t.MySqlChar)||e.is(i,n.SQLiteText))&&"number"==typeof i.length&&(s=s.max(i.length)),l=s}return l||(l=a.z.any()),l}exports.createInsertSchema=function(t,r){const n=e.getTableColumns(t),i=Object.entries(n);let s=Object.fromEntries(i.map((([e,t])=>[e,o(t)])));r&&(s=Object.assign(s,Object.fromEntries(Object.entries(r).map((([e,t])=>[e,"function"==typeof t?t(s):t])))));for(const[e,t]of i)t.notNull?t.hasDefault&&(s[e]=s[e].optional()):s[e]=s[e].nullable().optional();return a.z.object(s)},exports.createSelectSchema=function(t,r){const n=e.getTableColumns(t),i=Object.entries(n);let s=Object.fromEntries(i.map((([e,t])=>[e,o(t)])));r&&(s=Object.assign(s,Object.fromEntries(Object.entries(r).map((([e,t])=>[e,"function"==typeof t?t(s):t])))));for(const[e,t]of i)t.notNull||(s[e]=s[e].nullable());return a.z.object(s)},exports.jsonSchema=s; | |
//# sourceMappingURL=index.cjs.map | |
diff --git a/index.mjs b/index.mjs | |
index 581a158b8221958760d70b2c93b29f9c9b5b6871..b7f69b7dd58fc7d3b595bdb5ee173a06a08e9038 100644 | |
--- a/index.mjs | |
+++ b/index.mjs | |
@@ -1,2 +1,2 @@ | |
-import{getTableColumns as e,is as t}from"drizzle-orm";import{MySqlVarChar as n,MySqlVarBinary as r,MySqlChar as o}from"drizzle-orm/mysql-core";import{PgUUID as i,PgChar as a,PgVarchar as l}from"drizzle-orm/pg-core";import{SQLiteText as s}from"drizzle-orm/sqlite-core";import{z as u}from"zod";const m=u.union([u.string(),u.number(),u.boolean(),u.null()]),f=u.lazy((()=>u.union([m,u.array(f),u.record(f)])));function c(t,n){const r=e(t),o=Object.entries(r);let i=Object.fromEntries(o.map((([e,t])=>[e,p(t)])));n&&(i=Object.assign(i,Object.fromEntries(Object.entries(n).map((([e,t])=>[e,"function"==typeof t?t(i):t])))));for(const[e,t]of o)t.notNull?t.hasDefault&&(i[e]=i[e].optional()):i[e]=i[e].nullable().optional();return u.object(i)}function b(t,n){const r=e(t),o=Object.entries(r);let i=Object.fromEntries(o.map((([e,t])=>[e,p(t)])));n&&(i=Object.assign(i,Object.fromEntries(Object.entries(n).map((([e,t])=>[e,"function"==typeof t?t(i):t])))));for(const[e,t]of o)t.notNull||(i[e]=i[e].nullable());return u.object(i)}function p(e){let m;if(function(e){return"enumValues"in e&&Array.isArray(e.enumValues)&&e.enumValues.length>0}(e)&&(m=e.enumValues.length?u.enum(e.enumValues):u.string()),!m)if(t(e,i))m=u.string().uuid();else if("custom"===e.dataType)m=u.any();else if("json"===e.dataType)m=f;else if("array"===e.dataType)m=u.array(p(e.baseColumn));else if("number"===e.dataType)m=u.number();else if("bigint"===e.dataType)m=u.bigint();else if("boolean"===e.dataType)m=u.boolean();else if("date"===e.dataType)m=u.date();else if("string"===e.dataType){let i=u.string();(t(e,a)||t(e,l)||t(e,n)||t(e,r)||t(e,o)||t(e,s))&&"number"==typeof e.length&&(i=i.max(e.length)),m=i}return m||(m=u.any()),m}export{c as createInsertSchema,b as createSelectSchema,f as jsonSchema}; | |
+import{getTableColumns as e,is as t}from"drizzle-orm";import{MySqlVarChar as n,MySqlVarBinary as r,MySqlChar as o}from"drizzle-orm/mysql-core";import{PgUUID as i,PgChar as a,PgVarchar as l}from"drizzle-orm/pg-core";import{SQLiteText as s}from"drizzle-orm/sqlite-core";import{z as u}from"@hono/zod-openapi";const m=u.union([u.string(),u.number(),u.boolean(),u.null()]),f=u.lazy((()=>u.union([m,u.array(f),u.record(f)])));function c(t,n){const r=e(t),o=Object.entries(r);let i=Object.fromEntries(o.map((([e,t])=>[e,p(t)])));n&&(i=Object.assign(i,Object.fromEntries(Object.entries(n).map((([e,t])=>[e,"function"==typeof t?t(i):t])))));for(const[e,t]of o)t.notNull?t.hasDefault&&(i[e]=i[e].optional()):i[e]=i[e].nullable().optional();return u.object(i)}function b(t,n){const r=e(t),o=Object.entries(r);let i=Object.fromEntries(o.map((([e,t])=>[e,p(t)])));n&&(i=Object.assign(i,Object.fromEntries(Object.entries(n).map((([e,t])=>[e,"function"==typeof t?t(i):t])))));for(const[e,t]of o)t.notNull||(i[e]=i[e].nullable());return u.object(i)}function p(e){let m;if(function(e){return"enumValues"in e&&Array.isArray(e.enumValues)&&e.enumValues.length>0}(e)&&(m=e.enumValues.length?u.enum(e.enumValues):u.string()),!m)if(t(e,i))m=u.string().uuid();else if("custom"===e.dataType)m=u.any();else if("json"===e.dataType)m=f;else if("array"===e.dataType)m=u.array(p(e.baseColumn));else if("number"===e.dataType)m=u.number();else if("bigint"===e.dataType)m=u.bigint();else if("boolean"===e.dataType)m=u.boolean();else if("date"===e.dataType)m=u.date();else if("string"===e.dataType){let i=u.string();(t(e,a)||t(e,l)||t(e,n)||t(e,r)||t(e,o)||t(e,s))&&"number"==typeof e.length&&(i=i.max(e.length)),m=i}return m||(m=u.any()),m}export{c as createInsertSchema,b as createSelectSchema,f as jsonSchema}; | |
//# sourceMappingURL=index.mjs.map |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment