public static function fromData()

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(),
    );
  }