Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.prism.byescaleira.com/llms.txt

Use this file to discover all available pages before exploring further.

Utilities

PrismFoundation includes a set of lightweight utilities for common tasks — persistent storage, date formatting, file management, localization, and convenient Swift extensions.

PrismDefaults

A UserDefaults wrapper with Codable type support. Uses a dedicated "prism.defaults" suite by default.
Storing and Retrieving Values
import PrismFoundation

let defaults = PrismDefaults()

// Store a Codable value
struct Settings: Codable {
    var theme: String
    var fontSize: Int
}

let settings = Settings(theme: "dark", fontSize: 14)
defaults.set(settings, for: "userSettings")

// Retrieve it later
let saved: Settings? = defaults.get(for: "userSettings")
print(saved?.theme) // "dark"

// Remove a key
defaults.set(nil as Settings?, for: "userSettings")
Pass a custom UserDefaults instance via PrismDefaults(userDefaults:) for app groups or testing.

PrismDateFormatter

Utilities for consistent date formatting across your app.
Date Formatting
import PrismFoundation

let formatter = PrismDateFormatter()
// Format dates using predefined styles

PrismFileManager

File system operations with a Prism-native API.
File Operations
import PrismFoundation

let fileManager = PrismFileManager()
// Read, write, and manage files

PrismFilePrivacy

File protection levels for sensitive data on disk.
File Privacy
import PrismFoundation

let privacy = PrismFilePrivacy()
// Set protection levels on files

PrismBundle

Access to bundle resources (strings, images, data files) through a typed API.
Bundle Access
import PrismFoundation

let bundle = PrismBundle()
// Load resources from the app bundle

Locale Handling

PrismLocale and PrismLocaleManager provide locale-aware formatting and management.
Locale Management
import PrismFoundation

let localeManager = PrismLocaleManager()
// Manage app locale, format numbers and currencies

Extensions

PrismFoundation extends common Swift types with convenience methods:

Array Extensions

Safe subscript access, chunking, unique filtering, and more.

String Extensions

Trimming, regex matching, slug generation, and encoding utilities.

Data Extensions

Hex encoding, hashing shortcuts, and Codable helpers.

Date Extensions

Relative date formatting, component extraction, and comparison helpers.

Encodable Extensions

.data() and .json properties for quick JSON serialization.

Numeric Extensions

BinaryInteger and BinaryFloatingPoint formatting, clamping, and conversion helpers.
Extension Examples
import PrismFoundation

// Encodable → JSON string
let user = User(id: UUID(), name: "Alice", email: "alice@example.com")
let json = try user.json  // JSON string

// Encodable → Data
let data = try user.data() // JSON Data