diff options
Diffstat (limited to 'node_modules/style-loader/lib/addStyleUrl.js')
-rw-r--r-- | node_modules/style-loader/lib/addStyleUrl.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/style-loader/lib/addStyleUrl.js b/node_modules/style-loader/lib/addStyleUrl.js new file mode 100644 index 0000000..581fecb --- /dev/null +++ b/node_modules/style-loader/lib/addStyleUrl.js @@ -0,0 +1,44 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + +function addAttrs (element, attrs) { + Object.keys(attrs).forEach(function (key) { + element.setAttribute(key, attrs[key]); + }); +} + +module.exports = function addStyleUrl (url, options) { + if (typeof DEBUG !== "undefined" && DEBUG) { + if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); + } + + options = options || {}; + + options.attrs = typeof options.attrs === "object" ? options.attrs : {}; + + options.hmr = typeof options.hmr === 'undefined' ? true : options.hmr; + + var link = document.createElement("link"); + + link.rel = "stylesheet"; + link.type = "text/css"; + link.href = url; + + addAttrs(link, options.attrs); + + var head = document.getElementsByTagName("head")[0]; + + head.appendChild(link); + + if (options.hmr && module.hot) { + return function(url) { + if(typeof url === "string") { + link.href = url; + } else { + head.removeChild(link); + } + }; + } +} |