ifc-expressions
Version:
Parsing and evaluation of IFC expressions
34 lines (33 loc) • 1.36 kB
TypeScript
import { Value } from "./Value.js";
import { ExprType } from "../type/ExprType.js";
import { BooleanValue } from "./BooleanValue.js";
import { Comparable } from "./Comparable.js";
export type Logical = boolean | "UNKNOWN";
export declare class LogicalValue implements Value<Logical>, Comparable<LogicalValue> {
static readonly UNKNOWN_VALUE = "UNKNOWN";
private readonly logicalValue;
private static readonly LOGICAL_VALUE_TRUE;
private static readonly LOGICAL_VALUE_FALSE;
private static readonly LOGICAL_VALUE_UNKNOWN;
private constructor();
static true(): LogicalValue;
static false(): LogicalValue;
static unknown(): LogicalValue;
static of(value: Logical): LogicalValue;
getValue(): Logical;
isTrue(): boolean;
isFalse(): boolean;
isUnknown(): boolean;
static isUnknown(val: any): boolean;
static isLogical(val: any): val is Logical;
and(other: LogicalValue | BooleanValue): LogicalValue;
or(other: LogicalValue | BooleanValue): LogicalValue;
xor(other: LogicalValue | BooleanValue): LogicalValue;
implies(other: LogicalValue | BooleanValue): LogicalValue;
not(): LogicalValue;
equals(other: Value<any>): boolean;
getType(): ExprType;
compareTo(other: LogicalValue): number;
toString(): string;
static isLogicalValueType(arg: any): arg is LogicalValue;
}