64 lines
1.1 KiB
Plaintext
64 lines
1.1 KiB
Plaintext
exports[`test exports_optional_prop.js 1`] = `
|
|
"// @flow
|
|
|
|
declare class Foo {
|
|
bar?: () => string
|
|
}
|
|
|
|
export {Foo};
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// @flow
|
|
|
|
declare class Foo { bar?: () => string }
|
|
|
|
export { Foo };
|
|
"
|
|
`;
|
|
|
|
exports[`test test.js 1`] = `
|
|
"class C {
|
|
C() { }
|
|
foo() { }
|
|
static bar() { }
|
|
qux() { this.constructor.x; }
|
|
}
|
|
C.x;
|
|
(new C).foo.x;
|
|
C.bar.x;
|
|
|
|
import {Foo} from \'./exports_optional_prop\';
|
|
const foo = new Foo();
|
|
(foo.bar(): string); // error, could be undefined
|
|
|
|
function f(x) {
|
|
(x.bar(): string); // error. caused by \`f(foo)\`; annotate x to track it down.
|
|
}
|
|
f(foo);
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
class C {
|
|
C() {
|
|
}
|
|
foo() {
|
|
}
|
|
static bar() {
|
|
}
|
|
qux() {
|
|
this.constructor.x;
|
|
}
|
|
}
|
|
C.x;
|
|
new C().foo.x;
|
|
C.bar.x;
|
|
|
|
import { Foo } from \"./exports_optional_prop\";
|
|
const foo = new Foo();
|
|
(foo.bar(): string);
|
|
|
|
// error, could be undefined
|
|
function f(x) {
|
|
(x.bar(): string); // error. caused by \`f(foo)\`; annotate x to track it down.
|
|
}
|
|
f(foo);
|
|
"
|
|
`;
|