ts_compile.character() and ts_deploy()
default output to under tempdir() (or
options(RserveTS.compile_dir = ...) / env
RSERVETS_COMPILE_DIR) instead of writing beside the source
file; pass filename / file to choose an
explicit path.ts_*() type constructors onto a single
type_objects help page (?ts_numeric,
?ts_dataframe, etc.).createWidget help
page (?widgetActions, ?observer,
?tsWidget).ts_compile() hoists nested widget connectors to named
top-level TypeScript exports (export const +
T* aliases), ordered by child-widget dependencies.ts_compile.character() gains format and
prettier_cmd to run Prettier (or a compatible CLI) on
generated .ts output; prettier_cmd defaults to
getOption("RserveTS.prettier_cmd") (NULL until
set), with fallback to RserveTS_PRETTIER_CMD /
PATH.ts_compile.ts_function() also honours
format / prettier_cmd; both methods default
format to
getOption("RserveTS.format", FALSE).ts_compile() roxygen documents format /
prettier_cmd and clarifies file-path vs
ts_function arguments.widgetActions() for typed widget action definitions
used by createWidget(actions = ...).createWidget() and
widgetActions() reference docs/exports and update pkgdown
reference indexing.ts_compile() app schema output by emitting a named
*AppSchema object with typed default export.createWidget() function.
Now takes default values for properties, and automatically flushes state
changes to TypeScript after execution.createWidget() function with support for child
widgets. Widgets can now contain other widgets as properties, enabling
hierarchical widget structures. The function now properly handles child
widget initialization and state management.objectSignals as dependencytsWidget base class for proper class lookupAdd new widget functionality to simplify creating widget objects
that store state that can be modified by the JS application. The node
package @tmelliott/react-rserve
contains hooks for working with these widgets.
fix bug (use inherits() instead of class() == ““)
export = argument to
ts_function() (FALSE by default) to control
which functions are exposed with the first connectionjs_function()ts_recursive_list()js_function()ts_union()ts_array() that now works with
ts_objectsts_optional()ts_optional() functionThe initial developmental release of ts.
API expected to change in future releases as it is tested in various example applications, so if you happen to use this in a project I suggest you pin the version:
# install.packages("remotes")
remotes::install_github("ws1/ts@0.1.0")To get started, check the docs site at https://tomelliott.co.nz/ts/.