Swiftpack.co - przemek-jablonski/Casimir as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by przemek-jablonski.
przemek-jablonski/Casimir 5.0.0
Complex extension suite for Multiplatform  Stack (SwiftUI, Combine, SPM)
⭐️ 1
🕓 7 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/przemek-jablonski/Casimir.git", from: "5.0.0")


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

Complex extension suite for rapid development using the multiplatform Apple Stack (SwiftUI, Combine)


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...


Add dependency to the project:

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

Enable core library (Casimir):

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

Enable testing library (Testimir):

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

Platform Availability

 iOS 14.0
 iPadOS 14.0
 tvOS 14.0
 macOS 11.0
 watchOS 7.0

also compliant with  Mac Catalyst

Configure Casimir as a global import

  1. Create new Objective-C header file (.h),
  2. Add #import <Casimir/Casimir.h> at the very top,
  3. Go to Project's Build Settings, set tab to All | Combined,
  4. In section Swift Compiler - General find entry Objective-C Bridging Header and add your new Header file (if placed in main project folder, then appname/AppName-BridgingHeader.h),
  5. Ensure that this entry is added for both Debug and Release and that Precompile Bridging Header is set to YES,
  6. Done!


Stars: 1
Last commit: 2 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

7 weeks ago

What's Changed

  • Removed redundant dependencies
  • Added Color+UIKit extensions

Full Changelog: https://github.com/przemek-jablonski/Casimir/compare/4.3.0...5.0.0

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics