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

[Good First Issues]: implement function "capitalize_word" - 8 points #373

Closed
Tracked by #355
JieDing opened this issue Dec 29, 2022 · 6 comments
Closed
Tracked by #355
Assignees
Labels
good first issue help-wanted Extra attention is needed

Comments

@JieDing
Copy link
Contributor

JieDing commented Dec 29, 2022

Motivation

Vanus Functions are a series of pre-built functions worked within Vanus transformer. By choosing a function, users can specify the way that events will be changed.

It will be a good start if you decide to contribute to Vanus codes.

Details

This function is used to capitalize all words in a string of an existed json element.

Description

Function name: capitalize_word

Function args:

  • path: the json path of the string which needs to be capitalized.

Function description: Capitalize all words in a string of an existed json element. The previous value of the json object will be replaced.

Example

For example, if users' original event looks like this:

{
    "specversion" : "1.0",
    "type" : "com.example.someevent",
    "source" : "/mycontext",
    "subject": null,
    "id" : "C234-1234-1234",
    "time" : "2018-04-05T17:31:00Z",
    "comexampleextension1" : "value",
    "comexampleothervalue" : 5,
    "datacontenttype" : "application/json",
    "data" : {
        "appinfoA" : "this is jay ding",
        "appinfoB" : 123,
        "appinfoC" : true
    }
}

After the function "capitalize_word":

"pipeline":[
    {"command":["capitalize_word","$.data.appinfoA"]}
]

The transformed event should look like:

{
    "specversion" : "1.0",
    "type" : "com.example.someevent",
    "source" : "/mycontext",
    "subject": null,
    "id" : "C234-1234-1234",
    "time" : "2018-04-05T17:31:00Z",
    "comexampleextension1" : "value",
    "comexampleothervalue" : 5,
    "datacontenttype" : "application/json",
    "data" : {
        "appinfoA" : "This Is Jay Ding",
        "appinfoB" : 123,
        "appinfoC" : true
    }
}

How to implement

  1. Fork the vanus repository.
  2. Create a branch function-capitalize-word
  3. Create capitalize_word.go under internal/primitive/transform/action/strings, and then implement the function.
  4. Create capitalize_word_test.go under internal/primitive/transform/action/strings for unit test.
  5. Register your function in internal/primitive/transform/runtime/init.go.
  6. Submit your PR

Contribution points

Each issue counts specific points based on its difficulty. Contributors earn the corresponding points if they solve that issue. Contribution points are used to describe the contributions contributors have made. They can also be used to get rewards when there are community events.

This issue counts 8 points.

How to claim to solve the issue

If you want to implement this function, please leave a comment in this issue like:

I'd like to implement this function, please assign this issue to me.

Vanus community will assign the issue to you on time.

@varuntumbe
Copy link

I would like to implement this function. Please assign it to me.( I am a beginner and have not worked with go before, but really interested to learn go and want to contribute to the project )

@Michaelg22
Copy link
Contributor

I would like to implement this function. Please assign it to me.( I am a beginner and have not worked with go before, but really interested to learn go and want to contribute to the project )

Hi thanks you for your comment, I will assign it to you.

@JieDing JieDing assigned JieDing and varuntumbe and unassigned JieDing Dec 31, 2022
@JieDing
Copy link
Contributor Author

JieDing commented Jan 9, 2023

I would like to implement this function. Please assign it to me.( I am a beginner and have not worked with go before, but really interested to learn go and want to contribute to the project )

Hi @varuntumbe ,how is it going with this function? You may have some questions during implementation, Join the Slack channel to discuss with other developers. Also there you can know details about how to get contribution rewards.

@faculerena
Copy link

I'd like to implement this function if no one else has made progress for this. I'm fairly new with go but I want to contribute.

@JieDing
Copy link
Contributor Author

JieDing commented Jan 21, 2023

I'd like to implement this function if no one else has made progress for this. I'm fairly new with go but I want to contribute.
@faculerena
Sure, glad to hear you wanna try this. I will assign it to you.

@JieDing JieDing assigned faculerena and unassigned varuntumbe Jan 21, 2023
@Michaelg22
Copy link
Contributor

@faculerena how is it going? Its been a while now?

@Michaelg22 Michaelg22 closed this as not planned Won't fix, can't repro, duplicate, stale Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue help-wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants