Categorygithub.com/tawesoft/golib/v2
module
2.16.0
Repository: https://github.com/tawesoft/golib.git
Documentation: pkg.go.dev

# README

tawesoft/golib

Go Reference Coverage Status

A monorepo for small Go (v1.21+) modules maintained by Tawesoft®, with few dependencies.

import "github.com/tawesoft/golib/v2/..."

This is free & open source software made available under the MIT Licence.

Some portions, particularly portions relating to CSS processing and Unicode support, are additionally covered by compatible MIT-like licences.

Packages

Note: "Stable" packages have the normal stability guarantees expected for a Go package of v2 or higher. "Latest" packages do not. See MIGRATIONS.md.

General Packages

NameStableLatestDescription
dialogv2-cross-platform message boxes & file pickers
iter-v2composable lazy iteration
ks-v2(unstable) "kitchen sink" of extras
mustv2-assertions
operatorv2-operators as functions
tuplev2-convert to/from tuples
viewv2-dynamic views over collections

TODO hyerlinks e.g. g01, g02, g03...

Data-Structures

NameStableLatestDescription
ds/bitseq-v2compact "infinite" sequence of bits
ds/genarray-v2generational array indices
ds/graph-v2(unstable) graphs
ds/matrix-v2specialised matrices of arbitrary size & dimensions

Functional-style Packages

NameStableLatestDescription
fun/eitherv2-"Either" type
fun/futurev2synchronous and asynchronous future values
fun/maybev2-"Maybe" type
fun/partialv2-partial function application
fun/promise-v2store computations to be performed later
fun/resultv2-"Result" type
fun/slicesv2-higher-order functions for slices

Math Packages

NameStableLatestDescription
bitwisev2-efficient operations on data up to a word in size

Text & Unicode Packages

NameStableLatestDescription
text/ccc-v2Unicode Canonical Combining Class values
text/dm-v2Unicode decomposition mappings & selective decompositions
text/fallback-v2Unicode Character Fallback Substitutions
text/fold-v2Unicode text folding
text/np-v2Unicode numeric properties
text/number/algorithmicv2-CLDR algorithmic (non-decimal) numbering systems
text/number/pluralsv2-CLDR plural rules with a simple interface
text/number/rbnf-v2CLDR Rule-Based Number Formats
text/number/symbols-v2CLDR locale-appropriate Number Symbols

Web

NameStableLatestDescription
css/tokenizer-v2CSS tokenizer for CSS Syntax Module Level 3
html/meta/opengraphv2-HTML meta tags for Facebook's Open Graph protocol
html/meta/twittercardv2-HTML meta tags for Twitter Cards

Legacy (TODO rewrites)

Note: Additional v2/legacy packages exist for users migrating from tawesoft.co.uk/go. See MIGRATIONS.md.

NameStableLatestDescription
drop-legacydrop process privileges and inherit handles
grace-legacystart and gracefully shutdown processes
humanize-legacylocale-aware numbers & quantities
loader-legacyconcurrent dependency graph solver

Support

Free and Community Support

Use the tawesoft/golib issue tracker, powered by GitHub issues.

Commercial Support

Open source software from Tawesoft® is backed by commercial support options. Email [email protected] or visit tawesoft.co.uk/products/open-source-software to learn more.

# Packages

No description provided by the author
Package dialog implements native, cross-platform message boxes, yes/no/okay/cancel confirmation prompts, file pickers, and others.
No description provided by the author
No description provided by the author
No description provided by the author
Package iter implements iteration over sequences, including lazy evaluation.
Package ks ("kitchen sink") implements assorted helpful things that don't fit anywhere else.
No description provided by the author
No description provided by the author
Package must implements assertions.
Package operator implements builtin language operators, such as "==" (equals) or "+" (addition), as functions that can be passed to higher order functions.
No description provided by the author
Package tuple simplifies packing and unpacking function arguments and results into generic tuple types.
Package view provides customisable abstractions over collections.