aboutsummaryrefslogtreecommitdiff
path: root/node_modules/resolve-url/resolve-url.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/resolve-url/resolve-url.js')
-rw-r--r--node_modules/resolve-url/resolve-url.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/node_modules/resolve-url/resolve-url.js b/node_modules/resolve-url/resolve-url.js
new file mode 100644
index 0000000..19e8d04
--- /dev/null
+++ b/node_modules/resolve-url/resolve-url.js
@@ -0,0 +1,47 @@
+// Copyright 2014 Simon Lydell
+// X11 (“MIT”) Licensed. (See LICENSE.)
+
+void (function(root, factory) {
+ if (typeof define === "function" && define.amd) {
+ define(factory)
+ } else if (typeof exports === "object") {
+ module.exports = factory()
+ } else {
+ root.resolveUrl = factory()
+ }
+}(this, function() {
+
+ function resolveUrl(/* ...urls */) {
+ var numUrls = arguments.length
+
+ if (numUrls === 0) {
+ throw new Error("resolveUrl requires at least one argument; got none.")
+ }
+
+ var base = document.createElement("base")
+ base.href = arguments[0]
+
+ if (numUrls === 1) {
+ return base.href
+ }
+
+ var head = document.getElementsByTagName("head")[0]
+ head.insertBefore(base, head.firstChild)
+
+ var a = document.createElement("a")
+ var resolved
+
+ for (var index = 1; index < numUrls; index++) {
+ a.href = arguments[index]
+ resolved = a.href
+ base.href = resolved
+ }
+
+ head.removeChild(base)
+
+ return resolved
+ }
+
+ return resolveUrl
+
+}));