UNPKG

@gerhobbelt/mathjax-third-party-extensions

Version:

A list of MathJax extensions provided by third-party contributors

45 lines (38 loc) 1.22 kB
// normalizeModuleName.js // ====================== // Returns a normalized module name (removes relative file path urls) define([ 'utils', 'defaultValues' ], function( utils, defaultValues ) { return function normalizeModuleName(name, moduleId) { var amdclean = this, options = amdclean.options, prefixMode = options.prefixMode, prefixTransform = options.prefixTransform, dependencyBlacklist = defaultValues.dependencyBlacklist, prefixTransformValue, preNormalized, postNormalized; name = name || ''; if (name === '{}') { if (dependencyBlacklist[name] === 'remove') { return ''; } else { return name; } } preNormalized = utils.prefixReservedWords(name.replace(/\./g, '').replace(/[^A-Za-z0-9_$]/g, '_').replace(/^_+/, '')); postNormalized = prefixMode === 'camelCase' ? utils.convertToCamelCase(preNormalized) : preNormalized; if (_.isFunction(prefixTransform)) { prefixTransformValue = prefixTransform(postNormalized, name); if (_.isString(prefixTransformValue) && prefixTransformValue.length) { return prefixTransformValue; } } return postNormalized; }; });