public static isStructB()

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;
    }
  }