Support ES 6 default exports for form builder field JavaScript data handlers
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 2 Aug 2021 15:05:36 +0000 (17:05 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 3 Aug 2021 12:28:01 +0000 (14:28 +0200)
commitcbe78fb4282062a02e54814d43fbbdb1a7fa9927
tree41b41da4e2f7fbb3f88aceec898c44a3eb1036fc
parentaeac8e9065a2ed396928896870a95f36821e0a6c
Support ES 6 default exports for form builder field JavaScript data handlers

For legacy exports the value loaded by `require()` (`FormBuilderField`) will be
whatever the module author returned within the module definition. ES 6 modules
on the other hand will be passed as an object containing the exported values,
with the default export residing in the `default` key.

tslib's `__importDefault` will transform a legacy export into a ES 6 module, by
putting the exported value into the `default` key of an freshly created object.

This allows us to handle both legacy as well as ES 6 default exports identically
by simply using the `default` value of the `FormBuilderField` variable.
com.woltlab.wcf/templates/__formFieldDataHandler.tpl
wcfsetup/install/files/acp/templates/__formFieldDataHandler.tpl