Studying all day long)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
4.2 KiB

2 years ago
{"version":3,"file":"named-register.min.js","sources":["../../src/extras/named-register.js"],"sourcesContent":["/*\n * SystemJS named register extension\n * Supports System.register('name', [..deps..], function (_export, _context) { ... })\n * \n * Names are written to the registry as-is\n * System.register('x', ...) can be imported as System.import('x')\n */\n(function (global) {\n var System = global.System;\n setRegisterRegistry(System);\n var systemJSPrototype = System.constructor.prototype;\n var constructor = System.constructor;\n var SystemJS = function () {\n constructor.call(this);\n setRegisterRegistry(this);\n };\n SystemJS.prototype = systemJSPrototype;\n System.constructor = SystemJS;\n\n var firstNamedDefine, firstName;\n\n function setRegisterRegistry(systemInstance) {\n systemInstance.registerRegistry = Object.create(null);\n systemInstance.namedRegisterAliases = Object.create(null);\n }\n\n var register = systemJSPrototype.register;\n systemJSPrototype.register = function (name, deps, declare) {\n if (typeof name !== 'string')\n return register.apply(this, arguments);\n var define = [deps, declare];\n this.registerRegistry[name] = define;\n if (!firstNamedDefine) {\n firstNamedDefine = define;\n firstName = name;\n }\n Promise.resolve().then(function () {\n firstNamedDefine = null;\n firstName = null;\n });\n return register.apply(this, [deps, declare]);\n };\n\n var resolve = systemJSPrototype.resolve;\n systemJSPrototype.resolve = function (id, parentURL) {\n try {\n // Prefer import map (or other existing) resolution over the registerRegistry\n return resolve.call(this, id, parentURL);\n } catch (err) {\n if (id in this.registerRegistry) {\n return this.namedRegisterAliases[id] || id;\n }\n throw err;\n }\n };\n\n var instantiate = systemJSPrototype.instantiate;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var result = this.registerRegistry[url];\n if (result) {\n this.registerRegistry[url] = null;\n return result;\n } else {\n return instantiate.call(this, url, firstParentUrl);\n }\n };\n\n var getRegister = systemJSPrototype.getRegister;\n systemJSPrototype.getRegister = function (url) {\n // Calling getRegister() because other extras need to know it was called so they can perform side effects\n var register = getRegister.call(this, url);\n\n if (firstName && url) {\n this.namedRegisterAliases[firstName] = url;\n }\n var result = firstNamedDefine || register;\n firstNamedDefine = null;\n firstName = null;\n return result;\n }\n})(typeof self !== 'undefined' ? self : global);\n"],"names":["global","setRegisterRegistry","systemInstance","registerRegistry","Object","create","namedRegisterAliases","System","firstNamedDefine","firstName","systemJSPrototype","constructor","prototype","SystemJS","call","this","register","name","deps","declare","apply","arguments","define","Promise","resolve","then","id","parentURL","err","instantiate","url","firstParentUrl","result","getRegister","self"],"mappings":"CAOA,SAAWA,GAcT,SAASC,EAAoBC,GAC3BA,EAAeC,iBAAmBC,OAAOC,OAAO,MAChDH,EAAeI,qBAAuBF,OAAOC,OAAO,MAftD,IAAIE,EAASP,EAAOO,OACpBN,EAAoBM,GACpB,IASIC,EAAkBC,EATlBC,EAAoBH,EAAOI,YAAYC,UACvCD,EAAcJ,EAAOI,YACrBE,EAAW,WACbF,EAAYG,KAAKC,MACjBd,EAAoBc,OAEtBF,EAASD,UAAYF,EACrBH,EAAOI,YAAcE,EASrB,IAAIG,EAAWN,EAAkBM,SACjCN,EAAkBM,SAAW,SAAUC,EAAMC,EAAMC,GACjD,GAAoB,iBAATF,EACT,OAAOD,EAASI,MAAML,KAAMM,WAC9B,IAAIC,EAAS,CAACJ,EAAMC,GAUpB,OATAJ,KAAKZ,iBAAiBc,GAAQK,EACzBd,IACHA,EAAmBc,EACnBb,EAAYQ,GAEdM,QAAQC,UAAUC,MAAK,WACrBjB,EAAmB,KACnBC,EAAY,QAEPO,EAASI,KAAML,KAAOG,EAAMC,IAGrC,IAAIK,EAAUd,EAAkBc,QAChCd,EAAkBc,QAAU,SAAUE,EAAIC,GACxC,IAEE,OAAOH,EAAQV,KAAKC,KAAMW,EAAIC,GAC9B,MAAOC,GACP,GAAIF,KAAMX,KAAKZ,iBACb,OAAOY,KAAKT,qBAAqBoB,IAAOA,EAE1C,MAAME,IAIV,IAAIC,EAAcnB,EAAkBmB,YACpCnB,EAAkBmB,YAAc,SAAUC,EAAKC,GAC7C,IAAIC,EAASjB,KAAKZ,iBAAiB2B,GACnC,OAAIE,GACFjB,KAAKZ,iBAAiB2B,GAAO,KACtBE,GAEAH,EAAYf,KAAKC,KAAMe,EAAKC,IAIvC,IAAIE,EAAc