36 lines
751 B
JavaScript
36 lines
751 B
JavaScript
/* @flow */
|
|
function foo(x?: string): string {
|
|
if (x == null) { return 'foo'; }
|
|
return x;
|
|
}
|
|
|
|
function bar(obj: {x?: string}): string {
|
|
if (obj.x == null) { return 'foo'; }
|
|
return obj.x;
|
|
}
|
|
|
|
function baz(bar?) {
|
|
if (!bar) { return 1; }
|
|
return bar.duck
|
|
}
|
|
|
|
function testOptionalNullable(x?: ?string): string {
|
|
if (x == null) { return 'foo'; }
|
|
return x;
|
|
}
|
|
|
|
function testOptionalNullableDefault(x?: ?string = "hi"): string {
|
|
if (x == null) { return 'foo'; }
|
|
return x;
|
|
}
|
|
|
|
function testOptionalNullableProperty(obj: {x?: ?string}): string {
|
|
if (obj.x == null) { return 'foo'; }
|
|
return obj.x;
|
|
}
|
|
|
|
function testOptionalNullableFlowingToNullable(x?: ?string): ?string {
|
|
var f = function(y: ?string) {};
|
|
f(x);
|
|
}
|