Swift Package Index

ProtoKit

https://github.com/moximillian/protokit.git

ProtoKit is a collection of protocols and extensions that make prototyping faster and easier with Swift programming language.


ProtoKit

license MIT Platform

ProtoKit is a collection of protocols and extensions that make prototyping faster and easier with Swift programming language

Package

ProtoKit is structured as a Package (Swift Package Manager, SPM), each swift file contains a specific feature / functionality.

Current features are:

  • SwiftUI Views
    • Arrow
    • Line
    • CircleShape (can be animated)
    • ProgressText (can be animated)
  • SwiftUI Extensions
    • uiHostingController
    • uiView
    • anyView
  • UIKit Extensions
    • Bundle
    • CGRect
    • UIApplication
    • UICollectionView
    • UIColor
    • UIImage
    • UIImageView
    • UILabel
    • UIStoryboard
    • UITableView
  • Closurable (UIControl, UIButton, UIBarButtonItem, UIPageControl, UIGestureRecognizer)
  • Configurable
  • CoreDataStack
  • SourcedError (Custom ErrorType)
  • KVO
  • NotificationService / TypedNotification (way to pass data via observing/notifying)
  • SegueHandlerType
  • SelfPresentable (casting as Self)
  • Unified Collection (factory and related methods for creating UITableViewDataSources and UICollectionViewDataSources)

Requirements

ProtoKit version 6.0 and later requires:

  • iOS 13+ or tvOS 13+ or MacOS 10.15+
  • Xcode 11.2 (Swift 5.1)
  • watchOS is not supported

Protocol naming conventions

Protocol types and naming conventions used in this framework:

  1. Can do => -able => Hashable, RawRepresentable, Equatable
  2. Is a => -Type => CollectionType, SequenceType, ErrorType
  3. Can be => -Convertible => FloatLiteralConvertible, CustomStringConvertible

Credits

Created and maintained by @moximillian.

Unified Collection inspired by

License

ProtoKit is released under an MIT License. See LICENSE for details.

Copyright © 2019-present Mox Soini.

Please provide attribution, it is greatly appreciated.