golib

module
v2.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2024 License: MIT

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
Name Stable Latest Description
dialog v2 - cross-platform message boxes & file pickers
iter - v2 composable lazy iteration
ks - v2 (unstable) "kitchen sink" of extras
must v2 - assertions
operator v2 - operators as functions
tuple v2 - convert to/from tuples
view v2 - dynamic views over collections
Data-Structures
Name Stable Latest Description
ds/bitseq - v2 compact "infinite" sequence of bits
ds/genarray - v2 generational array indices
ds/graph - v2 (unstable) graphs
ds/matrix - v2 specialised matrices of arbitrary size & dimensions
Functional-style Packages
Name Stable Latest Description
fun/either v2 - "Either" type
fun/future v2 synchronous and asynchronous future values
fun/maybe v2 - "Maybe" type
fun/partial v2 - partial function application
fun/promise - v2 store computations to be performed later
fun/result v2 - "Result" type
fun/slices v2 - higher-order functions for slices
Math Packages
Name Stable Latest Description
bitwise v2 - efficient operations on data up to a word in size
Text & Unicode Packages
Name Stable Latest Description
text/ccc - v2 Unicode Canonical Combining Class values
text/dm - v2 Unicode decomposition mappings & selective decompositions
text/fallback - v2 Unicode Character Fallback Substitutions
text/fold - v2 Unicode text folding
text/np - v2 Unicode numeric properties
text/number/algorithmic v2 - CLDR algorithmic (non-decimal) numbering systems
text/number/plurals v2 - CLDR plural rules with a simple interface
text/number/rbnf - v2 CLDR Rule-Based Number Formats
text/number/symbols - v2 CLDR locale-appropriate Number Symbols
Web
Name Stable Latest Description
css/tokenizer - v2 CSS tokenizer for CSS Syntax Module Level 3
html/meta/opengraph v2 - HTML meta tags for Facebook's Open Graph protocol
html/meta/twittercard v2 - 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.

Name Stable Latest Description
drop - legacy drop process privileges and inherit handles
grace - legacy start and gracefully shutdown processes
humanize - legacy locale-aware numbers & quantities
loader - legacy concurrent 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 opensource@tawesoft.co.uk or visit tawesoft.co.uk/products/open-source-software to learn more.

Directories

Path Synopsis
css
color
Package color implements parsing, formatting, and manipulating CSS colours based on the [CSS Color Module Level 4] (W3C Candidate Recommendation Draft), 1 November 2022.
Package color implements parsing, formatting, and manipulating CSS colours based on the [CSS Color Module Level 4] (W3C Candidate Recommendation Draft), 1 November 2022.
internal/parser/item
Package item defines CSS items in the tree produced by a parser.
Package item defines CSS items in the tree produced by a parser.
tokenizer
Package tokenizer tokenizes CSS based on part four of the [CSS Syntax Module Level 3] (W3C Candidate Recommendation Draft), 24 December 2021.
Package tokenizer tokenizes CSS based on part four of the [CSS Syntax Module Level 3] (W3C Candidate Recommendation Draft), 24 December 2021.
tokenizer/filter
Package filter implements a [transform.Transformer] that performs the Unicode code point filtering preprocessing step defined in [CSS Syntax Module Level 3, section 3.3]:
Package filter implements a [transform.Transformer] that performs the Unicode code point filtering preprocessing step defined in [CSS Syntax Module Level 3, section 3.3]:
tokenizer/token
Package token defines CSS tokens produced by a tokenizer.
Package token defines CSS tokens produced by a tokenizer.
Package dialog implements native, cross-platform message boxes, yes/no/okay/cancel confirmation prompts, file pickers, and others.
Package dialog implements native, cross-platform message boxes, yes/no/okay/cancel confirmation prompts, file pickers, and others.
ds
bitseq
Package bitseq efficiently implements a general-purpose infinite sequence of bits.
Package bitseq efficiently implements a general-purpose infinite sequence of bits.
genarray
Package genarray implements a generational array data structure.
Package genarray implements a generational array data structure.
graph
Package graph implements general-purpose graph algorithms.
Package graph implements general-purpose graph algorithms.
matrix
Package matrix implements several different data structures for efficiently representing large matrices of arbitrary size and dimensionality.
Package matrix implements several different data structures for efficiently representing large matrices of arbitrary size and dimensionality.
matrix/dimensions
Package dimensions implements an interface and concrete types for indexing a matrix of values along an arbitrary number of dimensions.
Package dimensions implements an interface and concrete types for indexing a matrix of values along an arbitrary number of dimensions.
fun
either
Package either implements a simple generic "Either" type that can represent exactly one value out of two options.
Package either implements a simple generic "Either" type that can represent exactly one value out of two options.
future
Package future implements "Futures", which represent a placeholder handle for a value that may not yet be ready, but is (eventually) computed by a promise.
Package future implements "Futures", which represent a placeholder handle for a value that may not yet be ready, but is (eventually) computed by a promise.
maybe
Package maybe implements a M{value, ok} "sum type" that has a value only when ok is true.
Package maybe implements a M{value, ok} "sum type" that has a value only when ok is true.
partial
Package partial provides helpers for partial function application.
Package partial provides helpers for partial function application.
promise
Package promise implements a simple Promise type that can be used to represent a computation to be performed at a later stage.
Package promise implements a simple Promise type that can be used to represent a computation to be performed at a later stage.
result
Package result implements a R{value, error} "sum type" that has a value only when error is nil.
Package result implements a R{value, error} "sum type" that has a value only when error is nil.
slices
Package slices provides generic higher-order functions over slices of values.
Package slices provides generic higher-order functions over slices of values.
html
meta/opengraph
Package opengraph implements a way to represent data in the Open Graph protocol as typed Go structs, and render it as HTML meta tags.
Package opengraph implements a way to represent data in the Open Graph protocol as typed Go structs, and render it as HTML meta tags.
meta/twittercard
Package twittercard implements a way to represent Twitter Cards Markup data as typed Go structs, and render it as HTML meta tags, to customise how a page looks when shared on Twitter.
Package twittercard implements a way to represent Twitter Cards Markup data as typed Go structs, and render it as HTML meta tags, to customise how a page looks when shared on Twitter.
internal
unicode/gen-13.0.0/ccc
Command gen.go generates Canonical Combining Class information
Command gen.go generates Canonical Combining Class information
unicode/gen-13.0.0/dm
Command gen.go generates decomposition mappings from Unicode data.
Command gen.go generates decomposition mappings from Unicode data.
unicode/gen-13.0.0/fallback
Command gen.go generates a mapping from the first character of a decomposition to an ordered list of codepoints whose decomposition starts with that first character.
Command gen.go generates a mapping from the first character of a decomposition to an ordered list of codepoints whose decomposition starts with that first character.
unicode/gen-13.0.0/np
Command gen.go generates Numeric Properties information
Command gen.go generates Numeric Properties information
unicode/gen-cldr-41.0/fallback
Command gen.go generates a list of Unicode fallback substitutions
Command gen.go generates a list of Unicode fallback substitutions
unicode/ldml
Package ldml parses LDML documents containing either language-dependent data or supplementary data.
Package ldml parses LDML documents containing either language-dependent data or supplementary data.
Package iter implements iteration over sequences, including lazy evaluation.
Package iter implements iteration over sequences, including lazy evaluation.
Package ks ("kitchen sink") implements assorted helpful things that don't fit anywhere else.
Package ks ("kitchen sink") implements assorted helpful things that don't fit anywhere else.
legacy
humanize
Package humanize is an elegant, general-purpose, extensible, modular, locale-aware way to format and parse numbers and quantities - like distances, bytes, and time - in a human-readable way ideal for config files and as a building-block for fully translated ergonomic user interfaces.
Package humanize is an elegant, general-purpose, extensible, modular, locale-aware way to format and parse numbers and quantities - like distances, bytes, and time - in a human-readable way ideal for config files and as a building-block for fully translated ergonomic user interfaces.
localize
Package localize is an attempt at implementing locale-aware parsing of numbers, integrating with golang.org/x/text.
Package localize is an attempt at implementing locale-aware parsing of numbers, integrating with golang.org/x/text.
operator
Package operator implements logical, arithmetic, bitwise and comparison operators as functions (like the Python operator module).
Package operator implements logical, arithmetic, bitwise and comparison operators as functions (like the Python operator module).
math
Package must implements assertions.
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.
Package operator implements builtin language operators, such as "==" (equals) or "+" (addition), as functions that can be passed to higher order functions.
checked
Package checked (operator/checked) implements operations bounded by limits that are robust in the event of integer overflow.
Package checked (operator/checked) implements operations bounded by limits that are robust in the event of integer overflow.
text
ccc
Package ccc returns the Unicode [Canonical Combining Class] value for a codepoint.
Package ccc returns the Unicode [Canonical Combining Class] value for a codepoint.
dm
Package dm provides a way to query Unicode decomposition mappings and perform a custom compatibility decomposition using [compatibility mapping tags].
Package dm provides a way to query Unicode decomposition mappings and perform a custom compatibility decomposition using [compatibility mapping tags].
fallback
Package fallback implements [Unicode Character Fallback Substitutions] using the Unicode CLDR 41.0 supplemental data file characters.xml, and an algorithm for enumerating every canonically equivalent string.
Package fallback implements [Unicode Character Fallback Substitutions] using the Unicode CLDR 41.0 supplemental data file characters.xml, and an algorithm for enumerating every canonically equivalent string.
fold
Package fold implements operations that map similar characters to a common target.
Package fold implements operations that map similar characters to a common target.
np
Package np provides a way to query the Numeric Properties of a Unicode code point.
Package np provides a way to query the Numeric Properties of a Unicode code point.
number/algorithmic
Package algorithmic implements parsing and formatting of common non-decimal number systems, such as roman numerals and traditional tamil numbers.
Package algorithmic implements parsing and formatting of common non-decimal number systems, such as roman numerals and traditional tamil numbers.
number/plurals
Package plurals is an easy-to-use wrapper around the /x/text/feature/plural package.
Package plurals is an easy-to-use wrapper around the /x/text/feature/plural package.
number/rbnf
Package rbnf is a Go implementation of the Unicode Locale Data Markup Language (LDML) [Rule-Based Number Format (RBNF)].
Package rbnf is a Go implementation of the Unicode Locale Data Markup Language (LDML) [Rule-Based Number Format (RBNF)].
number/rbnf/internal/body
Package body implements parsing of a rbnf rule body.
Package body implements parsing of a rbnf rule body.
number/rbnf/internal/descriptor
Package descriptor parses a RNBF rule descriptor.
Package descriptor parses a RNBF rule descriptor.
number/symbols
Package symbols contains the [CLDR number symbols], such as the decimal point and the minus sign, for different locales.
Package symbols contains the [CLDR number symbols], such as the decimal point and the minus sign, for different locales.
runeio
Package runeio implements a mechanism to read a stream of Unicode code points (runes) from an io.Reader, with an internal buffer to push code points back to the front of the stream to allow limited peeking and rewind.
Package runeio implements a mechanism to read a stream of Unicode code points (runes) from an io.Reader, with an internal buffer to push code points back to the front of the stream to allow limited peeking and rewind.
Package tuple simplifies packing and unpacking function arguments and results into generic tuple types.
Package tuple simplifies packing and unpacking function arguments and results into generic tuple types.
Package view provides customisable abstractions over collections.
Package view provides customisable abstractions over collections.

Jump to

Keyboard shortcuts

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