Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !5314

[typescript] Remove incomplete support of Date type

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/crunchbase/typescript/date-typemapping into master Feb 13, 2020
  • Overview 0
  • Commits 3
  • Pipelines 0
  • Changes 41

Created by: amakhrov

Intro Historically, TypeScript generators had typeMapping "DateTime=Date". However only select generators generate code that really does serialization/deserialization of dates at runtime.

Some other generators support serialization of Date query parameters, but not deserialize models returned from api. Without proper model deserialization, the whole DateTime=Date mapping is simply incorrect (declared data type is Date, but real value at runtime coming from api is still string).

  • Generators that fully implement serialization: typescript-fetch, typescript-reduxquery, typescript-node.
  • Generators with partial support (query params only, but not models): typescript-angular, typescript-axios.

Lately this partial Date support seems to get quite a bit of traction: https://github.com/OpenAPITools/openapi-generator/pull/4869, https://github.com/OpenAPITools/openapi-generator/pull/5057, https://github.com/OpenAPITools/openapi-generator/pull/5225, https://github.com/OpenAPITools/openapi-generator/pull/5266, https://github.com/OpenAPITools/openapi-generator/pull/5287

The approach implemented in this PR is

  • Keep Date support as is for generators that fully support serialization/deserialization.
  • Set typeMapping DateTime=string for all other typescript generators (actually, in AbstractTypescriptClient).
  • Remove partial support for Dates from mustache templates (for generators with partial support, as listed above).

PR checklist

  • Read the contribution guidelines.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @nicokoenig (2018/09) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/crunchbase/typescript/date-typemapping