• Setup complete Future support with all getters and methods Use this when you need full Future capabilities both internally and externally

    This means:

    • When the Future's progress/status changes, UI components will reactively update
    • The getters track the observable properties in the underlying FutureModel
    • This is exactly what you want for reactive UI updates!

    Type Parameters

    • T extends IKosDataModel

    Parameters

    • model: T

    Returns void

    Example

    // @kosModel("my-model")
    // export class MyModelImpl implements IKosDataModel, CompleteFutureContainer {
    // id: string;
    //
    // // These will be set by setupCompleteFutureSupport()
    // declare futureHandler: FutureAwareContainer<Record<string, unknown>>;
    // declare future: any;
    // declare progress: number;
    // declare status: string;
    // declare isRunning: boolean;
    // declare isCancelled: boolean;
    // declare cancelFuture: () => Promise<void>;
    //
    // constructor(modelId: string, options: any, context: KosCreationContext) {
    // this.id = modelId;
    // setupCompleteFutureSupport(this);
    // }
    //
    // @kosFuture()
    // async performOperation() { return "done"; }
    // }
    //
    // export type MyModel = PublicModelInterface<MyModelImpl>;