Generic type variables

Wrapper<Opening, ...>

Openingextendsstring=string

​A generic type variable constrained by the string, by default of the value captured from the provided opening indicates the opening type of a new Wrapper instance.

wrapper.class.ts
class Wrapper<
  Opening extends string = string, // <--- Declare generic type variable Opening.
  Text extends string = '',
  Closing extends string = string
> extends Wrap<Opening, Text, Closing> {
  ...
  constructor(
    opening: Opening, // <--- Capture generic type variable Opening.
    closing: Closing,
    text: Text = '' as Text
  ) {
    super(opening, closing, text);
  }
  ...
}

Wrapper<...,Text, ...>

Textextendsstring=''

​A generic type variable constrained by the string, by default of the value captured from the provided text indicates the text type of a new Wrapper instance.

wrapper.class.ts
class Wrapper<
  Opening extends string = string,
  Text extends string = '', // <--- Declare generic type variable Text.
  Closing extends string = string
> extends Wrap<Opening, Text, Closing> {
  ...
  constructor(
    opening: Opening,
    closing: Closing,
    text: Text = '' as Text // <--- Capture generic type variable Text.
  ) {
    super(opening, closing, text);
  }
  ...
}

Wrapper<...,Closing>

Closingextendsstring=string

​A generic type variable constrained by the string, by default of the value captured from the provided closing indicates the closing type of a new Wrapper instance.

wrapper.class.ts
class Wrapper<
  Opening extends string = string,
  Text extends string = '',
  Closing extends string = string // <--- Declare generic type variable Closing.
> extends Wrap<Opening, Text, Closing> {
  ...
  constructor(
    opening: Opening,
    closing: Closing, // <--- Capture generic type variable Closing.
    text: Text = '' as Text
  ) {
    super(opening, closing, text);
  }
  ...
}

Last updated