import { IScheduler } from '../Scheduler'; import { async } from '../scheduler/async'; import { OperatorFunction } from '../interfaces'; import { map } from './map'; /** * @param scheduler * @return {Observable>|WebSocketSubject|Observable} * @method timestamp * @owner Observable */ export function timestamp(scheduler: IScheduler = async): OperatorFunction> { return map((value: T) => new Timestamp(value, scheduler.now())); // return (source: Observable) => source.lift(new TimestampOperator(scheduler)); } export class Timestamp { constructor(public value: T, public timestamp: number) { } };