138 lines
4.0 KiB
Plaintext
138 lines
4.0 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`enum.js 1`] = `
|
|
====================================options=====================================
|
|
parsers: ["flow"]
|
|
printWidth: 80
|
|
| printWidth
|
|
=====================================input======================================
|
|
var APIKeys = {
|
|
AGE: 'age',
|
|
NAME: 'name',
|
|
};
|
|
|
|
module.exports = APIKeys;
|
|
|
|
=====================================output=====================================
|
|
var APIKeys = {
|
|
AGE: "age",
|
|
NAME: "name"
|
|
};
|
|
|
|
module.exports = APIKeys;
|
|
|
|
================================================================================
|
|
`;
|
|
|
|
exports[`enum_client.js 1`] = `
|
|
====================================options=====================================
|
|
parsers: ["flow"]
|
|
printWidth: 80
|
|
| printWidth
|
|
=====================================input======================================
|
|
var APIKeys = require('./enum');
|
|
// object that maps "AGE" to "age", "NAME" to "name"
|
|
|
|
function foo(x: $Keys<typeof APIKeys>) { }
|
|
foo("AGE");
|
|
foo("LOCATION"); // error
|
|
|
|
function bar(x: $Keys<{age: number}>) { }
|
|
bar(APIKeys.AGE); // not an error: APIKeys.AGE = "age"
|
|
bar(APIKeys.NAME); // error: since "NAME" is not in the smaller enum
|
|
|
|
var object = {};
|
|
object[APIKeys.AGE] = 123; // i.e., object.age = 123
|
|
object[APIKeys.NAME] = "FOO"; // i.e., object.name = "FOO"
|
|
|
|
var age:number = object[APIKeys.AGE];
|
|
var name:number = object[APIKeys.NAME]; // error: object.name is a string
|
|
|
|
var indices = { red: 0, green: 1, blue: 2 };
|
|
var tuple = [42, "hello", false];
|
|
var red:string = tuple[indices.red]; // error: tuple[0] is a number
|
|
|
|
=====================================output=====================================
|
|
var APIKeys = require("./enum");
|
|
// object that maps "AGE" to "age", "NAME" to "name"
|
|
|
|
function foo(x: $Keys<typeof APIKeys>) {}
|
|
foo("AGE");
|
|
foo("LOCATION"); // error
|
|
|
|
function bar(x: $Keys<{ age: number }>) {}
|
|
bar(APIKeys.AGE); // not an error: APIKeys.AGE = "age"
|
|
bar(APIKeys.NAME); // error: since "NAME" is not in the smaller enum
|
|
|
|
var object = {};
|
|
object[APIKeys.AGE] = 123; // i.e., object.age = 123
|
|
object[APIKeys.NAME] = "FOO"; // i.e., object.name = "FOO"
|
|
|
|
var age: number = object[APIKeys.AGE];
|
|
var name: number = object[APIKeys.NAME]; // error: object.name is a string
|
|
|
|
var indices = { red: 0, green: 1, blue: 2 };
|
|
var tuple = [42, "hello", false];
|
|
var red: string = tuple[indices.red]; // error: tuple[0] is a number
|
|
|
|
================================================================================
|
|
`;
|
|
|
|
exports[`number.js 1`] = `
|
|
====================================options=====================================
|
|
parsers: ["flow"]
|
|
printWidth: 80
|
|
| printWidth
|
|
=====================================input======================================
|
|
function test1(x: number): number {
|
|
return -x;
|
|
}
|
|
|
|
function test2(x: string): number {
|
|
return -x;
|
|
}
|
|
|
|
// sanity checks to make sure merging envs doesn't keep creating new NumT's
|
|
// because of the UnaryMinusT's, causing nontermination
|
|
function test3(x: number, flip_times: number): number {
|
|
for (var i = 0; i < flip_times; i++) {
|
|
x = -x;
|
|
}
|
|
return x;
|
|
}
|
|
function test4(flip_times: number): number {
|
|
var x = 1;
|
|
for (var i = 0; i < flip_times; i++) {
|
|
x = -x;
|
|
}
|
|
return x;
|
|
}
|
|
|
|
=====================================output=====================================
|
|
function test1(x: number): number {
|
|
return -x;
|
|
}
|
|
|
|
function test2(x: string): number {
|
|
return -x;
|
|
}
|
|
|
|
// sanity checks to make sure merging envs doesn't keep creating new NumT's
|
|
// because of the UnaryMinusT's, causing nontermination
|
|
function test3(x: number, flip_times: number): number {
|
|
for (var i = 0; i < flip_times; i++) {
|
|
x = -x;
|
|
}
|
|
return x;
|
|
}
|
|
function test4(flip_times: number): number {
|
|
var x = 1;
|
|
for (var i = 0; i < flip_times; i++) {
|
|
x = -x;
|
|
}
|
|
return x;
|
|
}
|
|
|
|
================================================================================
|
|
`;
|