Facebook\HackCodegen\HackBuilderValues
Facebook\HackCodegen\HackBuilderValues
Factory class for creating ` IHackBuilderValueRenderer ` instances
Interface Synopsis
namespace Facebook\HackCodegen;
abstract final class HackBuilderValues {...}
Public Methods
::classname(): \IHackBuilderValueRenderer<string>
Assume the value is a classname, and render a::classconstant::codegen(): \IHackBuilderValueRenderer<ICodeBuilderRenderer>
Render a Codegen* value to code, and use it as the value::dict<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<dict<\Tk, \Tv>>
Render adictliteral::export(): \IHackBuilderValueRenderer<\mixed>
Render the value as Hack code that produces the same value::immMap<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmMap<\Tk, \Tv>>
Render anImmMapliteral::immSet<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmSet<\Tv>>
Render anImmSetliteral::immVector<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmVector<\Tv>>
Render anImmVectorliteral::keyValueArray<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<\array<\Tk, \Tv>>
Render adict-like PHP array literal::keyset<\Tv as arraykey>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<keyset<\Tv>>
Render akeysetliteral::lambda<\T>(\callable $render): \IHackBuilderValueRenderer<\T>
The value will be rendered with the specified lambda::literal(): \IHackBuilderValueRenderer<string>
Render the value with no changes or escaping::map<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Map<\Tk, \Tv>>
Render aMapliteral::regex<\T>(): \IHackBuilderValueRenderer<\\HH\Lib\Regex\Pattern<\T>>
Render a regex literal, e::set<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Set<\Tv>>
Render aSetliteral::shapeWithPerKeyRendering(shape( ) $value_renderers): \IHackBuilderValueRenderer<shape( )>
Render ashape()literal with a different renderer for each shape key::shapeWithUniformRendering<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<shape( )>
Render ashape()literal where all values are rendered the same way::valueArray<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<\array<\Tv>>
Render avec-like PHP array literal::vec<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<vec<\Tv>>
Render avecliteral::vector<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Vector<\Tv>>
Render aVectorliteral