Skip to content

Complex extension suite for Multiplatform  Stack (SwiftUI, Combine, SPM, Async/Await)

License

Notifications You must be signed in to change notification settings

przemek-jablonski/Casimir

Repository files navigation

Casimir

"Met it wooden 🪵 and made it brickwalled 🧱" (Casimir the Great)

Prebuilt and prepackaged code suite for rapid development using the multiplatform Apple Stack (SwiftUI, Combine, Concurrency)


Usage

Some of the features:

  • Easy architectural elements, like ModelProtocol, Randomable, Selectable and LocalizedString.
  • Out-of-the-box custom loggers, such as logger for sending diagnostic data to Firebase as non-fatals.
  • Custom Combine operators closing the gap with Rx*, such as WithPrevious, PreventCompletion, Single, On or Retry.
  • Streamlining API for testing Publisher streams using TestScheduler and TestSequence.
  • Hundreds of extensions to Apple's Foundation, including custom Math operations like lerp and also LoremIpsums, CURL or Errors.
  • Expanding core Apple APIs with reactive Combine support
  • and more...

Installation

Add dependency to the project:

dependencies: [
    ...
    .package(url: "https://github.com/przemek-jablonski/Casimir.git", exact: "6.0.0")
]

Enable core library (Casimir):

.target(
    name: "YourLibrary",
    dependencies: [
        .product(name: "Casimir", package: "Casimir"),
    ]
),

Enable testing library (Testimir):

.testTarget(
    name: "YourLibraryTests",
    dependencies: [
        .product(name: "Testimir", package: "Casimir"),
    ]
),

Platform Availability

 iOS 15.0
 iPadOS 15.0
 tvOS 15.0
 macOS 12.0
 watchOS 8.0

also compliant with  Mac Catalyst


About

Complex extension suite for Multiplatform  Stack (SwiftUI, Combine, SPM, Async/Await)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages