|
1 | 1 | /**
|
2 |
| - Copyright 2014-2016 Juergen Marsch ([email protected]), |
3 |
| - |
| 2 | + Copyright 2014,2015 Juergen Marsch ([email protected]) |
4 | 3 |
|
5 | 4 | This Source Code is subject to the terms of the Mozilla Public
|
6 | 5 | License, v2.0. If a copy of the MPL was not distributed with this
|
|
32 | 31 | });
|
33 | 32 |
|
34 | 33 | Espruino.addProcessor("getModule", function (module, callback) {
|
35 |
| - var getSubEntry = function(parentDirEntry, moduleName, callback) { |
36 |
| - var reader = parentDirEntry.createReader(); |
37 |
| - reader.readEntries(function(entries){ |
38 |
| - var moduleNameArr = moduleName.split('/'); |
39 |
| - var moduleNameHead = moduleNameArr[0]; |
40 |
| - var found = false; |
41 |
| - entries.forEach(function(entry){ |
42 |
| - if (moduleNameArr.length === 1 && entry.name === moduleNameHead + '.js') { |
43 |
| - found = true; |
44 |
| - readFilefromEntry(entry, function(data) { |
45 |
| - module.moduleCode = data; |
46 |
| - callback(module); |
47 |
| - }); |
48 |
| - } else if (moduleNameArr.length > 1 && entry.name === moduleNameHead && entry.isDirectory) { |
49 |
| - found = true; |
50 |
| - getSubEntry(entry, moduleName.substr(moduleNameHead.length + 1), callback); |
| 34 | + getProjectSubDir("modules",getModules); |
| 35 | + var t = setTimeout(function(){callback(module);},500); |
| 36 | + function getModules(subDirEntry){ |
| 37 | + var fnd = false; |
| 38 | + var dirReader = subDirEntry.createReader(); |
| 39 | + dirReader.readEntries(function(results){ |
| 40 | + for(var i = 0; i < results.length; i++){ |
| 41 | + if(results[i].name === module.moduleName + ".js"){ |
| 42 | + fnd = true; |
| 43 | + readFilefromEntry(results[i],gotModule); |
| 44 | + break; |
51 | 45 | }
|
52 |
| - }); |
53 |
| - if (!found) callback(module); |
| 46 | + } |
| 47 | + if(!fnd){callback(module);} |
54 | 48 | });
|
55 |
| - |
56 | 49 | }
|
57 |
| - getProjectSubDir("modules", function(subDirEntry) { |
58 |
| - getSubEntry(subDirEntry, module.moduleName, callback); |
59 |
| - }); |
| 50 | + function gotModule(data){ |
| 51 | + clearTimeout(t); |
| 52 | + module.moduleCode = data; |
| 53 | + callback(module); |
| 54 | + } |
60 | 55 | });
|
61 | 56 | Espruino.addProcessor("transformForEspruino", function(code, callback) {
|
62 | 57 | findBinary(code,callback);
|
|
0 commit comments