Optional attributes property which specifies at least which attributes of the value we want to include. If not specified then the default attributes are included. If the value
is a primitive then this is ignored. Expressions like "!" and "@default" are also supported. @default indicates the default attributes the implementation chooses to include in the result, by default.
e.g. ['!lastName', '@default'] for everything except 'lastName'. For only
'firstName' and 'lastName' we'd have ['firstName', 'lastName']. Order does not matter when @default is used with field exclusions "!".
This can be nested. e.g. ['!lastName', '@default', {name: 'location', attributes: ['address line 1', 'address line 2']}].
When specified attributes, exclusions and @default are all present as in [‘id’, ‘firstName’, ‘!lastName’, ‘@default’, ‘email’], this means that
all default attributes (including 'id', 'firstName', and 'email') except for 'lastName' will be included.
Also, a string value for attribute is equivalent to an object value with only name. e.g. ['lastName', 'firstName'] is the same as [{name: 'lastName'}, {name: 'firstName'}]
- Since: