# README
Codejen
Codejen is a modular code generation framework that integrates writing generated files to disk, as well as the common CI task of verifying that generator output and current disk state in sync.
# Functions
AdaptManyToMany takes a ManyToMany jenny that accepts a particular type as input (InI), and transforms it into a jenny that accepts a different type as input (OutI), given a function that can transform an InI to an OutI.
AdaptManyToOne takes a ManyToOne jenny that accepts a particular type as input (InI), and transforms it into a jenny that accepts a different type as input (OutI), given a function that can transform an InI to an OutI.
AdaptOneToMany takes a OneToMany jenny that accepts a particular type as input (InI), and transforms it into a jenny that accepts a different type as input (OutI), given a function that can transform an InI to an OutI.
AdaptOneToOne takes a OneToOne jenny that accepts a particular type as input (InI), and transforms it into a jenny that accepts a different type as input (OutI), given a function that can transform an InI to an OutI.
JennyListWithNamer creates a new JennyList that decorates errors using the provided namer func, which can derive a meaningful identifier string from the Input type for the JennyList.
NewFile makes it slightly more ergonomic to create a new File than with a raw struct declaration.
NewFS creates a new FS, ready for use.
# Structs
ContentsDifferErr is an error that indicates the contents of a file on disk are different than those in the FS.
File is a single file, intended to be written or compared against existing files on disk through an [FS].
FS is a pseudo-filesystem that supports batch-writing its contents to the real filesystem, or batch-comparing its contents to the real filesystem.
JennyList is an ordered collection of jennies.
ShouldExistErr is an error that indicates a file should exist, but does not.
# Interfaces
A Jenny is a single codejen code generator.
ManyToMany is a Jenny that accepts many inputs, and produces 0 to N files as output.
No description provided by the author
NamedJenny includes just the JennyName method.
No description provided by the author
No description provided by the author
# Type aliases
FileMapper takes a File and transforms it into a new File.
Files is a set of File objects.
Input is used in generic type parameters solely to indicate to human eyes that that type parameter is used to govern the type passed as input to a jenny's Generate method.