Skip to content

Commit b362e10

Browse files
committed
Fix NPE in loader tests
1 parent 81f5e82 commit b362e10

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/core/moduleManager.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ namespace AMDLoader {
325325
private readonly _scriptLoader: IScriptLoader;
326326
private readonly _loaderAvailableTimestamp: number;
327327
private readonly _defineFunc: IDefineFunc;
328-
private readonly _requireFunc: IRequireFunc;
328+
private readonly _requireFunc: IRequireFunc | null;
329329

330330
private _moduleIdProvider: ModuleIdProvider;
331331
private _config: Configuration;
@@ -367,7 +367,7 @@ namespace AMDLoader {
367367
private _buildInfoDefineStack: (string | null)[];
368368
private _buildInfoDependencies: string[][];
369369

370-
constructor(env: Environment, scriptLoader: IScriptLoader, defineFunc: IDefineFunc, requireFunc: IRequireFunc, loaderAvailableTimestamp: number = 0) {
370+
constructor(env: Environment, scriptLoader: IScriptLoader, defineFunc: IDefineFunc, requireFunc: IRequireFunc | null, loaderAvailableTimestamp: number = 0) {
371371
this._env = env;
372372
this._scriptLoader = scriptLoader;
373373
this._loaderAvailableTimestamp = loaderAvailableTimestamp;
@@ -387,7 +387,9 @@ namespace AMDLoader {
387387
this._buildInfoDefineStack = [];
388388
this._buildInfoDependencies = [];
389389

390-
this._requireFunc.moduleManager = this;
390+
if (this._requireFunc) {
391+
this._requireFunc.moduleManager = this;
392+
}
391393
}
392394

393395
public reset(): ModuleManager {
@@ -399,7 +401,7 @@ namespace AMDLoader {
399401
}
400402

401403
public getGlobalAMDRequireFunc(): IRequireFunc {
402-
return this._requireFunc;
404+
return this._requireFunc!;
403405
}
404406

405407
private static _findRelevantLocationInStack(needle: string, stack: string): IPosition {

src/loader.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ declare namespace AMDLoader {
508508
private _buildInfoPath;
509509
private _buildInfoDefineStack;
510510
private _buildInfoDependencies;
511-
constructor(env: Environment, scriptLoader: IScriptLoader, defineFunc: IDefineFunc, requireFunc: IRequireFunc, loaderAvailableTimestamp?: number);
511+
constructor(env: Environment, scriptLoader: IScriptLoader, defineFunc: IDefineFunc, requireFunc: IRequireFunc | null, loaderAvailableTimestamp?: number);
512512
reset(): ModuleManager;
513513
getGlobalAMDDefineFunc(): IDefineFunc;
514514
getGlobalAMDRequireFunc(): IRequireFunc;

src/loader.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1248,7 +1248,9 @@ var AMDLoader;
12481248
this._buildInfoPath = [];
12491249
this._buildInfoDefineStack = [];
12501250
this._buildInfoDependencies = [];
1251-
this._requireFunc.moduleManager = this;
1251+
if (this._requireFunc) {
1252+
this._requireFunc.moduleManager = this;
1253+
}
12521254
}
12531255
reset() {
12541256
return new ModuleManager(this._env, this._scriptLoader, this._defineFunc, this._requireFunc, this._loaderAvailableTimestamp);

0 commit comments

Comments
 (0)