Zero-dependency standard types for Garrity Software projects.
Find a file
Pat Garrity 2771c42969
All checks were successful
/ Build and Release Library (push) Successful in 2m18s
(patch) Allow builds without full coverage for now. (#1)
Reviewed-on: #1
2026-05-07 02:59:46 +00:00
.forgejo/workflows Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
modules (patch) first useful build of the library 2026-05-06 21:53:05 -05:00
project Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
.gitignore Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
.pre-commit-config.yaml Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
.scalafmt.conf Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
build.sbt (patch) Allow builds without full coverage for now. (#1) 2026-05-07 02:59:46 +00:00
LICENSE Initializing the repository with some basic types. 2026-04-25 22:46:11 -05:00
README.md (patch) first useful build of the library 2026-05-06 21:53:05 -05:00

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.