Class AbstractModule<TParams, TEventData>Abstract

Type Parameters

  • TParams extends ModuleParams = ModuleParams

  • TEventData extends ModuleEventData = ModuleEventData

Hierarchy

Implements

  • Module<TParams, TEventData>

Constructors

  • Type Parameters

    • TParams extends 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> = 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>

    • TEventData extends ModuleEventData<TEventData> = ModuleEventData

    Parameters

    • params: TParams

    Returns AbstractModule<TParams, TEventData>

Properties

_baseModuleQueryAccountPaths: Record<"network.xyo.query.module.discover" | "network.xyo.query.module.account" | "network.xyo.query.module.subscribe", string> = ...
_queryAccounts: Record<"network.xyo.query.module.discover" | "network.xyo.query.module.account" | "network.xyo.query.module.subscribe", undefined | AccountInstance> = ...
_started: boolean = false
account: AccountInstance
downResolver: CompositeModuleResolver = ...
eventData: TEventData = ...
moduleConfigQueryValidator: Queryable<SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
}>
params: TParams
supportedQueryValidator: Queryable<SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
}>
upResolver: CompositeModuleResolver = ...
configSchema: string
defaultLogger?: Logger

Accessors

  • get logger(): Logger | Console
  • Returns Logger | Console

Methods

  • Parameters

    • hashes: string[]
    • schema: string[]
    • Optional account: AccountInstance

    Returns Promise<SchemaFields & PayloadFields & BoundWitnessFields & {
        schema: "network.xyo.boundwitness";
    }>

  • Type Parameters

    • T extends SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      }>

    Parameters

    • query: T
    • Optional payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • Optional account: AccountInstance

    Returns PromiseEx<[SchemaFields & PayloadFields & BoundWitnessFields & {
        query: string;
        resultSet?: string;
        schema: "network.xyo.boundwitness";
    }, (SchemaFields & PayloadFields & {
        schema: string;
    })[]], AccountInstance>

  • Type Parameters

    • T extends SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      }>

    Parameters

    • query: T
    • Optional payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • Optional account: AccountInstance

    Returns Promise<[SchemaFields & PayloadFields & BoundWitnessFields & {
        query: string;
        resultSet?: string;
        schema: "network.xyo.boundwitness";
    }, (SchemaFields & PayloadFields & {
        schema: string;
    })[]]>

  • Type Parameters

    • T extends SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
          schema: string;
      }>

    Parameters

    • query: T
    • payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • additionalWitnesses: AccountInstance[] = []

    Returns PromiseEx<ModuleQueryResult<SchemaFields & PayloadFields & {
        schema: string;
    }>, AccountInstance[]>

  • Returns Promise<undefined | ArchivistModule<ArchivistParams<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.archivist.config";
        security?: {
            allowAnonymous?: boolean;
            allowed?: Record<string, (string | CosigningAddressSet)[]>;
            disallowed?: Record<string, string[]>;
        };
        storeQueries?: boolean;
    } & Omit<{
        parents?: ArchivistParents;
        schema: "network.xyo.archivist.config";
        storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
        schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  • Type Parameters

    • TEventName extends string | number | symbol = keyof TEventData

    • TEventArgs extends EventArgs = TEventData[TEventName]

    Parameters

    • eventName: TEventName
    • eventArgs: TEventArgs

    Returns Promise<void>

  • Type Parameters

    • TEventName extends string | number | symbol = keyof TEventData

    • TEventArgs extends EventArgs = TEventData[TEventName]

    Parameters

    • eventName: TEventName
    • eventArgs: TEventArgs

    Returns Promise<void>

  • Parameters

    • kind: keyof IndividualArchivistConfig

    Returns Promise<undefined | ArchivistModule<ArchivistParams<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.archivist.config";
        security?: {
            allowAnonymous?: boolean;
            allowed?: Record<string, (string | CosigningAddressSet)[]>;
            disallowed?: Record<string, string[]>;
        };
        storeQueries?: boolean;
    } & Omit<{
        parents?: ArchivistParents;
        schema: "network.xyo.archivist.config";
        storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
        schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  • Returns Promisable<(SchemaFields & PayloadFields & {
        address: string;
        name?: string;
        schema: "network.xyo.address";
    } | SchemaFields & PayloadFields & {
        address: string;
        previousHash?: string;
        schema: string;
    })[], never>

  • Type Parameters

    • TEventName extends string | number | symbol

    Parameters

    • eventNames: TEventName | TEventName[]
    • listener: EventListener<TEventData[TEventName]>

    Returns (() => void)

      • (): void
      • Returns void

  • Type Parameters

    • T extends SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      } = SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      }

    • TConfig extends 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"> = 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">

    Parameters

    • query: T
    • Optional payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • Optional queryConfig: TConfig

    Returns Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
        schema: string;
    }>>

  • Type Parameters

    • T extends SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      } = SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      }

    • TConfig extends 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"> = 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">

    Parameters

    • query: T
    • Optional payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • Optional queryConfig: TConfig

    Returns Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
        schema: string;
    }>>

  • Type Parameters

    • T extends SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      } = SchemaFields & PayloadFields & BoundWitnessFields & {
          query: string;
          resultSet?: string;
          schema: "network.xyo.boundwitness";
      }

    • TConfig extends 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"> = 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">

    Parameters

    • query: T
    • Optional payloads: (SchemaFields & PayloadFields & {
          schema: string;
      })[]
    • Optional queryConfig: TConfig

    Returns boolean

  • Returns Promise<undefined | ArchivistModule<ArchivistParams<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.archivist.config";
        security?: {
            allowAnonymous?: boolean;
            allowed?: Record<string, (string | CosigningAddressSet)[]>;
            disallowed?: Record<string, string[]>;
        };
        storeQueries?: boolean;
    } & Omit<{
        parents?: ArchivistParents;
        schema: "network.xyo.archivist.config";
        storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
        schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  • Type Parameters

    • TModule 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, TModule> = 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

    Returns Promise<TModule[]>

  • Returns Promise<undefined | ArchivistModule<ArchivistParams<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.archivist.config";
        security?: {
            allowAnonymous?: boolean;
            allowed?: Record<string, (string | CosigningAddressSet)[]>;
            disallowed?: Record<string, string[]>;
        };
        storeQueries?: boolean;
    } & Omit<{
        parents?: ArchivistParents;
        schema: "network.xyo.archivist.config";
        storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
        schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  • Type Parameters

    • TModule 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, TModule>

    Parameters

    • this: CreatableModule<TModule>
    • Optional params: TModule["params"]

    Returns Promise<TModule>

  • Type Parameters

    • TModule 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, TModule>

    Parameters

    • this: CreatableModule<TModule>
    • Optional params: TModule["params"]

    Returns CreatableModuleFactory<TModule>

Generated using TypeDoc