35 lines
777 B
JavaScript
35 lines
777 B
JavaScript
// @flow
|
|
|
|
let tests = [
|
|
// global
|
|
function() {
|
|
(mergeInto()); // error, unknown global
|
|
},
|
|
|
|
// annotation
|
|
function(mergeInto: $Facebookism$MergeInto) {
|
|
let result = {};
|
|
result.baz = false;
|
|
(mergeInto(result, { foo: 'a' }, { bar: 123 }): void);
|
|
(result: { foo: string, bar: number, baz: boolean });
|
|
},
|
|
|
|
// module from lib
|
|
function() {
|
|
const mergeInto = require('mergeInto');
|
|
let result: { foo?: string, bar?: number, baz: boolean } = { baz: false };
|
|
(mergeInto(result, { foo: 'a' }, { bar: 123 }): void);
|
|
},
|
|
|
|
// too few args
|
|
function(mergeInto: $Facebookism$MergeInto) {
|
|
mergeInto();
|
|
},
|
|
|
|
// passed as a function
|
|
function(mergeInto: $Facebookism$MergeInto) {
|
|
function x(cb: Function) {}
|
|
x(mergeInto);
|
|
}
|
|
];
|