Skip to content

Commit

Permalink
docs(transformer): updated README re: order of methods (#4993)
Browse files Browse the repository at this point in the history
Add to `oxc_transformer` README note about order methods laid out in
files.

The idea is that you can read code for a transformer from top to bottom,
and the logic flows in this direction.
  • Loading branch information
overlookmotel authored Aug 19, 2024
1 parent 7c6bae2 commit 1bd5853
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions crates/oxc_transformer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,26 @@ comment, so we can return to it later.
* Entry points of transform should be implemented as `impl Traverse for MyTransform`.
* Those methods have to be called `enter_*` and `exit_*`.
* Parent transform will only interface with child transform via these entry points.
* Those entry points go at top of the file.
* Only other method exposed externally should be `new`. That should be at top of the file.
* Entry points go directly below `new` method definition.
* Internal methods implemented lower down in an `impl MyTransform` block.
* Internal methods named descriptively - `add_id_to_function` not `transform_function`.

i.e. File is laid out so logic flows from top of file to bottom.

e.g.:

```rs
struct FunctionRenamer;
struct FunctionRenamer {
prefix: String,
}

// Initialization
impl FunctionRenamer {
pub fn new(prefix: String) -> Self {
Self { prefix }
}
}

// Entry points
impl<'a> Traverse<'a> for FunctionRenamer {
Expand Down

0 comments on commit 1bd5853

Please sign in to comment.