Commit Graph

414 Commits

Author SHA1 Message Date
Michael Bull c39888e01b Add test case for #96 2024-04-10 15:17:15 +01:00
Michael Bull 3a50dfa69d Bump version 2024-03-16 21:52:36 +00:00
Michael Bull 5623765ba1 Release v2.0.0
Closes #99
2024-03-16 21:45:36 +00:00
Michael Bull fb3ef3dc66 Update README 2024-03-16 21:25:44 +00:00
Michael Bull 981fbe2812 Convert Result to an inline value class 2024-03-16 21:25:44 +00:00
Michael Bull eecd1b7d99 Remove deprecated functions 2024-03-16 21:25:44 +00:00
Michael Bull 60769f9983 Bump version 2024-03-16 21:25:44 +00:00
Michael Bull f92d858aad Bump version 2024-03-16 21:10:19 +00:00
Michael Bull 3cde5ccdcb Release v1.1.21 2024-03-16 20:37:00 +00:00
Michael Bull 522c821fdf Deprecate getAll/getAllErrors in favour of valuesOf/errorsOf 2024-03-16 20:35:18 +00:00
Michael Bull 7ce7c16d7f Deprecate Ok/Err as return types
This is in preparation for the v2 release where these don't exist as types.
2024-03-16 19:13:37 +00:00
Michael Bull b19894a08c Deprecate suspending variant of "binding" in favour of "coroutineBinding"
This matches the internally-called function named coroutineScope, and helps
consumers distinguish between the blocking variant that is otherwise only
differing in package name.

This should also help convey to readers that structured concurrency will
occur within the block.
2024-03-11 00:06:46 +00:00
Michael Bull dd5c96f983 Deprecate "ResultBinding" in favour of "BindingScope"
This matches the Kotlin stdlib naming convention used for
sequences[1] and coroutines[2].

[1] https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence-scope/
[2] https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/
2024-03-11 00:06:46 +00:00
Michael Bull 09818a7d50 Remove redundant call to coroutineScope in SuspendBindingBenchmark 2024-03-11 00:06:46 +00:00
Michael Bull ab06a2a3fc Run coroutine tests on all platforms
Some were previously restricted to specific platforms, however
kotlinx-coroutines-test now targets them all.
2024-03-11 00:06:46 +00:00
Michael Bull 0b21b7361f Replace lateinit with null in binding variants 2024-03-11 00:06:46 +00:00
Michael Bull fec8c03313 Use delegation for SuspendableResultBindingImpl
The Kotlin docs for CoroutineScope[1] explicitly state that:

"Manual implementation of this interface is not recommended,
implementation by delegation should be preferred instead."

[1] https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/
2024-03-11 00:06:46 +00:00
Michael Bull 8d6b0a9eb3 Update Gradle
See: https://github.com/gradle/gradle/pull/27851
2024-03-11 00:06:45 +00:00
YuitoSato 716109aa84 Return List of errors for all variants of zipOrAccumulate
The four-arg and five-arg variants were returning Collection instead of
List.
2024-03-10 15:02:41 +00:00
Michael Bull c46a2925b1 Add transpose
See: https://doc.rust-lang.org/std/result/enum.Result.html#method.transpose
2024-03-09 00:22:51 +00:00
Michael Bull aca9ad92f8 Deprecate get{All,AllErrors} in favour of filter{Values,Errors} 2024-03-08 23:55:47 +00:00
Michael Bull f091f507d9 Add Iterable#{filterValues,filterValuesTo,filterErrors,filterErrorsTo} 2024-03-08 23:55:47 +00:00
Michael Bull 6e62d9f97d Add Iterable#{allOk,allErr,anyOk,anyErr,countOk,countErr} 2024-03-08 23:40:07 +00:00
Michael Bull 15fc1ff013 Add mapCatching
See: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/map-catching.html
2024-03-08 20:42:44 +00:00
Michael Bull f208f5ee79 Simplify predicate-based functions 2024-03-08 20:36:09 +00:00
Michael Bull 0b85cc2aad Reuse runCatching in recoverCatching 2024-03-08 20:29:41 +00:00
Michael Bull d2932de547 Reformat Iterable 2024-03-08 14:46:59 +00:00
Michael Bull 01c8c00f98 Rename error to result in binding impls 2024-03-08 14:46:59 +00:00
Michael Bull 5c4635b655 Reformat project 2024-03-08 14:46:59 +00:00
Michael Bull 104f6a8ecd Mark objects as data objects in tests 2024-03-08 14:46:59 +00:00
Michael Bull d8ea6e1c04 Move binding type declarations to lefthand of callsite 2024-03-08 14:46:59 +00:00
Michael Bull f7c9f605f1 Tidy up MapTest 2024-03-08 14:46:59 +00:00
Michael Bull f05ce6e0c7 Improve consistency across unit tests 2024-03-08 14:46:59 +00:00
Michael Bull 4e5cdeede7 Add flatMap{Both,Either} 2024-03-08 14:46:59 +00:00
Michael Bull 5d2c732ae7 Include os name in workflow jobs 2024-03-05 05:43:19 +00:00
Michael Bull f91b7c1efa Run publish step only on main repository 2024-03-04 22:19:19 +00:00
Michael Bull 2acedfa898 Bump version 2024-03-03 15:58:07 +00:00
Michael Bull 89ed2955ba Release v1.1.20 2024-03-03 15:52:20 +00:00
Michael Bull a522fbd3e7 Update copyright year in LICENSE 2024-03-03 15:51:50 +00:00
Michael Bull da96ceef8e Add more build targets for coroutines extensions
kotlinx-coroutines has since started publishing more native build
targets since we first became multiplatform. This commit ensures we also
build native targets for the platforms that were previously missing,
namely:

- androidNativeArm32
- androidNativeArm64
- androidNativeX64
- androidNativeX86
- linuxArm64
- wasmJs

This ensures that we are now supporting all three tiers of Kotlin/Native
target support.

See: https://kotlinlang.org/docs/native-target-support.html
2024-03-03 15:24:15 +00:00
Michael Bull a4fe9f6fa8 Set env vars only on publish step 2024-03-03 14:51:03 +00:00
Michael Bull 8893187a3a Pin GitHub actions by commit hash
See: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions
2024-03-03 14:49:28 +00:00
Michael Bull ebf7eedb14 Add names to workflow jobs 2024-03-03 14:24:20 +00:00
Michael Bull c3d28ed771 Simplify configuration of KotlinNpmInstallTask 2024-03-03 14:24:20 +00:00
Michael Bull 76a69a50e8 Merge GitHub workflows 2024-03-03 06:16:38 +00:00
Michael Bull 9f93f45541 Fix build url in Maven POM 2024-03-03 01:56:55 +00:00
Michael Bull bbf1c5d08c Fix workflow badge in README 2024-03-03 01:44:28 +00:00
Michael Bull 34cb35ffd5 Use import in build.gradle.kts 2024-03-03 01:42:25 +00:00
Michael Bull f19b0a9b11 Bump version 2024-03-03 01:41:42 +00:00
Michael Bull 779479b2d9 Release v1.1.19 2024-03-03 01:22:43 +00:00