From 1dc30de156f3503e9e5e5da356af30a5f5ca9850 Mon Sep 17 00:00:00 2001 From: stackotter Date: Wed, 25 Jun 2025 11:53:51 +1000 Subject: [PATCH 1/2] Update view/scene builders to support up to 20 views/scenes (fixes #198) --- .../SwiftCrossUI/Builders/SceneBuilder.swift | 700 ++++ .../Builders/SceneBuilder.swift.gyb | 2 +- .../Builders/TableRowBuilder.swift | 700 ++++ .../Builders/TableRowBuilder.swift.gyb | 2 +- .../SwiftCrossUI/Builders/ViewBuilder.swift | 142 + .../Builders/ViewBuilder.swift.gyb | 2 +- Sources/SwiftCrossUI/Scenes/TupleScene.swift | 2055 +++++++++++ .../SwiftCrossUI/Scenes/TupleScene.swift.gyb | 2 +- .../SwiftCrossUI.docc/Scene graph.md | 20 + .../SwiftCrossUI/SwiftCrossUI.docc/Tables.md | 10 + .../SwiftCrossUI.docc/View graph.md | 20 + Sources/SwiftCrossUI/Values/TextStyle.swift | 2 +- .../SwiftCrossUI/Views/TableRowContent.swift | 1305 +++++++ .../Views/TableRowContent.swift.gyb | 2 +- Sources/SwiftCrossUI/Views/TupleView.swift | 3268 +++++++++++++++++ .../SwiftCrossUI/Views/TupleView.swift.gyb | 2 +- .../Views/TupleViewChildren.swift | 2160 +++++++++++ .../Views/TupleViewChildren.swift.gyb | 4 +- 18 files changed, 10389 insertions(+), 9 deletions(-) diff --git a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift index 206eb07aca..e72a40d241 100644 --- a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift @@ -293,4 +293,704 @@ public struct SceneBuilder { scene9 ) } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10 + ) -> TupleScene11< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10 + > { + return TupleScene11( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11 + ) -> TupleScene12< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11 + > { + return TupleScene12( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12 + ) -> TupleScene13< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12 + > { + return TupleScene13( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13 + ) -> TupleScene14< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13 + > { + return TupleScene14( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14 + ) -> TupleScene15< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14 + > { + return TupleScene15( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15 + ) -> TupleScene16< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15 + > { + return TupleScene16( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14, + scene15 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16 + ) -> TupleScene17< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16 + > { + return TupleScene17( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14, + scene15, + scene16 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17 + ) -> TupleScene18< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17 + > { + return TupleScene18( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14, + scene15, + scene16, + scene17 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17, + _ scene18: Scene18 + ) -> TupleScene19< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18 + > { + return TupleScene19( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14, + scene15, + scene16, + scene17, + scene18 + ) + } + + public static func buildBlock< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene, + Scene19: Scene + >( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17, + _ scene18: Scene18, + _ scene19: Scene19 + ) -> TupleScene20< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18, + Scene19 + > { + return TupleScene20( + scene0, + scene1, + scene2, + scene3, + scene4, + scene5, + scene6, + scene7, + scene8, + scene9, + scene10, + scene11, + scene12, + scene13, + scene14, + scene15, + scene16, + scene17, + scene18, + scene19 + ) + } } diff --git a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb index 476339e889..78c78d29da 100644 --- a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_scene_count = 10 +maximum_scene_count = 20 }% /// Builds an app's root scene by composing other scenes together. diff --git a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift index b7e5ef1c61..2e8715e973 100644 --- a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift @@ -305,4 +305,704 @@ public struct TableRowBuilder { column9 ) } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn + ) -> TupleTableRowContent11< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10 + > { + TupleTableRowContent11( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn + ) -> TupleTableRowContent12< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11 + > { + TupleTableRowContent12( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn + ) -> TupleTableRowContent13< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12 + > { + TupleTableRowContent13( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn + ) -> TupleTableRowContent14< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13 + > { + TupleTableRowContent14( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn + ) -> TupleTableRowContent15< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14 + > { + TupleTableRowContent15( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn + ) -> TupleTableRowContent16< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15 + > { + TupleTableRowContent16( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn + ) -> TupleTableRowContent17< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16 + > { + TupleTableRowContent17( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn + ) -> TupleTableRowContent18< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17 + > { + TupleTableRowContent18( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16, + column17 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View, + Content18: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn, + _ column18: TableColumn + ) -> TupleTableRowContent19< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17, + Content18 + > { + TupleTableRowContent19( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16, + column17, + column18 + ) + } + public static func buildBlock< + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View, + Content18: View, + Content19: View + >( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn, + _ column18: TableColumn, + _ column19: TableColumn + ) -> TupleTableRowContent20< + RowValue, + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17, + Content18, + Content19 + > { + TupleTableRowContent20( + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16, + column17, + column18, + column19 + ) + } } diff --git a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb index 9591f86b7c..d80f5fa17f 100644 --- a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_column_count = 10 +maximum_column_count = 20 }% /// A result builder for constructing a collection of table columns. diff --git a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift index c533325a28..cefcfe0fbb 100644 --- a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift @@ -80,6 +80,148 @@ public struct ViewBuilder { view0, view1, view2, view3, view4, view5, view6, view7, view8, view9) } + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10 + ) -> TupleView11 { + return TupleView11( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11 + ) -> TupleView12 { + return TupleView12( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12 + ) -> TupleView13 { + return TupleView13( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13 + ) -> TupleView14 { + return TupleView14( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14 + ) -> TupleView15 { + return TupleView15( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View, V15: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14, _ view15: V15 + ) -> TupleView16 { + return TupleView16( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View, V15: View, V16: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14, _ view15: V15, _ view16: V16 + ) -> TupleView17 { + return TupleView17< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16 + >( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View, V15: View, V16: View, + V17: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14, _ view15: V15, _ view16: V16, _ view17: V17 + ) -> TupleView18 + { + return TupleView18< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17 + >( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View, V15: View, V16: View, + V17: View, V18: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14, _ view15: V15, _ view16: V16, _ view17: V17, _ view18: V18 + ) -> TupleView19< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18 + > { + return TupleView19< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18 + >( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17, view18) + } + + public static func buildBlock< + V0: View, V1: View, V2: View, V3: View, V4: View, V5: View, V6: View, V7: View, V8: View, + V9: View, V10: View, V11: View, V12: View, V13: View, V14: View, V15: View, V16: View, + V17: View, V18: View, V19: View + >( + _ view0: V0, _ view1: V1, _ view2: V2, _ view3: V3, _ view4: V4, _ view5: V5, _ view6: V6, + _ view7: V7, _ view8: V8, _ view9: V9, _ view10: V10, _ view11: V11, _ view12: V12, + _ view13: V13, _ view14: V14, _ view15: V15, _ view16: V16, _ view17: V17, _ view18: V18, + _ view19: V19 + ) -> TupleView20< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19 + > { + return TupleView20< + V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19 + >( + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17, view18, view19) + } + public static func buildEither(first component: A) -> EitherView { return EitherView(component) } diff --git a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb index bf018fdc28..a9584bbfe4 100644 --- a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_view_count = 10 +maximum_view_count = 20 }% /// A result builder used to compose views together into composite views in diff --git a/Sources/SwiftCrossUI/Scenes/TupleScene.swift b/Sources/SwiftCrossUI/Scenes/TupleScene.swift index 730c4f7944..e70ee615d7 100644 --- a/Sources/SwiftCrossUI/Scenes/TupleScene.swift +++ b/Sources/SwiftCrossUI/Scenes/TupleScene.swift @@ -907,3 +907,2058 @@ public final class TupleSceneNode10< node9.update(newScene?.scene9, backend: backend, environment: environment) } } +public struct TupleScene11< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene +>: Scene { + public typealias Node = TupleSceneNode11< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + } +} + +public final class TupleSceneNode11< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene11< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + } +} +public struct TupleScene12< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene +>: Scene { + public typealias Node = TupleSceneNode12< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + } +} + +public final class TupleSceneNode12< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene12< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + } +} +public struct TupleScene13< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene +>: Scene { + public typealias Node = TupleSceneNode13< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + } +} + +public final class TupleSceneNode13< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene13< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + } +} +public struct TupleScene14< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene +>: Scene { + public typealias Node = TupleSceneNode14< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + } +} + +public final class TupleSceneNode14< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene14< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + } +} +public struct TupleScene15< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene +>: Scene { + public typealias Node = TupleSceneNode15< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + } +} + +public final class TupleSceneNode15< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene15< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + } +} +public struct TupleScene16< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene +>: Scene { + public typealias Node = TupleSceneNode16< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + var scene15: Scene15 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + self.scene15 = scene15 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + .overlayed(with: scene15.commands) + } +} + +public final class TupleSceneNode16< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene16< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + var node15: Scene15.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + node15 = Scene15.Node(from: scene.scene15, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + node15.update(newScene?.scene15, backend: backend, environment: environment) + } +} +public struct TupleScene17< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene +>: Scene { + public typealias Node = TupleSceneNode17< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + var scene15: Scene15 + var scene16: Scene16 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + self.scene15 = scene15 + self.scene16 = scene16 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + .overlayed(with: scene15.commands) + .overlayed(with: scene16.commands) + } +} + +public final class TupleSceneNode17< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene17< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + var node15: Scene15.Node + var node16: Scene16.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + node15 = Scene15.Node(from: scene.scene15, backend: backend, environment: environment) + node16 = Scene16.Node(from: scene.scene16, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + node15.update(newScene?.scene15, backend: backend, environment: environment) + node16.update(newScene?.scene16, backend: backend, environment: environment) + } +} +public struct TupleScene18< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene +>: Scene { + public typealias Node = TupleSceneNode18< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + var scene15: Scene15 + var scene16: Scene16 + var scene17: Scene17 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + self.scene15 = scene15 + self.scene16 = scene16 + self.scene17 = scene17 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + .overlayed(with: scene15.commands) + .overlayed(with: scene16.commands) + .overlayed(with: scene17.commands) + } +} + +public final class TupleSceneNode18< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene18< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + var node15: Scene15.Node + var node16: Scene16.Node + var node17: Scene17.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + node15 = Scene15.Node(from: scene.scene15, backend: backend, environment: environment) + node16 = Scene16.Node(from: scene.scene16, backend: backend, environment: environment) + node17 = Scene17.Node(from: scene.scene17, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + node15.update(newScene?.scene15, backend: backend, environment: environment) + node16.update(newScene?.scene16, backend: backend, environment: environment) + node17.update(newScene?.scene17, backend: backend, environment: environment) + } +} +public struct TupleScene19< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene +>: Scene { + public typealias Node = TupleSceneNode19< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + var scene15: Scene15 + var scene16: Scene16 + var scene17: Scene17 + var scene18: Scene18 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17, + _ scene18: Scene18 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + self.scene15 = scene15 + self.scene16 = scene16 + self.scene17 = scene17 + self.scene18 = scene18 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + .overlayed(with: scene15.commands) + .overlayed(with: scene16.commands) + .overlayed(with: scene17.commands) + .overlayed(with: scene18.commands) + } +} + +public final class TupleSceneNode19< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene19< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + var node15: Scene15.Node + var node16: Scene16.Node + var node17: Scene17.Node + var node18: Scene18.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + node15 = Scene15.Node(from: scene.scene15, backend: backend, environment: environment) + node16 = Scene16.Node(from: scene.scene16, backend: backend, environment: environment) + node17 = Scene17.Node(from: scene.scene17, backend: backend, environment: environment) + node18 = Scene18.Node(from: scene.scene18, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + node15.update(newScene?.scene15, backend: backend, environment: environment) + node16.update(newScene?.scene16, backend: backend, environment: environment) + node17.update(newScene?.scene17, backend: backend, environment: environment) + node18.update(newScene?.scene18, backend: backend, environment: environment) + } +} +public struct TupleScene20< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene, + Scene19: Scene +>: Scene { + public typealias Node = TupleSceneNode20< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18, + Scene19 + > + + var scene0: Scene0 + var scene1: Scene1 + var scene2: Scene2 + var scene3: Scene3 + var scene4: Scene4 + var scene5: Scene5 + var scene6: Scene6 + var scene7: Scene7 + var scene8: Scene8 + var scene9: Scene9 + var scene10: Scene10 + var scene11: Scene11 + var scene12: Scene12 + var scene13: Scene13 + var scene14: Scene14 + var scene15: Scene15 + var scene16: Scene16 + var scene17: Scene17 + var scene18: Scene18 + var scene19: Scene19 + + public var commands: Commands + + public init( + _ scene0: Scene0, + _ scene1: Scene1, + _ scene2: Scene2, + _ scene3: Scene3, + _ scene4: Scene4, + _ scene5: Scene5, + _ scene6: Scene6, + _ scene7: Scene7, + _ scene8: Scene8, + _ scene9: Scene9, + _ scene10: Scene10, + _ scene11: Scene11, + _ scene12: Scene12, + _ scene13: Scene13, + _ scene14: Scene14, + _ scene15: Scene15, + _ scene16: Scene16, + _ scene17: Scene17, + _ scene18: Scene18, + _ scene19: Scene19 + ) { + self.scene0 = scene0 + self.scene1 = scene1 + self.scene2 = scene2 + self.scene3 = scene3 + self.scene4 = scene4 + self.scene5 = scene5 + self.scene6 = scene6 + self.scene7 = scene7 + self.scene8 = scene8 + self.scene9 = scene9 + self.scene10 = scene10 + self.scene11 = scene11 + self.scene12 = scene12 + self.scene13 = scene13 + self.scene14 = scene14 + self.scene15 = scene15 + self.scene16 = scene16 + self.scene17 = scene17 + self.scene18 = scene18 + self.scene19 = scene19 + + commands = Commands.empty + .overlayed(with: scene0.commands) + .overlayed(with: scene1.commands) + .overlayed(with: scene2.commands) + .overlayed(with: scene3.commands) + .overlayed(with: scene4.commands) + .overlayed(with: scene5.commands) + .overlayed(with: scene6.commands) + .overlayed(with: scene7.commands) + .overlayed(with: scene8.commands) + .overlayed(with: scene9.commands) + .overlayed(with: scene10.commands) + .overlayed(with: scene11.commands) + .overlayed(with: scene12.commands) + .overlayed(with: scene13.commands) + .overlayed(with: scene14.commands) + .overlayed(with: scene15.commands) + .overlayed(with: scene16.commands) + .overlayed(with: scene17.commands) + .overlayed(with: scene18.commands) + .overlayed(with: scene19.commands) + } +} + +public final class TupleSceneNode20< + Scene0: Scene, + Scene1: Scene, + Scene2: Scene, + Scene3: Scene, + Scene4: Scene, + Scene5: Scene, + Scene6: Scene, + Scene7: Scene, + Scene8: Scene, + Scene9: Scene, + Scene10: Scene, + Scene11: Scene, + Scene12: Scene, + Scene13: Scene, + Scene14: Scene, + Scene15: Scene, + Scene16: Scene, + Scene17: Scene, + Scene18: Scene, + Scene19: Scene +>: SceneGraphNode { + public typealias NodeScene = TupleScene20< + Scene0, + Scene1, + Scene2, + Scene3, + Scene4, + Scene5, + Scene6, + Scene7, + Scene8, + Scene9, + Scene10, + Scene11, + Scene12, + Scene13, + Scene14, + Scene15, + Scene16, + Scene17, + Scene18, + Scene19 + > + + var node0: Scene0.Node + var node1: Scene1.Node + var node2: Scene2.Node + var node3: Scene3.Node + var node4: Scene4.Node + var node5: Scene5.Node + var node6: Scene6.Node + var node7: Scene7.Node + var node8: Scene8.Node + var node9: Scene9.Node + var node10: Scene10.Node + var node11: Scene11.Node + var node12: Scene12.Node + var node13: Scene13.Node + var node14: Scene14.Node + var node15: Scene15.Node + var node16: Scene16.Node + var node17: Scene17.Node + var node18: Scene18.Node + var node19: Scene19.Node + + public init( + from scene: NodeScene, + backend: Backend, + environment: EnvironmentValues + ) { + node0 = Scene0.Node(from: scene.scene0, backend: backend, environment: environment) + node1 = Scene1.Node(from: scene.scene1, backend: backend, environment: environment) + node2 = Scene2.Node(from: scene.scene2, backend: backend, environment: environment) + node3 = Scene3.Node(from: scene.scene3, backend: backend, environment: environment) + node4 = Scene4.Node(from: scene.scene4, backend: backend, environment: environment) + node5 = Scene5.Node(from: scene.scene5, backend: backend, environment: environment) + node6 = Scene6.Node(from: scene.scene6, backend: backend, environment: environment) + node7 = Scene7.Node(from: scene.scene7, backend: backend, environment: environment) + node8 = Scene8.Node(from: scene.scene8, backend: backend, environment: environment) + node9 = Scene9.Node(from: scene.scene9, backend: backend, environment: environment) + node10 = Scene10.Node(from: scene.scene10, backend: backend, environment: environment) + node11 = Scene11.Node(from: scene.scene11, backend: backend, environment: environment) + node12 = Scene12.Node(from: scene.scene12, backend: backend, environment: environment) + node13 = Scene13.Node(from: scene.scene13, backend: backend, environment: environment) + node14 = Scene14.Node(from: scene.scene14, backend: backend, environment: environment) + node15 = Scene15.Node(from: scene.scene15, backend: backend, environment: environment) + node16 = Scene16.Node(from: scene.scene16, backend: backend, environment: environment) + node17 = Scene17.Node(from: scene.scene17, backend: backend, environment: environment) + node18 = Scene18.Node(from: scene.scene18, backend: backend, environment: environment) + node19 = Scene19.Node(from: scene.scene19, backend: backend, environment: environment) + } + + public func update( + _ newScene: NodeScene?, + backend: Backend, + environment: EnvironmentValues + ) { + node0.update(newScene?.scene0, backend: backend, environment: environment) + node1.update(newScene?.scene1, backend: backend, environment: environment) + node2.update(newScene?.scene2, backend: backend, environment: environment) + node3.update(newScene?.scene3, backend: backend, environment: environment) + node4.update(newScene?.scene4, backend: backend, environment: environment) + node5.update(newScene?.scene5, backend: backend, environment: environment) + node6.update(newScene?.scene6, backend: backend, environment: environment) + node7.update(newScene?.scene7, backend: backend, environment: environment) + node8.update(newScene?.scene8, backend: backend, environment: environment) + node9.update(newScene?.scene9, backend: backend, environment: environment) + node10.update(newScene?.scene10, backend: backend, environment: environment) + node11.update(newScene?.scene11, backend: backend, environment: environment) + node12.update(newScene?.scene12, backend: backend, environment: environment) + node13.update(newScene?.scene13, backend: backend, environment: environment) + node14.update(newScene?.scene14, backend: backend, environment: environment) + node15.update(newScene?.scene15, backend: backend, environment: environment) + node16.update(newScene?.scene16, backend: backend, environment: environment) + node17.update(newScene?.scene17, backend: backend, environment: environment) + node18.update(newScene?.scene18, backend: backend, environment: environment) + node19.update(newScene?.scene19, backend: backend, environment: environment) + } +} diff --git a/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb b/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb index 1ec50ecf39..b1140313dd 100644 --- a/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb +++ b/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_scene_count = 10 +maximum_scene_count = 20 }% %for i in range(2, maximum_scene_count + 1): diff --git a/Sources/SwiftCrossUI/SwiftCrossUI.docc/Scene graph.md b/Sources/SwiftCrossUI/SwiftCrossUI.docc/Scene graph.md index 348bf14deb..a632441ce5 100644 --- a/Sources/SwiftCrossUI/SwiftCrossUI.docc/Scene graph.md +++ b/Sources/SwiftCrossUI/SwiftCrossUI.docc/Scene graph.md @@ -14,6 +14,16 @@ - ``TupleScene8`` - ``TupleScene9`` - ``TupleScene10`` +- ``TupleScene11`` +- ``TupleScene12`` +- ``TupleScene13`` +- ``TupleScene14`` +- ``TupleScene15`` +- ``TupleScene16`` +- ``TupleScene17`` +- ``TupleScene18`` +- ``TupleScene19`` +- ``TupleScene20`` - ``TupleSceneNode2`` - ``TupleSceneNode3`` - ``TupleSceneNode4`` @@ -23,3 +33,13 @@ - ``TupleSceneNode8`` - ``TupleSceneNode9`` - ``TupleSceneNode10`` +- ``TupleSceneNode11`` +- ``TupleSceneNode12`` +- ``TupleSceneNode13`` +- ``TupleSceneNode14`` +- ``TupleSceneNode15`` +- ``TupleSceneNode16`` +- ``TupleSceneNode17`` +- ``TupleSceneNode18`` +- ``TupleSceneNode19`` +- ``TupleSceneNode20`` diff --git a/Sources/SwiftCrossUI/SwiftCrossUI.docc/Tables.md b/Sources/SwiftCrossUI/SwiftCrossUI.docc/Tables.md index f5a4717785..3f593d8300 100644 --- a/Sources/SwiftCrossUI/SwiftCrossUI.docc/Tables.md +++ b/Sources/SwiftCrossUI/SwiftCrossUI.docc/Tables.md @@ -20,3 +20,13 @@ - ``TupleTableRowContent8`` - ``TupleTableRowContent9`` - ``TupleTableRowContent10`` +- ``TupleTableRowContent11`` +- ``TupleTableRowContent12`` +- ``TupleTableRowContent13`` +- ``TupleTableRowContent14`` +- ``TupleTableRowContent15`` +- ``TupleTableRowContent16`` +- ``TupleTableRowContent17`` +- ``TupleTableRowContent18`` +- ``TupleTableRowContent19`` +- ``TupleTableRowContent20`` diff --git a/Sources/SwiftCrossUI/SwiftCrossUI.docc/View graph.md b/Sources/SwiftCrossUI/SwiftCrossUI.docc/View graph.md index b3af206647..0c97de6268 100644 --- a/Sources/SwiftCrossUI/SwiftCrossUI.docc/View graph.md +++ b/Sources/SwiftCrossUI/SwiftCrossUI.docc/View graph.md @@ -20,6 +20,16 @@ - ``TupleView8`` - ``TupleView9`` - ``TupleView10`` +- ``TupleView11`` +- ``TupleView12`` +- ``TupleView13`` +- ``TupleView14`` +- ``TupleView15`` +- ``TupleView16`` +- ``TupleView17`` +- ``TupleView18`` +- ``TupleView19`` +- ``TupleView20`` - ``TupleViewChildren1`` - ``TupleViewChildren2`` - ``TupleViewChildren3`` @@ -30,3 +40,13 @@ - ``TupleViewChildren8`` - ``TupleViewChildren9`` - ``TupleViewChildren10`` +- ``TupleViewChildren11`` +- ``TupleViewChildren12`` +- ``TupleViewChildren13`` +- ``TupleViewChildren14`` +- ``TupleViewChildren15`` +- ``TupleViewChildren16`` +- ``TupleViewChildren17`` +- ``TupleViewChildren18`` +- ``TupleViewChildren19`` +- ``TupleViewChildren20`` diff --git a/Sources/SwiftCrossUI/Values/TextStyle.swift b/Sources/SwiftCrossUI/Values/TextStyle.swift index 428d88e673..378a596e41 100644 --- a/Sources/SwiftCrossUI/Values/TextStyle.swift +++ b/Sources/SwiftCrossUI/Values/TextStyle.swift @@ -73,7 +73,7 @@ extension Font.TextStyle { .desktop: desktopTextStyles, .phone: mobileTextStyles, .tablet: mobileTextStyles, - .tv: tvTextStyles + .tv: tvTextStyles, ] private static let desktopTextStyles: [Self: Resolved] = [ diff --git a/Sources/SwiftCrossUI/Views/TableRowContent.swift b/Sources/SwiftCrossUI/Views/TableRowContent.swift index 41f836c91f..920fdbc468 100644 --- a/Sources/SwiftCrossUI/Views/TableRowContent.swift +++ b/Sources/SwiftCrossUI/Views/TableRowContent.swift @@ -625,3 +625,1308 @@ public struct TupleTableRowContent10< ) } } + +public struct TupleTableRowContent11< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View +>: TableRowContent { + public typealias RowContent = TupleView11< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + } + + public func content(for row: RowValue) -> RowContent { + TupleView11( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row) + ) + } +} + +public struct TupleTableRowContent12< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View +>: TableRowContent { + public typealias RowContent = TupleView12< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + } + + public func content(for row: RowValue) -> RowContent { + TupleView12( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row) + ) + } +} + +public struct TupleTableRowContent13< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View +>: TableRowContent { + public typealias RowContent = TupleView13< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + } + + public func content(for row: RowValue) -> RowContent { + TupleView13( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row) + ) + } +} + +public struct TupleTableRowContent14< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View +>: TableRowContent { + public typealias RowContent = TupleView14< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + } + + public func content(for row: RowValue) -> RowContent { + TupleView14( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row) + ) + } +} + +public struct TupleTableRowContent15< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View +>: TableRowContent { + public typealias RowContent = TupleView15< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + } + + public func content(for row: RowValue) -> RowContent { + TupleView15( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row) + ) + } +} + +public struct TupleTableRowContent16< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View +>: TableRowContent { + public typealias RowContent = TupleView16< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + public var column15: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + column15.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + self.column15 = column15 + } + + public func content(for row: RowValue) -> RowContent { + TupleView16( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row), + column15.content(row) + ) + } +} + +public struct TupleTableRowContent17< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View +>: TableRowContent { + public typealias RowContent = TupleView17< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + public var column15: TableColumn + public var column16: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + column15.label, + column16.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + self.column15 = column15 + self.column16 = column16 + } + + public func content(for row: RowValue) -> RowContent { + TupleView17( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row), + column15.content(row), + column16.content(row) + ) + } +} + +public struct TupleTableRowContent18< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View +>: TableRowContent { + public typealias RowContent = TupleView18< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + public var column15: TableColumn + public var column16: TableColumn + public var column17: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + column15.label, + column16.label, + column17.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + self.column15 = column15 + self.column16 = column16 + self.column17 = column17 + } + + public func content(for row: RowValue) -> RowContent { + TupleView18( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row), + column15.content(row), + column16.content(row), + column17.content(row) + ) + } +} + +public struct TupleTableRowContent19< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View, + Content18: View +>: TableRowContent { + public typealias RowContent = TupleView19< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17, + Content18 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + public var column15: TableColumn + public var column16: TableColumn + public var column17: TableColumn + public var column18: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + column15.label, + column16.label, + column17.label, + column18.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn, + _ column18: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + self.column15 = column15 + self.column16 = column16 + self.column17 = column17 + self.column18 = column18 + } + + public func content(for row: RowValue) -> RowContent { + TupleView19( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row), + column15.content(row), + column16.content(row), + column17.content(row), + column18.content(row) + ) + } +} + +public struct TupleTableRowContent20< + RowValue, + Content0: View, + Content1: View, + Content2: View, + Content3: View, + Content4: View, + Content5: View, + Content6: View, + Content7: View, + Content8: View, + Content9: View, + Content10: View, + Content11: View, + Content12: View, + Content13: View, + Content14: View, + Content15: View, + Content16: View, + Content17: View, + Content18: View, + Content19: View +>: TableRowContent { + public typealias RowContent = TupleView20< + Content0, + Content1, + Content2, + Content3, + Content4, + Content5, + Content6, + Content7, + Content8, + Content9, + Content10, + Content11, + Content12, + Content13, + Content14, + Content15, + Content16, + Content17, + Content18, + Content19 + > + + public var column0: TableColumn + public var column1: TableColumn + public var column2: TableColumn + public var column3: TableColumn + public var column4: TableColumn + public var column5: TableColumn + public var column6: TableColumn + public var column7: TableColumn + public var column8: TableColumn + public var column9: TableColumn + public var column10: TableColumn + public var column11: TableColumn + public var column12: TableColumn + public var column13: TableColumn + public var column14: TableColumn + public var column15: TableColumn + public var column16: TableColumn + public var column17: TableColumn + public var column18: TableColumn + public var column19: TableColumn + + public var labels: [String] { + [ + column0.label, + column1.label, + column2.label, + column3.label, + column4.label, + column5.label, + column6.label, + column7.label, + column8.label, + column9.label, + column10.label, + column11.label, + column12.label, + column13.label, + column14.label, + column15.label, + column16.label, + column17.label, + column18.label, + column19.label, + ] + } + + public init( + _ column0: TableColumn, + _ column1: TableColumn, + _ column2: TableColumn, + _ column3: TableColumn, + _ column4: TableColumn, + _ column5: TableColumn, + _ column6: TableColumn, + _ column7: TableColumn, + _ column8: TableColumn, + _ column9: TableColumn, + _ column10: TableColumn, + _ column11: TableColumn, + _ column12: TableColumn, + _ column13: TableColumn, + _ column14: TableColumn, + _ column15: TableColumn, + _ column16: TableColumn, + _ column17: TableColumn, + _ column18: TableColumn, + _ column19: TableColumn + ) { + self.column0 = column0 + self.column1 = column1 + self.column2 = column2 + self.column3 = column3 + self.column4 = column4 + self.column5 = column5 + self.column6 = column6 + self.column7 = column7 + self.column8 = column8 + self.column9 = column9 + self.column10 = column10 + self.column11 = column11 + self.column12 = column12 + self.column13 = column13 + self.column14 = column14 + self.column15 = column15 + self.column16 = column16 + self.column17 = column17 + self.column18 = column18 + self.column19 = column19 + } + + public func content(for row: RowValue) -> RowContent { + TupleView20( + column0.content(row), + column1.content(row), + column2.content(row), + column3.content(row), + column4.content(row), + column5.content(row), + column6.content(row), + column7.content(row), + column8.content(row), + column9.content(row), + column10.content(row), + column11.content(row), + column12.content(row), + column13.content(row), + column14.content(row), + column15.content(row), + column16.content(row), + column17.content(row), + column18.content(row), + column19.content(row) + ) + } +} diff --git a/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb b/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb index 760c714ad4..7c39e7bb2f 100644 --- a/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_column_count = 10 +maximum_column_count = 20 }% public protocol TableRowContent { diff --git a/Sources/SwiftCrossUI/Views/TupleView.swift b/Sources/SwiftCrossUI/Views/TupleView.swift index c85e8dd7c7..c35f3fdd6a 100644 --- a/Sources/SwiftCrossUI/Views/TupleView.swift +++ b/Sources/SwiftCrossUI/Views/TupleView.swift @@ -1589,3 +1589,3271 @@ extension TupleView10: TypeSafeView { ) } } + +/// A view with exactly 11 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView11< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + + public var body = EmptyView() + + /// Wraps 11 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + } +} + +extension TupleView11: View { + public typealias Content = EmptyView +} + +extension TupleView11: TypeSafeView { + typealias Children = TupleViewChildren11< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 12 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView12< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + + public var body = EmptyView() + + /// Wraps 12 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + } +} + +extension TupleView12: View { + public typealias Content = EmptyView +} + +extension TupleView12: TypeSafeView { + typealias Children = TupleViewChildren12< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 13 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView13< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + + public var body = EmptyView() + + /// Wraps 13 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + } +} + +extension TupleView13: View { + public typealias Content = EmptyView +} + +extension TupleView13: TypeSafeView { + typealias Children = TupleViewChildren13< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 14 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView14< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + + public var body = EmptyView() + + /// Wraps 14 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + } +} + +extension TupleView14: View { + public typealias Content = EmptyView +} + +extension TupleView14: TypeSafeView { + typealias Children = TupleViewChildren14< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 15 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView15< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + + public var body = EmptyView() + + /// Wraps 15 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + } +} + +extension TupleView15: View { + public typealias Content = EmptyView +} + +extension TupleView15: TypeSafeView { + typealias Children = TupleViewChildren15< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 16 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView16< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View, View15: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + public var view15: View15 + + public var body = EmptyView() + + /// Wraps 16 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14, + _ view15: View15 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + self.view15 = view15 + } +} + +extension TupleView16: View { + public typealias Content = EmptyView +} + +extension TupleView16: TypeSafeView { + typealias Children = TupleViewChildren16< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14, View15 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + view15, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child15.update( + with: view15, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view15))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 17 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView17< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View, View15: View, View16: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + public var view15: View15 + public var view16: View16 + + public var body = EmptyView() + + /// Wraps 17 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14, + _ view15: View15, _ view16: View16 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + self.view15 = view15 + self.view16 = view16 + } +} + +extension TupleView17: View { + public typealias Content = EmptyView +} + +extension TupleView17: TypeSafeView { + typealias Children = TupleViewChildren17< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14, View15, View16 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + view15, + view16, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child15.update( + with: view15, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view15))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child16.update( + with: view16, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view16))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 18 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView18< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View, View15: View, View16: View, View17: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + public var view15: View15 + public var view16: View16 + public var view17: View17 + + public var body = EmptyView() + + /// Wraps 18 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14, + _ view15: View15, _ view16: View16, _ view17: View17 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + self.view15 = view15 + self.view16 = view16 + self.view17 = view17 + } +} + +extension TupleView18: View { + public typealias Content = EmptyView +} + +extension TupleView18: TypeSafeView { + typealias Children = TupleViewChildren18< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14, View15, View16, View17 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + view15, + view16, + view17, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child15.update( + with: view15, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view15))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child16.update( + with: view16, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view16))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child17.update( + with: view17, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view17))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 19 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView19< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View, View15: View, View16: View, View17: View, View18: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + public var view15: View15 + public var view16: View16 + public var view17: View17 + public var view18: View18 + + public var body = EmptyView() + + /// Wraps 19 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14, + _ view15: View15, _ view16: View16, _ view17: View17, _ view18: View18 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + self.view15 = view15 + self.view16 = view16 + self.view17 = view17 + self.view18 = view18 + } +} + +extension TupleView19: View { + public typealias Content = EmptyView +} + +extension TupleView19: TypeSafeView { + typealias Children = TupleViewChildren19< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14, View15, View16, View17, View18 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + view15, + view16, + view17, + view18, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child15.update( + with: view15, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view15))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child16.update( + with: view16, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view16))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child17.update( + with: view17, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view17))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child18.update( + with: view18, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view18))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + +/// A view with exactly 20 children. Autogenerated as an alternative to Swift's not yet +/// production ready variadic generics. +/// +/// Has the same behaviour as ``Group`` when rendered directly. +public struct TupleView20< + View0: View, View1: View, View2: View, View3: View, View4: View, View5: View, View6: View, + View7: View, View8: View, View9: View, View10: View, View11: View, View12: View, View13: View, + View14: View, View15: View, View16: View, View17: View, View18: View, View19: View +> { + public var view0: View0 + public var view1: View1 + public var view2: View2 + public var view3: View3 + public var view4: View4 + public var view5: View5 + public var view6: View6 + public var view7: View7 + public var view8: View8 + public var view9: View9 + public var view10: View10 + public var view11: View11 + public var view12: View12 + public var view13: View13 + public var view14: View14 + public var view15: View15 + public var view16: View16 + public var view17: View17 + public var view18: View18 + public var view19: View19 + + public var body = EmptyView() + + /// Wraps 20 child views in a single container view. + public init( + _ view0: View0, _ view1: View1, _ view2: View2, _ view3: View3, _ view4: View4, + _ view5: View5, _ view6: View6, _ view7: View7, _ view8: View8, _ view9: View9, + _ view10: View10, _ view11: View11, _ view12: View12, _ view13: View13, _ view14: View14, + _ view15: View15, _ view16: View16, _ view17: View17, _ view18: View18, _ view19: View19 + ) { + self.view0 = view0 + self.view1 = view1 + self.view2 = view2 + self.view3 = view3 + self.view4 = view4 + self.view5 = view5 + self.view6 = view6 + self.view7 = view7 + self.view8 = view8 + self.view9 = view9 + self.view10 = view10 + self.view11 = view11 + self.view12 = view12 + self.view13 = view13 + self.view14 = view14 + self.view15 = view15 + self.view16 = view16 + self.view17 = view17 + self.view18 = view18 + self.view19 = view19 + } +} + +extension TupleView20: View { + public typealias Content = EmptyView +} + +extension TupleView20: TypeSafeView { + typealias Children = TupleViewChildren20< + View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, + View12, View13, View14, View15, View16, View17, View18, View19 + > + + func children( + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) -> Children { + return Children( + view0, + view1, + view2, + view3, + view4, + view5, + view6, + view7, + view8, + view9, + view10, + view11, + view12, + view13, + view14, + view15, + view16, + view17, + view18, + view19, + backend: backend, + snapshots: snapshots, + environment: environment + ) + } + + func layoutableChildren( + backend: Backend, + children: Children + ) -> [LayoutSystem.LayoutableChild] { + var layoutableChildren: [LayoutSystem.LayoutableChild] = [] + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child0.update( + with: view0, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view0))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child1.update( + with: view1, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view1))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child2.update( + with: view2, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view2))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child3.update( + with: view3, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view3))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child4.update( + with: view4, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view4))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child5.update( + with: view5, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view5))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child6.update( + with: view6, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view6))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child7.update( + with: view7, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view7))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child8.update( + with: view8, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view8))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child9.update( + with: view9, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view9))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child10.update( + with: view10, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view10))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child11.update( + with: view11, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view11))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child12.update( + with: view12, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view12))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child13.update( + with: view13, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view13))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child14.update( + with: view14, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view14))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child15.update( + with: view15, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view15))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child16.update( + with: view16, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view16))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child17.update( + with: view17, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view17))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child18.update( + with: view18, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view18))" + ) + ) + layoutableChildren.append( + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + children.child19.update( + with: view19, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view19))" + ) + ) + return layoutableChildren + } + + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} diff --git a/Sources/SwiftCrossUI/Views/TupleView.swift.gyb b/Sources/SwiftCrossUI/Views/TupleView.swift.gyb index 6377bb915a..a20155c5e2 100644 --- a/Sources/SwiftCrossUI/Views/TupleView.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TupleView.swift.gyb @@ -1,5 +1,5 @@ %{ -maximum_view_count = 10 +maximum_view_count = 20 }% % for i in range(maximum_view_count): diff --git a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift index f8409f94bb..374a7618b2 100644 --- a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift +++ b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift @@ -934,3 +934,2163 @@ public struct TupleViewChildren10< ) } } + +/// A fixed-length strongly-typed collection of 11 child nodes. A counterpart to +/// ``TupleView11``. +public struct TupleViewChildren11< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + + /// Creates the nodes for 11 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 12 child nodes. A counterpart to +/// ``TupleView12``. +public struct TupleViewChildren12< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + + /// Creates the nodes for 12 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 13 child nodes. A counterpart to +/// ``TupleView13``. +public struct TupleViewChildren13< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + + /// Creates the nodes for 13 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 14 child nodes. A counterpart to +/// ``TupleView14``. +public struct TupleViewChildren14< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + + /// Creates the nodes for 14 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 15 child nodes. A counterpart to +/// ``TupleView15``. +public struct TupleViewChildren15< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + + /// Creates the nodes for 15 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 16 child nodes. A counterpart to +/// ``TupleView16``. +public struct TupleViewChildren16< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View, Child15: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + child15.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ErasedViewGraphNode(wrapping: child15), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child15: AnyViewGraphNode + + /// Creates the nodes for 16 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + _ child15: Child15, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ViewGraphSnapshotter.name(of: Child15.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + self.child15 = AnyViewGraphNode( + for: child15, + backend: backend, + snapshot: snapshots[15], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 17 child nodes. A counterpart to +/// ``TupleView17``. +public struct TupleViewChildren17< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View, Child15: View, Child16: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + child15.widget, + child16.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ErasedViewGraphNode(wrapping: child15), + ErasedViewGraphNode(wrapping: child16), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child15: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child16: AnyViewGraphNode + + /// Creates the nodes for 17 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + _ child15: Child15, + _ child16: Child16, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ViewGraphSnapshotter.name(of: Child15.self), + ViewGraphSnapshotter.name(of: Child16.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + self.child15 = AnyViewGraphNode( + for: child15, + backend: backend, + snapshot: snapshots[15], + environment: environment + ) + self.child16 = AnyViewGraphNode( + for: child16, + backend: backend, + snapshot: snapshots[16], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 18 child nodes. A counterpart to +/// ``TupleView18``. +public struct TupleViewChildren18< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View, Child15: View, Child16: View, Child17: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + child15.widget, + child16.widget, + child17.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ErasedViewGraphNode(wrapping: child15), + ErasedViewGraphNode(wrapping: child16), + ErasedViewGraphNode(wrapping: child17), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child15: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child16: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child17: AnyViewGraphNode + + /// Creates the nodes for 18 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + _ child15: Child15, + _ child16: Child16, + _ child17: Child17, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ViewGraphSnapshotter.name(of: Child15.self), + ViewGraphSnapshotter.name(of: Child16.self), + ViewGraphSnapshotter.name(of: Child17.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + self.child15 = AnyViewGraphNode( + for: child15, + backend: backend, + snapshot: snapshots[15], + environment: environment + ) + self.child16 = AnyViewGraphNode( + for: child16, + backend: backend, + snapshot: snapshots[16], + environment: environment + ) + self.child17 = AnyViewGraphNode( + for: child17, + backend: backend, + snapshot: snapshots[17], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 19 child nodes. A counterpart to +/// ``TupleView19``. +public struct TupleViewChildren19< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View, Child15: View, Child16: View, Child17: View, + Child18: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + child15.widget, + child16.widget, + child17.widget, + child18.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ErasedViewGraphNode(wrapping: child15), + ErasedViewGraphNode(wrapping: child16), + ErasedViewGraphNode(wrapping: child17), + ErasedViewGraphNode(wrapping: child18), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child15: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child16: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child17: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child18: AnyViewGraphNode + + /// Creates the nodes for 19 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + _ child15: Child15, + _ child16: Child16, + _ child17: Child17, + _ child18: Child18, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ViewGraphSnapshotter.name(of: Child15.self), + ViewGraphSnapshotter.name(of: Child16.self), + ViewGraphSnapshotter.name(of: Child17.self), + ViewGraphSnapshotter.name(of: Child18.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + self.child15 = AnyViewGraphNode( + for: child15, + backend: backend, + snapshot: snapshots[15], + environment: environment + ) + self.child16 = AnyViewGraphNode( + for: child16, + backend: backend, + snapshot: snapshots[16], + environment: environment + ) + self.child17 = AnyViewGraphNode( + for: child17, + backend: backend, + snapshot: snapshots[17], + environment: environment + ) + self.child18 = AnyViewGraphNode( + for: child18, + backend: backend, + snapshot: snapshots[18], + environment: environment + ) + } +} + +/// A fixed-length strongly-typed collection of 20 child nodes. A counterpart to +/// ``TupleView20``. +public struct TupleViewChildren20< + Child0: View, Child1: View, Child2: View, Child3: View, Child4: View, Child5: View, + Child6: View, Child7: View, Child8: View, Child9: View, Child10: View, Child11: View, + Child12: View, Child13: View, Child14: View, Child15: View, Child16: View, Child17: View, + Child18: View, Child19: View +>: ViewGraphNodeChildren { + public var widgets: [AnyWidget] { + return [ + child0.widget, + child1.widget, + child2.widget, + child3.widget, + child4.widget, + child5.widget, + child6.widget, + child7.widget, + child8.widget, + child9.widget, + child10.widget, + child11.widget, + child12.widget, + child13.widget, + child14.widget, + child15.widget, + child16.widget, + child17.widget, + child18.widget, + child19.widget, + ] + } + + public var erasedNodes: [ErasedViewGraphNode] { + return [ + ErasedViewGraphNode(wrapping: child0), + ErasedViewGraphNode(wrapping: child1), + ErasedViewGraphNode(wrapping: child2), + ErasedViewGraphNode(wrapping: child3), + ErasedViewGraphNode(wrapping: child4), + ErasedViewGraphNode(wrapping: child5), + ErasedViewGraphNode(wrapping: child6), + ErasedViewGraphNode(wrapping: child7), + ErasedViewGraphNode(wrapping: child8), + ErasedViewGraphNode(wrapping: child9), + ErasedViewGraphNode(wrapping: child10), + ErasedViewGraphNode(wrapping: child11), + ErasedViewGraphNode(wrapping: child12), + ErasedViewGraphNode(wrapping: child13), + ErasedViewGraphNode(wrapping: child14), + ErasedViewGraphNode(wrapping: child15), + ErasedViewGraphNode(wrapping: child16), + ErasedViewGraphNode(wrapping: child17), + ErasedViewGraphNode(wrapping: child18), + ErasedViewGraphNode(wrapping: child19), + ] + } + + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child0: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child1: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child2: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child3: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child4: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child5: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child6: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child7: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child8: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child9: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child10: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child11: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child12: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child13: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child14: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child15: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child16: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child17: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child18: AnyViewGraphNode + /// ``AnyViewGraphNode`` is used instead of ``ViewGraphNode`` because otherwise the backend leaks into views. + public var child19: AnyViewGraphNode + + /// Creates the nodes for 20 child views. + public init( + _ child0: Child0, + _ child1: Child1, + _ child2: Child2, + _ child3: Child3, + _ child4: Child4, + _ child5: Child5, + _ child6: Child6, + _ child7: Child7, + _ child8: Child8, + _ child9: Child9, + _ child10: Child10, + _ child11: Child11, + _ child12: Child12, + _ child13: Child13, + _ child14: Child14, + _ child15: Child15, + _ child16: Child16, + _ child17: Child17, + _ child18: Child18, + _ child19: Child19, + backend: Backend, + snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, + environment: EnvironmentValues + ) { + let viewTypeNames = [ + ViewGraphSnapshotter.name(of: Child0.self), + ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), + ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), + ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), + ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), + ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child10.self), + ViewGraphSnapshotter.name(of: Child11.self), + ViewGraphSnapshotter.name(of: Child12.self), + ViewGraphSnapshotter.name(of: Child13.self), + ViewGraphSnapshotter.name(of: Child14.self), + ViewGraphSnapshotter.name(of: Child15.self), + ViewGraphSnapshotter.name(of: Child16.self), + ViewGraphSnapshotter.name(of: Child17.self), + ViewGraphSnapshotter.name(of: Child18.self), + ViewGraphSnapshotter.name(of: Child19.self), + ] + let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) + self.child0 = AnyViewGraphNode( + for: child0, + backend: backend, + snapshot: snapshots[0], + environment: environment + ) + self.child1 = AnyViewGraphNode( + for: child1, + backend: backend, + snapshot: snapshots[1], + environment: environment + ) + self.child2 = AnyViewGraphNode( + for: child2, + backend: backend, + snapshot: snapshots[2], + environment: environment + ) + self.child3 = AnyViewGraphNode( + for: child3, + backend: backend, + snapshot: snapshots[3], + environment: environment + ) + self.child4 = AnyViewGraphNode( + for: child4, + backend: backend, + snapshot: snapshots[4], + environment: environment + ) + self.child5 = AnyViewGraphNode( + for: child5, + backend: backend, + snapshot: snapshots[5], + environment: environment + ) + self.child6 = AnyViewGraphNode( + for: child6, + backend: backend, + snapshot: snapshots[6], + environment: environment + ) + self.child7 = AnyViewGraphNode( + for: child7, + backend: backend, + snapshot: snapshots[7], + environment: environment + ) + self.child8 = AnyViewGraphNode( + for: child8, + backend: backend, + snapshot: snapshots[8], + environment: environment + ) + self.child9 = AnyViewGraphNode( + for: child9, + backend: backend, + snapshot: snapshots[9], + environment: environment + ) + self.child10 = AnyViewGraphNode( + for: child10, + backend: backend, + snapshot: snapshots[10], + environment: environment + ) + self.child11 = AnyViewGraphNode( + for: child11, + backend: backend, + snapshot: snapshots[11], + environment: environment + ) + self.child12 = AnyViewGraphNode( + for: child12, + backend: backend, + snapshot: snapshots[12], + environment: environment + ) + self.child13 = AnyViewGraphNode( + for: child13, + backend: backend, + snapshot: snapshots[13], + environment: environment + ) + self.child14 = AnyViewGraphNode( + for: child14, + backend: backend, + snapshot: snapshots[14], + environment: environment + ) + self.child15 = AnyViewGraphNode( + for: child15, + backend: backend, + snapshot: snapshots[15], + environment: environment + ) + self.child16 = AnyViewGraphNode( + for: child16, + backend: backend, + snapshot: snapshots[16], + environment: environment + ) + self.child17 = AnyViewGraphNode( + for: child17, + backend: backend, + snapshot: snapshots[17], + environment: environment + ) + self.child18 = AnyViewGraphNode( + for: child18, + backend: backend, + snapshot: snapshots[18], + environment: environment + ) + self.child19 = AnyViewGraphNode( + for: child19, + backend: backend, + snapshot: snapshots[19], + environment: environment + ) + } +} diff --git a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb index 63aff4f1a7..57768e933f 100644 --- a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb @@ -1,8 +1,8 @@ %{ -maximum_child_count = 10 +maximum_child_count = 20 }% -% for i in range(10): +% for i in range(maximum_child_count): %{ children = [] for j in range(i + 1): From d236666a3e3ea48e0e58daf8c1be2dc3bd6f224c Mon Sep 17 00:00:00 2001 From: stackotter Date: Wed, 25 Jun 2025 21:37:07 +1000 Subject: [PATCH 2/2] Reduce unnecessary repetition in generated view/scene builder code This resulted in 7500 lines less code, 1mb smaller debug binaries and 0.5mb smaller release binaries --- .../SwiftCrossUI/Builders/SceneBuilder.swift | 1026 +---- .../Builders/SceneBuilder.swift.gyb | 14 +- .../Builders/TableRowBuilder.swift | 1055 +---- .../Builders/TableRowBuilder.swift.gyb | 11 +- .../SwiftCrossUI/Builders/ViewBuilder.swift | 3 + .../Builders/ViewBuilder.swift.gyb | 2 + .../SwiftCrossUI/Layout/LayoutSystem.swift | 5 +- Sources/SwiftCrossUI/Scenes/TupleScene.swift | 1262 +----- .../SwiftCrossUI/Scenes/TupleScene.swift.gyb | 22 +- .../SwiftCrossUI/Views/TableRowContent.swift | 1401 ++---- .../Views/TableRowContent.swift.gyb | 25 +- Sources/SwiftCrossUI/Views/TupleView.swift | 3974 ++--------------- .../SwiftCrossUI/Views/TupleView.swift.gyb | 114 +- .../Views/TupleViewChildren.swift | 2233 ++------- .../Views/TupleViewChildren.swift.gyb | 41 +- 15 files changed, 1737 insertions(+), 9451 deletions(-) diff --git a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift index e72a40d241..ee690388e7 100644 --- a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift @@ -1,3 +1,6 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// SceneBuilder.swift.gyb instead. + /// Builds an app's root scene by composing other scenes together. @resultBuilder public struct SceneBuilder { @@ -6,991 +9,258 @@ public struct SceneBuilder { return content } - public static func buildBlock< - Scene0: Scene, - Scene1: Scene - >( - _ scene0: Scene0, - _ scene1: Scene1 - ) -> TupleScene2< - Scene0, - Scene1 - > { - return TupleScene2( - scene0, - scene1 - ) + public static func buildBlock(_ scene0: Scene0, _ scene1: Scene1) + -> TupleScene2 + { + return TupleScene2(scene0, scene1) } - public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene - >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2 - ) -> TupleScene3< - Scene0, - Scene1, - Scene2 - > { - return TupleScene3( - scene0, - scene1, - scene2 - ) + public static func buildBlock( + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2 + ) -> TupleScene3 { + return TupleScene3(scene0, scene1, scene2) } - public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene - >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3 - ) -> TupleScene4< - Scene0, - Scene1, - Scene2, - Scene3 - > { - return TupleScene4( - scene0, - scene1, - scene2, - scene3 - ) + public static func buildBlock( + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3 + ) -> TupleScene4 { + return TupleScene4(scene0, scene1, scene2, scene3) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene - >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4 - ) -> TupleScene5< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4 - > { - return TupleScene5( - scene0, - scene1, - scene2, - scene3, - scene4 - ) + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene + >(_ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4) + -> TupleScene5 + { + return TupleScene5(scene0, scene1, scene2, scene3, scene4) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, _ scene5: Scene5 - ) -> TupleScene6< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5 - > { - return TupleScene6( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5 - ) + ) -> TupleScene6 { + return TupleScene6(scene0, scene1, scene2, scene3, scene4, scene5) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, Scene6: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6 - ) -> TupleScene7< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6 - > { - return TupleScene7( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6 - ) + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6 + ) -> TupleScene7 { + return TupleScene7(scene0, scene1, scene2, scene3, scene4, scene5, scene6) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7 - ) -> TupleScene8< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7 - > { - return TupleScene8( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7 - ) + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7 + ) -> TupleScene8 { + return TupleScene8(scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8 - ) -> TupleScene9< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8 - > { - return TupleScene9( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8 - ) + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8 + ) -> TupleScene9 { + return TupleScene9(scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9 ) -> TupleScene10< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9 > { return TupleScene10( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, _ scene10: Scene10 ) -> TupleScene11< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10 > { return TupleScene11( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11 ) -> TupleScene12< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, Scene11 > { return TupleScene12( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, Scene12: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12 ) -> TupleScene13< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12 > { return TupleScene13( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13 ) -> TupleScene14< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13 > { return TupleScene14( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, _ scene14: Scene14 ) -> TupleScene15< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14 > { return TupleScene15( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15 ) -> TupleScene16< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15 > { return TupleScene16( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14, - scene15 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14, scene15) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16 ) -> TupleScene17< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16 > { return TupleScene17( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14, - scene15, - scene16 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14, scene15, scene16) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17 ) -> TupleScene18< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17 > { return TupleScene18( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14, - scene15, - scene16, - scene17 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14, scene15, scene16, scene17) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, - Scene18: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, + Scene17: Scene, Scene18: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17, _ scene18: Scene18 ) -> TupleScene19< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18 > { return TupleScene19( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14, - scene15, - scene16, - scene17, - scene18 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14, scene15, scene16, scene17, scene18) } public static func buildBlock< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, - Scene18: Scene, - Scene19: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, + Scene17: Scene, Scene18: Scene, Scene19: Scene >( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17, - _ scene18: Scene18, - _ scene19: Scene19 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17, + _ scene18: Scene18, _ scene19: Scene19 ) -> TupleScene20< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18, - Scene19 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18, Scene19 > { return TupleScene20( - scene0, - scene1, - scene2, - scene3, - scene4, - scene5, - scene6, - scene7, - scene8, - scene9, - scene10, - scene11, - scene12, - scene13, - scene14, - scene15, - scene16, - scene17, - scene18, - scene19 - ) + scene0, scene1, scene2, scene3, scene4, scene5, scene6, scene7, scene8, scene9, scene10, + scene11, scene12, scene13, scene14, scene15, scene16, scene17, scene18, scene19) } } diff --git a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb index 78c78d29da..706bfd28c4 100644 --- a/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/SceneBuilder.swift.gyb @@ -1,3 +1,5 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// SceneBuilder.swift.gyb instead. %{ maximum_scene_count = 20 }% @@ -11,16 +13,8 @@ public struct SceneBuilder { } %for i in range(2, maximum_scene_count + 1): - public static func buildBlock< - ${",\n ".join("Scene%d: Scene" % j for j in range(i))} - >( - ${",\n ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))} - ) -> TupleScene${i}< - ${",\n ".join("Scene%d" % j for j in range(i))} - > { - return TupleScene${i}( - ${",\n ".join("scene%d" % j for j in range(i))} - ) + public static func buildBlock<${", ".join("Scene%d: Scene" % j for j in range(i))}>(${", ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))}) -> TupleScene${i}<${", ".join("Scene%d" % j for j in range(i))}> { + return TupleScene${i}(${", ".join("scene%d" % j for j in range(i))}) } %end } diff --git a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift index 2e8715e973..2db59f9fb2 100644 --- a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift @@ -1,3 +1,6 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TableRowBuilder.swift.gyb instead. + /// A result builder for constructing a collection of table columns. @resultBuilder public struct TableRowBuilder { @@ -10,999 +13,367 @@ public struct TableRowBuilder { >( _ column0: TableColumn ) -> TupleTableRowContent1< - RowValue, - Content0 + RowValue, Content0 > { TupleTableRowContent1( column0 ) } public static func buildBlock< - Content0: View, - Content1: View + Content0: View, Content1: View >( - _ column0: TableColumn, - _ column1: TableColumn + _ column0: TableColumn, _ column1: TableColumn ) -> TupleTableRowContent2< - RowValue, - Content0, - Content1 + RowValue, Content0, Content1 > { TupleTableRowContent2( - column0, - column1 + column0, column1 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View + Content0: View, Content1: View, Content2: View >( - _ column0: TableColumn, - _ column1: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, _ column2: TableColumn ) -> TupleTableRowContent3< - RowValue, - Content0, - Content1, - Content2 + RowValue, Content0, Content1, Content2 > { TupleTableRowContent3( - column0, - column1, - column2 + column0, column1, column2 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View + Content0: View, Content1: View, Content2: View, Content3: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn ) -> TupleTableRowContent4< - RowValue, - Content0, - Content1, - Content2, - Content3 + RowValue, Content0, Content1, Content2, Content3 > { TupleTableRowContent4( - column0, - column1, - column2, - column3 + column0, column1, column2, column3 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, _ column4: TableColumn ) -> TupleTableRowContent5< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4 + RowValue, Content0, Content1, Content2, Content3, Content4 > { TupleTableRowContent5( - column0, - column1, - column2, - column3, - column4 + column0, column1, column2, column3, column4 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, Content5: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn ) -> TupleTableRowContent6< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5 > { TupleTableRowContent6( - column0, - column1, - column2, - column3, - column4, - column5 + column0, column1, column2, column3, column4, column5 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, _ column6: TableColumn ) -> TupleTableRowContent7< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6 > { TupleTableRowContent7( - column0, - column1, - column2, - column3, - column4, - column5, - column6 + column0, column1, column2, column3, column4, column5, column6 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn ) -> TupleTableRowContent8< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7 > { TupleTableRowContent8( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7 + column0, column1, column2, column3, column4, column5, column6, column7 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, _ column8: TableColumn ) -> TupleTableRowContent9< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8 > { TupleTableRowContent9( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8 + column0, column1, column2, column3, column4, column5, column6, column7, column8 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn ) -> TupleTableRowContent10< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9 > { TupleTableRowContent10( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9 + column0, column1, column2, column3, column4, column5, column6, column7, column8, column9 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, _ column10: TableColumn ) -> TupleTableRowContent11< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10 > { TupleTableRowContent11( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn ) -> TupleTableRowContent12< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11 > { TupleTableRowContent12( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, _ column12: TableColumn ) -> TupleTableRowContent13< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12 > { TupleTableRowContent13( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn ) -> TupleTableRowContent14< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13 > { TupleTableRowContent14( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, _ column14: TableColumn ) -> TupleTableRowContent15< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14 > { TupleTableRowContent15( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View, Content15: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn ) -> TupleTableRowContent16< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14, Content15 > { TupleTableRowContent16( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14, - column15 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14, column15 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View, + Content15: View, Content16: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, _ column16: TableColumn ) -> TupleTableRowContent17< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14, Content15, Content16 > { TupleTableRowContent17( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14, - column15, - column16 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14, column15, column16 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View, + Content15: View, Content16: View, Content17: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn ) -> TupleTableRowContent18< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, - Content17 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14, Content15, + Content16, Content17 > { TupleTableRowContent18( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14, - column15, - column16, - column17 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14, column15, column16, column17 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View, - Content18: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View, + Content15: View, Content16: View, Content17: View, Content18: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn, _ column18: TableColumn ) -> TupleTableRowContent19< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, - Content17, - Content18 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14, Content15, + Content16, Content17, Content18 > { TupleTableRowContent19( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14, - column15, - column16, - column17, + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14, column15, column16, column17, column18 ) } public static func buildBlock< - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View, - Content18: View, - Content19: View + Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, + Content10: View, Content11: View, Content12: View, Content13: View, Content14: View, + Content15: View, Content16: View, Content17: View, Content18: View, Content19: View >( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn, - _ column18: TableColumn, - _ column19: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn, + _ column18: TableColumn, _ column19: TableColumn ) -> TupleTableRowContent20< - RowValue, - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, - Content17, - Content18, - Content19 + RowValue, Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, + Content8, Content9, Content10, Content11, Content12, Content13, Content14, Content15, + Content16, Content17, Content18, Content19 > { TupleTableRowContent20( - column0, - column1, - column2, - column3, - column4, - column5, - column6, - column7, - column8, - column9, - column10, - column11, - column12, - column13, - column14, - column15, - column16, - column17, - column18, - column19 + column0, column1, column2, column3, column4, column5, column6, column7, column8, + column9, column10, column11, column12, column13, column14, column15, column16, column17, + column18, column19 ) } } diff --git a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb index d80f5fa17f..f47814a32c 100644 --- a/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/TableRowBuilder.swift.gyb @@ -1,3 +1,5 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TableRowBuilder.swift.gyb instead. %{ maximum_column_count = 20 }% @@ -11,15 +13,14 @@ public struct TableRowBuilder { %for i in range(1, maximum_column_count + 1): public static func buildBlock< - ${",\n ".join("Content%d: View" % j for j in range(i))} + ${", ".join("Content%d: View" % j for j in range(i))} >( - ${",\n ".join("_ column%d: TableColumn" % (j, j) for j in range(i))} + ${", ".join("_ column%d: TableColumn" % (j, j) for j in range(i))} ) -> TupleTableRowContent${i}< - RowValue, - ${",\n ".join("Content%d" % j for j in range(i))} + RowValue, ${", ".join("Content%d" % j for j in range(i))} > { TupleTableRowContent${i}( - ${",\n ".join("column%d" % j for j in range(i))} + ${", ".join("column%d" % j for j in range(i))} ) } %end diff --git a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift index cefcfe0fbb..2b5252d367 100644 --- a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift +++ b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift @@ -1,3 +1,6 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// ViewBuilder.swift.gyb instead. + /// A result builder used to compose views together into composite views in /// a declarative manner. @resultBuilder diff --git a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb index a9584bbfe4..d30912de14 100644 --- a/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb +++ b/Sources/SwiftCrossUI/Builders/ViewBuilder.swift.gyb @@ -1,3 +1,5 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// ViewBuilder.swift.gyb instead. %{ maximum_view_count = 20 }% diff --git a/Sources/SwiftCrossUI/Layout/LayoutSystem.swift b/Sources/SwiftCrossUI/Layout/LayoutSystem.swift index 057ba873bc..4618efff1e 100644 --- a/Sources/SwiftCrossUI/Layout/LayoutSystem.swift +++ b/Sources/SwiftCrossUI/Layout/LayoutSystem.swift @@ -46,7 +46,7 @@ public enum LayoutSystem { public struct LayoutableChild { private var update: - ( + @MainActor ( _ proposedSize: SIMD2, _ environment: EnvironmentValues, _ dryRun: Bool @@ -54,13 +54,14 @@ public enum LayoutSystem { var tag: String? public init( - update: @escaping (SIMD2, EnvironmentValues, Bool) -> ViewUpdateResult, + update: @escaping @MainActor (SIMD2, EnvironmentValues, Bool) -> ViewUpdateResult, tag: String? = nil ) { self.update = update self.tag = tag } + @MainActor public func update( proposedSize: SIMD2, environment: EnvironmentValues, diff --git a/Sources/SwiftCrossUI/Scenes/TupleScene.swift b/Sources/SwiftCrossUI/Scenes/TupleScene.swift index e70ee615d7..e5301fc3ba 100644 --- a/Sources/SwiftCrossUI/Scenes/TupleScene.swift +++ b/Sources/SwiftCrossUI/Scenes/TupleScene.swift @@ -1,21 +1,15 @@ -public struct TupleScene2< - Scene0: Scene, - Scene1: Scene ->: Scene { - public typealias Node = TupleSceneNode2< - Scene0, - Scene1 - > +// This file was generated using gyb. Do not edit it directly. Edit +// TupleScene.swift.gyb instead. + +public struct TupleScene2: Scene { + public typealias Node = TupleSceneNode2 var scene0: Scene0 var scene1: Scene1 public var commands: Commands - public init( - _ scene0: Scene0, - _ scene1: Scene1 - ) { + public init(_ scene0: Scene0, _ scene1: Scene1) { self.scene0 = scene0 self.scene1 = scene1 @@ -25,14 +19,8 @@ public struct TupleScene2< } } -public final class TupleSceneNode2< - Scene0: Scene, - Scene1: Scene ->: SceneGraphNode { - public typealias NodeScene = TupleScene2< - Scene0, - Scene1 - > +public final class TupleSceneNode2: SceneGraphNode { + public typealias NodeScene = TupleScene2 var node0: Scene0.Node var node1: Scene1.Node @@ -55,16 +43,8 @@ public final class TupleSceneNode2< node1.update(newScene?.scene1, backend: backend, environment: environment) } } -public struct TupleScene3< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene ->: Scene { - public typealias Node = TupleSceneNode3< - Scene0, - Scene1, - Scene2 - > +public struct TupleScene3: Scene { + public typealias Node = TupleSceneNode3 var scene0: Scene0 var scene1: Scene1 @@ -72,11 +52,7 @@ public struct TupleScene3< public var commands: Commands - public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2 - ) { + public init(_ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2) { self.scene0 = scene0 self.scene1 = scene1 self.scene2 = scene2 @@ -88,16 +64,8 @@ public struct TupleScene3< } } -public final class TupleSceneNode3< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene ->: SceneGraphNode { - public typealias NodeScene = TupleScene3< - Scene0, - Scene1, - Scene2 - > +public final class TupleSceneNode3: SceneGraphNode { + public typealias NodeScene = TupleScene3 var node0: Scene0.Node var node1: Scene1.Node @@ -123,18 +91,8 @@ public final class TupleSceneNode3< node2.update(newScene?.scene2, backend: backend, environment: environment) } } -public struct TupleScene4< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene ->: Scene { - public typealias Node = TupleSceneNode4< - Scene0, - Scene1, - Scene2, - Scene3 - > +public struct TupleScene4: Scene { + public typealias Node = TupleSceneNode4 var scene0: Scene0 var scene1: Scene1 @@ -143,12 +101,7 @@ public struct TupleScene4< public var commands: Commands - public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3 - ) { + public init(_ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3) { self.scene0 = scene0 self.scene1 = scene1 self.scene2 = scene2 @@ -162,18 +115,10 @@ public struct TupleScene4< } } -public final class TupleSceneNode4< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene ->: SceneGraphNode { - public typealias NodeScene = TupleScene4< - Scene0, - Scene1, - Scene2, - Scene3 - > +public final class TupleSceneNode4: + SceneGraphNode +{ + public typealias NodeScene = TupleScene4 var node0: Scene0.Node var node1: Scene1.Node @@ -203,19 +148,9 @@ public final class TupleSceneNode4< } } public struct TupleScene5< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene >: Scene { - public typealias Node = TupleSceneNode5< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4 - > + public typealias Node = TupleSceneNode5 var scene0: Scene0 var scene1: Scene1 @@ -226,11 +161,7 @@ public struct TupleScene5< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -248,19 +179,9 @@ public struct TupleScene5< } public final class TupleSceneNode5< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene >: SceneGraphNode { - public typealias NodeScene = TupleScene5< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4 - > + public typealias NodeScene = TupleScene5 var node0: Scene0.Node var node1: Scene1.Node @@ -293,21 +214,9 @@ public final class TupleSceneNode5< } } public struct TupleScene6< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene >: Scene { - public typealias Node = TupleSceneNode6< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5 - > + public typealias Node = TupleSceneNode6 var scene0: Scene0 var scene1: Scene1 @@ -319,11 +228,7 @@ public struct TupleScene6< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, _ scene5: Scene5 ) { self.scene0 = scene0 @@ -344,21 +249,9 @@ public struct TupleScene6< } public final class TupleSceneNode6< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene >: SceneGraphNode { - public typealias NodeScene = TupleScene6< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5 - > + public typealias NodeScene = TupleScene6 var node0: Scene0.Node var node1: Scene1.Node @@ -394,23 +287,10 @@ public final class TupleSceneNode6< } } public struct TupleScene7< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, Scene6: Scene >: Scene { - public typealias Node = TupleSceneNode7< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6 - > + public typealias Node = TupleSceneNode7 var scene0: Scene0 var scene1: Scene1 @@ -423,13 +303,8 @@ public struct TupleScene7< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -451,23 +326,10 @@ public struct TupleScene7< } public final class TupleSceneNode7< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, Scene6: Scene >: SceneGraphNode { - public typealias NodeScene = TupleScene7< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6 - > + public typealias NodeScene = TupleScene7 var node0: Scene0.Node var node1: Scene1.Node @@ -506,24 +368,11 @@ public final class TupleSceneNode7< } } public struct TupleScene8< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene >: Scene { public typealias Node = TupleSceneNode8< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7 > var scene0: Scene0 @@ -538,14 +387,8 @@ public struct TupleScene8< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -569,24 +412,11 @@ public struct TupleScene8< } public final class TupleSceneNode8< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene8< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7 > var node0: Scene0.Node @@ -629,26 +459,11 @@ public final class TupleSceneNode8< } } public struct TupleScene9< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene >: Scene { public typealias Node = TupleSceneNode9< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8 > var scene0: Scene0 @@ -664,15 +479,8 @@ public struct TupleScene9< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -698,26 +506,11 @@ public struct TupleScene9< } public final class TupleSceneNode9< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene9< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8 > var node0: Scene0.Node @@ -763,28 +556,11 @@ public final class TupleSceneNode9< } } public struct TupleScene10< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene >: Scene { public typealias Node = TupleSceneNode10< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9 > var scene0: Scene0 @@ -801,16 +577,8 @@ public struct TupleScene10< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -838,28 +606,11 @@ public struct TupleScene10< } public final class TupleSceneNode10< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene10< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9 > var node0: Scene0.Node @@ -908,30 +659,11 @@ public final class TupleSceneNode10< } } public struct TupleScene11< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene >: Scene { public typealias Node = TupleSceneNode11< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10 > var scene0: Scene0 @@ -949,16 +681,8 @@ public struct TupleScene11< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, _ scene10: Scene10 ) { self.scene0 = scene0 @@ -989,30 +713,11 @@ public struct TupleScene11< } public final class TupleSceneNode11< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene11< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10 > var node0: Scene0.Node @@ -1064,31 +769,11 @@ public final class TupleSceneNode11< } } public struct TupleScene12< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene >: Scene { public typealias Node = TupleSceneNode12< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, Scene11 > @@ -1108,18 +793,9 @@ public struct TupleScene12< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -1151,31 +827,11 @@ public struct TupleScene12< } public final class TupleSceneNode12< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene12< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, Scene11 > @@ -1231,34 +887,13 @@ public final class TupleSceneNode12< } } public struct TupleScene13< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, Scene12: Scene >: Scene { public typealias Node = TupleSceneNode13< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12 > var scene0: Scene0 @@ -1278,19 +913,9 @@ public struct TupleScene13< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -1324,34 +949,13 @@ public struct TupleScene13< } public final class TupleSceneNode13< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, Scene12: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene13< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12 > var node0: Scene0.Node @@ -1409,36 +1013,13 @@ public final class TupleSceneNode13< } } public struct TupleScene14< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene >: Scene { public typealias Node = TupleSceneNode14< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13 > var scene0: Scene0 @@ -1459,20 +1040,9 @@ public struct TupleScene14< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -1508,36 +1078,13 @@ public struct TupleScene14< } public final class TupleSceneNode14< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene14< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13 > var node0: Scene0.Node @@ -1598,38 +1145,13 @@ public final class TupleSceneNode14< } } public struct TupleScene15< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene >: Scene { public typealias Node = TupleSceneNode15< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14 > var scene0: Scene0 @@ -1651,20 +1173,9 @@ public struct TupleScene15< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, _ scene14: Scene14 ) { self.scene0 = scene0 @@ -1703,38 +1214,13 @@ public struct TupleScene15< } public final class TupleSceneNode15< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene15< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14 > var node0: Scene0.Node @@ -1798,40 +1284,13 @@ public final class TupleSceneNode15< } } public struct TupleScene16< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene >: Scene { public typealias Node = TupleSceneNode16< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15 > var scene0: Scene0 @@ -1854,22 +1313,10 @@ public struct TupleScene16< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -1909,40 +1356,13 @@ public struct TupleScene16< } public final class TupleSceneNode16< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene16< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15 > var node0: Scene0.Node @@ -2009,42 +1429,13 @@ public final class TupleSceneNode16< } } public struct TupleScene17< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene >: Scene { public typealias Node = TupleSceneNode17< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16 > var scene0: Scene0 @@ -2068,23 +1459,10 @@ public struct TupleScene17< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -2126,42 +1504,13 @@ public struct TupleScene17< } public final class TupleSceneNode17< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene17< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16 > var node0: Scene0.Node @@ -2231,44 +1580,13 @@ public final class TupleSceneNode17< } } public struct TupleScene18< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene >: Scene { public typealias Node = TupleSceneNode18< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17 > var scene0: Scene0 @@ -2293,24 +1611,10 @@ public struct TupleScene18< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -2354,44 +1658,13 @@ public struct TupleScene18< } public final class TupleSceneNode18< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene18< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17 > var node0: Scene0.Node @@ -2464,46 +1737,14 @@ public final class TupleSceneNode18< } } public struct TupleScene19< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene, Scene18: Scene >: Scene { public typealias Node = TupleSceneNode19< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18 > var scene0: Scene0 @@ -2529,24 +1770,10 @@ public struct TupleScene19< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17, + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17, _ scene18: Scene18 ) { self.scene0 = scene0 @@ -2593,46 +1820,14 @@ public struct TupleScene19< } public final class TupleSceneNode19< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene, Scene18: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene19< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18 > var node0: Scene0.Node @@ -2708,48 +1903,14 @@ public final class TupleSceneNode19< } } public struct TupleScene20< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, - Scene18: Scene, - Scene19: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene, + Scene18: Scene, Scene19: Scene >: Scene { public typealias Node = TupleSceneNode20< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18, - Scene19 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18, Scene19 > var scene0: Scene0 @@ -2776,26 +1937,11 @@ public struct TupleScene20< public var commands: Commands public init( - _ scene0: Scene0, - _ scene1: Scene1, - _ scene2: Scene2, - _ scene3: Scene3, - _ scene4: Scene4, - _ scene5: Scene5, - _ scene6: Scene6, - _ scene7: Scene7, - _ scene8: Scene8, - _ scene9: Scene9, - _ scene10: Scene10, - _ scene11: Scene11, - _ scene12: Scene12, - _ scene13: Scene13, - _ scene14: Scene14, - _ scene15: Scene15, - _ scene16: Scene16, - _ scene17: Scene17, - _ scene18: Scene18, - _ scene19: Scene19 + _ scene0: Scene0, _ scene1: Scene1, _ scene2: Scene2, _ scene3: Scene3, _ scene4: Scene4, + _ scene5: Scene5, _ scene6: Scene6, _ scene7: Scene7, _ scene8: Scene8, _ scene9: Scene9, + _ scene10: Scene10, _ scene11: Scene11, _ scene12: Scene12, _ scene13: Scene13, + _ scene14: Scene14, _ scene15: Scene15, _ scene16: Scene16, _ scene17: Scene17, + _ scene18: Scene18, _ scene19: Scene19 ) { self.scene0 = scene0 self.scene1 = scene1 @@ -2843,48 +1989,14 @@ public struct TupleScene20< } public final class TupleSceneNode20< - Scene0: Scene, - Scene1: Scene, - Scene2: Scene, - Scene3: Scene, - Scene4: Scene, - Scene5: Scene, - Scene6: Scene, - Scene7: Scene, - Scene8: Scene, - Scene9: Scene, - Scene10: Scene, - Scene11: Scene, - Scene12: Scene, - Scene13: Scene, - Scene14: Scene, - Scene15: Scene, - Scene16: Scene, - Scene17: Scene, - Scene18: Scene, - Scene19: Scene + Scene0: Scene, Scene1: Scene, Scene2: Scene, Scene3: Scene, Scene4: Scene, Scene5: Scene, + Scene6: Scene, Scene7: Scene, Scene8: Scene, Scene9: Scene, Scene10: Scene, Scene11: Scene, + Scene12: Scene, Scene13: Scene, Scene14: Scene, Scene15: Scene, Scene16: Scene, Scene17: Scene, + Scene18: Scene, Scene19: Scene >: SceneGraphNode { public typealias NodeScene = TupleScene20< - Scene0, - Scene1, - Scene2, - Scene3, - Scene4, - Scene5, - Scene6, - Scene7, - Scene8, - Scene9, - Scene10, - Scene11, - Scene12, - Scene13, - Scene14, - Scene15, - Scene16, - Scene17, - Scene18, - Scene19 + Scene0, Scene1, Scene2, Scene3, Scene4, Scene5, Scene6, Scene7, Scene8, Scene9, Scene10, + Scene11, Scene12, Scene13, Scene14, Scene15, Scene16, Scene17, Scene18, Scene19 > var node0: Scene0.Node diff --git a/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb b/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb index b1140313dd..898dd9971d 100644 --- a/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb +++ b/Sources/SwiftCrossUI/Scenes/TupleScene.swift.gyb @@ -1,14 +1,12 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TupleScene.swift.gyb instead. %{ maximum_scene_count = 20 }% %for i in range(2, maximum_scene_count + 1): -public struct TupleScene${i}< - ${",\n ".join("Scene%d: Scene" % j for j in range(i))} ->: Scene { - public typealias Node = TupleSceneNode${i}< - ${",\n ".join("Scene%d" % j for j in range(i))} - > +public struct TupleScene${i}<${", ".join("Scene%d: Scene" % j for j in range(i))}>: Scene { + public typealias Node = TupleSceneNode${i}<${", ".join("Scene%d" % j for j in range(i))}> %for j in range(i): var scene${j}: Scene${j} @@ -16,9 +14,7 @@ public struct TupleScene${i}< public var commands: Commands - public init( - ${",\n ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))} - ) { + public init(${", ".join("_ scene%d: Scene%d" % (j, j) for j in range(i))}) { %for j in range(i): self.scene${j} = scene${j} %end @@ -30,12 +26,8 @@ public struct TupleScene${i}< } } -public final class TupleSceneNode${i}< - ${",\n ".join("Scene%d: Scene" % j for j in range(i))} ->: SceneGraphNode { - public typealias NodeScene = TupleScene${i}< - ${",\n ".join("Scene%d" % j for j in range(i))} - > +public final class TupleSceneNode${i}<${", ".join("Scene%d: Scene" % j for j in range(i))}>: SceneGraphNode { + public typealias NodeScene = TupleScene${i}<${", ".join("Scene%d" % j for j in range(i))}> %for j in range(i): var node${j}: Scene${j}.Node diff --git a/Sources/SwiftCrossUI/Views/TableRowContent.swift b/Sources/SwiftCrossUI/Views/TableRowContent.swift index 920fdbc468..f76429dcff 100644 --- a/Sources/SwiftCrossUI/Views/TableRowContent.swift +++ b/Sources/SwiftCrossUI/Views/TableRowContent.swift @@ -1,3 +1,6 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TableRowContent.swift.gyb instead. + public protocol TableRowContent { associatedtype RowValue associatedtype RowContent: View @@ -21,98 +24,61 @@ public struct EmptyTableRowContent: TableRowContent { } } -public struct TupleTableRowContent1< - RowValue, - Content0: View ->: TableRowContent { - public typealias RowContent = TupleView1< - Content0 - > +public struct TupleTableRowContent1: TableRowContent { + public typealias RowContent = TupleView1 public var column0: TableColumn public var labels: [String] { - [ - column0.label - ] + [column0.label] } - public init( - _ column0: TableColumn - ) { + public init(_ column0: TableColumn) { self.column0 = column0 } public func content(for row: RowValue) -> RowContent { - TupleView1( - column0.content(row) - ) + TupleView1(column0.content(row)) } } -public struct TupleTableRowContent2< - RowValue, - Content0: View, - Content1: View ->: TableRowContent { - public typealias RowContent = TupleView2< - Content0, - Content1 - > +public struct TupleTableRowContent2: TableRowContent { + public typealias RowContent = TupleView2 public var column0: TableColumn public var column1: TableColumn public var labels: [String] { - [ - column0.label, - column1.label, - ] + [column0.label, column1.label] } public init( - _ column0: TableColumn, - _ column1: TableColumn + _ column0: TableColumn, _ column1: TableColumn ) { self.column0 = column0 self.column1 = column1 } public func content(for row: RowValue) -> RowContent { - TupleView2( - column0.content(row), - column1.content(row) - ) + TupleView2(column0.content(row), column1.content(row)) } } -public struct TupleTableRowContent3< - RowValue, - Content0: View, - Content1: View, - Content2: View ->: TableRowContent { - public typealias RowContent = TupleView3< - Content0, - Content1, - Content2 - > +public struct TupleTableRowContent3: + TableRowContent +{ + public typealias RowContent = TupleView3 public var column0: TableColumn public var column1: TableColumn public var column2: TableColumn public var labels: [String] { - [ - column0.label, - column1.label, - column2.label, - ] + [column0.label, column1.label, column2.label] } public init( - _ column0: TableColumn, - _ column1: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, _ column2: TableColumn ) { self.column0 = column0 @@ -121,27 +87,14 @@ public struct TupleTableRowContent3< } public func content(for row: RowValue) -> RowContent { - TupleView3( - column0.content(row), - column1.content(row), - column2.content(row) - ) + TupleView3(column0.content(row), column1.content(row), column2.content(row)) } } public struct TupleTableRowContent4< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View >: TableRowContent { - public typealias RowContent = TupleView4< - Content0, - Content1, - Content2, - Content3 - > + public typealias RowContent = TupleView4 public var column0: TableColumn public var column1: TableColumn @@ -149,19 +102,12 @@ public struct TupleTableRowContent4< public var column3: TableColumn public var labels: [String] { - [ - column0.label, - column1.label, - column2.label, - column3.label, - ] + [column0.label, column1.label, column2.label, column3.label] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -171,29 +117,14 @@ public struct TupleTableRowContent4< public func content(for row: RowValue) -> RowContent { TupleView4( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row)) } } public struct TupleTableRowContent5< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View >: TableRowContent { - public typealias RowContent = TupleView5< - Content0, - Content1, - Content2, - Content3, - Content4 - > + public typealias RowContent = TupleView5 public var column0: TableColumn public var column1: TableColumn @@ -202,20 +133,12 @@ public struct TupleTableRowContent5< public var column4: TableColumn public var labels: [String] { - [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - ] + [column0.label, column1.label, column2.label, column3.label, column4.label] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, _ column4: TableColumn ) { self.column0 = column0 @@ -227,31 +150,17 @@ public struct TupleTableRowContent5< public func content(for row: RowValue) -> RowContent { TupleView5( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row)) } } public struct TupleTableRowContent6< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, Content5: View >: TableRowContent { public typealias RowContent = TupleView6< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5 + Content0, Content1, Content2, Content3, Content4, Content5 > public var column0: TableColumn @@ -262,23 +171,13 @@ public struct TupleTableRowContent6< public var column5: TableColumn public var labels: [String] { - [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - ] + [column0.label, column1.label, column2.label, column3.label, column4.label, column5.label] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -290,34 +189,17 @@ public struct TupleTableRowContent6< public func content(for row: RowValue) -> RowContent { TupleView6( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row)) } } public struct TupleTableRowContent7< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View >: TableRowContent { public typealias RowContent = TupleView7< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6 + Content0, Content1, Content2, Content3, Content4, Content5, Content6 > public var column0: TableColumn @@ -330,23 +212,15 @@ public struct TupleTableRowContent7< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, _ column6: TableColumn ) { self.column0 = column0 @@ -360,37 +234,17 @@ public struct TupleTableRowContent7< public func content(for row: RowValue) -> RowContent { TupleView7( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row)) } } public struct TupleTableRowContent8< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View >: TableRowContent { public typealias RowContent = TupleView8< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7 > public var column0: TableColumn @@ -404,26 +258,16 @@ public struct TupleTableRowContent8< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -437,40 +281,17 @@ public struct TupleTableRowContent8< public func content(for row: RowValue) -> RowContent { TupleView8( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row)) } } public struct TupleTableRowContent9< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View >: TableRowContent { public typealias RowContent = TupleView9< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8 > public var column0: TableColumn @@ -485,27 +306,16 @@ public struct TupleTableRowContent9< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, _ column8: TableColumn ) { self.column0 = column0 @@ -521,42 +331,18 @@ public struct TupleTableRowContent9< public func content(for row: RowValue) -> RowContent { TupleView9( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row)) } } public struct TupleTableRowContent10< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View >: TableRowContent { public typealias RowContent = TupleView10< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, Content9 > @@ -573,30 +359,17 @@ public struct TupleTableRowContent10< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -612,46 +385,19 @@ public struct TupleTableRowContent10< public func content(for row: RowValue) -> RowContent { TupleView10( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row)) } } public struct TupleTableRowContent11< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View >: TableRowContent { public typealias RowContent = TupleView11< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10 > public var column0: TableColumn @@ -668,31 +414,18 @@ public struct TupleTableRowContent11< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, column10.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, _ column10: TableColumn ) { self.column0 = column0 @@ -710,49 +443,20 @@ public struct TupleTableRowContent11< public func content(for row: RowValue) -> RowContent { TupleView11( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row)) } } public struct TupleTableRowContent12< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, Content11: View >: TableRowContent { public typealias RowContent = TupleView12< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11 > public var column0: TableColumn @@ -770,34 +474,19 @@ public struct TupleTableRowContent12< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -815,52 +504,21 @@ public struct TupleTableRowContent12< public func content(for row: RowValue) -> RowContent { TupleView12( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), column11.content(row) ) } } public struct TupleTableRowContent13< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View >: TableRowContent { public typealias RowContent = TupleView13< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12 > public var column0: TableColumn @@ -879,35 +537,19 @@ public struct TupleTableRowContent13< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, _ column12: TableColumn ) { self.column0 = column0 @@ -927,55 +569,21 @@ public struct TupleTableRowContent13< public func content(for row: RowValue) -> RowContent { TupleView13( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row)) } } public struct TupleTableRowContent14< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View >: TableRowContent { public typealias RowContent = TupleView14< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13 > public var column0: TableColumn @@ -995,38 +603,20 @@ public struct TupleTableRowContent14< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -1046,58 +636,21 @@ public struct TupleTableRowContent14< public func content(for row: RowValue) -> RowContent { TupleView14( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row)) } } public struct TupleTableRowContent15< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View >: TableRowContent { public typealias RowContent = TupleView15< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14 > public var column0: TableColumn @@ -1118,39 +671,20 @@ public struct TupleTableRowContent15< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, _ column14: TableColumn ) { self.column0 = column0 @@ -1172,61 +706,22 @@ public struct TupleTableRowContent15< public func content(for row: RowValue) -> RowContent { TupleView15( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row)) } } public struct TupleTableRowContent16< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View, Content15: View >: TableRowContent { public typealias RowContent = TupleView16< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14, Content15 > public var column0: TableColumn @@ -1248,42 +743,22 @@ public struct TupleTableRowContent16< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, column15.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -1305,64 +780,23 @@ public struct TupleTableRowContent16< public func content(for row: RowValue) -> RowContent { TupleView16( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row), - column15.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row), column15.content(row)) } } public struct TupleTableRowContent17< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View, Content15: View, Content16: View >: TableRowContent { public typealias RowContent = TupleView17< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14, Content15, Content16 > public var column0: TableColumn @@ -1385,43 +819,22 @@ public struct TupleTableRowContent17< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, - column15.label, - column16.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, + column15.label, column16.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, _ column16: TableColumn ) { self.column0 = column0 @@ -1445,66 +858,23 @@ public struct TupleTableRowContent17< public func content(for row: RowValue) -> RowContent { TupleView17( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row), - column15.content(row), - column16.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row), column15.content(row), column16.content(row)) } } public struct TupleTableRowContent18< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View, Content15: View, + Content16: View, Content17: View >: TableRowContent { public typealias RowContent = TupleView18< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14, Content15, Content16, Content17 > @@ -1529,46 +899,23 @@ public struct TupleTableRowContent18< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, - column15.label, - column16.label, - column17.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, + column15.label, column16.label, column17.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -1592,70 +939,25 @@ public struct TupleTableRowContent18< public func content(for row: RowValue) -> RowContent { TupleView18( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row), - column15.content(row), - column16.content(row), - column17.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row), column15.content(row), column16.content(row), + column17.content(row)) } } public struct TupleTableRowContent19< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View, - Content18: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View, Content15: View, + Content16: View, Content17: View, Content18: View >: TableRowContent { public typealias RowContent = TupleView19< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, - Content17, - Content18 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14, Content15, Content16, + Content17, Content18 > public var column0: TableColumn @@ -1680,47 +982,23 @@ public struct TupleTableRowContent19< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, - column15.label, - column16.label, - column17.label, - column18.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, + column15.label, column16.label, column17.label, column18.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn, + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn, _ column18: TableColumn ) { self.column0 = column0 @@ -1746,73 +1024,25 @@ public struct TupleTableRowContent19< public func content(for row: RowValue) -> RowContent { TupleView19( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row), - column15.content(row), - column16.content(row), - column17.content(row), - column18.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row), column15.content(row), column16.content(row), + column17.content(row), column18.content(row)) } } public struct TupleTableRowContent20< - RowValue, - Content0: View, - Content1: View, - Content2: View, - Content3: View, - Content4: View, - Content5: View, - Content6: View, - Content7: View, - Content8: View, - Content9: View, - Content10: View, - Content11: View, - Content12: View, - Content13: View, - Content14: View, - Content15: View, - Content16: View, - Content17: View, - Content18: View, - Content19: View + RowValue, Content0: View, Content1: View, Content2: View, Content3: View, Content4: View, + Content5: View, Content6: View, Content7: View, Content8: View, Content9: View, Content10: View, + Content11: View, Content12: View, Content13: View, Content14: View, Content15: View, + Content16: View, Content17: View, Content18: View, Content19: View >: TableRowContent { public typealias RowContent = TupleView20< - Content0, - Content1, - Content2, - Content3, - Content4, - Content5, - Content6, - Content7, - Content8, - Content9, - Content10, - Content11, - Content12, - Content13, - Content14, - Content15, - Content16, - Content17, - Content18, - Content19 + Content0, Content1, Content2, Content3, Content4, Content5, Content6, Content7, Content8, + Content9, Content10, Content11, Content12, Content13, Content14, Content15, Content16, + Content17, Content18, Content19 > public var column0: TableColumn @@ -1838,50 +1068,24 @@ public struct TupleTableRowContent20< public var labels: [String] { [ - column0.label, - column1.label, - column2.label, - column3.label, - column4.label, - column5.label, - column6.label, - column7.label, - column8.label, - column9.label, - column10.label, - column11.label, - column12.label, - column13.label, - column14.label, - column15.label, - column16.label, - column17.label, - column18.label, - column19.label, + column0.label, column1.label, column2.label, column3.label, column4.label, + column5.label, column6.label, column7.label, column8.label, column9.label, + column10.label, column11.label, column12.label, column13.label, column14.label, + column15.label, column16.label, column17.label, column18.label, column19.label, ] } public init( - _ column0: TableColumn, - _ column1: TableColumn, - _ column2: TableColumn, - _ column3: TableColumn, - _ column4: TableColumn, - _ column5: TableColumn, - _ column6: TableColumn, - _ column7: TableColumn, - _ column8: TableColumn, - _ column9: TableColumn, - _ column10: TableColumn, - _ column11: TableColumn, - _ column12: TableColumn, - _ column13: TableColumn, - _ column14: TableColumn, - _ column15: TableColumn, - _ column16: TableColumn, - _ column17: TableColumn, - _ column18: TableColumn, - _ column19: TableColumn + _ column0: TableColumn, _ column1: TableColumn, + _ column2: TableColumn, _ column3: TableColumn, + _ column4: TableColumn, _ column5: TableColumn, + _ column6: TableColumn, _ column7: TableColumn, + _ column8: TableColumn, _ column9: TableColumn, + _ column10: TableColumn, _ column11: TableColumn, + _ column12: TableColumn, _ column13: TableColumn, + _ column14: TableColumn, _ column15: TableColumn, + _ column16: TableColumn, _ column17: TableColumn, + _ column18: TableColumn, _ column19: TableColumn ) { self.column0 = column0 self.column1 = column1 @@ -1907,26 +1111,11 @@ public struct TupleTableRowContent20< public func content(for row: RowValue) -> RowContent { TupleView20( - column0.content(row), - column1.content(row), - column2.content(row), - column3.content(row), - column4.content(row), - column5.content(row), - column6.content(row), - column7.content(row), - column8.content(row), - column9.content(row), - column10.content(row), - column11.content(row), - column12.content(row), - column13.content(row), - column14.content(row), - column15.content(row), - column16.content(row), - column17.content(row), - column18.content(row), - column19.content(row) - ) + column0.content(row), column1.content(row), column2.content(row), column3.content(row), + column4.content(row), column5.content(row), column6.content(row), column7.content(row), + column8.content(row), column9.content(row), column10.content(row), + column11.content(row), column12.content(row), column13.content(row), + column14.content(row), column15.content(row), column16.content(row), + column17.content(row), column18.content(row), column19.content(row)) } } diff --git a/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb b/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb index 7c39e7bb2f..aed9494119 100644 --- a/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TableRowContent.swift.gyb @@ -1,3 +1,5 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TableRowContent.swift.gyb instead. %{ maximum_column_count = 20 }% @@ -26,38 +28,25 @@ public struct EmptyTableRowContent: TableRowContent { } %for i in range(1, maximum_column_count + 1): -public struct TupleTableRowContent${i}< - RowValue, - ${",\n ".join("Content%d: View" % j for j in range(i))} ->: TableRowContent { - public typealias RowContent = TupleView${i}< - ${",\n ".join("Content%d" % j for j in range(i))} - > +public struct TupleTableRowContent${i}: TableRowContent { + public typealias RowContent = TupleView${i}<${", ".join("Content%d" % j for j in range(i))}> %for j in range(i): public var column${j}: TableColumn %end public var labels: [String] { - [ - %for j in range(i): - column${j}.label, - %end - ] + [${", ".join("column%d.label" % j for j in range(i))}] } - public init( - ${",\n ".join("_ column%d: TableColumn" % (j, j) for j in range(i))} - ) { + public init(${", ".join("_ column%d: TableColumn" % (j, j) for j in range(i))}) { %for j in range(i): self.column${j} = column${j} %end } public func content(for row: RowValue) -> RowContent { - TupleView${i}( - ${",\n ".join("column%d.content(row)" % j for j in range(i))} - ) + TupleView${i}(${", ".join("column%d.content(row)" % j for j in range(i))}) } } diff --git a/Sources/SwiftCrossUI/Views/TupleView.swift b/Sources/SwiftCrossUI/Views/TupleView.swift index c35f3fdd6a..edd1d644fd 100644 --- a/Sources/SwiftCrossUI/Views/TupleView.swift +++ b/Sources/SwiftCrossUI/Views/TupleView.swift @@ -1,3 +1,59 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TupleView.swift.gyb instead. + +@MainActor +private func layoutableChild( + node: AnyViewGraphNode, + view: V +) -> LayoutSystem.LayoutableChild { + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + node.update( + with: view, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view))" + ) +} + +/// Just a vessel for some default implementations to compress this generated code. +@MainActor +protocol TupleView: TypeSafeView {} + +extension TupleView { + @MainActor + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + @MainActor + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + /// A view with exactly 1 children. Autogenerated as an alternative to Swift's not yet /// production ready variadic generics. /// @@ -17,7 +73,7 @@ extension TupleView1: View { public typealias Content = EmptyView } -extension TupleView1: TypeSafeView { +extension TupleView1: TupleView { typealias Children = TupleViewChildren1 func children( @@ -27,9 +83,7 @@ extension TupleView1: TypeSafeView { ) -> Children { return Children( view0, - backend: backend, - snapshots: snapshots, - environment: environment + backend: backend, snapshots: snapshots, environment: environment ) } @@ -37,48 +91,9 @@ extension TupleView1: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0) + ] } } @@ -103,7 +118,7 @@ extension TupleView2: View { public typealias Content = EmptyView } -extension TupleView2: TypeSafeView { +extension TupleView2: TupleView { typealias Children = TupleViewChildren2 func children( @@ -112,11 +127,8 @@ extension TupleView2: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -124,61 +136,10 @@ extension TupleView2: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + ] } } @@ -205,7 +166,7 @@ extension TupleView3: View { public typealias Content = EmptyView } -extension TupleView3: TypeSafeView { +extension TupleView3: TupleView { typealias Children = TupleViewChildren3 func children( @@ -214,12 +175,8 @@ extension TupleView3: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -227,74 +184,11 @@ extension TupleView3: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + ] } } @@ -323,7 +217,7 @@ extension TupleView4: View { public typealias Content = EmptyView } -extension TupleView4: TypeSafeView { +extension TupleView4: TupleView { typealias Children = TupleViewChildren4 func children( @@ -332,13 +226,8 @@ extension TupleView4: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -346,87 +235,12 @@ extension TupleView4: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + ] } } @@ -457,7 +271,7 @@ extension TupleView5: View { public typealias Content = EmptyView } -extension TupleView5: TypeSafeView { +extension TupleView5: TupleView { typealias Children = TupleViewChildren5 func children( @@ -466,14 +280,8 @@ extension TupleView5: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -481,100 +289,13 @@ extension TupleView5: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + ] } } @@ -612,7 +333,7 @@ extension TupleView6: View { public typealias Content = EmptyView } -extension TupleView6: TypeSafeView { +extension TupleView6: TupleView { typealias Children = TupleViewChildren6 func children( @@ -621,15 +342,8 @@ extension TupleView6: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -637,113 +351,14 @@ extension TupleView6: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + ] } } @@ -783,7 +398,7 @@ extension TupleView7: View { public typealias Content = EmptyView } -extension TupleView7: TypeSafeView { +extension TupleView7: TupleView { typealias Children = TupleViewChildren7 func children( @@ -792,16 +407,8 @@ extension TupleView7: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -809,126 +416,15 @@ extension TupleView7: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + ] } } @@ -971,7 +467,7 @@ extension TupleView8: View { public typealias Content = EmptyView } -extension TupleView8: TypeSafeView { +extension TupleView8: TupleView { typealias Children = TupleViewChildren8 func children( @@ -980,17 +476,8 @@ extension TupleView8: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -998,139 +485,16 @@ extension TupleView8: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + ] } } @@ -1175,7 +539,7 @@ extension TupleView9: View { public typealias Content = EmptyView } -extension TupleView9: TypeSafeView { +extension TupleView9: TupleView { typealias Children = TupleViewChildren9< View0, View1, View2, View3, View4, View5, View6, View7, View8 > @@ -1186,18 +550,8 @@ extension TupleView9: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -1205,152 +559,17 @@ extension TupleView9: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + ] } } @@ -1397,7 +616,7 @@ extension TupleView10: View { public typealias Content = EmptyView } -extension TupleView10: TypeSafeView { +extension TupleView10: TupleView { typealias Children = TupleViewChildren10< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9 > @@ -1408,19 +627,8 @@ extension TupleView10: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -1428,165 +636,18 @@ extension TupleView10: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + ] } } @@ -1636,7 +697,7 @@ extension TupleView11: View { public typealias Content = EmptyView } -extension TupleView11: TypeSafeView { +extension TupleView11: TupleView { typealias Children = TupleViewChildren11< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10 > @@ -1647,20 +708,8 @@ extension TupleView11: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -1668,178 +717,19 @@ extension TupleView11: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + ] } } @@ -1891,7 +781,7 @@ extension TupleView12: View { public typealias Content = EmptyView } -extension TupleView12: TypeSafeView { +extension TupleView12: TupleView { typealias Children = TupleViewChildren12< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11 > @@ -1902,21 +792,8 @@ extension TupleView12: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -1924,193 +801,22 @@ extension TupleView12: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - return layoutableChildren + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + ] } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) - } -} +} /// A view with exactly 13 children. Autogenerated as an alternative to Swift's not yet /// production ready variadic generics. @@ -2162,7 +868,7 @@ extension TupleView13: View { public typealias Content = EmptyView } -extension TupleView13: TypeSafeView { +extension TupleView13: TupleView { typealias Children = TupleViewChildren13< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12 > @@ -2173,22 +879,9 @@ extension TupleView13: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, view12, - backend: backend, - snapshots: snapshots, - environment: environment + backend: backend, snapshots: snapshots, environment: environment ) } @@ -2196,204 +889,21 @@ extension TupleView13: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + ] } } @@ -2449,7 +959,7 @@ extension TupleView14: View { public typealias Content = EmptyView } -extension TupleView14: TypeSafeView { +extension TupleView14: TupleView { typealias Children = TupleViewChildren14< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13 @@ -2461,23 +971,9 @@ extension TupleView14: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -2485,217 +981,22 @@ extension TupleView14: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + ] } } @@ -2754,7 +1055,7 @@ extension TupleView15: View { public typealias Content = EmptyView } -extension TupleView15: TypeSafeView { +extension TupleView15: TupleView { typealias Children = TupleViewChildren15< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14 @@ -2766,24 +1067,9 @@ extension TupleView15: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -2791,230 +1077,23 @@ extension TupleView15: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + ] } } @@ -3076,7 +1155,7 @@ extension TupleView16: View { public typealias Content = EmptyView } -extension TupleView16: TypeSafeView { +extension TupleView16: TupleView { typealias Children = TupleViewChildren16< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14, View15 @@ -3088,25 +1167,9 @@ extension TupleView16: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - view15, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -3114,245 +1177,26 @@ extension TupleView16: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child15.update( - with: view15, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view15))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + layoutableChild(node: children.child15, view: view15), + ] } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) - } -} +} /// A view with exactly 17 children. Autogenerated as an alternative to Swift's not yet /// production ready variadic generics. @@ -3414,7 +1258,7 @@ extension TupleView17: View { public typealias Content = EmptyView } -extension TupleView17: TypeSafeView { +extension TupleView17: TupleView { typealias Children = TupleViewChildren17< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14, View15, View16 @@ -3426,26 +1270,9 @@ extension TupleView17: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - view15, - view16, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -3453,256 +1280,25 @@ extension TupleView17: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child15.update( - with: view15, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view15))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child16.update( - with: view16, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view16))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + layoutableChild(node: children.child15, view: view15), + layoutableChild(node: children.child16, view: view16), + ] } } @@ -3768,7 +1364,7 @@ extension TupleView18: View { public typealias Content = EmptyView } -extension TupleView18: TypeSafeView { +extension TupleView18: TupleView { typealias Children = TupleViewChildren18< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14, View15, View16, View17 @@ -3780,27 +1376,9 @@ extension TupleView18: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - view15, - view16, - view17, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -3808,269 +1386,26 @@ extension TupleView18: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child15.update( - with: view15, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view15))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child16.update( - with: view16, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view16))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child17.update( - with: view17, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view17))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + layoutableChild(node: children.child15, view: view15), + layoutableChild(node: children.child16, view: view16), + layoutableChild(node: children.child17, view: view17), + ] } } @@ -4138,7 +1473,7 @@ extension TupleView19: View { public typealias Content = EmptyView } -extension TupleView19: TypeSafeView { +extension TupleView19: TupleView { typealias Children = TupleViewChildren19< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14, View15, View16, View17, View18 @@ -4150,28 +1485,9 @@ extension TupleView19: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - view15, - view16, - view17, - view18, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17, view18, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -4179,282 +1495,27 @@ extension TupleView19: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child15.update( - with: view15, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view15))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child16.update( - with: view16, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view16))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child17.update( - with: view17, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view17))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child18.update( - with: view18, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view18))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + layoutableChild(node: children.child15, view: view15), + layoutableChild(node: children.child16, view: view16), + layoutableChild(node: children.child17, view: view17), + layoutableChild(node: children.child18, view: view18), + ] } } @@ -4524,7 +1585,7 @@ extension TupleView20: View { public typealias Content = EmptyView } -extension TupleView20: TypeSafeView { +extension TupleView20: TupleView { typealias Children = TupleViewChildren20< View0, View1, View2, View3, View4, View5, View6, View7, View8, View9, View10, View11, View12, View13, View14, View15, View16, View17, View18, View19 @@ -4536,29 +1597,9 @@ extension TupleView20: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - view0, - view1, - view2, - view3, - view4, - view5, - view6, - view7, - view8, - view9, - view10, - view11, - view12, - view13, - view14, - view15, - view16, - view17, - view18, - view19, - backend: backend, - snapshots: snapshots, - environment: environment + view0, view1, view2, view3, view4, view5, view6, view7, view8, view9, view10, view11, + view12, view13, view14, view15, view16, view17, view18, view19, + backend: backend, snapshots: snapshots, environment: environment ) } @@ -4566,294 +1607,27 @@ extension TupleView20: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child0.update( - with: view0, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view0))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child1.update( - with: view1, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view1))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child2.update( - with: view2, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view2))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child3.update( - with: view3, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view3))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child4.update( - with: view4, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view4))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child5.update( - with: view5, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view5))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child6.update( - with: view6, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view6))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child7.update( - with: view7, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view7))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child8.update( - with: view8, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view8))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child9.update( - with: view9, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view9))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child10.update( - with: view10, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view10))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child11.update( - with: view11, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view11))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child12.update( - with: view12, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view12))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child13.update( - with: view13, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view13))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child14.update( - with: view14, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view14))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child15.update( - with: view15, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view15))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child16.update( - with: view16, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view16))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child17.update( - with: view17, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view17))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child18.update( - with: view18, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view18))" - ) - ) - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child19.update( - with: view19, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view19))" - ) - ) - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) - } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) + [ + layoutableChild(node: children.child0, view: view0), + layoutableChild(node: children.child1, view: view1), + layoutableChild(node: children.child2, view: view2), + layoutableChild(node: children.child3, view: view3), + layoutableChild(node: children.child4, view: view4), + layoutableChild(node: children.child5, view: view5), + layoutableChild(node: children.child6, view: view6), + layoutableChild(node: children.child7, view: view7), + layoutableChild(node: children.child8, view: view8), + layoutableChild(node: children.child9, view: view9), + layoutableChild(node: children.child10, view: view10), + layoutableChild(node: children.child11, view: view11), + layoutableChild(node: children.child12, view: view12), + layoutableChild(node: children.child13, view: view13), + layoutableChild(node: children.child14, view: view14), + layoutableChild(node: children.child15, view: view15), + layoutableChild(node: children.child16, view: view16), + layoutableChild(node: children.child17, view: view17), + layoutableChild(node: children.child18, view: view18), + layoutableChild(node: children.child19, view: view19), + ] } } diff --git a/Sources/SwiftCrossUI/Views/TupleView.swift.gyb b/Sources/SwiftCrossUI/Views/TupleView.swift.gyb index a20155c5e2..38396af12d 100644 --- a/Sources/SwiftCrossUI/Views/TupleView.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TupleView.swift.gyb @@ -1,7 +1,62 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TupleView.swift.gyb instead. %{ maximum_view_count = 20 }% +@MainActor +private func layoutableChild( + node: AnyViewGraphNode, + view: V +) -> LayoutSystem.LayoutableChild { + LayoutSystem.LayoutableChild( + update: { proposedSize, environment, dryRun in + node.update( + with: view, + proposedSize: proposedSize, + environment: environment, + dryRun: dryRun + ) + }, + tag: "\(type(of: view))" + ) +} + +/// Just a vessel for some default implementations to compress this generated code. +@MainActor +protocol TupleView: TypeSafeView {} + +extension TupleView { + @MainActor + func asWidget( + _ children: Children, + backend: Backend + ) -> Backend.Widget { + let group = Group(content: self) + return group.asWidget(children, backend: backend) + } + + @MainActor + func update( + _ widget: Backend.Widget, + children: Children, + proposedSize: SIMD2, + environment: EnvironmentValues, + backend: Backend, + dryRun: Bool + ) -> ViewUpdateResult { + let group = Group(content: self) + return group.update( + widget, + children: children, + proposedSize: proposedSize, + environment: environment, + backend: backend, + dryRun: dryRun + ) + } +} + % for i in range(maximum_view_count): %{ view = "TupleView%d" % (i + 1) @@ -31,7 +86,7 @@ extension ${view}: View { public typealias Content = EmptyView } -extension ${view}: TypeSafeView { +extension ${view}: TupleView { typealias Children = TupleViewChildren${i + 1}<${children_type_parameters}> func children( @@ -40,12 +95,8 @@ extension ${view}: TypeSafeView { environment: EnvironmentValues ) -> Children { return Children( - % for j in range(i + 1): - view${j}, - % end - backend: backend, - snapshots: snapshots, - environment: environment + ${" ".join("view%d," % j for j in range(i + 1))} + backend: backend, snapshots: snapshots, environment: environment ) } @@ -53,49 +104,10 @@ extension ${view}: TypeSafeView { backend: Backend, children: Children ) -> [LayoutSystem.LayoutableChild] { - var layoutableChildren: [LayoutSystem.LayoutableChild] = [] - % for j in range(i + 1): - layoutableChildren.append( - LayoutSystem.LayoutableChild( - update: { proposedSize, environment, dryRun in - children.child${j}.update( - with: view${j}, - proposedSize: proposedSize, - environment: environment, - dryRun: dryRun - ) - }, - tag: "\(type(of: view${j}))" - ) - ) - % end - return layoutableChildren - } - - func asWidget( - _ children: Children, - backend: Backend - ) -> Backend.Widget { - let group = Group(content: self) - return group.asWidget(children, backend: backend) + [ + % for j in range(i + 1): + layoutableChild(node: children.child${j}, view: view${j}), + % end + ] } - - func update( - _ widget: Backend.Widget, - children: Children, - proposedSize: SIMD2, - environment: EnvironmentValues, - backend: Backend, - dryRun: Bool - ) -> ViewUpdateResult { - let group = Group(content: self) - return group.update( - widget, - children: children, - proposedSize: proposedSize, - environment: environment, - backend: backend, - dryRun: dryRun - ) - } } diff --git a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift index 374a7618b2..acf995547a 100644 --- a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift +++ b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift @@ -1,10 +1,29 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TupleViewChildren.swift.gyb instead. + +/// A helper function to shorten node initialisations to a single line. This +/// helps compress the generated code a bit and minimise the number of additions +/// and deletions caused by updating the generator. +@MainActor +private func node( + for view: V, + _ backend: Backend, + _ snapshot: ViewGraphSnapshotter.NodeSnapshot?, + _ environment: EnvironmentValues +) -> AnyViewGraphNode { + AnyViewGraphNode( + for: view, + backend: backend, + snapshot: snapshot, + environment: environment + ) +} + /// A fixed-length strongly-typed collection of 1 child nodes. A counterpart to /// ``TupleView1``. public struct TupleViewChildren1: ViewGraphNodeChildren { public var widgets: [AnyWidget] { - return [ - child0.widget - ] + return [child0.widget] } public var erasedNodes: [ErasedViewGraphNode] { @@ -27,12 +46,7 @@ public struct TupleViewChildren1: ViewGraphNodeChildren { ViewGraphSnapshotter.name(of: Child0.self) ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) } } @@ -40,10 +54,7 @@ public struct TupleViewChildren1: ViewGraphNodeChildren { /// ``TupleView2``. public struct TupleViewChildren2: ViewGraphNodeChildren { public var widgets: [AnyWidget] { - return [ - child0.widget, - child1.widget, - ] + return [child0.widget, child1.widget] } public var erasedNodes: [ErasedViewGraphNode] { @@ -60,29 +71,17 @@ public struct TupleViewChildren2: ViewGraphNodeChild /// Creates the nodes for 2 child views. public init( - _ child0: Child0, - _ child1: Child1, + _ child0: Child0, _ child1: Child1, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) } } @@ -90,11 +89,7 @@ public struct TupleViewChildren2: ViewGraphNodeChild /// ``TupleView3``. public struct TupleViewChildren3: ViewGraphNodeChildren { public var widgets: [AnyWidget] { - return [ - child0.widget, - child1.widget, - child2.widget, - ] + return [child0.widget, child1.widget, child2.widget] } public var erasedNodes: [ErasedViewGraphNode] { @@ -114,37 +109,19 @@ public struct TupleViewChildren3: View /// Creates the nodes for 3 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, + _ child0: Child0, _ child1: Child1, _ child2: Child2, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), ViewGraphSnapshotter.name(of: Child2.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) } } @@ -154,12 +131,7 @@ public struct TupleViewChildren4( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) } } @@ -230,13 +177,7 @@ public struct TupleViewChildren5< Child0: View, Child1: View, Child2: View, Child3: View, Child4: View >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { - return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - ] + return [child0.widget, child1.widget, child2.widget, child3.widget, child4.widget] } public var erasedNodes: [ErasedViewGraphNode] { @@ -262,53 +203,22 @@ public struct TupleViewChildren5< /// Creates the nodes for 5 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), ViewGraphSnapshotter.name(of: Child4.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) } } @@ -319,11 +229,7 @@ public struct TupleViewChildren6< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, child5.widget, ] } @@ -354,61 +260,24 @@ public struct TupleViewChildren6< /// Creates the nodes for 6 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, _ child5: Child5, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) } } @@ -419,13 +288,8 @@ public struct TupleViewChildren7< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, ] } @@ -458,69 +322,26 @@ public struct TupleViewChildren7< /// Creates the nodes for 7 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), ViewGraphSnapshotter.name(of: Child6.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) } } @@ -532,14 +353,8 @@ public struct TupleViewChildren8< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, ] } @@ -575,77 +390,27 @@ public struct TupleViewChildren8< /// Creates the nodes for 8 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) } } @@ -657,15 +422,8 @@ public struct TupleViewChildren9< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, ] } @@ -704,85 +462,29 @@ public struct TupleViewChildren9< /// Creates the nodes for 9 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), ViewGraphSnapshotter.name(of: Child8.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) } } @@ -794,16 +496,8 @@ public struct TupleViewChildren10< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, ] } @@ -845,93 +539,30 @@ public struct TupleViewChildren10< /// Creates the nodes for 10 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) } } @@ -943,16 +574,8 @@ public struct TupleViewChildren11< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, child10.widget, ] } @@ -998,101 +621,33 @@ public struct TupleViewChildren11< /// Creates the nodes for 11 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, _ child10: Child10, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) } } @@ -1104,18 +659,9 @@ public struct TupleViewChildren12< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, ] } @@ -1163,109 +709,35 @@ public struct TupleViewChildren12< /// Creates the nodes for 12 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) } } @@ -1278,19 +750,9 @@ public struct TupleViewChildren13< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, ] } @@ -1341,117 +803,37 @@ public struct TupleViewChildren13< /// Creates the nodes for 13 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) } } @@ -1464,20 +846,9 @@ public struct TupleViewChildren14< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, ] } @@ -1531,125 +902,39 @@ public struct TupleViewChildren14< /// Creates the nodes for 14 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), ViewGraphSnapshotter.name(of: Child13.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) } } @@ -1662,21 +947,9 @@ public struct TupleViewChildren15< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, ] } @@ -1733,36 +1006,20 @@ public struct TupleViewChildren15< /// Creates the nodes for 15 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, _ child14: Child14, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -1770,96 +1027,21 @@ public struct TupleViewChildren15< ViewGraphSnapshotter.name(of: Child14.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) } } @@ -1872,21 +1054,9 @@ public struct TupleViewChildren16< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, child15.widget, ] } @@ -1947,37 +1117,20 @@ public struct TupleViewChildren16< /// Creates the nodes for 16 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, - _ child14: Child14, - _ child15: Child15, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, + _ child14: Child14, _ child15: Child15, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -1986,102 +1139,22 @@ public struct TupleViewChildren16< ViewGraphSnapshotter.name(of: Child15.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) - self.child15 = AnyViewGraphNode( - for: child15, - backend: backend, - snapshot: snapshots[15], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) + self.child15 = node(for: child15, backend, snapshots[15], environment) } } @@ -2094,23 +1167,10 @@ public struct TupleViewChildren17< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, - child15.widget, - child16.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, + child15.widget, child16.widget, ] } @@ -2173,38 +1233,20 @@ public struct TupleViewChildren17< /// Creates the nodes for 17 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, - _ child14: Child14, - _ child15: Child15, - _ child16: Child16, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, + _ child14: Child14, _ child15: Child15, _ child16: Child16, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -2214,108 +1256,23 @@ public struct TupleViewChildren17< ViewGraphSnapshotter.name(of: Child16.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) - self.child15 = AnyViewGraphNode( - for: child15, - backend: backend, - snapshot: snapshots[15], - environment: environment - ) - self.child16 = AnyViewGraphNode( - for: child16, - backend: backend, - snapshot: snapshots[16], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) + self.child15 = node(for: child15, backend, snapshots[15], environment) + self.child16 = node(for: child16, backend, snapshots[16], environment) } } @@ -2328,24 +1285,10 @@ public struct TupleViewChildren18< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, - child15.widget, - child16.widget, - child17.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, + child15.widget, child16.widget, child17.widget, ] } @@ -2411,39 +1354,20 @@ public struct TupleViewChildren18< /// Creates the nodes for 18 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, - _ child14: Child14, - _ child15: Child15, - _ child16: Child16, - _ child17: Child17, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, + _ child14: Child14, _ child15: Child15, _ child16: Child16, _ child17: Child17, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -2454,114 +1378,24 @@ public struct TupleViewChildren18< ViewGraphSnapshotter.name(of: Child17.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) - self.child15 = AnyViewGraphNode( - for: child15, - backend: backend, - snapshot: snapshots[15], - environment: environment - ) - self.child16 = AnyViewGraphNode( - for: child16, - backend: backend, - snapshot: snapshots[16], - environment: environment - ) - self.child17 = AnyViewGraphNode( - for: child17, - backend: backend, - snapshot: snapshots[17], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) + self.child15 = node(for: child15, backend, snapshots[15], environment) + self.child16 = node(for: child16, backend, snapshots[16], environment) + self.child17 = node(for: child17, backend, snapshots[17], environment) } } @@ -2575,25 +1409,10 @@ public struct TupleViewChildren19< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, - child15.widget, - child16.widget, - child17.widget, - child18.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, + child15.widget, child16.widget, child17.widget, child18.widget, ] } @@ -2662,40 +1481,21 @@ public struct TupleViewChildren19< /// Creates the nodes for 19 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, - _ child14: Child14, - _ child15: Child15, - _ child16: Child16, - _ child17: Child17, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, + _ child14: Child14, _ child15: Child15, _ child16: Child16, _ child17: Child17, _ child18: Child18, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -2707,120 +1507,25 @@ public struct TupleViewChildren19< ViewGraphSnapshotter.name(of: Child18.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) - self.child15 = AnyViewGraphNode( - for: child15, - backend: backend, - snapshot: snapshots[15], - environment: environment - ) - self.child16 = AnyViewGraphNode( - for: child16, - backend: backend, - snapshot: snapshots[16], - environment: environment - ) - self.child17 = AnyViewGraphNode( - for: child17, - backend: backend, - snapshot: snapshots[17], - environment: environment - ) - self.child18 = AnyViewGraphNode( - for: child18, - backend: backend, - snapshot: snapshots[18], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) + self.child15 = node(for: child15, backend, snapshots[15], environment) + self.child16 = node(for: child16, backend, snapshots[16], environment) + self.child17 = node(for: child17, backend, snapshots[17], environment) + self.child18 = node(for: child18, backend, snapshots[18], environment) } } @@ -2834,26 +1539,10 @@ public struct TupleViewChildren20< >: ViewGraphNodeChildren { public var widgets: [AnyWidget] { return [ - child0.widget, - child1.widget, - child2.widget, - child3.widget, - child4.widget, - child5.widget, - child6.widget, - child7.widget, - child8.widget, - child9.widget, - child10.widget, - child11.widget, - child12.widget, - child13.widget, - child14.widget, - child15.widget, - child16.widget, - child17.widget, - child18.widget, - child19.widget, + child0.widget, child1.widget, child2.widget, child3.widget, child4.widget, + child5.widget, child6.widget, child7.widget, child8.widget, child9.widget, + child10.widget, child11.widget, child12.widget, child13.widget, child14.widget, + child15.widget, child16.widget, child17.widget, child18.widget, child19.widget, ] } @@ -2925,41 +1614,21 @@ public struct TupleViewChildren20< /// Creates the nodes for 20 child views. public init( - _ child0: Child0, - _ child1: Child1, - _ child2: Child2, - _ child3: Child3, - _ child4: Child4, - _ child5: Child5, - _ child6: Child6, - _ child7: Child7, - _ child8: Child8, - _ child9: Child9, - _ child10: Child10, - _ child11: Child11, - _ child12: Child12, - _ child13: Child13, - _ child14: Child14, - _ child15: Child15, - _ child16: Child16, - _ child17: Child17, - _ child18: Child18, - _ child19: Child19, + _ child0: Child0, _ child1: Child1, _ child2: Child2, _ child3: Child3, _ child4: Child4, + _ child5: Child5, _ child6: Child6, _ child7: Child7, _ child8: Child8, _ child9: Child9, + _ child10: Child10, _ child11: Child11, _ child12: Child12, _ child13: Child13, + _ child14: Child14, _ child15: Child15, _ child16: Child16, _ child17: Child17, + _ child18: Child18, _ child19: Child19, backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - ViewGraphSnapshotter.name(of: Child0.self), - ViewGraphSnapshotter.name(of: Child1.self), - ViewGraphSnapshotter.name(of: Child2.self), - ViewGraphSnapshotter.name(of: Child3.self), - ViewGraphSnapshotter.name(of: Child4.self), - ViewGraphSnapshotter.name(of: Child5.self), - ViewGraphSnapshotter.name(of: Child6.self), - ViewGraphSnapshotter.name(of: Child7.self), - ViewGraphSnapshotter.name(of: Child8.self), - ViewGraphSnapshotter.name(of: Child9.self), + ViewGraphSnapshotter.name(of: Child0.self), ViewGraphSnapshotter.name(of: Child1.self), + ViewGraphSnapshotter.name(of: Child2.self), ViewGraphSnapshotter.name(of: Child3.self), + ViewGraphSnapshotter.name(of: Child4.self), ViewGraphSnapshotter.name(of: Child5.self), + ViewGraphSnapshotter.name(of: Child6.self), ViewGraphSnapshotter.name(of: Child7.self), + ViewGraphSnapshotter.name(of: Child8.self), ViewGraphSnapshotter.name(of: Child9.self), ViewGraphSnapshotter.name(of: Child10.self), ViewGraphSnapshotter.name(of: Child11.self), ViewGraphSnapshotter.name(of: Child12.self), @@ -2972,125 +1641,25 @@ public struct TupleViewChildren20< ViewGraphSnapshotter.name(of: Child19.self), ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) - self.child0 = AnyViewGraphNode( - for: child0, - backend: backend, - snapshot: snapshots[0], - environment: environment - ) - self.child1 = AnyViewGraphNode( - for: child1, - backend: backend, - snapshot: snapshots[1], - environment: environment - ) - self.child2 = AnyViewGraphNode( - for: child2, - backend: backend, - snapshot: snapshots[2], - environment: environment - ) - self.child3 = AnyViewGraphNode( - for: child3, - backend: backend, - snapshot: snapshots[3], - environment: environment - ) - self.child4 = AnyViewGraphNode( - for: child4, - backend: backend, - snapshot: snapshots[4], - environment: environment - ) - self.child5 = AnyViewGraphNode( - for: child5, - backend: backend, - snapshot: snapshots[5], - environment: environment - ) - self.child6 = AnyViewGraphNode( - for: child6, - backend: backend, - snapshot: snapshots[6], - environment: environment - ) - self.child7 = AnyViewGraphNode( - for: child7, - backend: backend, - snapshot: snapshots[7], - environment: environment - ) - self.child8 = AnyViewGraphNode( - for: child8, - backend: backend, - snapshot: snapshots[8], - environment: environment - ) - self.child9 = AnyViewGraphNode( - for: child9, - backend: backend, - snapshot: snapshots[9], - environment: environment - ) - self.child10 = AnyViewGraphNode( - for: child10, - backend: backend, - snapshot: snapshots[10], - environment: environment - ) - self.child11 = AnyViewGraphNode( - for: child11, - backend: backend, - snapshot: snapshots[11], - environment: environment - ) - self.child12 = AnyViewGraphNode( - for: child12, - backend: backend, - snapshot: snapshots[12], - environment: environment - ) - self.child13 = AnyViewGraphNode( - for: child13, - backend: backend, - snapshot: snapshots[13], - environment: environment - ) - self.child14 = AnyViewGraphNode( - for: child14, - backend: backend, - snapshot: snapshots[14], - environment: environment - ) - self.child15 = AnyViewGraphNode( - for: child15, - backend: backend, - snapshot: snapshots[15], - environment: environment - ) - self.child16 = AnyViewGraphNode( - for: child16, - backend: backend, - snapshot: snapshots[16], - environment: environment - ) - self.child17 = AnyViewGraphNode( - for: child17, - backend: backend, - snapshot: snapshots[17], - environment: environment - ) - self.child18 = AnyViewGraphNode( - for: child18, - backend: backend, - snapshot: snapshots[18], - environment: environment - ) - self.child19 = AnyViewGraphNode( - for: child19, - backend: backend, - snapshot: snapshots[19], - environment: environment - ) + self.child0 = node(for: child0, backend, snapshots[0], environment) + self.child1 = node(for: child1, backend, snapshots[1], environment) + self.child2 = node(for: child2, backend, snapshots[2], environment) + self.child3 = node(for: child3, backend, snapshots[3], environment) + self.child4 = node(for: child4, backend, snapshots[4], environment) + self.child5 = node(for: child5, backend, snapshots[5], environment) + self.child6 = node(for: child6, backend, snapshots[6], environment) + self.child7 = node(for: child7, backend, snapshots[7], environment) + self.child8 = node(for: child8, backend, snapshots[8], environment) + self.child9 = node(for: child9, backend, snapshots[9], environment) + self.child10 = node(for: child10, backend, snapshots[10], environment) + self.child11 = node(for: child11, backend, snapshots[11], environment) + self.child12 = node(for: child12, backend, snapshots[12], environment) + self.child13 = node(for: child13, backend, snapshots[13], environment) + self.child14 = node(for: child14, backend, snapshots[14], environment) + self.child15 = node(for: child15, backend, snapshots[15], environment) + self.child16 = node(for: child16, backend, snapshots[16], environment) + self.child17 = node(for: child17, backend, snapshots[17], environment) + self.child18 = node(for: child18, backend, snapshots[18], environment) + self.child19 = node(for: child19, backend, snapshots[19], environment) } } diff --git a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb index 57768e933f..db3e4309f0 100644 --- a/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb +++ b/Sources/SwiftCrossUI/Views/TupleViewChildren.swift.gyb @@ -1,7 +1,27 @@ +// This file was generated using gyb. Do not edit it directly. Edit +// TupleViewChildren.swift.gyb instead. %{ maximum_child_count = 20 }% +/// A helper function to shorten node initialisations to a single line. This +/// helps compress the generated code a bit and minimise the number of additions +/// and deletions caused by updating the generator. +@MainActor +private func node( + for view: V, + _ backend: Backend, + _ snapshot: ViewGraphSnapshotter.NodeSnapshot?, + _ environment: EnvironmentValues +) -> AnyViewGraphNode { + AnyViewGraphNode( + for: view, + backend: backend, + snapshot: snapshot, + environment: environment + ) +} + % for i in range(maximum_child_count): %{ children = [] @@ -16,11 +36,7 @@ variadic_type_parameters = ", ".join(children) /// ``TupleView${i + 1}``. public struct TupleViewChildren${i + 1}<${struct_type_parameters}>: ViewGraphNodeChildren { public var widgets: [AnyWidget] { - return [ - % for child in children: - ${child.lower()}.widget, - % end - ] + return [${", ".join("%s.widget" % child.lower() for child in children)}] } public var erasedNodes: [ErasedViewGraphNode] { @@ -38,26 +54,17 @@ public struct TupleViewChildren${i + 1}<${struct_type_parameters}>: ViewGraphNod /// Creates the nodes for ${i + 1} child views. public init( - % for child in children: - _ ${child.lower()}: ${child}, - % end + ${" ".join("_ %s: %s," % (child.lower(), child) for child in children)} backend: Backend, snapshots: [ViewGraphSnapshotter.NodeSnapshot]?, environment: EnvironmentValues ) { let viewTypeNames = [ - % for child in children: - ViewGraphSnapshotter.name(of: ${child}.self), - % end + ${", ".join("ViewGraphSnapshotter.name(of: %s.self)" % child for child in children)} ] let snapshots = ViewGraphSnapshotter.match(snapshots ?? [], to: viewTypeNames) % for j, child in enumerate(children): - self.${child.lower()} = AnyViewGraphNode( - for: ${child.lower()}, - backend: backend, - snapshot: snapshots[${j}], - environment: environment - ) + self.${child.lower()} = node(for: ${child.lower()}, backend, snapshots[${j}], environment) % end } }