* update parser to 2.0.29
* better handling of null in dereferencing
* update parser to 2.0.30
* update core to newer version
* add new files
* rollback to previous stable version
* remove files
* Fixes for python-experimental NullableShape component
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Add nillable data types to models
Only REQUIRED and NOT NULLABLE variables can NOT have type Nil
All OPTIONAL and NULLABLE-REQUIRED variables have type Nil
Only NULLABLE-REQUIRED variables should emit keys with null values when they are serialized, json example: property name : String? = nil; the json representation for this property is {"name": null}
For all OPTIONAL variables having Nil values, their variable keys would be skipped during serialization. The json representation for OPTIONAL property name : String? = nil; would be: {}
* Fix failed tests in samples/client/petstore/crystal/spec/api/pet_api_spec.cr
* Remove isNullable from model template
* No need to check nillability of required property
For any required property, assigning nil value to it will result in compilation error
The datatype simply can not hold value nil, so there's no need to check it
* Place required vars first in initializor
* Refresh generated sample code for crystal client
* Required properties are not nillable
* Fix compilation error of undefined method equal?
Crystal lang doesn't have method equal?
We should use method same? instead of ruby's equal? method
Reference: https://crystal-lang.org/api/master/Reference.html#same?(other:Reference):Bool-instance-method
* Add tests for add_pet api endpoint with only required parameters
Setting Pet optional properties to nil values is allowed by add_pet api endpoint
* Add helper method to test compilation errors
* Add tests to Pet model
Test model initializations
Test compilation error when model is initialized without required properties
* Test required properties in json deserialization for Pet model
* Fix some issues in crystal client templates using google drive v3 oas3 api spec
* update crystal petstore sample code
* Address PR comments
Raises on unsupported feature
clean up extra new lines in partial_model_enum_class.mustache
* Use size instead of length
length is undefined for String or Array
* Fix typo
* Use default value instead of nil
* remove unused template file
* Use ::File instead of File as file type to avoid conflicts
The spec could also have a File model
* support file upload in multipart/form-data post body
* Revert breaking changes in api template
* Use double quotes to quote string values
single quotes are used for single char in crystal
* Update api_client to use global ::File and update petstore samples
* JSON Annotation Field key's value should be double quoted
* Handle nil values for form_params
* Remove default values from method definitions due to grammar error
* Fix integration tests
* [crystal][client] support authorization header
* [crystal][client] update samples
* [crystal][client] update tests
* [crystal][client] add unit test for api_client.cr
* [crystal] update crystal version 1.0.0
* [crystal] show crystal version on CI
* [crystal][client] $ shards update --ignore-crystal-version
* [crystal][client] update pom.xml