Переглянути джерело

Add a requireBundles function and do not expose the other requires

Steven Silvester 8 роки тому
батько
коміт
751cb6405b
1 змінених файлів з 21 додано та 2 видалено
  1. 21 2
      jupyterlab/loader.js

+ 21 - 2
jupyterlab/loader.js

@@ -113,6 +113,26 @@ function ensureBundle(path, callback) {
 }
 
 
+/**
+ * Ensure a list of bundles are loaded on the page.
+ *
+ * @param paths - The public paths of the bundles. (e.g. "lab/foo.bundle.js").
+ *
+ * @returns A promise that resolves with the require function when all the
+ *   bundles have loaded.
+ */
+function requireBundles(paths) {
+  var promises = paths.map(function(path) {
+    return new Promise(function (resolve, reject) {
+      ensureBundle(path, resolve);
+    });
+  });
+  return Promise.all(promises).then(function () {
+    return requireModule;
+  });
+}
+
+
 /**
  * Find a module matching a given module request.
  *
@@ -176,6 +196,5 @@ requireModule.e = ensureBundle;
 
 module.exports = {
   define: defineModule,
-  ensure: ensureBundle,
-  require: requireModule
+  requireBundles: requireBundles
 }