Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions Sources/OpenSwiftUICore/View/Input/ViewInputPredicate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@

package protocol ViewInputPredicate {
static func evaluate(inputs: _GraphInputs) -> Bool

static func evaluate(listInputs: _ViewListInputs) -> Bool
}

extension ViewInputPredicate {
package static func evaluate(inputs: _ViewInputs) -> Bool {
evaluate(inputs: inputs.base)
}

package static func evaluate(listInputs: _ViewListInputs) -> Bool {
evaluate(inputs: listInputs.base)
}
}

// MARK: - ViewInputFlag
Expand Down
64 changes: 64 additions & 0 deletions Sources/OpenSwiftUICore/View/Style/DefaultStyle.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
//
// DefaultStyle.swift
// OpenSwiftUICore
//
// Audited for 6.5.4
// Status: Complete

// MARK: - AnyDefaultStyle

package protocol AnyDefaultStyle {
init()
}

// MARK: - DefaultStyleModifier

package protocol DefaultStyleModifier: StyleModifier where Style: AnyDefaultStyle {}

// MARK: - StyleOverrideModifier

package protocol StyleOverrideModifier: DefaultStyleModifier where Style == OverrideStyleModifier.Style {
associatedtype OriginalStyle

associatedtype OverrideStyleModifier: StyleModifier
}

// MARK: - StyleWriterOverrideModifier

package protocol StyleWriterOverrideModifier: AnyDefaultStyle {
associatedtype OriginalStyle

associatedtype StyleOverride

static func injectStyleOverride(in inputs: inout _ViewInputs) -> ()
}

extension StyleWriterOverrideModifier {
package static func injectStyleOverride<P>(
in inputs: inout _ViewInputs,
requiring: P.Type
) where P: ViewInputPredicate {
guard requiring.evaluate(inputs: inputs) else {
return
}
injectStyleOverride(in: &inputs)
}
}

// MARK: - DefaultStyleModifierTypeVisitor

package protocol DefaultStyleModifierTypeVisitor {
func visit<T>(type: T.Type) where T: DefaultStyleModifier
}

// MARK: - StyleOverrideModifierTypeVisitor

package protocol StyleOverrideModifierTypeVisitor {
func visit<T>(type: T.Type) where T: StyleOverrideModifier
}

// MARK: - StyleWriterOverrideModifierTypeVisitor

package protocol StyleWriterOverrideModifierTypeVisitor {
func visit<T>(type: T.Type) where T: StyleWriterOverrideModifier
}
Loading
Loading