MCPcopy
hub / github.com/microsoft/vscode / load

Method load

src/vs/amdX.ts:96–137  ·  view source on GitHub ↗
(scriptSrc: string)

Source from the content-addressed store, hash-verified

94 }
95
96 public async load<T>(scriptSrc: string): Promise<T> {
97 this._initialize();
98
99 if (this._state === AMDModuleImporterState.InitializedExternal) {
100 return new Promise<T>(resolve => {
101 const tmpModuleId = generateUuid();
102 globalThis.define(tmpModuleId, [scriptSrc], function (moduleResult: T) {
103 resolve(moduleResult);
104 });
105 });
106 }
107
108 const defineCall = await (this._isWebWorker ? this._workerLoadScript(scriptSrc) : this._isRenderer ? this._rendererLoadScript(scriptSrc) : this._nodeJSLoadScript(scriptSrc));
109 if (!defineCall) {
110 console.warn(`Did not receive a define call from script ${scriptSrc}`);
111 return <T>undefined;
112 }
113 // TODO@esm require, module
114 const exports = {};
115 const dependencyObjs: any[] = [];
116 const dependencyModules: string[] = [];
117
118 if (Array.isArray(defineCall.dependencies)) {
119
120 for (const mod of defineCall.dependencies) {
121 if (mod === 'exports') {
122 dependencyObjs.push(exports);
123 } else {
124 dependencyModules.push(mod);
125 }
126 }
127 }
128
129 if (dependencyModules.length > 0) {
130 throw new Error(`Cannot resolve dependencies for script ${scriptSrc}. The dependencies are: ${dependencyModules.join(', ')}`);
131 }
132 if (typeof defineCall.callback === 'function') {
133 return defineCall.callback(...dependencyObjs) ?? exports;
134 } else {
135 return defineCall.callback;
136 }
137 }
138
139 private _rendererLoadScript(scriptSrc: string): Promise<DefineCall | undefined> {
140 return new Promise<DefineCall | undefined>((resolve, reject) => {

Callers

nothing calls this directly

Calls 12

_initializeMethod · 0.95
_workerLoadScriptMethod · 0.95
_rendererLoadScriptMethod · 0.95
_nodeJSLoadScriptMethod · 0.95
isArrayMethod · 0.80
defineMethod · 0.65
warnMethod · 0.65
pushMethod · 0.65
joinMethod · 0.65
generateUuidFunction · 0.50
resolveFunction · 0.50
callbackMethod · 0.45

Tested by

no test coverage detected