flow-immutable-models
Version:
Generates model classes from Flow types using Immutable.js
18 lines (16 loc) • 481 B
Flow
// @flow
export default function typeToExpression(j: Object, typeAlias: Object): Object {
if (typeAlias.type === 'Identifier') {
if (typeAlias.name === 'Array') {
return j.arrayExpression([]);
}
return j.identifier(typeAlias.name);
}
if (typeAlias.type === 'QualifiedTypeIdentifier') {
return j.memberExpression(
typeToExpression(j, typeAlias.qualification),
typeToExpression(j, typeAlias.id)
);
}
return j.identifier('unknown');
}