├── .bundle └── config ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .ruby-version ├── .travis.yml ├── CONTRIBUTING.md ├── Examples ├── Playground.playground │ ├── Pages │ │ └── Usage.xcplaygroundpage │ │ │ └── Contents.swift │ ├── contents.xcplayground │ └── playground.xcworkspace │ │ └── contents.xcworkspacedata ├── SimpleSourceExample.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── SimpleSourceExample.xcscheme ├── SimpleSourceExample.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── SimpleSourceExample │ ├── AppDelegate.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── CharacterLoader.swift │ ├── CharacterModel.xcdatamodeld │ └── CharacterModel.xcdatamodel │ │ └── contents │ ├── CharacterTableViewController.swift │ ├── ColorGridCell.swift │ ├── ColorGridHeader.swift │ ├── ColorGridViewController.swift │ ├── ColorLoader.swift │ ├── ColorTableCell.swift │ ├── ColorTableHeader.swift │ ├── ColorTableViewController.swift │ ├── Colors.swift │ ├── CoreDataStack.swift │ ├── CustomHeaderFooterColorTableViewController.swift │ ├── EditableColorTableViewController.swift │ ├── HeaderColorGridViewController.swift │ ├── Info.plist │ ├── ItemListTableViewController.swift │ ├── ReorderingColorGridViewController.swift │ ├── TextHeaderFooterColorTableViewController.swift │ ├── characters.json │ └── colors.json ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── SimpleSource.podspec ├── Sources └── SimpleSource │ ├── BasicData │ ├── BasicDataSource.swift │ └── BasicSection.swift │ ├── CoreData │ ├── CoreDataSource.swift │ └── FetchDelegate.swift │ ├── DataSource.swift │ ├── UICollectionView │ ├── CollectionViewDataSource.swift │ ├── CollectionViewFactory.swift │ ├── CollectionViewReorderingDelegate.swift │ └── UICollectionView+Updates.swift │ ├── UITableView │ ├── TableViewDataSource.swift │ ├── TableViewEditingDelegate.swift │ ├── TableViewFactory.swift │ ├── TableViewReorderingDelegate.swift │ └── UITableView+Updates.swift │ ├── Updates.swift │ └── Utils │ ├── Array+Extensions.swift │ └── Diff.swift ├── Tests └── SimpleSourceTests │ ├── BasicDataSourceTests.swift │ ├── CoreDataSourceTests.swift │ ├── IndexedUpdateHandlerTests.swift │ ├── Resources │ └── TestModel.xcdatamodeld │ │ └── TestModel.xcdatamodel │ │ └── contents │ └── UIKitViewUpdateTests.swift ├── Web ├── SimpleSource-figures.key ├── chart.png └── employee-table.png └── codecov.yml /.bundle/config: -------------------------------------------------------------------------------- 1 | --- 2 | BUNDLE_PATH: "vendor/bundle" 3 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/.gitignore -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.2 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/.travis.yml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Examples/Playground.playground/Pages/Usage.xcplaygroundpage/Contents.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/Playground.playground/Pages/Usage.xcplaygroundpage/Contents.swift -------------------------------------------------------------------------------- /Examples/Playground.playground/contents.xcplayground: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/Playground.playground/contents.xcplayground -------------------------------------------------------------------------------- /Examples/Playground.playground/playground.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/Playground.playground/playground.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Examples/SimpleSourceExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Examples/SimpleSourceExample.xcodeproj/xcshareddata/xcschemes/SimpleSourceExample.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample.xcodeproj/xcshareddata/xcschemes/SimpleSourceExample.xcscheme -------------------------------------------------------------------------------- /Examples/SimpleSourceExample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Examples/SimpleSourceExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/AppDelegate.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/CharacterLoader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/CharacterLoader.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/CharacterModel.xcdatamodeld/CharacterModel.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/CharacterModel.xcdatamodeld/CharacterModel.xcdatamodel/contents -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/CharacterTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/CharacterTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorGridCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorGridCell.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorGridHeader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorGridHeader.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorGridViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorGridViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorLoader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorLoader.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorTableCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorTableCell.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorTableHeader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorTableHeader.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ColorTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ColorTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/Colors.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/Colors.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/CoreDataStack.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/CoreDataStack.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/CustomHeaderFooterColorTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/CustomHeaderFooterColorTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/EditableColorTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/EditableColorTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/HeaderColorGridViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/HeaderColorGridViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/Info.plist -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ItemListTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ItemListTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/ReorderingColorGridViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/ReorderingColorGridViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/TextHeaderFooterColorTableViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/TextHeaderFooterColorTableViewController.swift -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/characters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/characters.json -------------------------------------------------------------------------------- /Examples/SimpleSourceExample/colors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Examples/SimpleSourceExample/colors.json -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/README.md -------------------------------------------------------------------------------- /SimpleSource.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/SimpleSource.podspec -------------------------------------------------------------------------------- /Sources/SimpleSource/BasicData/BasicDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/BasicData/BasicDataSource.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/BasicData/BasicSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/BasicData/BasicSection.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/CoreData/CoreDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/CoreData/CoreDataSource.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/CoreData/FetchDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/CoreData/FetchDelegate.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/DataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/DataSource.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UICollectionView/CollectionViewDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UICollectionView/CollectionViewDataSource.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UICollectionView/CollectionViewFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UICollectionView/CollectionViewFactory.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UICollectionView/CollectionViewReorderingDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UICollectionView/CollectionViewReorderingDelegate.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UICollectionView/UICollectionView+Updates.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UICollectionView/UICollectionView+Updates.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UITableView/TableViewDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UITableView/TableViewDataSource.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UITableView/TableViewEditingDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UITableView/TableViewEditingDelegate.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UITableView/TableViewFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UITableView/TableViewFactory.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UITableView/TableViewReorderingDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UITableView/TableViewReorderingDelegate.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/UITableView/UITableView+Updates.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/UITableView/UITableView+Updates.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/Updates.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/Updates.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/Utils/Array+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/Utils/Array+Extensions.swift -------------------------------------------------------------------------------- /Sources/SimpleSource/Utils/Diff.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Sources/SimpleSource/Utils/Diff.swift -------------------------------------------------------------------------------- /Tests/SimpleSourceTests/BasicDataSourceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Tests/SimpleSourceTests/BasicDataSourceTests.swift -------------------------------------------------------------------------------- /Tests/SimpleSourceTests/CoreDataSourceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Tests/SimpleSourceTests/CoreDataSourceTests.swift -------------------------------------------------------------------------------- /Tests/SimpleSourceTests/IndexedUpdateHandlerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Tests/SimpleSourceTests/IndexedUpdateHandlerTests.swift -------------------------------------------------------------------------------- /Tests/SimpleSourceTests/Resources/TestModel.xcdatamodeld/TestModel.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Tests/SimpleSourceTests/Resources/TestModel.xcdatamodeld/TestModel.xcdatamodel/contents -------------------------------------------------------------------------------- /Tests/SimpleSourceTests/UIKitViewUpdateTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Tests/SimpleSourceTests/UIKitViewUpdateTests.swift -------------------------------------------------------------------------------- /Web/SimpleSource-figures.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Web/SimpleSource-figures.key -------------------------------------------------------------------------------- /Web/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Web/chart.png -------------------------------------------------------------------------------- /Web/employee-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/Web/employee-table.png -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Squarespace/simple-source/HEAD/codecov.yml --------------------------------------------------------------------------------