sas-ggdk

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2025 License: Apache-2.0

README

SAS Golang Generics Development Kit

Overview

A library for developing in go with generics. See the doc.go file in each package for information about that package.

Packages
Installation
go get github.com/sassoftware/sas-ggdk

Contributing

We welcome your contributions! Please read CONTRIBUTING.md for details on how to submit contributions to this project.

Clone
git clone https://github.com/sassoftware/sas-ggdk.git
cd sas-ggdk
Install tools

This project uses bingo for managing local tools. See the bingo project for instructions on installing bingo. Install supporting tools used by this project with

make tools
Run tests

Contributions must ensure linting and all tests continue to pass and any new code is covered.

make lint test

A coverage report can be produced in ./build/reports/coverage.html with the following commands.

make test-with-coverage
Commits

This project uses semantic versioning and conventional commits.

License

This project is licensed under the Apache 2.0 License.

Directories

Path Synopsis
internal
constants
Package constants defines the constants used by the library.
Package constants defines the constants used by the library.
pkg
collections
Package collections defines the collection interface types Collection and OrderedCollection.
Package collections defines the collection interface types Collection and OrderedCollection.
collections/bag
Package bag defines the Bag struct, an implementation of the Collection interface, and supporting functions.
Package bag defines the Bag struct, an implementation of the Collection interface, and supporting functions.
collections/list
Package list defines the List struct, an implementation of the Collection interface, and supporting functions.
Package list defines the List struct, an implementation of the Collection interface, and supporting functions.
collections/orderedlist
Package orderedlist defines the OrderedList struct, an implementation of the OrderedCollection interface, and supporting functions.
Package orderedlist defines the OrderedList struct, an implementation of the OrderedCollection interface, and supporting functions.
collections/set
Package set defines the Set struct, an implementation of the Collection interface, and supporting functions.
Package set defines the Set struct, an implementation of the Collection interface, and supporting functions.
condition
Package condition provides implementations of basic condition checks.
Package condition provides implementations of basic condition checks.
di
Package di provides a very small dependency injection framework for Go.
Package di provides a very small dependency injection framework for Go.
embedres
Package embedres provides utilities for working with embed.FS filesystems created by the go:embed directive.
Package embedres provides utilities for working with embed.FS filesystems created by the go:embed directive.
errors
Package errors provides a multi-error that is aware of the source location it was created.
Package errors provides a multi-error that is aware of the source location it was created.
filters
Package filters defines the filter API and a library of filter implementations.
Package filters defines the filter API and a library of filter implementations.
folders
Package folders defines the folders API and a library of folders implementations.
Package folders defines the folders API and a library of folders implementations.
jsonutils
Package jsonutils defines utilities for working with JSON.
Package jsonutils defines utilities for working with JSON.
lazy
Package lazy defines functions and types for implementing lazy initialization.
Package lazy defines functions and types for implementing lazy initialization.
maputils
Package maputils defines utilities for working with maps; before using this package, consider using the package "maps".
Package maputils defines utilities for working with maps; before using this package, consider using the package "maps".
maybe
Package maybe defines interfaces and structs for encapsulating a value (a Just) or an absent value (a Nothing).
Package maybe defines interfaces and structs for encapsulating a value (a Just) or an absent value (a Nothing).
pointer
Package pointer provides a mechanism for creating a pointer from expressions whose address cannot be directly taken.
Package pointer provides a mechanism for creating a pointer from expressions whose address cannot be directly taken.
processutils
Package processutils defines utilities for working with processes.
Package processutils defines utilities for working with processes.
result
Package result defines interfaces and structs for encapsulating a value or an error.
Package result defines interfaces and structs for encapsulating a value or an error.
sliceutils
Package sliceutils defines utilities for working with slices; before using this package, consider using the package "slices".
Package sliceutils defines utilities for working with slices; before using this package, consider using the package "slices".
stack
Package stack defines a simple stack container.
Package stack defines a simple stack container.
streamutils
Package streamutils defines utilities for working with streams.
Package streamutils defines utilities for working with streams.
stringutils
Package stringutils defines utilities for working with strings; before using this package, consider using the package "strings".
Package stringutils defines utilities for working with strings; before using this package, consider using the package "strings".
timeutils
Package timeutils defines utilities for working with time.
Package timeutils defines utilities for working with time.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳