RicoSuter / NSwag

The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
http://NSwag.org
MIT License
6.61k stars 1.22k forks source link

IsDateTime should return true when using Moment (see NjsonSchema) #1613 #4916

Open bjarne-callewaert opened 3 weeks ago

bjarne-callewaert commented 3 weeks ago

This is a follow-up for PR #3660.

When using Moment, the TimeSpan class is not converted to the correct format when it is part of the url parameters. Nswag doesn't append the .format('d.hh:mm:ss.SS', { trim: false }) method on TimeSpans, while in NjsonSchema, this is done correctly. This causes TimeSpans to be converted to Moments differently when used in the url parameter or in the body.

The source of this issue lies in the fact that in NjsonSchema, the IsDateTime function returns true when a TimeSpan is used (NJsonSchema.CodeGeneration.TypeScript/DataConversionGenerator.cs). In Nswag this was not yet the case, so this was added in this PR.

Kind regards, Bjarne