public function all() { $cached =
$this->cache->
get('jsonapi.resource_types', FALSE
);
if ($cached) { return $cached->data;
} $resource_types =
[];
foreach ($this->entityTypeManager->
getDefinitions() as $entity_type) { $bundles =
array_keys($this->entityTypeBundleInfo->
getBundleInfo($entity_type->
id()));
$resource_types =
array_reduce($bundles,
function D
$resource_types,
$bundle) use ($entity_type) { $resource_type =
$this->
createResourceType($entity_type,
(string) $bundle);
return array_merge($resource_types,
[ $resource_type->
getTypeName() =>
$resource_type,
]);
},
$resource_types);
} foreach ($resource_types as $resource_type) { $relatable_resource_types =
$this->
calculateRelatableResourceTypes($resource_type,
$resource_types);
$resource_type->
setRelatableResourceTypes($relatable_resource_types);
} $this->cache->
set('jsonapi.resource_types',
$resource_types, Cache::PERMANENT,
$this->cacheTags
);