Skip to content

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

@rylev

Description

@rylev

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions