11module Common exposing
2- ( BasicType (..)
2+ ( AdditionalProperties (..)
3+ , BasicType (..)
34 , Component (..)
45 , ConstValue (..)
56 , Field
67 , Module (..)
7- , Object
88 , OneOfData
99 , Package (..)
1010 , RefTo
@@ -447,7 +447,11 @@ initialUppercaseWordToLowercase input =
447447
448448type Type
449449 = Nullable Type
450- | Object { isRecursive : Maybe UnsafeName } Object
450+ | Object
451+ { isRecursive : Maybe UnsafeName
452+ , additionalProperties : AdditionalProperties
453+ , fields : List ( UnsafeName , Field )
454+ }
451455 | Basic
452456 -- This is separate for easier pattern matching
453457 BasicType
@@ -459,8 +463,6 @@ type Type
459463 | List Type
460464 | Tuple Type Type
461465 | Triple Type Type Type
462- -- The type declared in additionalProperties, and a list of normal properties
463- | Dict { type_ : Type , documentation : Maybe String } Object
464466 | OneOf TypeName ( OneOfData , List OneOfData )
465467 | Enum ( UnsafeName , List UnsafeName )
466468 | Value
@@ -469,6 +471,11 @@ type Type
469471 | Unit
470472
471473
474+ type AdditionalProperties
475+ = AdditionalPropertiesAllowed { type_ : Type , documentation : Maybe String }
476+ | AdditionalPropertiesDisallowed
477+
478+
472479type RefTo r
473480 = RefTo Component UnsafeName
474481
@@ -511,10 +518,6 @@ basicTypeToString basicType =
511518 " number"
512519
513520
514- type alias Object =
515- List ( UnsafeName , Field )
516-
517-
518521type alias OneOfData =
519522 { name : UnsafeName
520523 , type_ : Type
0 commit comments