~~ lineWidth: 50 ~~
== should format ==
const obj = {
    method() {
        return 5;
    },
    *method2(): string { // testing
        return "";
    },
    get   test(  )   : string   {
        return "";
    },
    set test (value: string) {
    },
    method3<T>(): string {
    },
    method4<TestingThisOut, Testinggggggggggggggg>(): string {
    },
};

[expect]
const obj = {
    method() {
        return 5;
    },
    *method2(): string { // testing
        return "";
    },
    get test(): string {
        return "";
    },
    set test(value: string) {
    },
    method3<T>(): string {
    },
    method4<
        TestingThisOut,
        Testinggggggggggggggg,
    >(): string {
    },
};

== should force multi-line parameters when exceeding the line width ==
const o = {
    test(testing, thisOut, byExceeding, theLineWidth) {
    }
};

[expect]
const o = {
    test(
        testing,
        thisOut,
        byExceeding,
        theLineWidth,
    ) {
    },
};

== should not be multi-line when not exceeding the line width ==
const o = {
    test(testing, this) {
    }
};

[expect]
const o = {
    test(testing, this) {
    },
};

== should format the params as multi-line when the return type exceeds the line width ==
const obj = {
    method(param: string): test | otherr | number {
    }
}

[expect]
const obj = {
    method(
        param: string,
    ): test | otherr | number {
    },
};
