Gravity.Dsl.Emitter
0.7.0
dotnet add package Gravity.Dsl.Emitter --version 0.7.0
NuGet\Install-Package Gravity.Dsl.Emitter -Version 0.7.0
<PackageReference Include="Gravity.Dsl.Emitter" Version="0.7.0" />
<PackageVersion Include="Gravity.Dsl.Emitter" Version="0.7.0" />
<PackageReference Include="Gravity.Dsl.Emitter" />
paket add Gravity.Dsl.Emitter --version 0.7.0
#r "nuget: Gravity.Dsl.Emitter, 0.7.0"
#:package Gravity.Dsl.Emitter@0.7.0
#addin nuget:?package=Gravity.Dsl.Emitter&version=0.7.0
#tool nuget:?package=Gravity.Dsl.Emitter&version=0.7.0
Gravity.Dsl.Emitter
Emitter host and IEmitter contract for the Gravity DSL.
This is the package every Gravity codegen target references. It pairs with
Gravity.Dsl.Ast: the AST package supplies the read-only model an emitter
consumes; this package supplies the contract the emitter implements and the
host that invokes it.
Public surface
IEmitter— implement this on a class with a public parameterless constructor for the host to discover viaEmitterRegistry.Discover.IEmitterOutput— sink an emitter writes its files into.EmitResult— diagnostics returned from an emitter; the host sorts them.EmitterConfig,EmitterConfigSchema,ConfigKey,ConfigValueKind— the schema-driven configuration block.SemanticVersionRange— small semver-range parser used byIEmitter.SupportedAstVersions. Supports>=,>,<=,<,=composed with space-separated AND, e.g.">=1.0.0 <2.0.0".EmitterRegistry— discovery, ownership checks (HOST001,HOST002), andClaimedAnnotationNamespaces()for the validator.EmitterHost.Run(...)— pre-flight checks (HOST003), parallel invocation, diagnostic sorting, deterministic commit.BufferedEmitterOutput— in-memory sink the host hands each emitter.ConfigLoader—.gravity.yamlloader (CFG001..CFG004).
Determinism
The host commits each emitter's buffer in ordinal relative-path order with UTF-8 (no BOM) and LF line endings. Emitters that follow these constraints meet the project-wide determinism bar (constitution — Architectural constraints, Deterministic output).
License
Apache-2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Gravity.Dsl.Ast (>= 0.7.0)
- Gravity.Dsl.Compiler (>= 0.7.0)
- YamlDotNet (>= 16.3.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Gravity.Dsl.Emitter:
| Package | Downloads |
|---|---|
|
Gravity.Dsl.Emitter.CSharp
C# reference emitter for the Gravity DSL. |
|
|
Gravity.Dsl.Emitter.JsonSchema
JSON Schema (Draft-07) reference emitter for the Gravity DSL — emits per-entity bundles, per-value-type, and per-enum schemas. |
|
|
Gravity.Dsl.Emitter.PostgresDdl
PostgreSQL DDL reference emitter for the Gravity DSL — emits idempotent table creation SQL plus per-version migration ledgers; target schema configurable. |
GitHub repositories
This package is not used by any popular GitHub repositories.