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

Feature idea: short hand commands for common composition scenarios #53

Open
rylev opened this issue Feb 2, 2024 · 0 comments
Open

Feature idea: short hand commands for common composition scenarios #53

rylev opened this issue Feb 2, 2024 · 0 comments

Comments

@rylev
Copy link
Collaborator

rylev commented Feb 2, 2024

The wac language is a powerful tool that enables essentially any composition scenario. However, there are some common composition scenarios for which we could provide short hand commands to accomplish without the need for a full script.

Initial Proposal

My initial proposal for the first short hand command would be for a "plug" composition scenario where there are two components, one of which exports a function that mirrors an import of the second component. The first component essentially "plugs" the import hole in the second.

Another way to think about this is as a shorthand for the following wac script:

package example:composition;

let plug = new $PLUG {};

let socket = new $SOCKET {
  $SOCKET_IMPORT: plug.$PLUG_EXPORT,
};

export socket...;

The command would look like the following:

wac plug --plug $PLUG#$PLUG_EXPORT --into $SOCKET#$SOCKET_IMPORT

Unanswered questions

The above example assume that the plug has no imports. We could either provide a flag that allows for the resulting component to inherit the imports of the plug or do this be default. I'm not sure how I feel about it either way.

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

1 participant