I'm pleased to announce the 0.0.4 release of hyperscript.
I would like to thank Deniz Akşimşek and Ben Pate for their assistance in getting this major release out the door by providing code, discussion and moral support. Thank you guys!
This release involved a massive refactor of the hyperscript runtime to fully support async transparency.
The runtime was moved back to being interpreted from being transpiled into javascript, which allows for this
innovative language feature and that has set the stage for a number of interesting features in the future.
Most commands from the 0.0.3 release are still available, except for the ajax command, which has been replaced with
the (much different) fetch command.
The ajax command may return as an add-on in a future release.
In addition to the big runtime change, a slew of new features were added:
elsewhere (that is, on an element not in the current element's hierarchy)def feature that allows you to define hyperscript functionsworker feature that allows you to define WebWorkers in hyperscript (!!!)js feature that allows you to define javascript blocks within workers and hyperscript script tagspluggable grammar feature that allows you to define new hyperscript
commands, features, and leaf & indirect expressionsfetch replaces the ajax commandreturn and throw commands have been added to support hyperscript functionsrepeat/for command has been added to support many different forms of iterationjs command has been added to allow for inline use of javascript within a hyperscript function or event handlerwait and repeat commands can now wait for events to occur, allowing for
event driven control flowno expression that returns true if the left hand side is nullis and is not as aliases for == and !=async expression to prevent the hyperscript runtime from syncing on a Promise returned by an expressionEnjoy!