Files
Memola/Memola/Canvas/Geometries/Stroke/Core/AnyStroke.swift
2024-06-05 23:11:38 +07:00

29 lines
550 B
Swift

//
// AnyStroke.swift
// Memola
//
// Created by Dscyre Scotti on 6/5/24.
//
import Foundation
struct AnyStroke: Equatable, Comparable {
var value: any Stroke
init(_ value: any Stroke) {
self.value = value
}
static func == (lhs: AnyStroke, rhs: AnyStroke) -> Bool {
lhs.value.id == rhs.value.id
}
static func < (lhs: AnyStroke, rhs: AnyStroke) -> Bool {
lhs.value.createdAt < rhs.value.createdAt
}
func stroke<S: Stroke>(as type: S.Type) -> S? {
value.stroke(as: type)
}
}