Our great sponsors
-
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.
Short answer: in https://github.com/jevko/easyjevko.js a thing like [ my text ] is converted to a JS string " my text " -- all whitespace is preserved.
Now if you take the simplest possible format built on Jevko, e.g. https://github.com/jevko/easyjevko.lua which specifies the conversion of jevkos to Lua tables and strings then an empty jevko is always converted to an empty string. Empty tables or nulls are simply prohibited in this format.
Now you can devise a more complex format which would specify what trees map to nulls or empty tables or what-have-you, or even use a complementary Jevko schema to disambiguate what an empty tree means, e.g. https://github.com/jevko/interjevko.js -- but that is a topic for another time.
Here is a toy language that uses Jevko as syntax that I've been hacking on a bit recently: https://github.com/jevko/jevkalk