From 57c2f4d0fd590bd56d9914741998b1849791f221 Mon Sep 17 00:00:00 2001 From: Kris Zyp Date: Thu, 22 Jul 2010 13:13:26 -0600 Subject: [PATCH] Rename loader->receiver --- README.md | 2 +- lib/jsgi/transporter.js | 4 ++-- lib/{loader.js => receiver.js} | 18 +++++++++++------- 3 files changed, 14 insertions(+), 10 deletions(-) rename lib/{loader.js => receiver.js} (62%) diff --git a/README.md b/README.md index ace8103..5379842 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ To use transporter, include the appliance in your JSGI stack: Now you can use a client side module loader like RequireJS, Yabble, or the simple loader that comes with transporter to load your modules: - + If my-module.js requires other modules (using a require call), these modules will diff --git a/lib/jsgi/transporter.js b/lib/jsgi/transporter.js index ecf82cd..fe8b440 100644 --- a/lib/jsgi/transporter.js +++ b/lib/jsgi/transporter.js @@ -54,8 +54,8 @@ exports.Transporter = function(options, app) { }, body: { forEach: function(write){ - if(requestedModules[0] === "transporter/loader"){ - write(loader("transporter/loader.js")); + if(requestedModules[0] === "transporter/receiver"){ + write(loader("transporter/receiver.js")); requestedModules.shift(); } if(converter.start){ diff --git a/lib/loader.js b/lib/receiver.js similarity index 62% rename from lib/loader.js rename to lib/receiver.js index f3e59df..e1f4c0b 100644 --- a/lib/loader.js +++ b/lib/receiver.js @@ -1,9 +1,10 @@ /** A very lightweight implementation of transport/D's require.define and - * require.ensure + * require.ensure. This can only receive modules, it will not proactively attempt to load + * any modules. */ (function(){ var factories = {}, - loadedModules = {}; + modules = {}; function makeRequire(currentId){ return function(id){ if(id.charAt(0) === '.'){ @@ -14,24 +15,27 @@ } id = id.replace(/\/\.\//g,'/'); } - var module = loadedModules[id]; + var module = modules[id]; if(module){ return module; } if(!factories[id]){ - throw new Error("Module " + id + " not defined"); + throw new Error("Module " + id + " not found"); } - var module = factories[id](makeRequire(id), loadedModules[id] = {}, {}); + var module = factories[id](makeRequire(id), modules[id] = {}, {}); if(module){ - return loadedModules[id] = module; + return modules[id] = module; } - return loadedModules[id]; + return modules[id]; }; } require = { define: function(modules){ for(var i in modules){ factories[i] = modules[i]; + if(typeof factories[i] != "function"){ + throw new Error("Module " + id + " must be defined as a function"); + } } }, ensure: function(modules, callback){