transform.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. (function () {
  2. function errMsg(errCode, msg) {
  3. return (msg || "") + " (SystemJS Error#" + errCode + " " + "https://github.com/systemjs/systemjs/blob/main/docs/errors.md#" + errCode + ")";
  4. }
  5. /*
  6. * Support for a "transform" loader interface
  7. *
  8. * Note: This extra is deprecated and will be removed in the next major.
  9. */
  10. (function (global) {
  11. var systemJSPrototype = global.System.constructor.prototype;
  12. var instantiate = systemJSPrototype.instantiate;
  13. systemJSPrototype.instantiate = function (url, parent, meta) {
  14. if (url.slice(-5) === '.wasm')
  15. return instantiate.call(this, url, parent, meta);
  16. var loader = this;
  17. return fetch(url, { credentials: 'same-origin' })
  18. .then(function (res) {
  19. if (!res.ok)
  20. throw Error(errMsg(7, 'Fetch error: ' + res.status + ' ' + res.statusText + (parent ? ' loading from ' + parent : '')));
  21. return res.text();
  22. })
  23. .then(function (source) {
  24. return loader.transform.call(this, url, source);
  25. })
  26. .then(function (source) {
  27. (0, eval)(source + '\n//# sourceURL=' + url);
  28. return loader.getRegister(url);
  29. });
  30. };
  31. // Hookable transform function!
  32. systemJSPrototype.transform = function (_id, source) {
  33. return source;
  34. };
  35. })(typeof self !== 'undefined' ? self : global);
  36. })();