blob: 3d2a5032d43c525b6e9249a4827e1f3af5538758 [file] [log] [blame]
40 columns |
>>> split all chained calls if they don't fit on one line
compiler.something().something().something();
<<<
compiler
.something()
.something()
.something();
>>> do not split chained calls if not needed
compiler.something().something().some();
<<<
compiler.something().something().some();
>>> don't split before implicit receiver
return
call({'type': type, 'id': id})
.then(deserializeAsset);
<<<
return call({'type': type, 'id': id})
.then(deserializeAsset);
>>> allows chained calls on one line with multi-line last argument list
compiler
.run(script)
.then((_) {
body;
});
<<<
compiler.run(script).then((_) {
body;
});
>>> allow inline chains before and after a hard newline
compiler.a().b((_) {
body;
}).c().d();
<<<
compiler.a().b((_) {
body;
}).c().d();
>>> allow an inline chain before a hard newline but not after
compiler.a().b((_) {
body;
}).somethingLong().somethingLong().somethingLong();
<<<
compiler.a().b((_) {
body;
})
.somethingLong()
.somethingLong()
.somethingLong();
>>> allow an inline chain after a hard newline but not before
compiler.somethingLong().somethingLong().somethingLong((_) {
body;
}).a().b();
<<<
compiler
.somethingLong()
.somethingLong()
.somethingLong((_) {
body;
}).a().b();
>>> nest calls one more than target
someVeryLongExpression = someVeryLongExpression.someLongMethod();
<<<
someVeryLongExpression =
someVeryLongExpression
.someLongMethod();
>>> split properties after a method chain
compiler.method().method().method().property.property;
<<<
compiler
.method()
.method()
.method()
.property
.property;
>>> split properties in a method chain
compiler.method().property.method().property.method();
<<<
compiler
.method()
.property
.method()
.property
.method();
>>> do not split leading properties in a chain
compiler.property.property.method().method().method();
<<<
compiler.property.property
.method()
.method()
.method();
>>> do not split leading properties even if others splits
compiler.property.method().property.method();
<<<
compiler.property
.method()
.property
.method();
>>> split between a pair of properties
avian.bovine.canine.equine.feline.piscine.orycteropodian.camelid;
<<<
avian.bovine.canine.equine.feline
.piscine.orycteropodian.camelid;
>>> split before all properties if they don't fit on two lines
avian.bovine.canine.equine.feline.piscine.orycteropodian.camelid
.rangiferine;
<<<
avian
.bovine
.canine
.equine
.feline
.piscine
.orycteropodian
.camelid
.rangiferine;
>>> unsplit cascade unsplit method
object.method().method()..c()..c();
<<<
object.method().method()..c()..c();
>>> split cascade unsplit method
object.method().method()..cascade()..cascade();
<<<
object.method().method()
..cascade()
..cascade();
>>> unsplit cascade split method
object.method().method().method().method()..cascade()..cascade();
<<<
object
.method()
.method()
.method()
.method()..cascade()..cascade();
>>> split cascade split method
object.method().method().method().method()..cascade()..cascade()..cascade();
<<<
object
.method()
.method()
.method()
.method()
..cascade()
..cascade()
..cascade();
>>> cascade setters on method chain
object.method().method().method().method()..x=1..y=2;
<<<
object
.method()
.method()
.method()
.method()
..x = 1
..y = 2;
>>> conditional invocation
object?.method().method()?.method().method();
<<<
object
?.method()
.method()
?.method()
.method();