public static isStructA()

in fixtures/jsii-calc/lib/compliance.ts [2319:2338]


  public static isStructA(struct: StructA | StructB): struct is StructA {
    const keys = new Set(Object.keys(struct));
    switch (keys.size) {
      case 1:
        return keys.has('requiredString');
      case 2:
        return (
          keys.has('requiredString') &&
          (keys.has('optionalNumber') || keys.has('optionalString'))
        );
      case 3:
        return (
          keys.has('requiredString') &&
          keys.has('optionalNumber') &&
          keys.has('optionalString')
        );
      default:
        return false;
    }
  }