RecordsModule

PackageReified.SchemaGen
The record frontend: parses F# source with the F# compiler's syntax tree (no type checking) and lowers [<DeriveSchema>]-marked records into the same ContractDecl AST the .contract parser produces, so both entry points share the resolver and emitter. Attributes and literals are read from source text; nothing runs at runtime.

Summary

NameSignatureSynopsis
Operations
parseRecords.parse naming filePath sourceTextParses one source file without project-wide references.
parseSetRecords.parseSet naming sourcesParses a project set.

Operations

kind:member

parse

Records.parse naming filePath sourceText
Member
Parses one source file without project-wide references. Prefer <c>parseSet</c> for build generation.

Parameters

NameTypeDescription
namingSchemaNaming
filePathstring
sourceTextstring

Returns

Result<ContractFile, ContractDiagnostic list>
kind:member

parseSet

Records.parseSet naming sources
Member
Parses a project set. Each source is parsed once; the catalogue pass resolves every contract version across the set, then only files with a schema declaration are lowered.

Parameters

NameTypeDescription
namingSchemaNaming
sources(string * string) list

Returns

(string * Result<ContractFile, ContractDiagnostic list>) list