40 lines
594 B
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
|
|
}
|
|
}
|