// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`FormData.js 1`] = ` /* @flow */ // constructor const a: FormData = new FormData(); // correct new FormData(''); // incorrect new FormData(document.createElement('input')); // incorrect new FormData(document.createElement('form')); // correct // has const b: boolean = a.has('foo'); // correct // get const c: ?(string | File) = a.get('foo'); // correct const d: string = a.get('foo'); // incorrect const e: Blob = a.get('foo'); // incorrect const f: ?(string | File | Blob) = a.get('foo'); // incorrect a.get(2); // incorrect // getAll const a1: Array = a.getAll('foo'); // correct const a2: Array = a.getAll('foo'); // incorrect const a3: Array = a.getAll('foo'); // incorrect a.getAll(23); // incorrect // set a.set('foo', 'bar'); // correct a.set('foo', {}); // incorrect a.set(2, 'bar'); // incorrect a.set('foo', 'bar', 'baz'); // incorrect a.set('bar', new File([], 'q')) // correct a.set('bar', new File([], 'q'), 'x') // correct a.set('bar', new File([], 'q'), 2) // incorrect a.set('bar', new Blob) // correct a.set('bar', new Blob, 'x') // correct a.set('bar', new Blob, 2) // incorrect // append a.append('foo', 'bar'); // correct a.append('foo', {}); // incorrect a.append(2, 'bar'); // incorrect a.append('foo', 'bar', 'baz'); // incorrect a.append('foo', 'bar'); // correct a.append('bar', new File([], 'q')) // correct a.append('bar', new File([], 'q'), 'x') // correct a.append('bar', new File([], 'q'), 2) // incorrect a.append('bar', new Blob) // correct a.append('bar', new Blob, 'x') // correct a.append('bar', new Blob, 2) // incorrect // delete a.delete('xx'); // correct a.delete(3); // incorrect // keys for (let x: string of a.keys()) {} // correct for (let x: number of a.keys()) {} // incorrect // values for (let x: string | File of a.values()) {} // correct for (let x: string | File | Blob of a.values()) {} // incorrect // entries for (let [x, y]: [string, string | File] of a.entries()) {} // correct for (let [x, y]: [string, string | File | Blob] of a.entries()) {} // incorrect for (let [x, y]: [number, string] of a.entries()) {} // incorrect for (let [x, y]: [string, number] of a.entries()) {} // incorrect for (let [x, y]: [number, number] of a.entries()) {} // incorrect ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* @flow */ // constructor const a: FormData = new FormData(); // correct new FormData(""); // incorrect new FormData(document.createElement("input")); // incorrect new FormData(document.createElement("form")); // correct // has const b: boolean = a.has("foo"); // correct // get const c: ?(string | File) = a.get("foo"); // correct const d: string = a.get("foo"); // incorrect const e: Blob = a.get("foo"); // incorrect const f: ?(string | File | Blob) = a.get("foo"); // incorrect a.get(2); // incorrect // getAll const a1: Array = a.getAll("foo"); // correct const a2: Array = a.getAll("foo"); // incorrect const a3: Array = a.getAll("foo"); // incorrect a.getAll(23); // incorrect // set a.set("foo", "bar"); // correct a.set("foo", {}); // incorrect a.set(2, "bar"); // incorrect a.set("foo", "bar", "baz"); // incorrect a.set("bar", new File([], "q")); // correct a.set("bar", new File([], "q"), "x"); // correct a.set("bar", new File([], "q"), 2); // incorrect a.set("bar", new Blob()); // correct a.set("bar", new Blob(), "x"); // correct a.set("bar", new Blob(), 2); // incorrect // append a.append("foo", "bar"); // correct a.append("foo", {}); // incorrect a.append(2, "bar"); // incorrect a.append("foo", "bar", "baz"); // incorrect a.append("foo", "bar"); // correct a.append("bar", new File([], "q")); // correct a.append("bar", new File([], "q"), "x"); // correct a.append("bar", new File([], "q"), 2); // incorrect a.append("bar", new Blob()); // correct a.append("bar", new Blob(), "x"); // correct a.append("bar", new Blob(), 2); // incorrect // delete a.delete("xx"); // correct a.delete(3); // incorrect // keys for (let x: string of a.keys()) { } // correct for (let x: number of a.keys()) { } // incorrect // values for (let x: string | File of a.values()) { } // correct for (let x: string | File | Blob of a.values()) { } // incorrect // entries for (let [x, y]: [string, string | File] of a.entries()) { } // correct for (let [x, y]: [string, string | File | Blob] of a.entries()) { } // incorrect for (let [x, y]: [number, string] of a.entries()) { } // incorrect for (let [x, y]: [string, number] of a.entries()) { } // incorrect for (let [x, y]: [number, number] of a.entries()) { } // incorrect `; exports[`MutationObserver.js 1`] = ` /* @flow */ // constructor function callback(arr: Array, observer: MutationObserver): void { return; } const o: MutationObserver = new MutationObserver(callback); // correct new MutationObserver((arr: Array) => true); // correct new MutationObserver(() => {}); // correct new MutationObserver(); // incorrect new MutationObserver(42); // incorrect new MutationObserver((n: number) => {}); // incorrect // observe const div = document.createElement('div'); o.observe(div, { attributes: true, attributeFilter: ['style'] }); // correct o.observe(div, { characterData: true, invalid: true }); // correct o.observe(); // incorrect o.observe('invalid'); // incorrect o.observe(div); // incorrect o.observe(div, {}); // incorrect o.observe(div, { subtree: true }); // incorrect o.observe(div, { attributes: true, attributeFilter: true }); // incorrect // takeRecords o.takeRecords(); // correct // disconnect o.disconnect(); // correct ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* @flow */ // constructor function callback( arr: Array, observer: MutationObserver ): void { return; } const o: MutationObserver = new MutationObserver(callback); // correct new MutationObserver((arr: Array) => true); // correct new MutationObserver(() => {}); // correct new MutationObserver(); // incorrect new MutationObserver(42); // incorrect new MutationObserver((n: number) => {}); // incorrect // observe const div = document.createElement("div"); o.observe(div, { attributes: true, attributeFilter: ["style"] }); // correct o.observe(div, { characterData: true, invalid: true }); // correct o.observe(); // incorrect o.observe("invalid"); // incorrect o.observe(div); // incorrect o.observe(div, {}); // incorrect o.observe(div, { subtree: true }); // incorrect o.observe(div, { attributes: true, attributeFilter: true }); // incorrect // takeRecords o.takeRecords(); // correct // disconnect o.disconnect(); // correct `;