pbomb / flow-immutable-models

Generates model classes from Flow types using Immutable.js
42 stars 8 forks source link

Allow reference model type field to be maybe type #12

Open pbomb opened 7 years ago

pbomb commented 7 years ago

When defining a model type with a property of another model type like this:

export type MyModelType {
  field: OtherModelType,
};

the fromJS function for MyModelType calls the fromJS from the Other model class. However, if field is defined as a maybe type (e.g. field: ?OtherModelType), the codemod doesn't recognize it as a model type or do anything in the fromJS function.

The correct behavior would be to still have the fromJS function contain code like the following, taking the null/undefined case into account:

  state.field = state.field == null ? state.field : Other.fromJS(state.field);