docs: function getCompletionEntriesForNonRelativeModules(fragment, scriptPath, span) {
                  var options = program.getCompilerOptions();
                  var baseUrl = options.baseUrl, paths = options.paths;
                  var result;
                  if (baseUrl) {
                      var fileExtensions = ts.getSupportedExtensions(options);
                      var projectDir = options.project || host.getCurrentDirectory();
                      var absolute = ts.isRootedDiskPath(baseUrl) ? baseUrl : ts.combinePaths(projectDir, baseUrl);
                      result = getCompletionEntriesForDirectoryFragment(fragment, ts.normalizePath(absolute), fileExtensions, /*includeExtensions*/ false, span);
                      if (paths) {
                          for (var path in paths) {
                              if (paths.hasOwnProperty(path)) {
                                  if (path === "*") {
                                      if (paths[path]) {
                                          for (var _i = 0, _a = paths[path]; _i < _a.length; _i++) {
                                              var pattern = _a[_i];
                                              for (var _b = 0, _c = getModulesForPathsPattern(fragment, baseUrl, pattern, fileExtensions); _b < _c.length; _b++) {
                                                  var match = _c[_b];
                                                  result.push(createCompletionEntryForModule(match, ScriptElementKind.externalModuleName, span));
                                              }
                                          }
                                      }
                                  }
                                  else if (ts.startsWith(path, fragment)) {
                                      var entry = paths[path] && paths[path].length === 1 && paths[path][0];
                                      if (entry) {
                                          result.push(createCompletionEntryForModule(path, ScriptElementKind.externalModuleName, span));
                                      }
                                  }
                              }
                          }
                      }
                  }
                  else {
                      result = [];
                  }
                  getCompletionEntriesFromTypings(host, options, scriptPath, span, result);
                  for (var _d = 0, _e = enumeratePotentialNonRelativeModules(fragment, scriptPath, options); _d < _e.length; _d++) {
                      var moduleName = _e[_d];
                      result.push(createCompletionEntryForModule(moduleName, ScriptElementKind.externalModuleName, span));
                  }
                  return result;
              }