AutoCat/AutoCat/Controllers/VMResult.swift

40 lines
594 B
Swift

//
// VMResult.swift
// AutoCat
//
// Created by Selim Mustafaev on 27.10.2024.
// Copyright © 2024 Selim Mustafaev. All rights reserved.
//
import Foundation
@Observable
class VMResult<T> {
var value: T
var isDone: Bool
init(value: T) {
self.value = value
self.isDone = false
}
func done() {
isDone = true
}
func cancel() {
isDone = false
}
func set(_ value: T) {
self.value = value
isDone = true
}
func get() -> T? {
isDone ? value : nil
}
}