load.cjs 1.1 KB

12345678910111213141516171819202122
  1. const require_context = require('../../context-DwbtaXxf.cjs');
  2. const require_webpack_like = require('../../webpack-like-BAQNtVsj.cjs');
  3. const require_context$1 = require('../../context-PvRDlMNZ.cjs');
  4. const require_utils = require('../../utils-D30tqOw3.cjs');
  5. //#region src/rspack/loaders/load.ts
  6. async function load(source, map) {
  7. const callback = this.async();
  8. const { plugin } = this.query;
  9. let id = this.resource;
  10. if (!plugin?.load || !id) return callback(null, source, map);
  11. if (require_utils.isVirtualModuleId(id, plugin)) id = require_utils.decodeVirtualModuleId(id, plugin);
  12. const context = require_context$1.createContext(this);
  13. const { handler } = require_context.normalizeObjectHook("load", plugin.load);
  14. const res = await handler.call(Object.assign({}, this._compilation && require_context$1.createBuildContext(this._compiler, this._compilation, this), context), require_webpack_like.normalizeAbsolutePath(id));
  15. if (res == null) callback(null, source, map);
  16. else if (typeof res !== "string") callback(null, res.code, res.map ?? map);
  17. else callback(null, res, map);
  18. }
  19. //#endregion
  20. module.exports = load;