UNPKG

kysely-codegen

Version:

`kysely-codegen` generates Kysely type definitions from your database. That's it.

85 lines 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configSchema = exports.dialectNameSchema = void 0; const zod_1 = require("zod"); const generator_1 = require("../generator"); const introspector_1 = require("../introspector"); exports.dialectNameSchema = zod_1.z.enum([ 'bun-sqlite', 'kysely-bun-sqlite', 'libsql', 'mssql', 'mysql', 'postgres', 'sqlite', 'worker-bun-sqlite', ]); const expressionNodeSchema = zod_1.z.union([ zod_1.z.instanceof(generator_1.ArrayExpressionNode), zod_1.z.instanceof(generator_1.ExtendsClauseNode), zod_1.z.instanceof(generator_1.GenericExpressionNode), zod_1.z.instanceof(generator_1.IdentifierNode), zod_1.z.instanceof(generator_1.InferClauseNode), zod_1.z.instanceof(generator_1.LiteralNode), zod_1.z.instanceof(generator_1.MappedTypeNode), zod_1.z.instanceof(generator_1.ObjectExpressionNode), zod_1.z.instanceof(generator_1.RawExpressionNode), zod_1.z.instanceof(generator_1.UnionExpressionNode), zod_1.z.string(), ]); const overridesSchema = zod_1.z .object({ columns: zod_1.z.record(zod_1.z.string(), expressionNodeSchema).optional() }) .optional(); exports.configSchema = zod_1.z.object({ camelCase: zod_1.z.boolean().optional(), dateParser: zod_1.z .enum(['string', 'timestamp']) .optional(), defaultSchemas: zod_1.z.array(zod_1.z.string()).optional(), dialect: exports.dialectNameSchema.optional(), domains: zod_1.z.boolean().optional(), envFile: zod_1.z.string().optional(), excludePattern: zod_1.z.string().nullable().optional(), includePattern: zod_1.z.string().nullable().optional(), logger: zod_1.z.instanceof(generator_1.Logger).optional(), logLevel: zod_1.z.enum(generator_1.LOG_LEVELS).optional(), numericParser: zod_1.z .enum(['number', 'number-or-string', 'string']) .optional(), outFile: zod_1.z.string().nullable().optional(), overrides: overridesSchema.optional(), partitions: zod_1.z.boolean().optional(), print: zod_1.z.boolean().optional(), runtimeEnums: zod_1.z .union([ zod_1.z.boolean(), zod_1.z.enum([ 'pascal-case', 'screaming-snake-case', ]), ]) .optional(), serializer: zod_1.z .object({ serializeFile: zod_1.z.function(zod_1.z.tuple([ zod_1.z.instanceof(introspector_1.DatabaseMetadata), zod_1.z.instanceof(introspector_1.IntrospectorDialect), zod_1.z .object({ camelCase: zod_1.z.boolean().optional(), defaultSchemas: zod_1.z.string().array().optional(), overrides: overridesSchema.optional(), }) .optional(), ]), zod_1.z.string()), }) .optional(), singularize: zod_1.z .union([zod_1.z.boolean(), zod_1.z.record(zod_1.z.string(), zod_1.z.string())]) .optional(), skipAutogeneratedFileComment: zod_1.z.boolean().optional(), typeOnlyImports: zod_1.z.boolean().optional(), url: zod_1.z.string().optional(), verify: zod_1.z.boolean().optional(), }); //# sourceMappingURL=config.js.map