Skip to content

Repository files navigation

flowize

Generate FlowJs Types from Sequelize model definitions

Usage

constflowize=require('flowize');constsequelize=require('sequelize');(async()=>{// make sure sequelize models are initialized and associatedawaitflowize(sequelize,{outputPath: `${__dirname}/flow-typed`,typePrefix: 'Type',excludedModelNames: ['audit'],typePerField: true,});process.exit();})();

For below sequelize models;

classTaskextendsModel{}Task.init({title: Sequelize.STRING,},{ sequelize,modelName: 'task'});classUserextendsModel{}User.init({username: Sequelize.STRING},{ sequelize,modelName: 'user'});User.hasMany(Task);Task.belongsTo(User);

below FlowJs definitions will be created under outputPath option with in <typePrefix><model name>.js format.

TypeTitle.js

declaretypeTypeTaskId=number;declaretypeTypeTaskTitle=string;typeTitle={|id: TypeTaskId,title: TypeTaskTitle,userId: TypeUserId,user: TypeUser,|};declaretypeTypeTitle=$Shape<Title>;

TypeUser.js

declaretypeTypeUserId=number;typeUser={|id: TypeUserId,tasks: TypeTitle[],|};declaretypeTypeUser=$Shape<User>;

About

generate FlowJS Types from Sequelize model definitions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages