diff --git a/gitbook/SUMMARY.md b/gitbook/SUMMARY.md
index cc16a124..c267893b 100644
--- a/gitbook/SUMMARY.md
+++ b/gitbook/SUMMARY.md
@@ -190,15 +190,6 @@
* [Other Functions](taskValueOption/others.md)
* [zip](taskValueOption/zip.md)
- * ValueTaskValueOption
- * [apply](valueTaskValueOption/apply.md)
- * [bind](valueTaskValueOption/bind.md)
- * [Computation Expression](valueTaskValueOption/ce.md)
- * [either](valueTaskValueOption/either.md)
- * [map](valueTaskValueOption/map.md)
- * [Other Functions](valueTaskValueOption/others.md)
- * [zip](valueTaskValueOption/zip.md)
-
* TaskResult
* [apply](taskResult/apply.md)
* [bind](taskResult/bind.md)
@@ -349,6 +340,15 @@
* [Other Functions](cancellableValueTaskOption/others.md)
* [zip](cancellableValueTaskOption/zip.md)
+ * ValueTaskValueOption
+ * [apply](valueTaskValueOption/apply.md)
+ * [bind](valueTaskValueOption/bind.md)
+ * [Computation Expression](valueTaskValueOption/ce.md)
+ * [either](valueTaskValueOption/either.md)
+ * [map](valueTaskValueOption/map.md)
+ * [Other Functions](valueTaskValueOption/others.md)
+ * [zip](valueTaskValueOption/zip.md)
+
* [CancellableValueTaskResult](cancellableValueTaskResult/index.md)
* [apply](cancellableValueTaskResult/apply.md)
* [bind](cancellableValueTaskResult/bind.md)
diff --git a/src/FsToolkit.ErrorHandling.IcedTasks/FsToolkit.ErrorHandling.IcedTasks.fsproj b/src/FsToolkit.ErrorHandling.IcedTasks/FsToolkit.ErrorHandling.IcedTasks.fsproj
index 28da2121..0b4f0071 100644
--- a/src/FsToolkit.ErrorHandling.IcedTasks/FsToolkit.ErrorHandling.IcedTasks.fsproj
+++ b/src/FsToolkit.ErrorHandling.IcedTasks/FsToolkit.ErrorHandling.IcedTasks.fsproj
@@ -14,6 +14,9 @@
+
+
+
diff --git a/src/FsToolkit.ErrorHandling/ValueTaskValueOption.fs b/src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOption.fs
similarity index 67%
rename from src/FsToolkit.ErrorHandling/ValueTaskValueOption.fs
rename to src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOption.fs
index 9fce1e9c..3447b79a 100644
--- a/src/FsToolkit.ErrorHandling/ValueTaskValueOption.fs
+++ b/src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOption.fs
@@ -1,32 +1,26 @@
namespace FsToolkit.ErrorHandling
open System.Threading.Tasks
+open IcedTasks
[]
module ValueTaskValueOption =
let inline map ([] f) (ar: ValueTask<_ voption>) =
- ValueTask<_ voption>(
- task {
- let! opt = ar
- return ValueOption.map f opt
- }
- )
+ valueTask {
+ let! opt = ar
+ return ValueOption.map f opt
+ }
let inline bind ([] f) (ar: ValueTask<_ voption>) =
- ValueTask<_ voption>(
- task {
- let! opt = ar
+ valueTask {
+ let! opt = ar
- let t =
- match opt with
- | ValueSome x -> f x
- | ValueNone -> ValueTask<_ voption>(ValueNone)
-
- return! t
- }
- )
+ match opt with
+ | ValueSome x -> return! f x
+ | ValueNone -> return ValueNone
+ }
let inline valueSome x = ValueTask<_ voption>(ValueSome x)
@@ -34,13 +28,11 @@ module ValueTaskValueOption =
bind (fun f' -> bind (fun x' -> valueSome (f' x')) x) f
let inline zip (x1: ValueTask<'a voption>) (x2: ValueTask<'b voption>) =
- ValueTask<('a * 'b) voption>(
- task {
- let! r1 = x1
- let! r2 = x2
- return ValueOption.zip r1 r2
- }
- )
+ valueTask {
+ let! r1 = x1
+ let! r2 = x2
+ return ValueOption.zip r1 r2
+ }
///
/// Returns result of running if it is ValueSome, otherwise returns result of running
@@ -56,15 +48,13 @@ module ValueTaskValueOption =
([] onValueNone: unit -> ValueTask<'output>)
(input: ValueTask<'input voption>)
: ValueTask<'output> =
- ValueTask<'output>(
- task {
- let! opt = input
+ valueTask {
+ let! opt = input
- match opt with
- | ValueSome v -> return! onValueSome v
- | ValueNone -> return! onValueNone ()
- }
- )
+ match opt with
+ | ValueSome v -> return! onValueSome v
+ | ValueNone -> return! onValueNone ()
+ }
///
/// Gets the value of the voption if the voption is ValueSome, otherwise returns the specified default value.
@@ -75,12 +65,10 @@ module ValueTaskValueOption =
/// The voption if the voption is ValueSome, else the default value.
///
let inline defaultValue (value: 'value) (valueTaskValueOption: ValueTask<'value voption>) =
- ValueTask<'value>(
- task {
- let! opt = valueTaskValueOption
- return ValueOption.defaultValue value opt
- }
- )
+ valueTask {
+ let! opt = valueTaskValueOption
+ return ValueOption.defaultValue value opt
+ }
///
/// Gets the value of the voption if the voption is ValueSome, otherwise evaluates and returns the result.
@@ -94,9 +82,7 @@ module ValueTaskValueOption =
([] defThunk: unit -> 'value)
(valueTaskValueOption: ValueTask<'value voption>)
: ValueTask<'value> =
- ValueTask<'value>(
- task {
- let! opt = valueTaskValueOption
- return ValueOption.defaultWith defThunk opt
- }
- )
+ valueTask {
+ let! opt = valueTaskValueOption
+ return ValueOption.defaultWith defThunk opt
+ }
diff --git a/src/FsToolkit.ErrorHandling/ValueTaskValueOptionCE.fs b/src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOptionCE.fs
similarity index 97%
rename from src/FsToolkit.ErrorHandling/ValueTaskValueOptionCE.fs
rename to src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOptionCE.fs
index 0f4207c5..de7fef75 100644
--- a/src/FsToolkit.ErrorHandling/ValueTaskValueOptionCE.fs
+++ b/src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOptionCE.fs
@@ -10,6 +10,7 @@ open Microsoft.FSharp.Core.CompilerServices.StateMachineHelpers
open Microsoft.FSharp.Core.LanguagePrimitives.IntrinsicOperators
open Microsoft.FSharp.Control
open Microsoft.FSharp.Collections
+open IcedTasks
/// ValueTask<'T voption>
type ValueTaskValueOption<'T> = ValueTask<'T voption>
@@ -431,12 +432,10 @@ module ValueTaskValueOptionCEExtensionsLowPriority =
(t: ^TaskLike)
: ValueTaskValueOption<'T> =
- ValueTask<'T voption>(
- task {
- let! r = t
- return ValueSome r
- }
- )
+ valueTask {
+ let! r = t
+ return ValueSome r
+ }
member inline _.Using<'Resource, 'TOverall, 'T when 'Resource :> IDisposableNull>
(resource: 'Resource, body: 'Resource -> ValueTaskValueOptionCode<'TOverall, 'T>)
@@ -533,31 +532,28 @@ module ValueTaskValueOptionCEExtensionsMediumPriority =
type ValueTaskValueOptionBuilderBase with
member inline this.Source(t: Task<'T>) : ValueTaskValueOption<'T> =
- ValueTask<'T voption>(Task.map ValueSome t)
+ valueTask {
+ let! r = t
+ return ValueSome r
+ }
member inline this.Source(t: Task) : ValueTaskValueOption =
- ValueTask(
- task {
- do! t
- return ValueSome()
- }
- )
+ valueTask {
+ do! t
+ return ValueSome()
+ }
member inline this.Source(t: ValueTask<'T>) : ValueTaskValueOption<'T> =
- ValueTask<'T voption>(
- task {
- let! r = t
- return ValueSome r
- }
- )
+ valueTask {
+ let! r = t
+ return ValueSome r
+ }
member inline this.Source(t: ValueTask) : ValueTaskValueOption =
- ValueTask(
- task {
- do! t
- return ValueSome()
- }
- )
+ valueTask {
+ do! t
+ return ValueSome()
+ }
member inline this.Source(opt: 'T voption) : ValueTaskValueOption<'T> =
ValueTask<'T voption>(opt)
diff --git a/src/FsToolkit.ErrorHandling/ValueTaskValueOptionOp.fs b/src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOptionOp.fs
similarity index 100%
rename from src/FsToolkit.ErrorHandling/ValueTaskValueOptionOp.fs
rename to src/FsToolkit.ErrorHandling.IcedTasks/ValueTaskValueOptionOp.fs
diff --git a/src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj b/src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj
index 2990f0fa..8e4f47f8 100644
--- a/src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj
+++ b/src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj
@@ -41,13 +41,10 @@
-
-
-
@@ -66,4 +63,4 @@
-
\ No newline at end of file
+
diff --git a/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/FsToolkit.ErrorHandling.IcedTasks.Tests.fsproj b/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/FsToolkit.ErrorHandling.IcedTasks.Tests.fsproj
index 76bf4aae..3de1d333 100644
--- a/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/FsToolkit.ErrorHandling.IcedTasks.Tests.fsproj
+++ b/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/FsToolkit.ErrorHandling.IcedTasks.Tests.fsproj
@@ -10,9 +10,11 @@
+
+
diff --git a/tests/FsToolkit.ErrorHandling.Tests/ValueTaskValueOptionCE.fs b/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/ValueTaskValueOptionCE.fs
similarity index 99%
rename from tests/FsToolkit.ErrorHandling.Tests/ValueTaskValueOptionCE.fs
rename to tests/FsToolkit.ErrorHandling.IcedTasks.Tests/ValueTaskValueOptionCE.fs
index 186b2180..87fdac01 100644
--- a/tests/FsToolkit.ErrorHandling.Tests/ValueTaskValueOptionCE.fs
+++ b/tests/FsToolkit.ErrorHandling.IcedTasks.Tests/ValueTaskValueOptionCE.fs
@@ -1,4 +1,4 @@
-module ValueTaskValueOptionCETests
+module FsToolkit.ErrorHandling.IcedTasks.Tests.ValueTaskValueOptionCETests
open Expecto
open FsToolkit.ErrorHandling
@@ -604,6 +604,7 @@ let ``ValueTaskValueOptionCE inference checks`` =
|> ignore
]
+[]
let allTests =
testList "ValueTaskValueOption CE Tests" [
ceTests
diff --git a/tests/FsToolkit.ErrorHandling.Tests/FsToolkit.ErrorHandling.Tests.fsproj b/tests/FsToolkit.ErrorHandling.Tests/FsToolkit.ErrorHandling.Tests.fsproj
index 52c5403b..eedf2526 100644
--- a/tests/FsToolkit.ErrorHandling.Tests/FsToolkit.ErrorHandling.Tests.fsproj
+++ b/tests/FsToolkit.ErrorHandling.Tests/FsToolkit.ErrorHandling.Tests.fsproj
@@ -20,7 +20,6 @@
-
diff --git a/tests/FsToolkit.ErrorHandling.Tests/Main.fs b/tests/FsToolkit.ErrorHandling.Tests/Main.fs
index f6caf4c5..590fc32d 100644
--- a/tests/FsToolkit.ErrorHandling.Tests/Main.fs
+++ b/tests/FsToolkit.ErrorHandling.Tests/Main.fs
@@ -43,7 +43,6 @@ let allTests =
TaskOptionCETests.allTests
TaskValueOptionTests.allTests
TaskValueOptionCETests.allTests
- ValueTaskValueOptionCETests.allTests
TaskResultTests.allTests
TaskResultCETests.allTests
TaskResultOptionTests.allTests