HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
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/linde-ai/html/node_modules/resolve-url-loader/lib/position-algerbra.js
/*
 * MIT License http://opensource.org/licenses/MIT
 * Author: Ben Holloway @bholloway
 */
'use strict';

/**
 * Given a sourcemap position create a new maybeObject with only line and column properties.
 *
 * @param {*|{line: number, column: number}} maybeObj Possible location hash
 * @returns {{line: number, column: number}} Location hash with possible NaN values
 */
function sanitise(maybeObj) {
  var obj = !!maybeObj && typeof maybeObj === 'object' && maybeObj || {};
  return {
    line: isNaN(obj.line) ? NaN : obj.line,
    column: isNaN(obj.column) ? NaN : obj.column
  };
}

exports.sanitise = sanitise;

/**
 * Infer a line and position delta based on the linebreaks in the given string.
 *
 * @param candidate {string} A string with possible linebreaks
 * @returns {{line: number, column: number}} A position object where line and column are deltas
 */
function strToOffset(candidate) {
  var split = candidate.split(/\r\n|\n/g);
  var last  = split[split.length - 1];
  return {
    line: split.length - 1,
    column: last.length
  };
}

exports.strToOffset = strToOffset;

/**
 * Add together a list of position elements.
 *
 * Lines are added. If the new line is zero the column is added otherwise it is overwritten.
 *
 * @param {{line: number, column: number}[]} list One or more sourcemap position elements to add
 * @returns {{line: number, column: number}} Resultant position element
 */
function add(list) {
  return list
    .slice(1)
    .reduce(
      function (accumulator, element) {
        return {
          line: accumulator.line + element.line,
          column: element.line > 0 ? element.column : accumulator.column + element.column,
        };
      },
      list[0]
    );
}

exports.add = add;