-
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.
In L1 https://github.com/mlajtos/L1 is async only — every value is an RxJS observable. You can think of observable as an async iterator, or promise that can resolve multiple times. Assignemnt to variable acts as resolving a promise with that value. On assignemnt, every dependant variables are recomputed. This is called “functional reactive programming”. It is a bit more than you asked for, but I got to L1 when I asked myself what if there was no sync/async distinction, but I may have overthought it. :)