mirror of
https://github.com/IBM/fp-go.git
synced 2025-08-30 19:52:00 +02:00
Compare commits
1 Commits
v1.0.0
...
cleue-gett
Author | SHA1 | Date | |
---|---|---|---|
|
b7280ca862 |
85
.github/workflows/build.yml
vendored
85
.github/workflows/build.yml
vendored
@@ -1,85 +0,0 @@
|
||||
name: fp-go CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
pull_request:
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
dryRun:
|
||||
description: 'Dry-Run'
|
||||
default: 'true'
|
||||
required: false
|
||||
|
||||
env:
|
||||
# Currently no way to detect automatically
|
||||
DEFAULT_BRANCH: main
|
||||
GO_VERSION: 1.20.5 # renovate: datasource=golang-version depName=golang
|
||||
NODE_VERSION: 18
|
||||
DRY_RUN: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# full checkout for semantic-release
|
||||
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up go ${{env.GO_VERSION}}
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: ${{env.GO_VERSION}}
|
||||
-
|
||||
name: Tests
|
||||
run: |
|
||||
go mod tidy
|
||||
go test -v ./...
|
||||
|
||||
release:
|
||||
needs: [build]
|
||||
if: github.repository == 'IBM/fp-go' && github.event_name != 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
# full checkout for semantic-release
|
||||
- name: Full checkout
|
||||
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Node.js ${{ env.NODE_VERSION }}
|
||||
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
|
||||
- name: Set up go ${{env.GO_VERSION}}
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: ${{env.GO_VERSION}}
|
||||
|
||||
# The dry-run evaluation is only made for non PR events. Manual trigger w/dryRun true, main branch and any tagged branches will set DRY run to false
|
||||
- name: Check dry run
|
||||
run: |
|
||||
if [[ "${{github.event_name}}" == "workflow_dispatch" && "${{ github.event.inputs.dryRun }}" != "true" ]]; then
|
||||
echo "DRY_RUN=false" >> $GITHUB_ENV
|
||||
elif [[ "${{github.ref}}" == "refs/heads/${{env.DEFAULT_BRANCH}}" ]]; then
|
||||
echo "DRY_RUN=false" >> $GITHUB_ENV
|
||||
elif [[ "${{github.ref}}" =~ ^refs/heads/v[0-9]+(\.[0-9]+)?$ ]]; then
|
||||
echo "DRY_RUN=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Semantic Release
|
||||
run: |
|
||||
npx -p conventional-changelog-conventionalcommits -p semantic-release semantic-release --dry-run ${{env.DRY_RUN}}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
67
.releaserc
67
.releaserc
@@ -1,67 +0,0 @@
|
||||
{
|
||||
"plugins": [
|
||||
"@semantic-release/commit-analyzer",
|
||||
"@semantic-release/release-notes-generator",
|
||||
[
|
||||
"@semantic-release/github",
|
||||
{
|
||||
"releasedLabels": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"analyzeCommits": {
|
||||
"releaseRules": [
|
||||
{
|
||||
"type": "build",
|
||||
"release": "patch"
|
||||
}
|
||||
]
|
||||
},
|
||||
"preset": "conventionalcommits",
|
||||
"presetConfig": {
|
||||
"types": [
|
||||
{
|
||||
"type": "feat",
|
||||
"section": "Features"
|
||||
},
|
||||
{
|
||||
"type": "fix",
|
||||
"section": "Bug Fixes"
|
||||
},
|
||||
{
|
||||
"type": "perf",
|
||||
"section": "Performance Improvements"
|
||||
},
|
||||
{
|
||||
"type": "revert",
|
||||
"section": "Reverts"
|
||||
},
|
||||
{
|
||||
"type": "docs",
|
||||
"section": "Documentation"
|
||||
},
|
||||
{
|
||||
"type": "chore",
|
||||
"section": "Miscellaneous Chores"
|
||||
},
|
||||
{
|
||||
"type": "refactor",
|
||||
"section": "Code Refactoring"
|
||||
},
|
||||
{
|
||||
"type": "test",
|
||||
"section": "Tests"
|
||||
},
|
||||
{
|
||||
"type": "build",
|
||||
"section": "Build System"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagFormat": "v${version}",
|
||||
"branches": [
|
||||
{
|
||||
"name": "main"
|
||||
}
|
||||
]
|
||||
}
|
12
README.md
12
README.md
@@ -1,9 +1,19 @@
|
||||
# Functional programming library for golang
|
||||
|
||||
**🚧 Work in progress! 🚧**
|
||||
**🚧 Work in progress! 🚧** Despite major version 1 because of https://github.com/semantic-release/semantic-release/issues/1507. Trying to not make breaking changes, but devil is in the details.
|
||||
|
||||

|
||||
|
||||
This library is strongly influenced by the awesome [fp-ts](https://github.com/gcanti/fp-ts).
|
||||
|
||||
## Getting started
|
||||
|
||||
```bash
|
||||
go get github.com/IBM/fp-go
|
||||
```
|
||||
|
||||
Refer to the [samples](./samples/).
|
||||
|
||||
## Design Goal
|
||||
|
||||
This library aims to provide a set of data types and functions that make it easy and fun to write maintainable and testable code in golang. It encourages the following patterns:
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/array/generic"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/array"
|
||||
M "github.com/IBM/fp-go/monoid"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
"github.com/IBM/fp-go/tuple"
|
||||
G "github.com/ibm/fp-go/array/generic"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/array"
|
||||
M "github.com/ibm/fp-go/monoid"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
"github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// From constructs an array from a set of variadic arguments
|
||||
|
@@ -4,11 +4,11 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/utils"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
S "github.com/IBM/fp-go/string"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/utils"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
S "github.com/ibm/fp-go/string"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
E "github.com/IBM/fp-go/eq"
|
||||
E "github.com/ibm/fp-go/eq"
|
||||
)
|
||||
|
||||
func equals[T any](left []T, right []T, eq func(T, T) bool) bool {
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package generic
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/array"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
"github.com/IBM/fp-go/tuple"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/array"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
"github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// Of constructs a single element array
|
||||
|
@@ -3,7 +3,7 @@ package generic
|
||||
import (
|
||||
"sort"
|
||||
|
||||
O "github.com/IBM/fp-go/ord"
|
||||
O "github.com/ibm/fp-go/ord"
|
||||
)
|
||||
|
||||
// Sort implements a stable sort on the array given the provided ordering
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
M "github.com/IBM/fp-go/magma"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
M "github.com/ibm/fp-go/magma"
|
||||
)
|
||||
|
||||
func ConcatAll[A any](m M.Magma[A]) func(A) func([]A) A {
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
M "github.com/IBM/fp-go/magma"
|
||||
M "github.com/ibm/fp-go/magma"
|
||||
)
|
||||
|
||||
var subInt = M.MakeMagma(func(first int, second int) int {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
"github.com/IBM/fp-go/internal/array"
|
||||
M "github.com/IBM/fp-go/monoid"
|
||||
"github.com/ibm/fp-go/internal/array"
|
||||
M "github.com/ibm/fp-go/monoid"
|
||||
)
|
||||
|
||||
func concat[T any](left, right []T) []T {
|
||||
|
@@ -3,7 +3,7 @@ package array
|
||||
import (
|
||||
"testing"
|
||||
|
||||
M "github.com/IBM/fp-go/monoid/testing"
|
||||
M "github.com/ibm/fp-go/monoid/testing"
|
||||
)
|
||||
|
||||
func TestMonoid(t *testing.T) {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
)
|
||||
|
||||
// We need to pass the members of the applicative explicitly, because golang does neither support higher kinded types nor template methods on structs or interfaces
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
O "github.com/IBM/fp-go/option"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
)
|
||||
|
||||
func TestSequenceOption(t *testing.T) {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/array/generic"
|
||||
O "github.com/IBM/fp-go/ord"
|
||||
G "github.com/ibm/fp-go/array/generic"
|
||||
O "github.com/ibm/fp-go/ord"
|
||||
)
|
||||
|
||||
// Sort implements a stable sort on the array given the provided ordering
|
||||
|
@@ -3,7 +3,7 @@ package array
|
||||
import (
|
||||
"testing"
|
||||
|
||||
O "github.com/IBM/fp-go/ord"
|
||||
O "github.com/ibm/fp-go/ord"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package array
|
||||
|
||||
import "github.com/IBM/fp-go/internal/array"
|
||||
import "github.com/ibm/fp-go/internal/array"
|
||||
|
||||
func Traverse[A, B, HKTB, HKTAB, HKTRB any](
|
||||
fof func([]B) HKTRB,
|
||||
|
@@ -3,7 +3,7 @@ package array
|
||||
import (
|
||||
"testing"
|
||||
|
||||
O "github.com/IBM/fp-go/option"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -3,8 +3,8 @@ package bytes
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
A "github.com/IBM/fp-go/array"
|
||||
O "github.com/IBM/fp-go/ord"
|
||||
A "github.com/ibm/fp-go/array"
|
||||
O "github.com/ibm/fp-go/ord"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -3,7 +3,7 @@ package bytes
|
||||
import (
|
||||
"testing"
|
||||
|
||||
M "github.com/IBM/fp-go/monoid/testing"
|
||||
M "github.com/ibm/fp-go/monoid/testing"
|
||||
)
|
||||
|
||||
func TestMonoid(t *testing.T) {
|
||||
|
@@ -380,8 +380,8 @@ func generateApplyHelpers(filename string, count int) error {
|
||||
// print out some helpers
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -5,6 +5,7 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
C "github.com/urfave/cli/v2"
|
||||
)
|
||||
@@ -83,24 +84,34 @@ func generateContextReaderIOEitherHelpers(filename string, count int) error {
|
||||
// log
|
||||
log.Printf("Generating code in [%s] for package [%s] with [%d] repetitions ...", filename, pkg, count)
|
||||
|
||||
writePackage(f, pkg)
|
||||
// some header
|
||||
fmt.Fprintln(f, "// Code generated by go generate; DO NOT EDIT.")
|
||||
fmt.Fprintln(f, "// This file was generated by robots at")
|
||||
fmt.Fprintf(f, "// %s\n", time.Now())
|
||||
|
||||
fmt.Fprintf(f, "package %s\n\n", pkg)
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
"context"
|
||||
|
||||
G "github.com/IBM/fp-go/context/%s/generic"
|
||||
G "github.com/ibm/fp-go/context/%s/generic"
|
||||
)
|
||||
`, pkg)
|
||||
|
||||
writePackage(fg, "generic")
|
||||
// some header
|
||||
fmt.Fprintln(fg, "// Code generated by go generate; DO NOT EDIT.")
|
||||
fmt.Fprintln(fg, "// This file was generated by robots at")
|
||||
fmt.Fprintf(fg, "// %s\n", time.Now())
|
||||
|
||||
fmt.Fprintf(fg, "package generic\n\n")
|
||||
|
||||
fmt.Fprintf(fg, `
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
RE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
RE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -141,8 +141,8 @@ func generateEitherHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
A "github.com/IBM/fp-go/internal/apply"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
A "github.com/ibm/fp-go/internal/apply"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -1,16 +0,0 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func writePackage(f *os.File, pkg string) {
|
||||
// print package
|
||||
fmt.Fprintf(f, "package %s\n\n", pkg)
|
||||
// some header
|
||||
fmt.Fprintln(f, "// Code generated by go generate; DO NOT EDIT.")
|
||||
fmt.Fprintln(f, "// This file was generated by robots at")
|
||||
fmt.Fprintf(f, "// %s\n", time.Now())
|
||||
}
|
@@ -53,8 +53,8 @@ func generateIdentityHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
A "github.com/IBM/fp-go/internal/apply"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
A "github.com/ibm/fp-go/internal/apply"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -139,8 +139,8 @@ func generateOptionHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
A "github.com/IBM/fp-go/internal/apply"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
A "github.com/ibm/fp-go/internal/apply"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -123,7 +123,7 @@ func generateReaderHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
G "github.com/IBM/fp-go/%s/generic"
|
||||
G "github.com/ibm/fp-go/%s/generic"
|
||||
)
|
||||
`, pkg)
|
||||
|
||||
|
@@ -160,7 +160,7 @@ func generateReaderIOEitherHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
G "github.com/IBM/fp-go/%s/generic"
|
||||
G "github.com/ibm/fp-go/%s/generic"
|
||||
)
|
||||
`, pkg)
|
||||
|
||||
@@ -173,8 +173,8 @@ import (
|
||||
|
||||
fmt.Fprintf(fg, `
|
||||
import (
|
||||
E "github.com/IBM/fp-go/either"
|
||||
RD "github.com/IBM/fp-go/reader/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
RD "github.com/ibm/fp-go/reader/generic"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -346,8 +346,8 @@ func generateTupleHelpers(filename string, count int) error {
|
||||
|
||||
fmt.Fprintf(f, `
|
||||
import (
|
||||
M "github.com/IBM/fp-go/monoid"
|
||||
O "github.com/IBM/fp-go/ord"
|
||||
M "github.com/ibm/fp-go/monoid"
|
||||
O "github.com/ibm/fp-go/ord"
|
||||
)
|
||||
`)
|
||||
|
||||
|
@@ -12,6 +12,4 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Package context contains versions of monads that work with a golang [context.Context]
|
||||
package context
|
||||
|
@@ -3,9 +3,9 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
IOE "github.com/IBM/fp-go/ioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
IOE "github.com/ibm/fp-go/ioeither/generic"
|
||||
)
|
||||
|
||||
// withContext wraps an existing IOEither and performs a context check for cancellation before delegating
|
||||
|
@@ -3,8 +3,8 @@ package ioeither
|
||||
import (
|
||||
"context"
|
||||
|
||||
G "github.com/IBM/fp-go/context/ioeither/generic"
|
||||
IOE "github.com/IBM/fp-go/ioeither"
|
||||
G "github.com/ibm/fp-go/context/ioeither/generic"
|
||||
IOE "github.com/ibm/fp-go/ioeither"
|
||||
)
|
||||
|
||||
// withContext wraps an existing IOEither and performs a context check for cancellation before delegating
|
||||
|
@@ -16,7 +16,7 @@
|
||||
package reader
|
||||
|
||||
import (
|
||||
R "github.com/IBM/fp-go/reader/generic"
|
||||
R "github.com/ibm/fp-go/reader/generic"
|
||||
)
|
||||
|
||||
// TraverseArray transforms an array
|
||||
|
@@ -18,7 +18,7 @@ package reader
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/reader/generic"
|
||||
R "github.com/ibm/fp-go/reader/generic"
|
||||
)
|
||||
|
||||
// these functions curry a golang function with the context as the firsr parameter into a either reader with the context as the last parameter
|
||||
|
@@ -3,7 +3,7 @@ package reader
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/reader/generic"
|
||||
R "github.com/ibm/fp-go/reader/generic"
|
||||
)
|
||||
|
||||
// these functions curry a golang function with the context as the firsr parameter into a either reader with the context as the last parameter
|
||||
|
@@ -3,7 +3,7 @@ package reader
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/reader/generic"
|
||||
R "github.com/ibm/fp-go/reader/generic"
|
||||
)
|
||||
|
||||
func MonadMap[A, B any](fa Reader[A], f func(A) B) Reader[B] {
|
||||
|
@@ -6,8 +6,8 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package reader
|
||||
|
||||
import (
|
||||
R "github.com/IBM/fp-go/reader/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
R "github.com/ibm/fp-go/reader/generic"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
@@ -4,7 +4,7 @@ package reader
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/reader"
|
||||
R "github.com/ibm/fp-go/reader"
|
||||
)
|
||||
|
||||
// Reader is a specialization of the Reader monad assuming a golang context as the context of the monad
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package readereither
|
||||
|
||||
import (
|
||||
RE "github.com/IBM/fp-go/readereither/generic"
|
||||
RE "github.com/ibm/fp-go/readereither/generic"
|
||||
)
|
||||
|
||||
// TraverseArray transforms an array
|
||||
|
@@ -3,7 +3,7 @@ package readereither
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
)
|
||||
|
||||
// withContext wraps an existing ReaderEither and performs a context check for cancellation before deletating
|
||||
|
@@ -3,7 +3,7 @@ package readereither
|
||||
import (
|
||||
"context"
|
||||
|
||||
RE "github.com/IBM/fp-go/readereither/generic"
|
||||
RE "github.com/ibm/fp-go/readereither/generic"
|
||||
)
|
||||
|
||||
// these functions curry a golang function with the context as the firsr parameter into a either reader with the context as the last parameter
|
||||
|
@@ -3,11 +3,11 @@ package exec
|
||||
import (
|
||||
"context"
|
||||
|
||||
RE "github.com/IBM/fp-go/context/readereither"
|
||||
E "github.com/IBM/fp-go/either"
|
||||
"github.com/IBM/fp-go/exec"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
GE "github.com/IBM/fp-go/internal/exec"
|
||||
RE "github.com/ibm/fp-go/context/readereither"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
"github.com/ibm/fp-go/exec"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
GE "github.com/ibm/fp-go/internal/exec"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -3,7 +3,7 @@ package readereither
|
||||
import (
|
||||
"context"
|
||||
|
||||
RE "github.com/IBM/fp-go/readereither/generic"
|
||||
RE "github.com/ibm/fp-go/readereither/generic"
|
||||
)
|
||||
|
||||
// these functions curry a golang function with the context as the firsr parameter into a either reader with the context as the last parameter
|
||||
|
@@ -3,10 +3,10 @@ package readereither
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/context/reader"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
RE "github.com/IBM/fp-go/readereither/generic"
|
||||
R "github.com/ibm/fp-go/context/reader"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
RE "github.com/ibm/fp-go/readereither/generic"
|
||||
)
|
||||
|
||||
func MakeReaderEither[A any](f func(context.Context) ET.Either[error, A]) ReaderEither[A] {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package readereither
|
||||
|
||||
import (
|
||||
RE "github.com/IBM/fp-go/readereither/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
RE "github.com/ibm/fp-go/readereither/generic"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
@@ -4,7 +4,7 @@ package readereither
|
||||
import (
|
||||
"context"
|
||||
|
||||
RE "github.com/IBM/fp-go/readereither"
|
||||
RE "github.com/ibm/fp-go/readereither"
|
||||
)
|
||||
|
||||
// ReaderEither is a specialization of the Reader monad for the typical golang scenario
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package readerio
|
||||
|
||||
import (
|
||||
IO "github.com/IBM/fp-go/io"
|
||||
R "github.com/IBM/fp-go/readerio/generic"
|
||||
IO "github.com/ibm/fp-go/io"
|
||||
R "github.com/ibm/fp-go/readerio/generic"
|
||||
)
|
||||
|
||||
// TraverseArray transforms an array
|
||||
|
@@ -3,8 +3,8 @@ package readerio
|
||||
import (
|
||||
"context"
|
||||
|
||||
IO "github.com/IBM/fp-go/io"
|
||||
R "github.com/IBM/fp-go/readerio/generic"
|
||||
IO "github.com/ibm/fp-go/io"
|
||||
R "github.com/ibm/fp-go/readerio/generic"
|
||||
)
|
||||
|
||||
// these functions curry a golang function with the context as the firsr parameter into a either reader with the context as the last parameter
|
||||
|
@@ -3,7 +3,7 @@ package readerio
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/readerio/generic"
|
||||
R "github.com/ibm/fp-go/readerio/generic"
|
||||
)
|
||||
|
||||
func MonadMap[A, B any](fa ReaderIO[A], f func(A) B) ReaderIO[B] {
|
||||
|
@@ -6,9 +6,9 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
IO "github.com/IBM/fp-go/io"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
IO "github.com/ibm/fp-go/io"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package readerio
|
||||
|
||||
import (
|
||||
R "github.com/IBM/fp-go/readerio/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
R "github.com/ibm/fp-go/readerio/generic"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
@@ -4,7 +4,7 @@ package readerio
|
||||
import (
|
||||
"context"
|
||||
|
||||
R "github.com/IBM/fp-go/readerio"
|
||||
R "github.com/ibm/fp-go/readerio"
|
||||
)
|
||||
|
||||
// ReaderIO is a specialization of the ReaderIO monad assuming a golang context as the context of the monad
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package readerioeither
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
)
|
||||
|
||||
// WithContext wraps an existing ReaderIOEither and performs a context check for cancellation before delegating
|
||||
|
@@ -1,4 +1,3 @@
|
||||
// Package readerioeither contains a version of [ReaderIOEither] that takes a golang [context.Context] as its context
|
||||
package readerioeither
|
||||
|
||||
//go:generate go run ../.. contextreaderioeither --count 10 --filename gen.go
|
||||
|
@@ -3,9 +3,9 @@ package readerioeither
|
||||
import (
|
||||
"context"
|
||||
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
)
|
||||
|
||||
// Eq implements the equals predicate for values contained in the IOEither monad
|
||||
|
@@ -3,11 +3,11 @@ package exec
|
||||
import (
|
||||
"context"
|
||||
|
||||
RIOE "github.com/IBM/fp-go/context/readerioeither"
|
||||
"github.com/IBM/fp-go/exec"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
GE "github.com/IBM/fp-go/internal/exec"
|
||||
IOE "github.com/IBM/fp-go/ioeither"
|
||||
RIOE "github.com/ibm/fp-go/context/readerioeither"
|
||||
"github.com/ibm/fp-go/exec"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
GE "github.com/ibm/fp-go/internal/exec"
|
||||
IOE "github.com/ibm/fp-go/ioeither"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -5,11 +5,11 @@ import (
|
||||
"io"
|
||||
"os"
|
||||
|
||||
RIOE "github.com/IBM/fp-go/context/readerioeither"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/file"
|
||||
IOE "github.com/IBM/fp-go/ioeither"
|
||||
RIOE "github.com/ibm/fp-go/context/readerioeither"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/file"
|
||||
IOE "github.com/ibm/fp-go/ioeither"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -7,7 +7,7 @@ package readerioeither
|
||||
import (
|
||||
"context"
|
||||
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
)
|
||||
|
||||
// Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [ReaderIOEither[R]]
|
||||
|
@@ -3,9 +3,9 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
CIOE "github.com/IBM/fp-go/context/ioeither/generic"
|
||||
E "github.com/IBM/fp-go/either"
|
||||
IOE "github.com/IBM/fp-go/ioeither/generic"
|
||||
CIOE "github.com/ibm/fp-go/context/ioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
IOE "github.com/ibm/fp-go/ioeither/generic"
|
||||
)
|
||||
|
||||
// withContext wraps an existing ReaderIOEither and performs a context check for cancellation before delegating
|
||||
|
@@ -3,10 +3,10 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
G "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
G "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
|
||||
// Eq implements the equals predicate for values contained in the IOEither monad
|
||||
|
@@ -7,8 +7,8 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
RE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
RE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
|
||||
// Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [GRA]
|
||||
|
@@ -4,13 +4,13 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
ER "github.com/IBM/fp-go/errors"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
IO "github.com/IBM/fp-go/io/generic"
|
||||
IOE "github.com/IBM/fp-go/ioeither/generic"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
RIE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
ER "github.com/ibm/fp-go/errors"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
IO "github.com/ibm/fp-go/io/generic"
|
||||
IOE "github.com/ibm/fp-go/ioeither/generic"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
RIE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
|
||||
func FromEither[
|
||||
|
@@ -3,9 +3,9 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
RIE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
RIE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
|
||||
// WithResource constructs a function that creates a resource, then operates on it and then releases the resource
|
||||
|
@@ -3,9 +3,9 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
RE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
RE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
@@ -3,8 +3,8 @@ package generic
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
RE "github.com/IBM/fp-go/readerioeither/generic"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
RE "github.com/ibm/fp-go/readerioeither/generic"
|
||||
)
|
||||
|
||||
// TraverseArray transforms an array
|
||||
|
@@ -4,14 +4,14 @@ import (
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
B "github.com/IBM/fp-go/bytes"
|
||||
RIOE "github.com/IBM/fp-go/context/readerioeither"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
H "github.com/IBM/fp-go/http"
|
||||
IOE "github.com/IBM/fp-go/ioeither"
|
||||
IOEF "github.com/IBM/fp-go/ioeither/file"
|
||||
J "github.com/IBM/fp-go/json"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
B "github.com/ibm/fp-go/bytes"
|
||||
RIOE "github.com/ibm/fp-go/context/readerioeither"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
H "github.com/ibm/fp-go/http"
|
||||
IOE "github.com/ibm/fp-go/ioeither"
|
||||
IOEF "github.com/ibm/fp-go/ioeither/file"
|
||||
J "github.com/ibm/fp-go/json"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
type (
|
||||
|
@@ -4,13 +4,13 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
R "github.com/IBM/fp-go/context/reader"
|
||||
RIO "github.com/IBM/fp-go/context/readerio"
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
IO "github.com/IBM/fp-go/io"
|
||||
IOE "github.com/IBM/fp-go/ioeither"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
R "github.com/ibm/fp-go/context/reader"
|
||||
RIO "github.com/ibm/fp-go/context/readerio"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
IO "github.com/ibm/fp-go/io"
|
||||
IOE "github.com/ibm/fp-go/ioeither"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
)
|
||||
|
||||
func FromEither[A any](e ET.Either[error, A]) ReaderIOEither[A] {
|
||||
|
@@ -6,9 +6,9 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/utils"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package readerioeither
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
)
|
||||
|
||||
// WithResource constructs a function that creates a resource, then operates on it and then releases the resource
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package readerioeither
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// SequenceT converts n inputs of higher kinded types into a higher kinded types of n strongly typed values, represented as a tuple
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package readerioeither
|
||||
|
||||
import (
|
||||
G "github.com/IBM/fp-go/context/readerioeither/generic"
|
||||
G "github.com/ibm/fp-go/context/readerioeither/generic"
|
||||
)
|
||||
|
||||
// TraverseArray transforms an array
|
||||
|
@@ -4,7 +4,7 @@ package readerioeither
|
||||
import (
|
||||
"context"
|
||||
|
||||
RE "github.com/IBM/fp-go/readerioeither"
|
||||
RE "github.com/ibm/fp-go/readerioeither"
|
||||
)
|
||||
|
||||
// ReaderIOEither is a specialization of the Reader monad for the typical golang scenario
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
M "github.com/IBM/fp-go/monoid"
|
||||
S "github.com/IBM/fp-go/semigroup"
|
||||
M "github.com/ibm/fp-go/monoid"
|
||||
S "github.com/ibm/fp-go/semigroup"
|
||||
)
|
||||
|
||||
func ApplySemigroup[E, A any](s S.Semigroup[A]) S.Semigroup[Either[E, A]] {
|
||||
|
@@ -3,8 +3,8 @@ package either
|
||||
import (
|
||||
"testing"
|
||||
|
||||
M "github.com/IBM/fp-go/monoid/testing"
|
||||
N "github.com/IBM/fp-go/number"
|
||||
M "github.com/ibm/fp-go/monoid/testing"
|
||||
N "github.com/ibm/fp-go/number"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
// these function curry a golang function that returns an error into its curried version that returns an either
|
||||
|
@@ -5,9 +5,9 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
E "github.com/IBM/fp-go/errors"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
E "github.com/ibm/fp-go/errors"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
)
|
||||
|
||||
// Of is equivalent to [Right]
|
||||
|
@@ -4,10 +4,10 @@ import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
"github.com/IBM/fp-go/internal/utils"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
S "github.com/IBM/fp-go/string"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/ibm/fp-go/internal/utils"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
S "github.com/ibm/fp-go/string"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
// Constructs an equal predicate for an `Either`
|
||||
|
@@ -3,10 +3,10 @@ package exec
|
||||
import (
|
||||
"context"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
"github.com/IBM/fp-go/exec"
|
||||
F "github.com/IBM/fp-go/function"
|
||||
GE "github.com/IBM/fp-go/internal/exec"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
"github.com/ibm/fp-go/exec"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
GE "github.com/ibm/fp-go/internal/exec"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -5,8 +5,8 @@ package either
|
||||
|
||||
|
||||
import (
|
||||
A "github.com/IBM/fp-go/internal/apply"
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
A "github.com/ibm/fp-go/internal/apply"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
// Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning an Either
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"net/http"
|
||||
|
||||
E "github.com/IBM/fp-go/either"
|
||||
E "github.com/ibm/fp-go/either"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -3,8 +3,8 @@ package either
|
||||
import (
|
||||
"log"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
L "github.com/IBM/fp-go/logging"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
L "github.com/ibm/fp-go/logging"
|
||||
)
|
||||
|
||||
func _log[E, A any](left func(string, ...any), right func(string, ...any), prefix string) func(Either[E, A]) Either[E, A] {
|
||||
|
@@ -3,7 +3,7 @@ package either
|
||||
import (
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
RR "github.com/IBM/fp-go/internal/record"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
RR "github.com/ibm/fp-go/internal/record"
|
||||
)
|
||||
|
||||
// TraverseRecord transforms a record of options into an option of a record
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
// constructs a function that creates a resource, then operates on it and then releases the resource
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -3,9 +3,9 @@ package testing
|
||||
import (
|
||||
"testing"
|
||||
|
||||
ET "github.com/IBM/fp-go/either"
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
L "github.com/IBM/fp-go/internal/monad/testing"
|
||||
ET "github.com/ibm/fp-go/either"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
L "github.com/ibm/fp-go/internal/monad/testing"
|
||||
)
|
||||
|
||||
// AssertLaws asserts the apply monad laws for the `Either` monad
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package either
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
/*
|
||||
|
@@ -3,8 +3,8 @@ package either
|
||||
import (
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
2
eq/eq.go
2
eq/eq.go
@@ -1,7 +1,7 @@
|
||||
package eq
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
type Eq[T any] interface {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package eq
|
||||
|
||||
import (
|
||||
M "github.com/IBM/fp-go/monoid"
|
||||
S "github.com/IBM/fp-go/semigroup"
|
||||
M "github.com/ibm/fp-go/monoid"
|
||||
S "github.com/ibm/fp-go/semigroup"
|
||||
)
|
||||
|
||||
func Semigroup[A any]() S.Semigroup[Eq[A]] {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package testing
|
||||
|
||||
import (
|
||||
EQ "github.com/IBM/fp-go/eq"
|
||||
EQ "github.com/ibm/fp-go/eq"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -3,7 +3,7 @@ package errors
|
||||
import (
|
||||
"errors"
|
||||
|
||||
O "github.com/IBM/fp-go/option"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
)
|
||||
|
||||
// As tries to extract the error of desired type from the given error
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
F "github.com/IBM/fp-go/function"
|
||||
O "github.com/IBM/fp-go/option"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
O "github.com/ibm/fp-go/option"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package errors
|
||||
|
||||
import (
|
||||
F "github.com/IBM/fp-go/function"
|
||||
F "github.com/ibm/fp-go/function"
|
||||
)
|
||||
|
||||
var IdentityError = F.Identity[error]
|
||||
|
@@ -3,7 +3,7 @@ package errors
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
A "github.com/IBM/fp-go/array"
|
||||
A "github.com/ibm/fp-go/array"
|
||||
)
|
||||
|
||||
// OnNone generates a nullary function that produces a formatted error
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package exec
|
||||
|
||||
import (
|
||||
T "github.com/IBM/fp-go/tuple"
|
||||
T "github.com/ibm/fp-go/tuple"
|
||||
)
|
||||
|
||||
type (
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user