🏡 index : quine-global/webdriverio.git

import { getErrorString } from '../util.js'

class FeatureUsage {
    private isTriggered?: boolean
    private status?: string
    private error?: string

    constructor(isTriggered?: boolean) {
        if (isTriggered !== undefined) {
            this.isTriggered = isTriggered
        }
    }

    public getTriggered(): boolean | undefined {
        return this.isTriggered
    }

    public setTriggered(triggered: boolean): void {
        this.isTriggered = triggered
    }

    public setStatus(status: string): void {
        this.status = status
    }

    public setError(error: string): void {
        this.error = error
    }

    public triggered(): void {
        this.isTriggered = true
    }

    public failed(e: unknown): void {
        this.status = 'failed'
        this.error = getErrorString(e)
    }

    public success(): void {
        this.status = 'success'
    }

    public getStatus(): string | undefined {
        return this.status
    }

    public getError(): string | undefined {
        return this.error
    }

    public toJSON() {
        return {
            isTriggered: this.isTriggered,
            status: this.status,
            error: this.error
        }
    }
}

export default FeatureUsage