gnlib

package module
v0.52.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 7 Imported by: 7

README

gnlib

A miscellaneous collection of entities shared between GNA Go projects

gnver: a project version

matcher: input and output of for gnmatcher service.

reconciler: manifest, input and output for gnames reconciler service.

verifier: entities for gnames verification service.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChunkChannel added in v0.46.0

func ChunkChannel[T any](ctx context.Context, input <-chan T, chunkSize int) <-chan []T

ChunkChannel reads from an input channel and sends slices (chunks) of up to `chunkSize` items to an output channel. If the input channel is closed, any remaining items are sent as a final slice. The output channel is closed after all data is processed.

Parameters:

  • `ctx`: Context for cancellation.
  • `input`: Input channel.
  • `chunkSize`: Max items per chunk.

Returns:

  • Output channel with slices of items.

Example:

input := make(chan int)
go func() { for i := 1; i <= 10; i++ { input <- i }; close(input) }()
chunked := ChunkChannel(context.Background(), input, 3)
for chunk := range chunked { fmt.Println(chunk) }
// Output: [1 2 3] [4 5 6] [7 8 9] [10]

func CmpVersion added in v0.44.0

func CmpVersion(a, b string) int

CmpVersion compares two semantic versions (eg v0.1.3 vs v0.2.0) as a and b. It returns 0 if the versions are equal, 1 if a is greater than b, and -1 if a is less than b. The version strings are expected to be in a format that can be split into integer components for comparison, such as "1.2.3" or "1.0.0".

func FilterFunc added in v0.32.0

func FilterFunc[T any](s []T, f func(T) bool) []T

Filter returns a new slice containing only the elements of s for which filter function returns true.

func FixUtf8 added in v0.49.0

func FixUtf8(s string) string

FixUtf8 cleans a string by replacing invalid UTF-8 sequences with U+FFFD and normalizing to NFC.

func LangCode added in v0.33.0

func LangCode(lang string) string

func LangName added in v0.33.0

func LangName(code string) string

func Map

func Map[T any, U any](s []T, f func(T) U) []U

Map applies a function to each element of a slice and returns a new slice in the same order.

func SliceMap added in v0.45.0

func SliceMap[T comparable](s []T) map[T]int

SliceMap takes a slice and returns back a lookup map which allows to find index for each element of the slice. If the value happens several times in the slice, the index corresponds to the first matching element.

Types

This section is empty.

Directories

Path Synopsis
ent
nomcode
Package nomcode provides types and functions for nomenclatural codes.
Package nomcode provides types and functions for nomenclatural codes.
reconciler
package reconciler describes entities for implementation of a Reconciliation Service API v0.2 https://www.w3.org/community/reports/reconciliation/CG-FINAL-specs-0.2-20230410/
package reconciler describes entities for implementation of a Reconciliation Service API v0.2 https://www.w3.org/community/reports/reconciliation/CG-FINAL-specs-0.2-20230410/

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL