ifc-expressions
Version:
Parsing and evaluation of IFC expressions
48 lines (47 loc) • 2 kB
TypeScript
import { Value } from "./Value.js";
import { Comparable } from "./Comparable.js";
import { ExprType } from "../type/ExprType.js";
import Decimal from "decimal.js";
import { IfcDateValue } from "./IfcDateValue.js";
import { IfcTimeValue } from "./IfcTimeValue.js";
import { IfcTimeStampValue } from "./IfcTimeStampValue.js";
import { IfcDurationValue } from "./IfcDurationValue.js";
export declare class IfcDateTimeValue implements Value<IfcDateTimeValue>, Comparable<IfcDateTimeValue> {
private readonly utcDate;
private readonly stringRepresentation;
private readonly originalTimeZoneHours;
private readonly originalTimeZoneMinutes;
private readonly isLocal;
private readonly secondFraction;
private static readonly regex;
constructor(value: string | number | Decimal | IfcDateTimeValue | ParsedIfcDateTimeValue);
static parseIfcDate(value: string): ParsedIfcDateTimeValue;
static of(value: string): IfcDateTimeValue;
private getTimeAsString;
private pad00;
private getDateAsString;
getTimeZoneAsString(): String;
private getTimeStampSeconds;
private getTime;
getValue(): IfcDateTimeValue;
getType(): ExprType;
static isIfcDateTimeValueType(arg: any): arg is IfcDateTimeValue;
static isValidStringRepresentation(str: string): boolean;
equals(other: Value<any>): boolean;
private toCanonicalString;
toString(): string;
compareTo(other: IfcDateTimeValue): number;
static ofTimeStampSeconds(timeStampSeconds: Decimal | number): IfcDateTimeValue;
toIfcDateValue(): IfcDateValue;
toIfcTimeValue(): IfcTimeValue;
toIfcTimeStampValue(): IfcTimeStampValue;
addDuration(duration: IfcDurationValue): IfcDateTimeValue;
}
export type ParsedIfcDateTimeValue = {
utcDate: Date;
secondFraction: Decimal;
originalTimeZoneHours?: number;
originalTimeZoneMinutes?: number;
isLocal: boolean;
};
export declare function isParsedIfcDateTimeValue(arg: any): arg is ParsedIfcDateTimeValue;