Commit Graph

406 Commits

Author SHA1 Message Date
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
Michael Bull 546abbfb96 Fix missing url in maven POM 2024-03-03 01:22:43 +00:00
Michael Bull 67990a3b0b Stop running build workflow twice on push to master
The deploy workflow depends on the build one, so it is already
responsible for running it via workflow_call.
2024-03-03 00:17:47 +00:00
Michael Bull a90c0fc92e Update github actions 2024-03-03 00:16:33 +00:00
Michael Bull 88e31cd1ac Extract shared build logic to convention plugins
See: https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins
2024-03-03 00:02:54 +00:00
Michael Bull bae2d88e3d Adopt dependencyResolutionManagement in settings.gradle 2024-03-02 21:37:21 +00:00
Michael Bull fca4ec6cab Merge tasks into single runner in workflows 2024-03-02 21:33:27 +00:00
Michael Bull 350ef94e5d Run deploy workflow on every push to master 2024-03-02 19:49:01 +00:00
Michael Bull a73b69a54a Remove kotlin-js-store from gitignore
The official docs[1] recommend comitting the kotlin-js-store directory
and its contents to ensure the application is being built with the same
dependency tree on all machines.

[1] https://kotlinlang.org/docs/js-project-setup.html#version-locking-via-kotlin-js-store
2024-03-02 19:25:12 +00:00