Skip to content

Add support for recursive data types #218

@k4b7

Description

@k4b7

The following code:

type NestedArray<T> = (T | NestedArray<T>)[];

export type Props = {
  numbers: NestedArray<number>,
};

produces the following error:

RangeError: Maximum call stack size exceeded
        at Array.map (<anonymous>)

      20 |   }
      21 |   else if (node.type === 'UnionTypeAnnotation') {
    > 22 |     const realTypes = node.types.map(n => mapGenericToRealType(n, typeParamMapping));
         |                                  ^
      23 |     const newNode = Object.assign({}, node, {
      24 |       types: realTypes,
      25 |     });

      at map (src/convertToPropTypes.js:22:34)
      ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions