> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lib.toolrinth.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Build Facets used for Modrinth search queries

# FacetBuilder

```ts theme={"theme":"github-dark-high-contrast"}
export class FacetBuilder
```

# Table of Contents

### Methods

* [addFacet()](#addFacet)
* [build()](#build)

## Methods

<AccordionGroup>
  <Accordion title="addFacet()">
    <div id="addFacet" />

    <ResponseField name="addFacet(facet, operation, value, orValue?)">
      Add a facet to the builder

      <ResponseField name="facet" type="Facets" required>
        The main Facet to use for the query

        Enum: [Facets](/reference/enum/Facets)
      </ResponseField>

      <ResponseField name="operation" type="FacetOperations" required>
        The operation to apply to the query

        Enum: [FacetOperations](/reference/enum/FacetOperations)
      </ResponseField>

      <ResponseField name="value" type="string | EnvironmentFacets | DisclosureTypeFacets" required>
        The value to apply to the query

        Enums:

        * [EnvironmentFacets](/reference/enum/EnvironmentFacets)
        * [DisclosureTypeFacets](/reference/enum/DisclosureTypeFacets)
      </ResponseField>

      <ResponseField name="orValue" type="string | EnvironmentFacets | DisclosureTypeFacets" pre={['optional']}>
        The value to apply to the query with an OR operation

        Enums:

        * [EnvironmentFacets](/reference/enum/EnvironmentFacets)
        * [DisclosureTypeFacets](/reference/enum/DisclosureTypeFacets)
      </ResponseField>

      *Returns [Response](/reference/type/Response)\<[Project](/reference/type/Project)\[]>*
    </ResponseField>
  </Accordion>

  <Accordion title="build()">
    <div id="build" />

    <ResponseField name="build()">
      Build the facets into a single string

      *Returns [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)*
    </ResponseField>
  </Accordion>
</AccordionGroup>
