@@ -1672,21 +1672,25 @@ is always `true`).
16721672
16731673# ## The `$extends` Keyword {#extends-keyword}
16741674
1675- The `$extends` keyword merges all properties from an abstract base type into the
1676- extending type.
1675+ The `$extends` keyword merges all properties from one or more abstract base
1676+ types into the extending type.
16771677
16781678If the type using `$extends` is marked as `abstract` and referenced via
16791679` $addins` , the composite type _replaces_ the base type in the type model of the
16801680document.
16811681
1682- - **Value**: A JSON Pointer to an abstract type.
1682+ - **Value**: A JSON Pointer to an abstract type, or an array of JSON Pointers to
1683+ abstract types.
16831684- **Rules**:
16841685 - The `$extends` keyword MUST only be used in schemas of type `object` and
16851686 ` tuple` .
1686- - The value of `$extends` MUST be a valid JSON Pointer that points to an
1687- abstract type within the same document.
1688- - The extending type MUST merge the abstract type’ s properties and constraints
1687+ - The value of `$extends` MUST be a valid JSON Pointer or an array of valid
1688+ JSON Pointers that point to abstract types within the same document.
1689+ - The extending type MUST merge the abstract type' s properties and constraints
16891690 and MUST NOT redefine any inherited property.
1691+ - When multiple base types are specified, properties are merged in array
1692+ order. If multiple base types define a property with the same name, the
1693+ property from the first base type in the array takes precedence.
16901694
16911695# ## The `$offers` Keyword {#offers-keyword}
16921696
0 commit comments