src/main/scalar/Not.ts
import {
Scalar,
ScalarLike,
ScalarOf
} from '@main';
/**
* Negates a logical condition.
*/
export class Not implements Scalar<boolean> {
/**
* Scalar.
*/
private readonly scalar: Scalar<boolean>;
/**
* Ctor.
* @param value Value.
*/
constructor(value: ScalarLike<boolean>) {
this.scalar = new ScalarOf(value);
}
/**
* Type determinant.
*/
public isScalar(): true {
return true;
}
/**
* Get the value.
*/
public value(): boolean {
return !this.scalar.value();
}
}