in src/ConfigurationLoader.hack [44:97]
public static function fromData(
KeyedContainer<arraykey, mixed> $data,
string $path,
): Config {
$failure_handler = TypeAssert\is_nullable_string(
$data['failureHandler'] ?? null,
'failureHandler',
);
return shape(
'roots' =>
TypeAssert\is_vec_like_of_strings($data['roots'] ?? null, 'roots'),
'devRoots' => TypeAssert\is_nullable_vec_like_of_strings(
$data['devRoots'] ?? null,
'devRoots',
) ??
vec[],
'relativeAutoloadRoot' => TypeAssert\is_nullable_bool(
$data['relativeAutoloadRoot'] ?? null,
'relativerAutoloadRoot',
) ??
true,
'includeVendor' => TypeAssert\is_nullable_bool(
$data['includeVendor'] ?? null,
'includeVendor',
) ??
true,
'extraFiles' => TypeAssert\is_nullable_vec_like_of_strings(
$data['extraFiles'] ?? null,
'extraFiles',
) ??
vec[],
'parser' => TypeAssert\is_nullable_enum(
Parser::class,
$data['parser'] ?? null,
'parser',
) ??
self::getDefaultParser(),
'failureHandler' => $failure_handler,
'devFailureHandler' => TypeAssert\is_nullable_string(
$data['devFailureHandler'] ?? null,
'devFailureHandler',
) ??
$failure_handler,
'useFactsIfAvailable' => (
TypeAssert\is_nullable_bool(
$data['useFactsIfAvailable'] ?? null,
'useFactsIfAvailable',
) ??
false
) &&
\HH\Facts\enabled(),
);
}