| Server IP : 74.208.250.37 / Your IP : 216.73.216.114 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /proc/thread-self/root/usr/share/nodejs/lodash-cli/lib/ |
Upload File : |
'use strict';
var _ = require('lodash');
/** The minimal copyright header template. */
var headerTemplate = [
'/**',
' * @license',
' * Lodash lodash.com/license | Underscore.js <%= underscore.VERSION %> underscorejs.org/LICENSE',
' */'
].join('\n');
/*----------------------------------------------------------------------------*/
/**
* Post-process `source` to prepare it for deployment.
*
* @param {string} source The source to process.
* @param {boolean} [isMapped] Specify whether `source` has a source map.
* @returns {string} Returns the processed source.
*/
function postprocess(source, isMapped) {
// Add trailing semicolon.
source = source.replace(/[\s;]*(\n\s*\/\/.*)?\s*$/, ';$1');
// Exit early if `source` has a source map.
if (isMapped) {
return source;
}
// Remove copyright header.
var header = _.get(/^\/\**[\s\S]+?\*\/\n/.exec(source), 0, '');
source = source.replace(header, '');
// Add new copyright header.
source = _.template(headerTemplate)({
'underscore': { 'VERSION': _.get(/\bUnderscore\.js ([.$\w\-]+)/i.exec(header), 1, '') }
}) + '\n;' + source;
// Replace `!0` and `!1` with `true` and `false`.
source = source.replace(/(.)(\![01])\b/g, function(match, chr, exp) {
return chr + (/[$\w]/.test(chr) ? ' ' : '') + (exp == '!0');
});
// Flip `typeof` expressions to help optimize Safari and
// correct the AMD module definition for AMD build optimizers
// (e.g. from `"number" == typeof x` to `typeof x == "number").
source = source.replace(/([$\w])?("[^"]+")\s*([!=]=)\s*(typeof(?:\s*\([^)]+\)|\s+[$\w]+(?:\s*\.\s*[$\w]+)*([[(])?))/g, function(match, left, type, equality, exp, right) {
return right ? match : (left ? left + ' ' : '') + exp + equality + type;
});
// Add a space so `define` is detected by the Dojo builder.
source = source.replace(/(.)(define\()/, function(match, prelude, define) {
return prelude + (/^\S/.test(prelude) ? ' ' : '') + define;
});
// Consolidate multiple newlines.
return source.replace(/\n{2,}/g, '\n');
}
module.exports = postprocess;