| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 'use strict';Object.defineProperty(exports, "__esModule", {  value: true});exports.raw = undefined;exports.default = loader;var _loaderUtils = require('loader-utils');var _schemaUtils = require('schema-utils');var _schemaUtils2 = _interopRequireDefault(_schemaUtils);var _mime = require('mime');var _mime2 = _interopRequireDefault(_mime);var _normalizeFallback = require('./utils/normalizeFallback');var _normalizeFallback2 = _interopRequireDefault(_normalizeFallback);var _options = require('./options.json');var _options2 = _interopRequireDefault(_options);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// Loader Modeconst raw = exports.raw = true; /* eslint-disable                                  global-require,                                  no-param-reassign,                                  prefer-destructuring,                                  import/no-dynamic-require,                                */function loader(src) {  // Loader Options  const options = (0, _loaderUtils.getOptions)(this) || {};  (0, _schemaUtils2.default)(_options2.default, options, 'URL Loader');  const file = this.resourcePath;  // Set limit for resource inlining (file size)  let limit = options.limit;  if (limit) {    limit = parseInt(limit, 10);  }  // Get MIME type  const mimetype = options.mimetype || _mime2.default.getType(file);  // No limit or within the specified limit  if (!limit || src.length < limit) {    if (typeof src === 'string') {      src = Buffer.from(src);    }    return `module.exports = ${JSON.stringify(`data:${mimetype || ''};base64,${src.toString('base64')}`)}`;  }  // Normalize the fallback.  const {    loader: fallbackLoader,    options: fallbackOptions  } = (0, _normalizeFallback2.default)(options.fallback, options);  // Require the fallback.  const fallback = require(fallbackLoader);  // Call the fallback, passing a copy of the loader context. The copy has the query replaced. This way, the fallback  // loader receives the query which was intended for it instead of the query which was intended for url-loader.  const fallbackLoaderContext = Object.assign({}, this, {    query: fallbackOptions  });  return fallback.call(fallbackLoaderContext, src);}
 |