Al-HUWAITI Shell
Al-huwaiti


Server : nginx/1.18.0
System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User : www-data ( 33)
PHP Version : 8.0.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/ecommerce/node_modules/pusher-js/src/core/timeline/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/ecommerce/node_modules/pusher-js/src/core/timeline/timeline.ts
import * as Collections from '../utils/collections';
import Util from '../util';
import { default as Level } from './level';

export interface TimelineOptions {
  level?: Level;
  limit?: number;
  version?: string;
  cluster?: string;
  features?: string[];
  params?: any;
}

export default class Timeline {
  key: string;
  session: number;
  events: any[];
  options: TimelineOptions;
  sent: number;
  uniqueID: number;

  constructor(key: string, session: number, options: TimelineOptions) {
    this.key = key;
    this.session = session;
    this.events = [];
    this.options = options || {};
    this.sent = 0;
    this.uniqueID = 0;
  }

  log(level, event) {
    if (level <= this.options.level) {
      this.events.push(
        Collections.extend({}, event, { timestamp: Util.now() })
      );
      if (this.options.limit && this.events.length > this.options.limit) {
        this.events.shift();
      }
    }
  }

  error(event) {
    this.log(Level.ERROR, event);
  }

  info(event) {
    this.log(Level.INFO, event);
  }

  debug(event) {
    this.log(Level.DEBUG, event);
  }

  isEmpty() {
    return this.events.length === 0;
  }

  send(sendfn, callback) {
    var data = Collections.extend(
      {
        session: this.session,
        bundle: this.sent + 1,
        key: this.key,
        lib: 'js',
        version: this.options.version,
        cluster: this.options.cluster,
        features: this.options.features,
        timeline: this.events
      },
      this.options.params
    );

    this.events = [];
    sendfn(data, (error, result) => {
      if (!error) {
        this.sent++;
      }
      if (callback) {
        callback(error, result);
      }
    });

    return true;
  }

  generateUniqueID(): number {
    this.uniqueID++;
    return this.uniqueID;
  }
}

Al-HUWAITI Shell