-
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.
To use type guards, Animal must be made a union type. Real example: dom-eater
In fact, setTimeout can execute eval by passing a string as a callback, but we will not consider this part. Real example: async-lube
As mentioned earlier, TypeScript has a lot of bugs. One of the critical bugs I encountered is that when using the typeof keyword in a generic function when generating d.ts files using tsc and JSDoc, the compiler does not reflect it properly and converts it to any type. However, there are many bugs in TypeScript, and contributing to the project is quite cumbersome. Even to report a bug, you need to search the issue list of thousands to see if it is already a known bug. If you encounter a bug, the best way is to create a PR to fix it, but also consider clunky solutions. I solved the above bug by writing a script to convert the returns type of any type JSDoc. autogenerated d.ts I will attach a playground for some of TypeScript's bugs. TypeScript Bugs JSDoc d.ts Bugs