protected constructor()

in src/utils/mixin/app-aware-construct.ts [14:41]


    protected constructor(...args: any[]) {
      // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- mixin
      const [scope, id, props, ...rest] = args;

      if (!AppIdentity.isAppIdentity(props)) {
        throw new Error("Cannot use the GuAppAwareConstruct mixin without an AppIdentity");
      }

      const app: string = props.app;
      const idWithApp = AppIdentity.suffixText({ app }, id as string);

      // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- mixin
      const newArgs = [scope, idWithApp, props, ...rest];
      // eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- mixin
      super(...newArgs);

      this.idWithApp = idWithApp;

      /*
        Add the `App` tag to the construct.
        Although not every resource can be tagged, it's still safe to make the call.
        If AWS support tags on a new resource one day, our test suite will fail and we can celebrate!
        See https://docs.aws.amazon.com/ARG/latest/userguide/supported-resources.html
         */
      if (Construct.isConstruct(this)) {
        AppIdentity.taggedConstruct({ app }, this);
      }
    }