@itwin/ecschema-rpcinterface-common
Version:
Schema RPC Interface common interface
36 lines • 2.24 kB
TypeScript
import { ISchemaLocater, Schema, SchemaContext, SchemaInfo, SchemaKey, SchemaMatchType } from "@itwin/ecschema-metadata";
import { IModelRpcProps } from "@itwin/core-common";
/**
* Defines a schema locater that retrieves schemas using an RPC interface.
* @public @preview
*/
export declare class ECSchemaRpcLocater implements ISchemaLocater {
/** @internal */
readonly token: IModelRpcProps;
constructor(token: IModelRpcProps);
/**
* Attempts to get a schema from the schema rpc locater. Yields undefined if no matching schema is found.
* @param schemaKey Key to look up
* @param matchType How to match key against candidate schemas
* @param context The SchemaContext that will control the lifetime of the schema and holds the schema's references, if they exist.
*/
getSchema(schemaKey: SchemaKey, matchType: SchemaMatchType, context: SchemaContext): Promise<Schema | undefined>;
/**
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
* The fully loaded schema can be accessed via the schema context using the getCachedSchema method.
* @param schemaKey The SchemaKey describing the schema to get from the cache.
* @param matchType The match type to use when locating the schema
*/
getSchemaInfo(schemaKey: SchemaKey, matchType: SchemaMatchType, context: SchemaContext): Promise<SchemaInfo | undefined>;
/**
* This method is not supported for locating schemas over RPC/HTTP.
* Use the asynchronous `getSchema` method instead.
* @param _schemaKey Key to look up
* @param _matchType How to match key against candidate schemas
* @param _context The SchemaContext that will control the lifetime of the schema and holds the schema's references, if they exist.
* @throws Error Always throws an error indicating this method is not supported.
* @deprecated in 5.0 - will not be removed until after 2026-08-08. Use the asynchronous `getSchema` method for schema retrieval.
*/
getSchemaSync(_schemaKey: SchemaKey, _matchType: SchemaMatchType, _context: SchemaContext): Schema | undefined;
}
//# sourceMappingURL=ECSchemaRpcLocater.d.ts.map