swagger-api / swagger-api/swagger-codegen
[JavaScript] Invalid date parsing for all browsers.
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Description
We are using the JavaScript code generator in combination with browserify. It brings us some benefits to have some "static code"-generation for JavaScript. The problem is that the date parsing function is not working for all browsers. Not all browsers have proper ISO-8601 parsing capabilities. Only Chrome parses the dates correctly.
Swagger-codegen version
2.1.6
Swagger declaration file content or url
Any date-time parameter. e.g. http://petstore.swagger.io/#!/store/getOrderById
Command line used for generation
java -jar swagger-codegen.jar generate -i http://petstore.swagger.io/v2/swagger.json -l JavaScript - o jsclient
cd jsclient
npm install
cd ..
browserify jsclient\src\index.js -o client.js --standalone PetStoreClient
Steps to reproduce
- Generate the client
- Use the client.js in the browser to make a call to
getOrderById - Inspect the shipDate
Related issues
No
Suggest a Fix
One solution could be to use moment.js to parse the date. An other solution might be to parse the ISO date manually with some regex.
https://www.safaribooksonline.com/library/view/javascript-cookbook/9781449390211/ch03s05.html
Considering only IE9 and higher all browsers support out of the box ISO8601 parsing. This means even new Date(str) would work.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the date parsing code linked in modules/swagger-codegen/src/main/resources/Javascript/ApiClient.mustache and compare it with the generated samples/client/petstore/javascript/src/ApiClient.js. Reproduce the browserify client using the documented PetStore getOrderById steps, then verify that date-time values such as shipDate parse consistently in the affected browsers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100