Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rationalise transformations and transformation config #169

Closed
TiganeteaRobert opened this issue Jul 8, 2022 · 1 comment
Closed

Rationalise transformations and transformation config #169

TiganeteaRobert opened this issue Jul 8, 2022 · 1 comment
Assignees
Milestone

Comments

@TiganeteaRobert
Copy link
Contributor

No description provided.

@colmsnowplow
Copy link
Collaborator

colmsnowplow commented Jul 20, 2022

Documenting a key decision here after some discussion.

The initial implementation of scripting transformations was restricted to only one JS or Lua 'engine' per configuration.

The decision was then made to allow users to define multiple functions in the script, so that they may have multiple scripting transformations given that constraint. They provide the function name in configuration, the single engine has all functions, and then each instance of a transformation spins up a vm using the provided function name.

With the changes to configuration in this issue, we found a way to implement multiple engines. The decision was made to change the above pattern so that each script has a single engine, and the script must have a main() function, which is what gets executed. Configuration for both script and engine are kept together, and it should be simpler to configure.

There may be requirements to change this pattern in future, but this decision seems to simplify the implementation and config somewhat.

@colmsnowplow colmsnowplow changed the title Redesign transformations and remove transformation messages Rationalise transformations and transformation config Jul 22, 2022
@colmsnowplow colmsnowplow added this to the Release 1.0.0 milestone Aug 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants