Fini 0.2.0
dotnet add package Fini --version 0.2.0
NuGet\Install-Package Fini -Version 0.2.0
<PackageReference Include="Fini" Version="0.2.0" />
<PackageVersion Include="Fini" Version="0.2.0" />
<PackageReference Include="Fini" />
paket add Fini --version 0.2.0
#r "nuget: Fini, 0.2.0"
#addin nuget:?package=Fini&version=0.2.0
#tool nuget:?package=Fini&version=0.2.0
INI configuration file 
An immutable collection of key-value pairs organized in sections, based on the F# Map type.
Getting started
Import Fini
namespace:
open Fini
Initial INI file content:
global_key=global_value
[one]
one_key=one_value
[one.two]
two_key=two_value
[three]
three_key=three_value
Call fromFile
function to read configuration from a file:
let ini =
match Ini.fromFile "readme.ini" with
| Ok ini -> ini
| Error err -> Ini.empty
Call findGlobal
function to get a value from global section:
let value =
match ini |> Ini.findGlobal "global_key" with
| Some value -> value
| None -> "none"
let equal = value = "global_value"
Debug.Assert equal
let value =
match ini |> Ini.findGlobal "one_key" with
| Some value -> value
| None -> "none"
let equal = value = "none"
Debug.Assert equal
Call find
function to get a value from a section:
let value =
match ini |> Ini.find "one" "one_key" with
| Some value -> value
| None -> "none"
let equal = value = "one_value"
Debug.Assert equal
let value =
match ini |> Ini.find "one" "two_key" with
| Some value -> value
| None -> "none"
let equal = value = "none"
Debug.Assert equal
Call findNested
function to get a value from nested sections:
let value =
match ini |> Ini.findNested "one.two" "one_key" with
| Some value -> value
| None -> "none"
let equal = value = "one_value"
Debug.Assert equal
let value =
match ini |> Ini.findNested "one.two" "two_key" with
| Some value -> value
| None -> "none"
let equal = value = "two_value"
Debug.Assert equal
Call add
(addGlobal
) function to replace a value in a (global) section:
let ini = ini |> Ini.add "three" "three_key" "replaced_three_value"
let value = ini |> Ini.find "three" "three_key"
let equal = (value = Some "replaced_three_value")
Debug.Assert equal
Call add
(addGlobal
) function to add a value to a (global) section:
let ini = ini |> Ini.add "four" "four_key" "four_value"
let value = ini |> Ini.find "four" "four_key"
let equal = (value = Some "four_value")
Debug.Assert equal
Call remove
(removeGlobal
) function to remove a value from a (global) section:
let ini = ini |> Ini.remove "one" "one_key"
let value = ini |> Ini.find "one" "one_key"
let equal = (value = None)
Debug.Assert equal
Call toFile
function to save configuration to a file:
ini |> Ini.toFile "readme.ini" |> ignore
Final INI file content:
global_key=global_value
[four]
four_key=four_value
[one.two]
two_key=two_value
[three]
three_key=replaced_three_value
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- FInvoke (>= 0.3.0)
- FSharp.Core (>= 9.0.201)
- TakeUntil (>= 0.1.1)
-
.NETStandard 2.1
- FInvoke (>= 0.3.0)
- FSharp.Core (>= 9.0.201)
- TakeUntil (>= 0.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.