RendererModule

PackageReified.Constraint
Builds renderers and renders messages through them.

Summary

NameSignatureSynopsis
englishRenderer.english A renderer that uses each catalogue's neutral English, with no resources at all.
ofLookupRenderer.ofLookup lookupA renderer backed by any key-to-template lookup.
ofResourceManagerRenderer.ofResourceManager resources cultureA renderer backed by a .NET resource manager, using one culture for everything.
ofResourceManagerWithCulturesRenderer.ofResourceManagerWithCultures resources uiCulture valueCultureA renderer that looks messages up in one culture and formats operands in another.
ofCurrentCultureRenderer.ofCurrentCulture resourcesA renderer that reads the ambient cultures at each render rather than capturing them.
contextRenderer.context segment rendererAppends a document, model, form, or component segment.
attributeRenderer.attribute segment rendererReplaces the attribute with one segment.
unscopedRenderer.unscoped rendererClears both the context and the attribute.
withValuesRenderer.withValues format rendererReplaces all operand rendering with one callback, ignoring placeholder format suffixes.
attributeNameRenderer.attributeName rendererThe attribute noun this renderer composes into a full message.
fullMessageRenderer.fullMessage message rendererComposes the attribute noun once around an already-rendered message.

english

Renderer.english
Member
A renderer that uses each catalogue's neutral English, with no resources at all.

Returns

Renderer

Verification Examples

violation |> Violation.fullMessage Renderer.english // "value must be present"

ofLookup

Renderer.ofLookup lookup
Member
A renderer backed by any key-to-template lookup.

Parameters

NameTypeDescription
lookupMessageLookup

Returns

Renderer

Verification Examples

let translations : Map<string, string> = Map.empty
 let renderer = Renderer.ofLookup translations.TryFind

ofResourceManager

Renderer.ofResourceManager resources culture
Member
A renderer backed by a .NET resource manager, using one culture for everything.

Parameters

NameTypeDescription
resourcesResourceManager
cultureCultureInfo

Returns

Renderer

Verification Examples

let resources : Resources.ResourceManager = Unchecked.defaultof<_> in let renderer = Renderer.ofResourceManager resources (Globalization.CultureInfo "fr-FR")

ofResourceManagerWithCultures

Renderer.ofResourceManagerWithCultures resources uiCulture valueCulture
Member
A renderer that looks messages up in one culture and formats operands in another.

Parameters

NameTypeDescription
resourcesResourceManager
uiCultureCultureInfo
valueCultureCultureInfo

Returns

Renderer

Verification Examples

let resources : Resources.ResourceManager = Unchecked.defaultof<_> in Renderer.ofResourceManagerWithCultures resources (Globalization.CultureInfo "en") (Globalization.CultureInfo "de-DE")

ofCurrentCulture

Renderer.ofCurrentCulture resources
Member
A renderer that reads the ambient cultures at each render rather than capturing them.

Parameters

NameTypeDescription
resourcesResourceManager

Returns

Renderer

Verification Examples

let resources : Resources.ResourceManager = Unchecked.defaultof<_> in let renderer = Renderer.ofCurrentCulture resources

context

Renderer.context segment renderer
Member
Appends a document, model, form, or component segment.

Parameters

NameTypeDescription
segmentstring
rendererRenderer

Returns

Renderer

Verification Examples

let signup = renderer |> Renderer.context "signup"

attribute

Renderer.attribute segment renderer
Member
Replaces the attribute with one segment.

Parameters

NameTypeDescription
segmentstring
rendererRenderer

Returns

Renderer

Verification Examples

signup |> Renderer.attribute "name"

unscoped

Renderer.unscoped renderer
Member
Clears both the context and the attribute.

Parameters

NameTypeDescription
rendererRenderer

Returns

Renderer

Verification Examples

let bare = signup |> Renderer.unscoped

withValues

Renderer.withValues format renderer
Member
Replaces all operand rendering with one callback, ignoring placeholder format suffixes.

Parameters

NameTypeDescription
formatConstraintValue -> string
rendererRenderer

Returns

Renderer

Verification Examples

renderer |> Renderer.withValues (fun value -> ConstraintValue.render value)

attributeName

Renderer.attributeName renderer
Member
The attribute noun this renderer composes into a full message.

Parameters

NameTypeDescription
rendererRenderer

Returns

string

Verification Examples

signup |> Renderer.attribute "postcodeID" |> Renderer.attributeName // "Postcode ID"

fullMessage

Renderer.fullMessage message renderer
Member
Composes the attribute noun once around an already-rendered message.

Parameters

NameTypeDescription
messagestring
rendererRenderer

Returns

string

Verification Examples

renderer |> Renderer.fullMessage "must be supplied" // "Postcode must be supplied"