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

Add F# Functions server generator #3933

Merged
merged 2 commits into from
Sep 24, 2019
Merged

Add F# Functions server generator #3933

merged 2 commits into from
Sep 24, 2019

Conversation

nmfisher
Copy link
Contributor

PR checklist

  • [Y ] Read the contribution guidelines.
  • [ Y] Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first.
  • [ Y] Filed the PR against the correct branch: master, 4.1.x, 5.0.x. Default: master.
  • [ Y ] Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

This PR adds a server stub generator for F#/Azure Functions, based closely on the F#/Giraffe generator I previously submitted/merged.

To maximize code re-use between the Giraffe and Azure Functions generator, I made a few changes to the existing F# generator classes. None of these should break backwards compatibility though.

test fix

fix template paths

replace giraffe sample
@wing328
Copy link
Member

wing328 commented Sep 23, 2019

FYI. I've pushed 70fe969 to update the doc so as to fix the CircleCI failure.

@wing328
Copy link
Member

wing328 commented Sep 24, 2019

Let's go ahead with this and get some feedback from the F# community.

@wing328 wing328 merged commit 8408232 into OpenAPITools:master Sep 24, 2019
@nmfisher
Copy link
Contributor Author

Great, thanks @wing328!

Also worth mentioning you're doing a bang up job with the project, seems to be growing like crazy and you're still super responsive. Well done!

@wing328
Copy link
Member

wing328 commented Sep 25, 2019

@nmfisher thanks for the compliment. The credit goes to the awesome community including you.

Many companies (big corp, startups, etc) are using it in production and start contributing back. It just gets better and better everyday.

@@ -40,8 +40,17 @@ module UserApiHandlerTestsHelper =
let mutable CreateUsersWithArrayInputExamples = Map.empty
let mutable CreateUsersWithArrayInputBody = ""

CreateUsersWithArrayInputBody <- WebUtility.HtmlDecode ""
CreateUsersWithArrayInputExamples <- CreateUsersWithArrayInputExamples.Add("", CreateUsersWithArrayInputBody)
CreateUsersWithArrayInputBody <- WebUtility.HtmlDecode "{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nmfisher I notice the use of WebUtility.HtmlDecode here. What if we use {{{...}}} (original) instead of {{...}} (HTML escaped)?

jimschubert added a commit that referenced this pull request Sep 30, 2019
* master: (207 commits)
  Add missing enum processing in C++ codegen, already present for Qt5 (#3986)
  [C++] [Pistache] Removed deprecated warnings (#3985)
  [C++][Pistache] Simplified model template (#3417)
  add go oas3 petstore to ensure up-to-date (#3979)
  replace gitter with slack in the doc (#3977)
  Fix wrong variable name in LessThan and LessThanOrEqual asserts (#3971)
  #3957 - Removed hardcoded baseUrl (#3964)
  Regenerate go openapi3 samples (#3975)
  [rust] Make it easier to test rust client generator (#3543)
  Fix issue3635 (#3948)
  add gradle repository (#3867)
  [java] allow to use setArtifactVersion() programmatically (#3907)
  Add a link to DevRelCon SF 2019 (#3961)
  Add a link to a medium blog post (#3960)
  update maven-compiler-plugin version (#3956)
  fix generateAliasAsModels in default generator (#3951)
  Implement BigDecimal to Decimal in swift4 for currency data as type=string format=number (#3910)
  Add F# Functions server generator (#3933)
  [python-experimental] generate model if type != object if enums/validations exist (#2757)
  [scala] add [date-time] field to codegen unit test (#3939)
  ...
Jesse0Michael pushed a commit to Jesse0Michael/openapi-generator that referenced this pull request Oct 3, 2019
* cherry pick F# Functions generator

test fix

fix template paths

replace giraffe sample

* update doc
jimschubert added a commit that referenced this pull request Oct 4, 2019
* master: (110 commits)
  [golang] Regenerate all go samples  (#3988)
  Better tests for string (number) (#3953)
  Add missing enum processing in C++ codegen, already present for Qt5 (#3986)
  [C++] [Pistache] Removed deprecated warnings (#3985)
  [C++][Pistache] Simplified model template (#3417)
  add go oas3 petstore to ensure up-to-date (#3979)
  replace gitter with slack in the doc (#3977)
  Fix wrong variable name in LessThan and LessThanOrEqual asserts (#3971)
  #3957 - Removed hardcoded baseUrl (#3964)
  Regenerate go openapi3 samples (#3975)
  [rust] Make it easier to test rust client generator (#3543)
  Fix issue3635 (#3948)
  add gradle repository (#3867)
  [java] allow to use setArtifactVersion() programmatically (#3907)
  Add a link to DevRelCon SF 2019 (#3961)
  Add a link to a medium blog post (#3960)
  update maven-compiler-plugin version (#3956)
  fix generateAliasAsModels in default generator (#3951)
  Implement BigDecimal to Decimal in swift4 for currency data as type=string format=number (#3910)
  Add F# Functions server generator (#3933)
  ...
@wing328
Copy link
Member

wing328 commented Oct 4, 2019

@nmfisher thanks for the PR, which has been included in the v4.1.3 release: https://twitter.com/oas_generator/status/1180123829626003456

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants