├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .opensource └── project.json ├── .swiftpm └── xcode │ └── package.xcworkspace │ └── contents.xcworkspacedata ├── Ballcap.png ├── Ballcap.podspec ├── Ballcap.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ ├── IDEWorkspaceChecks.plist │ └── swiftpm │ └── Package.resolved ├── Demo ├── Demo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Demo │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── ContentView.swift │ ├── DemoApp.swift │ ├── File+View.swift │ ├── ImagePicker.swift │ ├── Info.plist │ ├── Models │ ├── Item.swift │ ├── ItemDataSource.swift │ └── User.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── UserEditView.swift │ └── UserView.swift ├── LICENSE ├── Package.resolved ├── Package.swift ├── Podfile ├── Podfile.lock ├── README.md ├── Sources └── Ballcap │ ├── Batch.swift │ ├── Codable │ └── File+Codable.swift │ ├── DataCacheable.swift │ ├── DataListenable.swift │ ├── DataRepresentable.swift │ ├── DataSource.swift │ ├── Disposer.swift │ ├── Document.swift │ ├── DocumentCache.swift │ ├── Documentable.swift │ ├── File │ ├── File.swift │ ├── FileCache.swift │ ├── FileManager.swift │ └── FileRepresentable.swift │ ├── HierarchicalStructurable.swift │ ├── IncrementableNumber.swift │ ├── Object.swift │ ├── OperableArray.swift │ ├── Query.swift │ ├── Referencable.swift │ ├── ServerTimestamp.swift │ ├── Storage │ ├── StorageBatch.swift │ └── StorageTaskStore.swift │ └── Timestamp+.swift ├── Tests └── BallcapTests │ ├── BallcapTests.swift │ ├── CodableDocumentTests.swift │ ├── CodableFileTests.swift │ ├── DataSourceTests.swift │ ├── DisposeBagTests.swift │ ├── DocumentCacheTests.swift │ ├── DocumentTests.swift │ ├── FileTests.swift │ ├── HierarchicalStructurableTests.swift │ ├── ModelableTests.swift │ ├── ObjectTests.swift │ ├── QueryTests.swift │ ├── StorageBatchTests.swift │ └── TestHelper.swift ├── _config.yml └── icon.sketch /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.gitignore -------------------------------------------------------------------------------- /.opensource/project.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.opensource/project.json -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Ballcap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Ballcap.png -------------------------------------------------------------------------------- /Ballcap.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Ballcap.podspec -------------------------------------------------------------------------------- /Ballcap.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Ballcap.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Ballcap.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Ballcap.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Ballcap.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Ballcap.xcworkspace/xcshareddata/swiftpm/Package.resolved -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Demo/Demo/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/ContentView.swift -------------------------------------------------------------------------------- /Demo/Demo/DemoApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/DemoApp.swift -------------------------------------------------------------------------------- /Demo/Demo/File+View.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/File+View.swift -------------------------------------------------------------------------------- /Demo/Demo/ImagePicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/ImagePicker.swift -------------------------------------------------------------------------------- /Demo/Demo/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Info.plist -------------------------------------------------------------------------------- /Demo/Demo/Models/Item.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Models/Item.swift -------------------------------------------------------------------------------- /Demo/Demo/Models/ItemDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Models/ItemDataSource.swift -------------------------------------------------------------------------------- /Demo/Demo/Models/User.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Models/User.swift -------------------------------------------------------------------------------- /Demo/Demo/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/UserEditView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/UserEditView.swift -------------------------------------------------------------------------------- /Demo/Demo/UserView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Demo/Demo/UserView.swift -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Package.swift -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Podfile -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Podfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/README.md -------------------------------------------------------------------------------- /Sources/Ballcap/Batch.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Batch.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Codable/File+Codable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Codable/File+Codable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/DataCacheable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/DataCacheable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/DataListenable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/DataListenable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/DataRepresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/DataRepresentable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/DataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/DataSource.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Disposer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Disposer.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Document.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Document.swift -------------------------------------------------------------------------------- /Sources/Ballcap/DocumentCache.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/DocumentCache.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Documentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Documentable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/File/File.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/File/File.swift -------------------------------------------------------------------------------- /Sources/Ballcap/File/FileCache.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/File/FileCache.swift -------------------------------------------------------------------------------- /Sources/Ballcap/File/FileManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/File/FileManager.swift -------------------------------------------------------------------------------- /Sources/Ballcap/File/FileRepresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/File/FileRepresentable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/HierarchicalStructurable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/HierarchicalStructurable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/IncrementableNumber.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/IncrementableNumber.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Object.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Object.swift -------------------------------------------------------------------------------- /Sources/Ballcap/OperableArray.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/OperableArray.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Query.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Query.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Referencable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Referencable.swift -------------------------------------------------------------------------------- /Sources/Ballcap/ServerTimestamp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/ServerTimestamp.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Storage/StorageBatch.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Storage/StorageBatch.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Storage/StorageTaskStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Storage/StorageTaskStore.swift -------------------------------------------------------------------------------- /Sources/Ballcap/Timestamp+.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Sources/Ballcap/Timestamp+.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/BallcapTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/BallcapTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/CodableDocumentTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/CodableDocumentTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/CodableFileTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/CodableFileTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/DataSourceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/DataSourceTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/DisposeBagTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/DisposeBagTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/DocumentCacheTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/DocumentCacheTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/DocumentTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/DocumentTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/FileTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/FileTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/HierarchicalStructurableTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/HierarchicalStructurableTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/ModelableTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/ModelableTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/ObjectTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/ObjectTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/QueryTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/QueryTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/StorageBatchTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/StorageBatchTests.swift -------------------------------------------------------------------------------- /Tests/BallcapTests/TestHelper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/Tests/BallcapTests/TestHelper.swift -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/_config.yml -------------------------------------------------------------------------------- /icon.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1amageek/Ballcap-iOS/HEAD/icon.sketch --------------------------------------------------------------------------------