@itwin/core-backend
Version:
iTwin.js backend components
23 lines • 1.15 kB
TypeScript
import { AnyClass, Property } from "@itwin/ecschema-metadata";
import { IModelDb } from "../IModelDb";
/** Reshape a single value from `UseECSqlPropertyNames` to `UseJsPropertyNames`, dispatching on `prop`'s
* declared type (struct/array/point/navigation) instead of guessing from the value's shape.
* @internal
*/
export declare function reshapePropertyValue(value: any, prop: Property, iModel: IModelDb): any;
/**
* Reshapes a `SELECT *` row queried with `UseECSqlPropertyNames` into the legacy `UseJsPropertyNames`
* shape, for a class only known at runtime. Walks `ecClass`'s metadata to rename each property, since a
* row's runtime shape alone can't tell a struct/point/navigation value apart from a plain object.
* @internal
*/
export declare function reshapeInstanceRow(row: {
[propName: string]: any;
}, ecClass: AnyClass, iModel: IModelDb): {
[propName: string]: any;
};
/** Resolves the runtime [[AnyClass]] metadata for a "Schema:Class" or "Schema.Class" name.
* @internal
*/
export declare function getRuntimeClass(iModel: IModelDb, fullClassName: string): AnyClass;
//# sourceMappingURL=ECSqlInstanceReshaper.d.ts.map