Skip to content

Commit 2b8d0b3

Browse files
committed
less.registerStylesheets() promise
squash logs
1 parent 999af91 commit 2b8d0b3

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

lib/less-browser/index.js

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -223,16 +223,23 @@ if (/!watch/.test(location.hash)) {
223223
//
224224
// Get all <link> tags with the 'rel' attribute set to "stylesheet/less"
225225
//
226-
var links = document.getElementsByTagName('link');
227-
228-
less.sheets = [];
226+
less.registerStylesheets = function(callback) {
227+
return new PromiseConstructor(function(resolve, reject) {
228+
var links = document.getElementsByTagName('link');
229+
less.sheets = [];
230+
231+
for (var i = 0; i < links.length; i++) {
232+
if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) &&
233+
(links[i].type.match(typePattern)))) {
234+
less.sheets.push(links[i]);
235+
}
229236

230-
for (var i = 0; i < links.length; i++) {
231-
if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) &&
232-
(links[i].type.match(typePattern)))) {
233-
less.sheets.push(links[i]);
234-
}
235-
}
237+
if (i === links.length - 1) {
238+
resolve();
239+
}
240+
}
241+
});
242+
};
236243

237244
//
238245
// With this function, it's possible to alter variables and re-render
@@ -273,7 +280,7 @@ less.refresh = function (reload, modifyVars) {
273280
}
274281
endTime = new Date();
275282
}, reload, modifyVars);
276-
283+
277284
loadStyles(modifyVars);
278285
});
279286

@@ -282,4 +289,8 @@ less.refresh = function (reload, modifyVars) {
282289

283290
less.refreshStyles = loadStyles;
284291

285-
less.refresh(less.env === 'development');
292+
less.registerStylesheets().then(
293+
function () {
294+
less.refresh(less.env === 'development');
295+
}
296+
);

0 commit comments

Comments
 (0)