-
Notifications
You must be signed in to change notification settings - Fork 243
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
Allow defaults for declarations #2359
Comments
OpenAI |
Regarding defaults for objects, why not specify the defaults on the properties, e.g.
Note: I changed Also, why is |
I think the semantics are slightly different, perhaps in a too-subtle sort of way. The default on the model says, when this model is absent, here's the value to use, whereas the default on properties say, when this property is absent, here's the property value to use. The model default for example must include all required properties without defaults since it must be a valid instance of model, but this is not necessarily the case for a given model with only property defaults, because its required fields may not have defaults. I think |
## Previous non-string expandable enum implementation - Branded - Swagger(ExpandableStringEnum, serialization having trouble) - TypeSpec(ExpandableStringEnum, serialization having trouble) - Unbranded - ExpandableEnum interface ## After this PR - Branded - Swagger(ExpandableEnum interface implementation, with serialization/deserialization supported) - TypeSpec(ExpandableEnum interface implementation, with serialization/deserialization supported) - Unbranded(untouched, supported) ## Limitations - Only supports string and number extensible enums. - Current TypeSpec doesn't support extensible boolean enum: Azure/typespec-azure#1162 - Current TypeSpec doesn't seem to have literals other than string, number and boolean(I can't make object literals work): #2359 ## About this PR's commits - **TypeSpec code(main purpose)**: 29841a7 - TypeSpec test case in d37d396 - Swagger test case in autorest.java Azure/autorest.java#2953 - Swagger serialization fix: e8454cf - script change for build: 54af0f1 - A minor mapper bug fix: 41673da --------- Co-authored-by: Weidong Xu <[email protected]>
…osoft#4492) ## Previous non-string expandable enum implementation - Branded - Swagger(ExpandableStringEnum, serialization having trouble) - TypeSpec(ExpandableStringEnum, serialization having trouble) - Unbranded - ExpandableEnum interface ## After this PR - Branded - Swagger(ExpandableEnum interface implementation, with serialization/deserialization supported) - TypeSpec(ExpandableEnum interface implementation, with serialization/deserialization supported) - Unbranded(untouched, supported) ## Limitations - Only supports string and number extensible enums. - Current TypeSpec doesn't support extensible boolean enum: Azure/typespec-azure#1162 - Current TypeSpec doesn't seem to have literals other than string, number and boolean(I can't make object literals work): microsoft#2359 ## About this PR's commits - **TypeSpec code(main purpose)**: 29841a7 - TypeSpec test case in d37d396 - Swagger test case in autorest.java Azure/autorest.java#2953 - Swagger serialization fix: e8454cf - script change for build: 54af0f1 - A minor mapper bug fix: 41673da --------- Co-authored-by: Weidong Xu <[email protected]>
It would be nice to allow specifying defaults on a declaration. For example, something like:
Otherwise you have to make sure to apply this default everywhere
rating
is used, or create an anonymous model to spread in. Neither are particularly palatable.Object defaults probably depend on the
#
syntax, and the sketcheddefault
decorator has similar dependencies to #514.The text was updated successfully, but these errors were encountered: