map
Extracts a nested field from each element in an array. The 'field' argument is a dot-separated path; a list along the path is indexed by an integer segment ('edges.0.node') or expanded by the '*' wildcard segment ('edges.*.node'), which collects the values from every element into one flat list. Returns null for elements where the path does not exist. Example: _fn @map(refs: ["items"], field: "a.b.c") extracts 'a.b.c' from each item; _fn @map(refs: ["websites", "operatingLocations"], field: "edges.*.node.technologiesUseds.edges.*.node.technology") returns every technology of every website and operating location as one list. If field is omitted, returns the entire array. Alternatively, the 'fields' argument accepts a list of { key, path } pairs and returns a list of objects, one per source element, with each object keyed by 'key' and valued by the dot-path 'path'. Example: _fn @map(refs: ["items"], fields: [{ key: "name", path: "a.name" }, { key: "count", path: "a.stats.count" }]) returns [{ "name": ..., "count": ... }, ...]. 'field' and 'fields' are mutually exclusive.
directive @map(
ref: String
refs: [String!]
field: String
fields: [MapFieldInput!]
) on FIELD