Files
test-repo/tests/format/flow/as-satisfies-expression/satisfies.js
T

41 lines
815 B
JavaScript

// @flow
const x = y satisfies T;
// demonstrating how "satisfies" expression can be practically used as expression statement.
const _ = (type: 'foo' | 'bar') => {
switch (type) {
case 'foo':
return 1;
case 'bar':
return 2;
default:
// exhaustiveness check idiom
(type) satisfies empty;
throw new Error('unreachable');
}
}
function needParens() {
(let) satisfies mixed;
(interface) satisfies mixed;
(module) satisfies mixed;
(using) satisfies mixed;
(yield) satisfies mixed;
(await) satisfies mixed;
}
function noNeedParens() {
async satisfies mixed;
satisfies satisfies mixed;
as satisfies mixed;
opaque satisfies mixed;
abc satisfies mixed; // not a keyword
}
function satisfiesChain() {
satisfies satisfies satisfies satisfies satisfies;
(type) satisfies empty satisfies mixed;
}