Skip to content

Commit 0a6fb71

Browse files
committed
update edge
1 parent 9002016 commit 0a6fb71

File tree

1 file changed

+83
-15
lines changed

1 file changed

+83
-15
lines changed

dist/r-edge.js

Lines changed: 83 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license r.js 1.0.4+ 20120106 9:40pm Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
2+
* @license r.js 1.0.4+ 20120118 11:43am Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
33
* Available via the MIT or new BSD license.
44
* see: http://github.com/jrburke/requirejs for details
55
*/
@@ -20,7 +20,7 @@ var requirejs, require, define;
2020

2121
var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire,
2222
nodeDefine, exists, reqMain, loadedOptimizedLib,
23-
version = '1.0.4+ 20120106 9:40pm',
23+
version = '1.0.4+ 20120118 11:43am',
2424
jsSuffixRegExp = /\.js$/,
2525
commandOption = '',
2626
useLibLoaded = {},
@@ -102,7 +102,7 @@ var requirejs, require, define;
102102
}
103103

104104
/** vim: et:ts=4:sw=4:sts=4
105-
* @license RequireJS 1.0.4 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
105+
* @license RequireJS 1.0.4+ Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
106106
* Available via the MIT or new BSD license.
107107
* see: http://github.com/jrburke/requirejs for details
108108
*/
@@ -114,7 +114,7 @@ var requirejs, require, define;
114114

115115
(function () {
116116
//Change this version number for each release.
117-
var version = "1.0.4",
117+
var version = "1.0.4+",
118118
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
119119
cjsRequireRegExp = /require\(\s*["']([^'"\s]+)["']\s*\)/g,
120120
currDirRegExp = /^\.\//,
@@ -140,8 +140,13 @@ var requirejs, require, define;
140140
interactiveScript = null,
141141
checkLoadedDepth = 0,
142142
useInteractive = false,
143+
reservedDependencies = {
144+
require: true,
145+
module: true,
146+
exports: true
147+
},
143148
req, cfg = {}, currentlyAddingScript, s, head, baseElement, scripts, script,
144-
src, subPath, mainScript, dataMain, i, ctx, jQueryCheck, checkLoadedTimeoutId;
149+
src, subPath, mainScript, dataMain, globalI, ctx, jQueryCheck, checkLoadedTimeoutId;
145150

146151
function isFunction(it) {
147152
return ostring.call(it) === "[object Function]";
@@ -977,15 +982,62 @@ var requirejs, require, define;
977982
}
978983
};
979984

980-
function forceExec(manager, traced) {
981-
if (manager.isDone) {
982-
return undefined;
985+
function findCycle(manager, traced) {
986+
var fullName = manager.map.fullName,
987+
depArray = manager.depArray,
988+
fullyLoaded = true,
989+
i, depName, depManager, result;
990+
991+
if (manager.isDone || !fullName || !loaded[fullName]) {
992+
return result;
993+
}
994+
995+
//Found the cycle.
996+
if (traced[fullName]) {
997+
return manager;
998+
}
999+
1000+
traced[fullName] = true;
1001+
1002+
//Trace through the dependencies.
1003+
if (depArray) {
1004+
for (i = 0; i < depArray.length; i++) {
1005+
//Some array members may be null, like if a trailing comma
1006+
//IE, so do the explicit [i] access and check if it has a value.
1007+
depName = depArray[i];
1008+
if (!loaded[depName] && !reservedDependencies[depName]) {
1009+
fullyLoaded = false;
1010+
break;
1011+
}
1012+
depManager = waiting[depName];
1013+
if (depManager && !depManager.isDone && loaded[depName]) {
1014+
result = findCycle(depManager, traced);
1015+
if (result) {
1016+
break;
1017+
}
1018+
}
1019+
}
1020+
if (!fullyLoaded) {
1021+
//Discard the cycle that was found, since it cannot
1022+
//be forced yet. Also clear this module from traced.
1023+
result = undefined;
1024+
delete traced[fullName];
1025+
}
9831026
}
9841027

1028+
return result;
1029+
}
1030+
1031+
function forceExec(manager, traced) {
9851032
var fullName = manager.map.fullName,
9861033
depArray = manager.depArray,
9871034
i, depName, depManager, prefix, prefixManager, value;
9881035

1036+
1037+
if (manager.isDone || !fullName || !loaded[fullName]) {
1038+
return undefined;
1039+
}
1040+
9891041
if (fullName) {
9901042
if (traced[fullName]) {
9911043
return defined[fullName];
@@ -1016,7 +1068,7 @@ var requirejs, require, define;
10161068
}
10171069
}
10181070

1019-
return fullName ? defined[fullName] : undefined;
1071+
return defined[fullName];
10201072
}
10211073

10221074
/**
@@ -1029,8 +1081,9 @@ var requirejs, require, define;
10291081
var waitInterval = config.waitSeconds * 1000,
10301082
//It is possible to disable the wait interval by using waitSeconds of 0.
10311083
expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(),
1032-
noLoads = "", hasLoadedProp = false, stillLoading = false, prop,
1033-
err, manager;
1084+
noLoads = "", hasLoadedProp = false, stillLoading = false,
1085+
onlyPluginResourceLoading = true,
1086+
i, prop, err, manager, cycleManager;
10341087

10351088
//If there are items still in the paused queue processing wait.
10361089
//This is particularly important in the sync case where each paused
@@ -1060,7 +1113,15 @@ var requirejs, require, define;
10601113
noLoads += prop + " ";
10611114
} else {
10621115
stillLoading = true;
1063-
break;
1116+
if (prop.indexOf('!') === -1) {
1117+
onlyPluginResourceLoading = false;
1118+
//No reason to keep looking for unfinished
1119+
//loading. If the only stillLoading is a
1120+
//plugin resource though, keep going,
1121+
//because it may be that a plugin resource
1122+
//is waiting on a non-plugin cycle.
1123+
break;
1124+
}
10641125
}
10651126
}
10661127
}
@@ -1079,7 +1140,11 @@ var requirejs, require, define;
10791140
err.requireModules = noLoads;
10801141
return req.onError(err);
10811142
}
1082-
if (stillLoading || context.scriptCount) {
1143+
1144+
//If still waiting on loads, and the waiting load is something
1145+
//other than a plugin resource, or there are still outstanding
1146+
//scripts, then just try back later.
1147+
if ((stillLoading && !onlyPluginResourceLoading) || context.scriptCount) {
10831148
//Something is still waiting to load. Wait for it, but only
10841149
//if a timeout is not already in effect.
10851150
if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) {
@@ -1102,7 +1167,10 @@ var requirejs, require, define;
11021167
if (context.waitCount) {
11031168
//Cycle through the waitAry, and call items in sequence.
11041169
for (i = 0; (manager = waitAry[i]); i++) {
1105-
forceExec(manager, {});
1170+
if ((cycleManager = findCycle(manager, {}))) {
1171+
forceExec(cycleManager, {});
1172+
break;
1173+
}
11061174
}
11071175

11081176
//If anything got placed in the paused queue, run it down.
@@ -1945,7 +2013,7 @@ var requirejs, require, define;
19452013
//Figure out baseUrl. Get it from the script tag with require.js in it.
19462014
scripts = document.getElementsByTagName("script");
19472015

1948-
for (i = scripts.length - 1; i > -1 && (script = scripts[i]); i--) {
2016+
for (globalI = scripts.length - 1; globalI > -1 && (script = scripts[globalI]); globalI--) {
19492017
//Set the "head" where we can append children by
19502018
//using the script's parent.
19512019
if (!head) {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy