gs-std/README.md
Pat Garrity 1f43c9815e
Some checks failed
/ Build and Release Library (push) Failing after 2m4s
(patch) first useful build of the library
2026-05-06 21:53:05 -05:00

1.7 KiB

gs-std

GS Open Source | License (Apache 2.0)

Garrity Software standard types and operations with minimal dependencies.

Usage

This artifact is available in the Garrity Software Maven repository.

externalResolvers +=
  "Garrity Software Releases" at "https://maven.garrity.co/releases"

// No Dependencies
val GsStdCore: ModuleID =
  "gs" %% "gs-std-core-v0" % "$VERSION"

// Depends on Cats Effect and Fs2
val GsStdIO: ModuleID =
  "gs" %% "gs-std-io-v0" % "$VERSION"

// Depends on Cats Effect and Fs2
val GsStdEffect: ModuleID =
  "gs" %% "gs-std-effect-v0" % "$VERSION"

Core Module

Provides standard types, wrappers, and tools.

  • Common semantic types (e.g. CreatedAt).
  • Encoding and representing encoded data.
  • Hashing algorithms and representing hashes.
  • Reasoning about bytes and blobs.

I/O Module

File Helpers

Files: These provide support for reading and writing files. Provides wrapping around java.nio.file.Files.

Note that for streaming operations, fs2.io provides everything conveniently and does not benefit from wrapping.

Resource Helpers

These provide support for reading files from packaged resource directories (e.g. src/main/resources).

Effect Module

This module relies on the Core Module and takes advantage of the types defined therein.

Random Numbers

Rng[F[_]]: Effectful random number generator with creation/testing helpers.

Dates and Times

DateTimeProvider[F[_]]: Effectful provider for dates and times. Provides an implementation based on clock injection. Helps to decouple date/time use from static methods.