k3nsei/ng-in-viewport

View on GitHub
projects/ng-in-viewport/src/lib/values/direction.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { InViewportDirection } from '../enums';
import { InvalidDirectionException } from '../exceptions';

export class Direction {
  readonly #value: `${InViewportDirection}`;

  public get value(): `${InViewportDirection}` {
    return this.#value;
  }

  constructor(value: `${InViewportDirection}` = InViewportDirection.VERTICAL) {
    if (!Object.values<string>(InViewportDirection).includes(value)) {
      throw new InvalidDirectionException();
    }

    this.#value = value;
  }
}