JsonSchemaProvider 0.1.0-pre.4
See the version list below for details.
dotnet add package JsonSchemaProvider --version 0.1.0-pre.4
NuGet\Install-Package JsonSchemaProvider -Version 0.1.0-pre.4
<PackageReference Include="JsonSchemaProvider" Version="0.1.0-pre.4" />
paket add JsonSchemaProvider --version 0.1.0-pre.4
#r "nuget: JsonSchemaProvider, 0.1.0-pre.4"
// Install JsonSchemaProvider as a Cake Addin #addin nuget:?package=JsonSchemaProvider&version=0.1.0-pre.4&prerelease // Install JsonSchemaProvider as a Cake Tool #tool nuget:?package=JsonSchemaProvider&version=0.1.0-pre.4&prerelease
JsonSchemaProvider: F# type provider for JSON schema
The JsonSchemaProvider provides F# types from JSON schemas. It can be used to build JSON values in a strongly typed way that conform to the schema or to parse JSON values into an F# value that can be queried in a stringly types way. Specifications like numeric ranges or string patterns that cannot be validated at compile time are checked at runtime.
The JSON schema can either be given as an inline string literal or by a local file.
The type provider is built around NJsonSchema for the schema parsing and validation
and uses the JsonValue
data type from FSharp.Data.
The version history is kept in the changelog.
Building
The type provider requires the .NET SDK 7 or higher.
The code comes with a Dev Container specification that sets up the necessary tools and the .NET SDK.
When not inside the Dev Container, issue a
dotnet tool restore
to install the .NET tools listed in dotnet-tools.json.
The code is built using FAKE as follows.
On Linux/macOS:
./build.sh
On Windows:
build.cmd
The FAKE build script is based on MiniScaffold and provides most of iyts build targets. The list of available targets can be obtained by
./build.sh ListTargets
Environment Variables
CONFIGURATION
will set the configuration of the dotnet commands. If not set, it will default to Release.CONFIGURATION=Debug ./build.sh
will result in-c
additions to commands such as indotnet build -c Debug
ENABLE_COVERAGE
Will enable running code coverage metrics. AltCover can have severe performance degradation so code coverage evaluation are disabled by default to speed up the feedback loop.ENABLE_COVERAGE=1 ./build.sh
will enable code coverage evaluation
Documentation
Disclaimer: The type provider supports JSON schemas where the root level type is object
, other JSON types
are not supported.
License
The JSON schema type provider is available under the MIT license. For more information see license file.
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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- FSharp.Core (>= 7.0.400)
- FSharp.Data (>= 6.3.0)
- Newtonsoft.Json (>= 13.0.3)
- NJsonSchema (>= 10.9.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0 | 126 | 5/28/2024 |
0.1.0-pre.5 | 72 | 5/25/2024 |
0.1.0-pre.4 | 203 | 10/18/2023 |
0.1.0-pre.3 | 70 | 10/17/2023 |
## [0.1.0-pre.4] - 2023-10-18
[0.1.0-pre.4]: https://github.com/florenzen/JsonSchemaProvider/releases/tag/v0.1.0-pre.4
### Added
- Basic README file.
- ListTarget target for the FAKE automation.
- Meta data for the NuGet package.
- Publish package to nuget.org.
- Basic support for JSON Schemas with objects at the outer level.
[Unreleased]: https://github.com/florenzen/JsonSchemaProvider/compare/v0.1.0-pre.3...HEAD
[0.1.0-pre.3]: https://github.com/florenzen/JsonSchemaProvider/releases/tag/v0.1.0-pre.3
[0.1.0-pre.2]: https://github.com/florenzen/JsonSchemaProvider/releases/tag/v0.1.0-pre.2
[0.1.0-pre.1]: https://github.com/florenzen/JsonSchemaProvider/releases/tag/v0.1.0-pre.1
### Fixed
- Fix publishing package to nuget.org.