UNPKG

@itwin/ecschema-metadata

Version:

ECObjects core concepts in typescript

81 lines 2.93 kB
/** @packageDocumentation * @module Metadata */ import { ConstantProps } from "../Deserialization/JsonProps"; import { SchemaItemType } from "../ECObjects"; import { LazyLoadedPhenomenon } from "../Interfaces"; import { Schema } from "./Schema"; import { SchemaItem } from "./SchemaItem"; /** * A Constant is a specific type of Unit that represents a number. * @public @preview */ export declare class Constant extends SchemaItem { readonly schemaItemType: SchemaItemType; /** @internal */ static get schemaItemType(): SchemaItemType; private _phenomenon?; private _definition; private _numerator?; private _denominator?; /** @internal */ constructor(schema: Schema, name: string); get phenomenon(): LazyLoadedPhenomenon | undefined; get definition(): string; get numerator(): number; get denominator(): number; get hasNumerator(): boolean; get hasDenominator(): boolean; /** * Save this Constants properties to an object for serializing to JSON. * @param standalone Serialization includes only this object (as opposed to the full schema). * @param includeSchemaVersion Include the Schema's version information in the serialized object. */ toJSON(standalone?: boolean, includeSchemaVersion?: boolean): ConstantProps; /** @internal */ toXml(schemaXml: Document): Promise<Element>; fromJSONSync(constantProps: ConstantProps): void; fromJSON(constantProps: ConstantProps): Promise<void>; /** * @param phenomenon A LazyLoadedPhenomenon. * @internal */ protected setPhenomenon(phenomenon: LazyLoadedPhenomenon): void; /** * @internal */ protected setDefinition(definition: string): void; /** * @internal */ protected setNumerator(numerator: number): void; /** * @internal */ protected setDenominator(denominator: number): void; /** * Type guard to check if the SchemaItem is of type Constant. * @param item The SchemaItem to check. * @returns True if the item is a Constant, false otherwise. */ static isConstant(item?: SchemaItem): item is Constant; /** * Type assertion to check if the SchemaItem is of type Constant. * @param item The SchemaItem to check. * @returns The item cast to Constant if it is a Constant, undefined otherwise. * @internal */ static assertIsConstant(item?: SchemaItem): asserts item is Constant; } /** * @internal * An abstract class used for schema editing. */ export declare abstract class MutableConstant extends Constant { abstract setPhenomenon(phenomenon: LazyLoadedPhenomenon): void; abstract setDefinition(definition: string): void; abstract setNumerator(numerator: number): void; abstract setDenominator(denominator: number): void; abstract setDisplayLabel(displayLabel: string): void; } //# sourceMappingURL=Constant.d.ts.map