# Type alias Options<B, I, O>

Options<B, I, O>: {
convert(options) => O;
extract(options) => Entry<B>;
find(options) => I;
initialize(options) => Meta.Batch.Outputs<B, O>;
iterate(options) => Iterable<{
breadcrumb: Breadcrumb<B>;
input: I;
}>;
merge(options) => Meta.Batch.Outputs<B, O>;
process(options) => Generator<GraphQlRequest | Web3Request, Results<B>, any>;
}

Describes a batch process for querying and/or mutating resources

#### Type Parameters

- #### B extends Meta.Batch.Batch

- #### I extends Meta.Batch.Input<B> = Meta.Batch.Input<B>

- #### O extends Meta.Batch.Output<B> = Meta.Batch.Output<B>

#### Type declaration

- ##### convert:function

  - convert(options): O

  - #### Parameters

    - ##### options: {
      input: I;
      inputs: Meta.Batch.Inputs<B, I>;
      result: Result<B>;
      }

      - ##### input: I

      - ##### inputs: Meta.Batch.Inputs<B, I>

      - ##### result: Result<B>

    #### Returns O

    - Defined in packages/db/src/meta/batch.ts:142

- ##### extract:function

  - extract(options): Entry<B>

  - #### Parameters

    - ##### options: {
      breadcrumb: Breadcrumb<B>;
      input: I;
      inputs: Meta.Batch.Inputs<B, I>;
      }

      - ##### breadcrumb: Breadcrumb<B>

      - ##### input: I

      - ##### inputs: Meta.Batch.Inputs<B, I>

    #### Returns Entry<B>

    - Defined in packages/db/src/meta/batch.ts:123

- ##### find:function

  - find(options): I

  - #### Parameters

    - ##### options: {
      breadcrumb: Breadcrumb<B>;
      inputs: Meta.Batch.Inputs<B, I>;
      }

      - ##### breadcrumb: Breadcrumb<B>

      - ##### inputs: Meta.Batch.Inputs<B, I>

    #### Returns I

    - Defined in packages/db/src/meta/batch.ts:119

- ##### initialize:function

  - initialize(options): Meta.Batch.Outputs<B, O>

  - #### Parameters

    - ##### options: {
      inputs: Meta.Batch.Inputs<B, I>;
      }

      - ##### inputs: Meta.Batch.Inputs<B, I>

    #### Returns Meta.Batch.Outputs<B, O>

    - Defined in packages/db/src/meta/batch.ts:138

- ##### iterate:function

  - iterate(options): Iterable<{
    breadcrumb: Breadcrumb<B>;
    input: I;
    }>

  - Describes how to traverse the particular Inputs structure to produce an Iterable of each Input along with a breadcrumb to describe how to place that input in the parent structure.

    #### Parameters

    - ##### options: {
      inputs: Meta.Batch.Inputs<B, I>;
      }

      - ##### inputs: Meta.Batch.Inputs<B, I>

    #### Returns Iterable<{
    breadcrumb: Breadcrumb<B>;
    input: I;
    }>

    - Defined in packages/db/src/meta/batch.ts:110

- ##### merge:function

  - merge(options): Meta.Batch.Outputs<B, O>

  - #### Parameters

    - ##### options: {
      breadcrumb: Breadcrumb<B>;
      output: O;
      outputs: Meta.Batch.Outputs<B, O>;
      }

      - ##### breadcrumb: Breadcrumb<B>

      - ##### output: O

      - ##### outputs: Meta.Batch.Outputs<B, O>

    #### Returns Meta.Batch.Outputs<B, O>

    - Defined in packages/db/src/meta/batch.ts:146

- ##### process:function

  - process(options): Generator<GraphQlRequest | Web3Request, Results<B>, any>

  - #### Parameters

    - ##### options: {
      entries: Entries<B>;
      inputs: Meta.Batch.Inputs<B, I>;
      }

      - ##### entries: Entries<B>

      - ##### inputs: Meta.Batch.Inputs<B, I>

    #### Returns Generator<GraphQlRequest | Web3Request, Results<B>, any>

    - Defined in packages/db/src/meta/batch.ts:131

- Defined in packages/db/src/meta/batch.ts:100

Generated using TypeDoc