-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Note: the reason "IUserRepository" is passed here as a string to bind() is because Typescript interfaces are not "real" types or symbols, unlike classes, so therefore we must use the string name of them. However, the autogenerated code contains simple union-type that makes sure you pass a correct name for the interface to bind() The key here is that there is an additional pre-preprocessing step that uses Typescript compiler to parse the arguments of each constructor and generates a project-specific IOC container code with a tree of depenedencies, allowing to resolve them in runtime (basically an additional .ts file in your source code folder). You can also run it in watch mode, so it actively rebuilds the tree as you edit the code in project, or just make it a required step before running your app in npm start for example. The example of auto generated container code, that you import in your project can be found there: Github