UNPKG

@itwin/ecschema-rpcinterface-common

Version:

Schema RPC Interface common interface

36 lines 2.24 kB
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