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 null
is
and is not
as aliases for ==
and !=
async
expression to prevent the hyperscript runtime from syncing on a Promise returned by an expressionEnjoy!