in fixtures/jsii-calc/lib/compliance.ts [2340:2359]
public static isStructB(struct: StructA | StructB): struct is StructB {
const keys = new Set(Object.keys(struct));
switch (keys.size) {
case 1:
return keys.has('requiredString');
case 2:
return (
keys.has('requiredString') &&
(keys.has('optionalBoolean') || keys.has('optionalStructA'))
);
case 3:
return (
keys.has('requiredString') &&
keys.has('optionalBoolean') &&
keys.has('optionalStructA')
);
default:
return false;
}
}