<%- ENSURE_CHUNK_HANDLERS %>.css = <%- basicFunction("chunkId, promises, fetchPriority") %> {
// css chunk loading
var installedChunkData = <%- HAS_OWN_PROPERTY %>(installedChunks, chunkId)
? installedChunks[chunkId]
: undefined;
if (installedChunkData !== 0) {
// 0 means "already installed".
// a Promise means "currently loading".
if (installedChunkData) {
promises.push(installedChunkData[2]);
} else {
if (<%- _css_matcher %>) {
// setup Promise in chunk cache
var promise = new Promise(function (resolve, reject) {
installedChunkData = installedChunks[chunkId] = [resolve, reject];
});
promises.push((installedChunkData[2] = promise));
// start chunk loading
var url = <%- PUBLIC_PATH %> + <%- GET_CHUNK_CSS_FILENAME %>(chunkId);
// create error before stack unwound to get useful stacktrace later
var error = new Error();
var loadingEnded = function (event) {
if (<%- HAS_OWN_PROPERTY %>(installedChunks, chunkId)) {
installedChunkData = installedChunks[chunkId];
if (installedChunkData !== 0) installedChunks[chunkId] = undefined;
if (installedChunkData) {
if (event.type !== "load") {
var errorType = event && event.type;
var realSrc = event && event.target && event.target.src;
error.message =
"Loading css chunk " +
chunkId +
" failed.\n(" +
errorType +
": " +
realSrc +
")";
error.name = "ChunkLoadError";
error.type = errorType;
error.request = realSrc;
installedChunkData[1](error);
} else {
loadCssChunkData(<%- MODULE_FACTORIES %>, chunkId);
installedChunkData[0]();
}
}
}
};
if (typeof document !== 'undefined') {
loadStylesheet(chunkId, url, loadingEnded, undefined, fetchPriority);
} else { loadingEnded({ type: 'load' }); }
} else installedChunks[chunkId] = 0;
}
}
};