# Class CompositeModuleResolver

#### Hierarchy

- Base
  - CompositeModuleResolver
    - BridgeModuleResolver

#### Implements

- ModuleRepository
- ModuleResolver

- Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:3

#####
Index

### Constructors

constructor

### Properties

addSingleModule
localResolver
params
removeSingleModule
resolvers
defaultLogger?

### Accessors

isModuleResolver
logger

### Methods

add
addResolver
remove
removeResolver
resolve
resolveOne

## Constructors

### constructor

- new CompositeModuleResolver(params?): CompositeModuleResolver

- #### Parameters

  - ##### `Optional` params: BaseParamsFields

  #### Returns CompositeModuleResolver

  Overrides Base.constructor

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:6

## Properties

### `Private` addSingleModule

addSingleModule: any

- Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:15

### `Private` localResolver

localResolver: any

- Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:5

### `Readonly` params

params: BaseParamsFields

Inherited from Base.params

- Defined in protocol/packages/core/dist/types/lib/Base.d.ts:20

### `Private` removeSingleModule

removeSingleModule: any

- Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:16

### `Protected` resolvers

resolvers: ModuleResolver[]

- Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:4

### `Static` `Optional` defaultLogger

defaultLogger?: Logger

Inherited from Base.defaultLogger

- Defined in protocol/packages/core/dist/types/lib/Base.d.ts:21

## Accessors

### isModuleResolver

- get isModuleResolver(): boolean

- #### Returns boolean

  Implementation of ModuleResolver.isModuleResolver

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:7

### `Protected` logger

- get logger(): Logger | Console

- #### Returns Logger | Console

  Inherited from Base.logger

  - Defined in protocol/packages/core/dist/types/lib/Base.d.ts:23

## Methods

### add

- add(module): CompositeModuleResolver

- #### Parameters

  - ##### module: Module<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ModuleEventData>

  #### Returns CompositeModuleResolver

  Implementation of ModuleRepository.add

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:8
- add(module): CompositeModuleResolver

- #### Parameters

  - ##### module: Module<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ModuleEventData>[]

  #### Returns CompositeModuleResolver

  Implementation of ModuleRepository.add

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:9

### addResolver

- addResolver(resolver): CompositeModuleResolver

- #### Parameters

  - ##### resolver: ModuleResolver

  #### Returns CompositeModuleResolver

  Implementation of ModuleResolver.addResolver

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:10

### remove

- remove(addressOrName): CompositeModuleResolver

- #### Parameters

  - ##### addressOrName: string | string[]

  #### Returns CompositeModuleResolver

  Implementation of ModuleRepository.remove

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:11

### removeResolver

- removeResolver(resolver): CompositeModuleResolver

- #### Parameters

  - ##### resolver: ModuleResolver

  #### Returns CompositeModuleResolver

  Implementation of ModuleResolver.removeResolver

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:12

### resolve

- resolve<T>(filter?): Promise<T[]>

- Resolves all modules matching the supplied filter. If no filter is supplied, all modules are returned

  #### Type Parameters

  - #### T extends ModuleFields<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>> & EventFunctions<ModuleEventData, T> = Module<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ModuleEventData>

  #### Parameters

  - ##### `Optional` filter: ModuleFilter

    Filter criteria for the desired modules

  #### Returns Promise<T[]>

  Implementation of ModuleResolver.resolve

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:13

### resolveOne

- resolveOne<T>(filter): Promise<undefined | T>

- Resolves a single module, or undefined if no modules matched the filter.

  #### Type Parameters

  - #### T extends ModuleFields<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>> & EventFunctions<ModuleEventData, T> = Module<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ModuleEventData>

  #### Parameters

  - ##### filter: string

    The desired Module's Address or Name

  #### Returns Promise<undefined | T>

  Implementation of ModuleResolver.resolveOne

  - Defined in modules/packages/module/packages/abstract/dist/types/Resolver/CompositeModuleResolver.d.ts:14

Generated using TypeDoc