@itwin/ecschema-metadata
Version:
ECObjects core concepts in typescript
36 lines • 1.87 kB
TypeScript
import { SchemaContext } from "../Context";
import { SchemaReadHelper } from "../Deserialization/Helper";
import { Schema } from "../Metadata/Schema";
import { SchemaItem } from "../Metadata/SchemaItem";
/**
* Internal helper class to read schema information incrementally. It's based on the [[SchemaReadHelper]]
* but overrides a few methods to support the incremental schema loading case.
* @internal
*/
export declare class IncrementalSchemaReader extends SchemaReadHelper {
private readonly _incremental;
/**
* Initializes a new [[IncrementalSchemaReader]] instance.
* @param schemaContext The [[SchemaContext]] used to load the schemas.
* @param incremental Indicates that the Schema should be read incrementally.
* Pass false to load the full schema without an incremental/partial load.
*/
constructor(schemaContext: SchemaContext, incremental: boolean);
/**
* Indicates that a given [[SchemaItem]] has been fully loaded.
* @param schemaItem The SchemaItem to check.
* @returns True if the item has been loaded, false if still in progress.
*/
protected isSchemaItemLoaded(schemaItem: SchemaItem | undefined): boolean;
/**
* Starts loading the [[SchemaItem]] identified by the given name and itemType.
* @param schema The [[Schema]] that contains the SchemaItem.
* @param name The name of the SchemaItem to load.
* @param itemType The SchemaItem type name of the item to load.
* @param schemaItemObject The object accepting the SchemaItem data.
* @returns A promise that resolves to the loaded SchemaItem instance. Can be undefined.
*/
loadSchemaItem(schema: Schema, name: string, itemType: string, schemaItemObject: Readonly<unknown>): Promise<SchemaItem | undefined>;
private schemaItemLoading;
}
//# sourceMappingURL=IncrementalSchemaReader.d.ts.map