UNPKG

@msugiura/rawsql-prisma

Version:

Prisma integration for rawsql-ts - Dynamic SQL generation with type safety and hierarchical JSON serialization

53 lines (52 loc) 1.33 kB
/** * Enhanced JsonMapping with TypeScript type information for automatic compatibility validation */ import { JsonMapping } from 'rawsql-ts'; /** * Type property definition for automatic type validation */ export interface TypePropertyInfo { type: 'string' | 'number' | 'boolean' | 'Date' | 'object' | 'array'; required: boolean; arrayElementType?: string; objectInterface?: string; } /** * Type information for entities in JsonMapping */ export interface EntityTypeInfo { interface?: string; importPath?: string; properties?: { [propertyName: string]: TypePropertyInfo; }; } /** * Enhanced JsonMapping with type information for automatic validation */ export interface EnhancedJsonMapping extends JsonMapping { typeInfo?: { interface: string; importPath: string; }; rootEntity: JsonMapping['rootEntity'] & { typeInfo?: EntityTypeInfo; }; nestedEntities: Array<JsonMapping['nestedEntities'][0] & { typeInfo?: EntityTypeInfo; }>; } /** * Type validation result */ export interface TypeValidationResult { isValid: boolean; errors: string[]; missingProperties: string[]; extraProperties: string[]; typeConflicts: Array<{ property: string; expected: string; actual: string; }>; }