~~ lineWidth: 40 ~~
== should format when empty ==
type Test = {
};

[expect]
type Test = {};

== should format when a single line and not include a semi-colon on the last element ==
type Test = { p: string; u: number; };

[expect]
type Test = { p: string; u: number };

== should format when multi-line ==
type Test = {
    prop: string;
    other: number;
};

[expect]
type Test = {
    prop: string;
    other: number;
};

== should make multiple lines go multi-line ==
type Test = { prop: string; other: number };

[expect]
type Test = {
    prop: string;
    other: number;
};

== should respect blank lines in certain places ==
type Test = {

    prop: string;

    other: number;
    test(): void;

    prop: string;
};

[expect]
type Test = {
    prop: string;

    other: number;
    test(): void;

    prop: string;
};

== should not be on separate line within a type argument when multi-line ==
type Test = Array<{
    frame: WebSocketFrame;
    d: Deferred<void>;
}>;

[expect]
type Test = Array<{
    frame: WebSocketFrame;
    d: Deferred<void>;
}>;
