├── .gitignore ├── .swiftpm └── xcode │ └── package.xcworkspace │ └── contents.xcworkspacedata ├── Demo ├── Demo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Demo.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Demo │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── SceneDelegate.swift │ └── ViewController.swift ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Secant.xcodeproj ├── DifferenceKit_Info.plist ├── SecantTests_Info.plist ├── Secant_Info.plist ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── xcshareddata │ └── xcschemes │ └── Secant-Package.xcscheme ├── Sources ├── Builder │ ├── ForEach.swift │ ├── RowsBuilder.swift │ └── SectionsBuilder.swift ├── Default │ ├── DefaultRenderer.swift │ ├── FormView.swift │ └── FormViewController.swift ├── HeaderFooter │ ├── AnyHeaderFooter.swift │ ├── HeaderFooter.swift │ └── HeaderFooterContext.swift ├── Renderer │ ├── Form.swift │ ├── Renderer.swift │ ├── Transaction.swift │ └── UITableView.UpdateAnimation.swift ├── Row │ ├── AnyRow.swift │ ├── Modifier │ │ ├── RowModifier.swift │ │ └── RowModifiers │ │ │ ├── CellModifier.swift │ │ │ ├── EventCallbackModifier.swift │ │ │ ├── HeightModifier.swift │ │ │ └── IdentifierModifier.swift │ ├── Row.swift │ ├── RowContext.swift │ └── Rows │ │ ├── Check.swift │ │ ├── Label.swift │ │ ├── SimpleRow.swift │ │ └── Switch.swift ├── Section │ ├── Section.swift │ └── Sections │ │ └── Select.swift ├── State │ ├── Binding.swift │ ├── Cancel │ │ ├── Cancellable.swift │ │ ├── Cancels.Composite.swift │ │ └── Cancels.Simple.swift │ └── State.swift └── Support │ ├── Associated.swift │ ├── Atom.swift │ ├── CompositeHashable.swift │ ├── ControlEventProxy.swift │ ├── Identifiable.swift │ ├── LinkedList.swift │ ├── Optional.swift │ └── With.swift └── Tests └── SecantTests ├── SecantTests.swift └── XCTestManifests.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Demo/Demo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Demo/Demo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Demo/Demo/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/AppDelegate.swift -------------------------------------------------------------------------------- /Demo/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Demo/Demo/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /Demo/Demo/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /Demo/Demo/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/Info.plist -------------------------------------------------------------------------------- /Demo/Demo/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/SceneDelegate.swift -------------------------------------------------------------------------------- /Demo/Demo/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Demo/Demo/ViewController.swift -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/README.md -------------------------------------------------------------------------------- /Secant.xcodeproj/DifferenceKit_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/DifferenceKit_Info.plist -------------------------------------------------------------------------------- /Secant.xcodeproj/SecantTests_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/SecantTests_Info.plist -------------------------------------------------------------------------------- /Secant.xcodeproj/Secant_Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/Secant_Info.plist -------------------------------------------------------------------------------- /Secant.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Secant.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Secant.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Secant.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings -------------------------------------------------------------------------------- /Secant.xcodeproj/xcshareddata/xcschemes/Secant-Package.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Secant.xcodeproj/xcshareddata/xcschemes/Secant-Package.xcscheme -------------------------------------------------------------------------------- /Sources/Builder/ForEach.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Builder/ForEach.swift -------------------------------------------------------------------------------- /Sources/Builder/RowsBuilder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Builder/RowsBuilder.swift -------------------------------------------------------------------------------- /Sources/Builder/SectionsBuilder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Builder/SectionsBuilder.swift -------------------------------------------------------------------------------- /Sources/Default/DefaultRenderer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Default/DefaultRenderer.swift -------------------------------------------------------------------------------- /Sources/Default/FormView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Default/FormView.swift -------------------------------------------------------------------------------- /Sources/Default/FormViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Default/FormViewController.swift -------------------------------------------------------------------------------- /Sources/HeaderFooter/AnyHeaderFooter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/HeaderFooter/AnyHeaderFooter.swift -------------------------------------------------------------------------------- /Sources/HeaderFooter/HeaderFooter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/HeaderFooter/HeaderFooter.swift -------------------------------------------------------------------------------- /Sources/HeaderFooter/HeaderFooterContext.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/HeaderFooter/HeaderFooterContext.swift -------------------------------------------------------------------------------- /Sources/Renderer/Form.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Renderer/Form.swift -------------------------------------------------------------------------------- /Sources/Renderer/Renderer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Renderer/Renderer.swift -------------------------------------------------------------------------------- /Sources/Renderer/Transaction.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Renderer/Transaction.swift -------------------------------------------------------------------------------- /Sources/Renderer/UITableView.UpdateAnimation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Renderer/UITableView.UpdateAnimation.swift -------------------------------------------------------------------------------- /Sources/Row/AnyRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/AnyRow.swift -------------------------------------------------------------------------------- /Sources/Row/Modifier/RowModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Modifier/RowModifier.swift -------------------------------------------------------------------------------- /Sources/Row/Modifier/RowModifiers/CellModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Modifier/RowModifiers/CellModifier.swift -------------------------------------------------------------------------------- /Sources/Row/Modifier/RowModifiers/EventCallbackModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Modifier/RowModifiers/EventCallbackModifier.swift -------------------------------------------------------------------------------- /Sources/Row/Modifier/RowModifiers/HeightModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Modifier/RowModifiers/HeightModifier.swift -------------------------------------------------------------------------------- /Sources/Row/Modifier/RowModifiers/IdentifierModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Modifier/RowModifiers/IdentifierModifier.swift -------------------------------------------------------------------------------- /Sources/Row/Row.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Row.swift -------------------------------------------------------------------------------- /Sources/Row/RowContext.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/RowContext.swift -------------------------------------------------------------------------------- /Sources/Row/Rows/Check.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Rows/Check.swift -------------------------------------------------------------------------------- /Sources/Row/Rows/Label.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Rows/Label.swift -------------------------------------------------------------------------------- /Sources/Row/Rows/SimpleRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Rows/SimpleRow.swift -------------------------------------------------------------------------------- /Sources/Row/Rows/Switch.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Row/Rows/Switch.swift -------------------------------------------------------------------------------- /Sources/Section/Section.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Section/Section.swift -------------------------------------------------------------------------------- /Sources/Section/Sections/Select.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Section/Sections/Select.swift -------------------------------------------------------------------------------- /Sources/State/Binding.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/State/Binding.swift -------------------------------------------------------------------------------- /Sources/State/Cancel/Cancellable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/State/Cancel/Cancellable.swift -------------------------------------------------------------------------------- /Sources/State/Cancel/Cancels.Composite.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/State/Cancel/Cancels.Composite.swift -------------------------------------------------------------------------------- /Sources/State/Cancel/Cancels.Simple.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/State/Cancel/Cancels.Simple.swift -------------------------------------------------------------------------------- /Sources/State/State.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/State/State.swift -------------------------------------------------------------------------------- /Sources/Support/Associated.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/Associated.swift -------------------------------------------------------------------------------- /Sources/Support/Atom.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/Atom.swift -------------------------------------------------------------------------------- /Sources/Support/CompositeHashable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/CompositeHashable.swift -------------------------------------------------------------------------------- /Sources/Support/ControlEventProxy.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/ControlEventProxy.swift -------------------------------------------------------------------------------- /Sources/Support/Identifiable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/Identifiable.swift -------------------------------------------------------------------------------- /Sources/Support/LinkedList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/LinkedList.swift -------------------------------------------------------------------------------- /Sources/Support/Optional.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/Optional.swift -------------------------------------------------------------------------------- /Sources/Support/With.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Sources/Support/With.swift -------------------------------------------------------------------------------- /Tests/SecantTests/SecantTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Tests/SecantTests/SecantTests.swift -------------------------------------------------------------------------------- /Tests/SecantTests/XCTestManifests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TangentW/Secant/HEAD/Tests/SecantTests/XCTestManifests.swift --------------------------------------------------------------------------------