HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/piscina/src/common.ts
import type { MessagePort } from 'worker_threads';

export const READY = '_WORKER_READY';

export interface StartupMessage {
  filename : string | null;
  name : string;
  port : MessagePort;
  sharedBuffer : Int32Array;
  useAtomics : boolean;
  niceIncrement : number;
}

export interface RequestMessage {
  taskId : number;
  task : any;
  filename: string;
  name : string;
}

export interface ReadyMessage {
  [READY]: true
};

export interface ResponseMessage {
  taskId : number;
  result : any;
  error: Error | null;
}
export const commonState = {
  isWorkerThread: false,
  workerData: undefined
};

// Internal symbol used to mark Transferable objects returned
// by the Piscina.move() function
const kMovable = Symbol('Piscina.kMovable');
export const kTransferable = Symbol.for('Piscina.transferable');
export const kValue = Symbol.for('Piscina.valueOf');
export const kQueueOptions = Symbol.for('Piscina.queueOptions');

// True if the object implements the Transferable interface
export function isTransferable (value : any) : boolean {
  return value != null &&
         typeof value === 'object' &&
         kTransferable in value &&
         kValue in value;
}

// True if object implements Transferable and has been returned
// by the Piscina.move() function
export function isMovable (value : any) : boolean {
  return isTransferable(value) && value[kMovable] === true;
}

export function markMovable (value : object) : void {
  Object.defineProperty(value, kMovable, {
    enumerable: false,
    configurable: true,
    writable: true,
    value: true
  });
}

export interface Transferable {
  readonly [kTransferable] : object;
  readonly [kValue] : object;
}

export interface Task {
  readonly [kQueueOptions] : object | null;
}

export interface TaskQueue {
  readonly size : number;
  shift () : Task | null;
  remove (task : Task) : void;
  push (task : Task) : void;
}

export function isTaskQueue (value : any) : boolean {
  return typeof value === 'object' &&
         value !== null &&
         'size' in value &&
         typeof value.shift === 'function' &&
         typeof value.remove === 'function' &&
         typeof value.push === 'function';
}

export const kRequestCountField = 0;
export const kResponseCountField = 1;
export const kFieldCount = 2;