MOON
Server: Apache
System: Linux 54-179-220-51.cprapid.com 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
User: thehunarfound (1001)
PHP: 7.4.29
Disabled: NONE
Upload Files
File: /home/thehunarfound/www/DMS/node_modules/adjust-sourcemap-loader/lib/process/encode-sources-with.js
'use strict';

var getFieldAsFn = require('./get-field-as-fn'),
    CustomError  = require('./get-error');

/**
 * Create an encoder for output sources using the given codec hash
 * @throws Error Where the given codec is missing an encode function
 * @this {object} A loader or compilation
 * @param {{encode:function}} codec A single codec with an `encode` function
 * @returns {function(string):string|Error|false} An encode function that takes an absolute path
 */
function encodeSourcesWith(codec) {
  /* jshint validthis:true */
  var context = this,
      encoder = getFieldAsFn('encode')(codec);
  if (!encoder) {
    return new CustomError('Specified format does not support encoding (it lacks an "encoder" function)');
  }
  else {
    return function encode(absoluteSource) {

      // call the encoder
      var encoded;
      try {
        encoded = absoluteSource && encoder.call(context, absoluteSource);
      }
      catch (exception) {
        return getNamedError(exception);
      }
      return encoded;

      function getNamedError(details) {
        var name    = codec.name || '(unnamed)',
            message = [
              'Encoding with codec: ' + name,
              'Absolute source: ' + absoluteSource,
              details && (details.stack ? details.stack : details)
            ]
              .filter(Boolean)
              .join('\n');
        return new Error(message);
      }
    };
  }
}

module.exports = encodeSourcesWith;
;;