DataModule

PackageReified.Data

Contents

Summary

NameSignatureSynopsis
assocData.assoc name valueAssociates an object field name with one exact value.
optionalAssocData.optionalAssoc name valueAssociates an object field name with Some value, or omits None.
dataData.data fieldsBuilds an object from ordered field instructions.
fieldsData.fields valueReturns exact field instructions from an existing object.
numberData.number tokenConstructs a number from one JSON number token, validated identically on .NET and Fable.
objectOfMapData.objectOfMap Builds an object from an F# map, ordered by key.
objectOfListData.objectOfList Builds an object from ordered name and value pairs.
ofMapData.ofMap Builds object-shaped data from a map of scalar values.
ofDictionaryData.ofDictionary Builds object-shaped data from a .NET dictionary of scalar values.
ofNameValuesData.ofNameValues Builds object-shaped data from name and value pairs.
ofNameValueCollectionData.ofNameValueCollection Builds object-shaped data from a .NET name-value collection.
ofCliArgsData.ofCliArgs Builds structured data from command-line arguments.
ofJsonElementData.ofJsonElement Copies a .NET 8+ System.Text.Json.JsonElement into structured data.
ofJsonDocumentData.ofJsonDocument Copies a .NET 8+ System.Text.Json.JsonDocument into structured data.
ofConfigurationData.ofConfiguration Builds structured data from flattened configuration keys.
ofConfigurationPairsData.ofConfigurationPairs Builds structured data from .NET configuration key and value pairs.
tryFindData.tryFind Attempts to find a value at a parsed path.
lookupData.lookup Finds a value at a parsed path or returns Null.
tryFindPathData.tryFindPath Attempts to parse a path and find its value.
lookupPathData.lookupPath Parses a path and finds its value or returns Null.
tryRedisplayData.tryRedisplay Attempts to render one scalar value for redisplay.
redisplayData.redisplay Renders one scalar value for redisplay.
tryRedisplayAtData.tryRedisplayAt Attempts to redisplay a scalar at a parsed path.
redisplayAtData.redisplayAt Redisplays a scalar at a parsed path.
tryRedisplayPathData.tryRedisplayPath Attempts to parse a path and redisplay its scalar.
redisplayPathData.redisplayPath Parses a path and redisplays its scalar.
tryPatchData.tryPatch edits inputApplies immutable edits atomically in declaration order.
patchData.patch edits inputApplies edits atomically or raises DataPatchException.
applyEditData.applyEdit edit inputApplies one prepared edit or raises DataPatchException.
setData.set path value inputReplaces one value, or adds a missing final object field, and returns the changed tree.
replaceData.replace path value inputReplaces one existing value and returns the changed tree.
removeData.remove path inputRemoves one existing field or list item and returns the changed tree.
appendData.append path value inputAppends one item to an existing list and returns the changed tree.
prependData.prepend path value inputPrepends one item to an existing list and returns the changed tree.
insertData.insert path index value inputInserts one item at a valid list index and returns the changed tree.
renameData.rename path name inputRenames one existing object field without moving it and returns the changed tree.
updateData.update path change inputApplies one function to an existing value and returns the changed tree.
diffData.diff expected actualReturns all exact structural differences between two values.
compareData.compare expected actualCompares complete values and returns every structural difference.
tryMatchData.tryMatch expectations actualChecks path-based expectations and accumulates structured mismatches.
renderData.render inputRenders structured data in a compact, human-readable form.
renderIndentedData.renderIndented inputRenders structured data in an indented, human-readable form.
tryTextData.tryText _arg1Attempts to extract text from one structured value.
tryBoolData.tryBool _arg1Attempts to extract a Boolean from one structured value.
tryNumberTokenData.tryNumberToken _arg1Attempts to extract the preserved token from one number value.
tryListData.tryList _arg1Attempts to extract items from one list value.
tryObjectData.tryObject _arg1Attempts to extract ordered fields from one object value.

assoc

Data.assoc name value
Member
Associates an object field name with one exact value.

Parameters

NameTypeDescription
namestring
value^a

Returns

DataField

Verification Examples

Data.assoc "name" "Ada" // one DataField

optionalAssoc

Data.optionalAssoc name value
Member
Associates an object field name with Some value, or omits None.

Parameters

NameTypeDescription
namestring
value^value option

Returns

DataField

Verification Examples

Data.optionalAssoc "nickname" (None: string option) // an omitted DataField

data

Data.data fields
Member
Builds an object from ordered field instructions.

Parameters

NameTypeDescription
fieldsDataField list

Returns

Data

Verification Examples

Data.data [ Data.assoc "name" "Ada" ]
 // Data.Object [ "name", Data.Text "Ada" ]

fields

Data.fields value
Member
Returns exact field instructions from an existing object.

Parameters

NameTypeDescription
valueData

Returns

DataField list

Verification Examples

Data.fields (Data.data [ Data.assoc "name" "Ada" ])
 // one field instruction for name

number

Data.number token
Member
Constructs a number from one JSON number token, validated identically on .NET and Fable.

Parameters

NameTypeDescription
tokenstring

Returns

Data

Verification Examples

Data.number "1.2300e+4" // Data.Number "1.2300e+4"

objectOfMap

Data.objectOfMap
Member
Builds an object from an F# map, ordered by key.

Returns

Map<string, Data> -> Data

objectOfList

Data.objectOfList
Member
Builds an object from ordered name and value pairs.

Returns

(string * Data) list -> Data

ofMap

Data.ofMap
Member
Builds object-shaped data from a map of scalar values.

Returns

Map<string, string> -> Data

ofDictionary

Data.ofDictionary
Member
Builds object-shaped data from a .NET dictionary of scalar values.

Returns

IDictionary<string, string> -> Data

ofNameValues

Data.ofNameValues
Member
Builds object-shaped data from name and value pairs.

Returns

(string * string) seq -> Data

ofNameValueCollection

Data.ofNameValueCollection
Member
Builds object-shaped data from a .NET name-value collection.

Returns

NameValueCollection -> Data

ofCliArgs

Data.ofCliArgs
Member
Builds structured data from command-line arguments.

Returns

string seq -> Data

ofJsonElement

Data.ofJsonElement
Member
Copies a .NET 8+ System.Text.Json.JsonElement into structured data.

Returns

JsonElement -> Data

ofJsonDocument

Data.ofJsonDocument
Member
Copies a .NET 8+ System.Text.Json.JsonDocument into structured data.

Returns

JsonDocument -> Data

ofConfiguration

Data.ofConfiguration
Member
Builds structured data from flattened configuration keys.

Returns

(string * string) seq -> Data

ofConfigurationPairs

Data.ofConfigurationPairs
Member
Builds structured data from .NET configuration key and value pairs.

Returns

IEnumerable<KeyValuePair<string, string>> -> Data

tryFind

Data.tryFind
Member
Attempts to find a value at a parsed path.

Returns

DataPath -> Data -> Data option

lookup

Data.lookup
Member
Finds a value at a parsed path or returns Null.

Returns

DataPath -> Data -> Data

tryFindPath

Data.tryFindPath
Member
Attempts to parse a path and find its value.

Returns

string -> Data -> Data option

lookupPath

Data.lookupPath
Member
Parses a path and finds its value or returns Null.

Returns

string -> Data -> Data

tryRedisplay

Data.tryRedisplay
Member
Attempts to render one scalar value for redisplay.

Returns

Data -> string option

redisplay

Data.redisplay
Member
Renders one scalar value for redisplay.

Returns

Data -> string

tryRedisplayAt

Data.tryRedisplayAt
Member
Attempts to redisplay a scalar at a parsed path.

Returns

DataPath -> Data -> string option

redisplayAt

Data.redisplayAt
Member
Redisplays a scalar at a parsed path.

Returns

DataPath -> Data -> string

tryRedisplayPath

Data.tryRedisplayPath
Member
Attempts to parse a path and redisplay its scalar.

Returns

string -> Data -> string option

redisplayPath

Data.redisplayPath
Member
Parses a path and redisplays its scalar.

Returns

string -> Data -> string

tryPatch

Data.tryPatch edits input
Member
Applies immutable edits atomically in declaration order.

Parameters

NameTypeDescription
editsDataEdit list
inputData

Returns

Result<Data, DataPatchFailure list>

Verification Examples

Data.tryPatch [ replace "name" "Grace" ] (data [ "name" => "Ada" ])
 // Ok (data [ "name" => "Grace" ])

patch

Data.patch edits input
Member
Applies edits atomically or raises DataPatchException.

Parameters

NameTypeDescription
editsDataEdit list
inputData

Returns

Data

Verification Examples

Data.data [ Data.assoc "name" "Ada" ]
 |> Data.patch [ DataEdit.replace "name" "Grace" ]
 // Data.data [ Data.assoc "name" "Grace" ]

applyEdit

Data.applyEdit edit input
Member
Applies one prepared edit or raises DataPatchException.

Parameters

NameTypeDescription
editDataEdit
inputData

Returns

Data

Verification Examples

data [ "name" => "Ada" ] |> Data.applyEdit (replace "name" "Grace")
 // data [ "name" => "Grace" ]

set

Data.set path value input
Member
Replaces one value, or adds a missing final object field, and returns the changed tree.

Parameters

NameTypeDescription
pathstring
value^a
inputData

Returns

Data

Verification Examples

data [ "name" => "Ada" ] |> Data.set "active" true
 // data [ "name" => "Ada"; "active" => true ]

replace

Data.replace path value input
Member
Replaces one existing value and returns the changed tree.

Parameters

NameTypeDescription
pathstring
value^a
inputData

Returns

Data

Verification Examples

data [ "name" => "Ada" ] |> Data.replace "name" "Grace"
 // data [ "name" => "Grace" ]

remove

Data.remove path input
Member
Removes one existing field or list item and returns the changed tree.

Parameters

NameTypeDescription
pathstring
inputData

Returns

Data

Verification Examples

data [ "name" => "Ada"; "active" => true ] |> Data.remove "active"
 // data [ "name" => "Ada" ]

append

Data.append path value input
Member
Appends one item to an existing list and returns the changed tree.

Parameters

NameTypeDescription
pathstring
value^a
inputData

Returns

Data

Verification Examples

data [ "roles" => [ "author" ] ] |> Data.append "roles" "admin"
 // data [ "roles" => [ "author"; "admin" ] ]

prepend

Data.prepend path value input
Member
Prepends one item to an existing list and returns the changed tree.

Parameters

NameTypeDescription
pathstring
value^a
inputData

Returns

Data

Verification Examples

data [ "roles" => [ "admin" ] ] |> Data.prepend "roles" "author"
 // data [ "roles" => [ "author"; "admin" ] ]

insert

Data.insert path index value input
Member
Inserts one item at a valid list index and returns the changed tree.

Parameters

NameTypeDescription
pathstring
indexint
value^a
inputData

Returns

Data

Verification Examples

data [ "roles" => [ "author" ] ] |> Data.insert "roles" 1 "admin"
 // data [ "roles" => [ "author"; "admin" ] ]

rename

Data.rename path name input
Member
Renames one existing object field without moving it and returns the changed tree.

Parameters

NameTypeDescription
pathstring
namestring
inputData

Returns

Data

Verification Examples

data [ "name" => "Ada" ] |> Data.rename "name" "displayName"
 // data [ "displayName" => "Ada" ]

update

Data.update path change input
Member
Applies one function to an existing value and returns the changed tree.

Parameters

NameTypeDescription
pathstring
changeData -> Data
inputData

Returns

Data

Verification Examples

data [ "active" => true ] |> Data.update "active" (fun _ -> Data.Bool false)
 // data [ "active" => false ]

diff

Data.diff expected actual
Member
Returns all exact structural differences between two values.

Parameters

NameTypeDescription
expectedData
actualData

Returns

DataDifference list

Verification Examples

Data.diff (data [ "name" => "Ada" ]) (data [ "name" => "Grace" ])
 // one DifferentValue difference at path "name"

compare

Data.compare expected actual
Member
Compares complete values and returns every structural difference.

Parameters

NameTypeDescription
expectedData
actualData

Returns

Result<unit, DataDifference list>

Verification Examples

Data.compare (data [ "name" => "Ada" ]) (data [ "name" => "Ada" ])
 // Ok ()

tryMatch

Data.tryMatch expectations actual
Member
Checks path-based expectations and accumulates structured mismatches.

Parameters

NameTypeDescription
expectationsDataExpectation list
actualData

Returns

Result<unit, DataMismatch list>

Verification Examples

Data.tryMatch [ at "name" "Ada" ] (data [ "name" => "Grace" ])
 // Error [ mismatch at path "name": expected "Ada", found "Grace" ]

render

Data.render input
Member
Renders structured data in a compact, human-readable form.

Parameters

NameTypeDescription
inputData

Returns

string

Verification Examples

Data.render (data [ "name" => "Ada"; "active" => true ])
 // { name: "Ada", active: true }

renderIndented

Data.renderIndented input
Member
Renders structured data in an indented, human-readable form.

Parameters

NameTypeDescription
inputData

Returns

string

Verification Examples

Data.renderIndented (data [ "name" => "Ada" ])
 // {
 //   name: "Ada"
 // }

tryText

Data.tryText _arg1
Member
Attempts to extract text from one structured value.

Parameters

NameTypeDescription
_arg1Data

Returns

string option

Verification Examples

Data.tryText (Data.Text "Ada") // Some "Ada"

tryBool

Data.tryBool _arg1
Member
Attempts to extract a Boolean from one structured value.

Parameters

NameTypeDescription
_arg1Data

Returns

bool option

Verification Examples

Data.tryBool (Data.Bool true) // Some true

tryNumberToken

Data.tryNumberToken _arg1
Member
Attempts to extract the preserved token from one number value.

Parameters

NameTypeDescription
_arg1Data

Returns

string option

Verification Examples

Data.tryNumberToken (Data.Number "1e3") // Some "1e3"

tryList

Data.tryList _arg1
Member
Attempts to extract items from one list value.

Parameters

NameTypeDescription
_arg1Data

Returns

Data list option

Verification Examples

Data.tryList (Data.List []) // Some []

tryObject

Data.tryObject _arg1
Member
Attempts to extract ordered fields from one object value.

Parameters

NameTypeDescription
_arg1Data

Returns

(string * Data) list option

Verification Examples

Data.tryObject (Data.Object []) // Some []