--- source: crates/rome_formatter_test/src/snapshot_builder.rs info: test_file: js/module/no-semi/class.js --- # Input ```js // TODO: upgrade parser // class A { // async; // The semicolon is *not* necessary // x(){} // } class B { static; // The semicolon *is* necessary x(){} } class C1 { get; // The semicolon *is* necessary x(){} } class C2 { get = () => {}; // The semicolon is *not* necessary x(){} } class C3 { set; // The semicolon *is* necessary x(){} } class C4 { set = () => {}; // The semicolon is *not* necessary x(){} } class A1 { a = 0; [b](){} c = 0; *d(){} e = 0; [f] = 0 // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {}; [h](){} p() {}; *i(){} a = 1; get ['y']() {} a = 1; static ['y']() {} a = 1; set ['z'](z) {} a = 1; async ['a']() {} a = 1; async *g() {} a = 0; b = 1; } class A2 { a = 0; [b](){} c = 0; *d(){} e = 0; [f] = 0 // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {}; [h](){} p() {}; *i(){} a = 1; get ['y']() {} a = 1; static ['y']() {} a = 1; set ['z'](z) {} a = 1; async ['a']() {} a = 1; async *g() {} a = 0; b = 1; } // being first/last shouldn't break things class G1 { x = 1 } class G2 { x() {} } class G3 { *x() {} } class G4 { [x] = 1 } ``` ============================= # Outputs ## Output 1 ----- Indent style: Tab Line width: 80 Quote style: Double Quotes Quote properties: As needed Trailing comma: All Semicolons: Always ----- ```js // TODO: upgrade parser // class A { // async; // The semicolon is *not* necessary // x(){} // } class B { static; // The semicolon *is* necessary x() {} } class C1 { get; // The semicolon *is* necessary x() {} } class C2 { get = () => {}; // The semicolon is *not* necessary x() {} } class C3 { set; // The semicolon *is* necessary x() {} } class C4 { set = () => {}; // The semicolon is *not* necessary x() {} } class A1 { a = 0; [b]() {} c = 0; *d() {} e = 0; [f] = 0; // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {} [h]() {} p() {} *i() {} a = 1; get ["y"]() {} a = 1; static ["y"]() {} a = 1; set ["z"](z) {} a = 1; async ["a"]() {} a = 1; async *g() {} a = 0; b = 1; } class A2 { a = 0; [b]() {} c = 0; *d() {} e = 0; [f] = 0; // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {} [h]() {} p() {} *i() {} a = 1; get ["y"]() {} a = 1; static ["y"]() {} a = 1; set ["z"](z) {} a = 1; async ["a"]() {} a = 1; async *g() {} a = 0; b = 1; } // being first/last shouldn't break things class G1 { x = 1; } class G2 { x() {} } class G3 { *x() {} } class G4 { [x] = 1; } ``` ## Output 2 ----- Indent style: Tab Line width: 80 Quote style: Double Quotes Quote properties: As needed Trailing comma: All Semicolons: As needed ----- ```js // TODO: upgrade parser // class A { // async; // The semicolon is *not* necessary // x(){} // } class B { static; // The semicolon *is* necessary x() {} } class C1 { get; // The semicolon *is* necessary x() {} } class C2 { get = () => {} // The semicolon is *not* necessary x() {} } class C3 { set; // The semicolon *is* necessary x() {} } class C4 { set = () => {} // The semicolon is *not* necessary x() {} } class A1 { a = 0; [b]() {} c = 0; *d() {} e = 0; [f] = 0 // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {} [h]() {} p() {} *i() {} a = 1 get ["y"]() {} a = 1 static ["y"]() {} a = 1 set ["z"](z) {} a = 1 async ["a"]() {} a = 1 async *g() {} a = 0 b = 1 } class A2 { a = 0; [b]() {} c = 0; *d() {} e = 0; [f] = 0 // none of the semicolons above this comment can be omitted. // none of the semicolons below this comment are necessary. q() {} [h]() {} p() {} *i() {} a = 1 get ["y"]() {} a = 1 static ["y"]() {} a = 1 set ["z"](z) {} a = 1 async ["a"]() {} a = 1 async *g() {} a = 0 b = 1 } // being first/last shouldn't break things class G1 { x = 1 } class G2 { x() {} } class G3 { *x() {} } class G4 { [x] = 1 } ```