All files / app/services/log/publishers/publisher log-publisher.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                          1898x                      
import { Observable } from 'rxjs';
import { LogEntry } from '../../logEntry/logEntry';
 
/**
 * Abstract class used to define a Log publisher. Any class extending this
 * abstrat class may be used in {@link LogPublisherService} so that logging may
 * occur usind said publisher.
 */
export abstract class LogPublisher {
  /**
   * Logging location. For instance, used to define the local storage key for
   * {@link LogLocalStorage}, or the API URI for {@link LogWebApi}.
   */
  location = '';
  /**
   * Method used to actually log a {@link LogEntry}. Returns a boolean indicating
   * if the entry was logged.
   *
   * @param record The {@link LogEntry} to log
   */
  abstract log(record: LogEntry): Observable<boolean>;
  /** Method used to clear the logs */
  abstract clear(): Observable<boolean>;
}