Utilities


Environments

String constants for common environment names.

using Grondo.Utilities;

string env = Environments.Local; // "local"
// Also: Environments.Dev, Environments.Test, Environments.Uat, Environments.Prod

Typically used with ASP.NET Core host configuration:

if (builder.Environment.EnvironmentName == Environments.Prod)
    builder.Services.AddProductionLogging();

StringFactory

Generates unique string identifiers.

using Grondo.Utilities;

string id = StringFactory.UniqueString;
// e.g. "a3f5b2c8d1e94f6789abcdef01234567" (32 hex digits, no hyphens)

// Each access generates a new value
string id2 = StringFactory.UniqueString; // different from id

// Generate random strings of a specific length and character set
string code = StringFactory.CreateAlphabeticString(8); // "XjmnQpWe"
string pin  = StringFactory.CreateNumericString(6);    // "405291"
string hash = StringFactory.CreateHexString(16);       // "a3f5b2c8d1e94f67"

JsonDefaults

Pre-configured JsonSerializerOptions instances for consistent serialization.

using Grondo.Utilities;
using System.Text.Json;

// Standard presets (cached, reused across calls)
JsonSerializer.Serialize(model, JsonDefaults.CamelCase);   // camelCase property names
JsonSerializer.Serialize(model, JsonDefaults.SnakeCase);   // snake_case property names
JsonSerializer.Serialize(model, JsonDefaults.NoNulls);     // omit null values
JsonSerializer.Serialize(model, JsonDefaults.Indented);    // pretty-printed
JsonSerializer.Serialize(model, JsonDefaults.Web);         // camelCase + no-nulls + Web defaults

JsonSerializer.Deserialize<T>(json, JsonDefaults.CaseInsensitive); // loose property matching

Do not mutate the returned options; create your own JsonSerializerOptions if different configuration is required.