aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2018-11-12 09:35:37 +0100
committerUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2018-11-12 09:35:37 +0100
commitd3f8d83551799db061a558537bc89dcbfd522c21 (patch)
treef6456de7ac3599c35b217c9f769cb1adca03997f /src/utils
parentbf7703f5915c6154937f3febf812aad6483bff45 (diff)
downloadsvg.js-d3f8d83551799db061a558537bc89dcbfd522c21.tar.gz
svg.js-d3f8d83551799db061a558537bc89dcbfd522c21.zip
evaluate window and document on access and not on import
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/adopter.js12
-rw-r--r--src/utils/window.js13
2 files changed, 11 insertions, 14 deletions
diff --git a/src/utils/adopter.js b/src/utils/adopter.js
index 5d5d1f0..5de4038 100644
--- a/src/utils/adopter.js
+++ b/src/utils/adopter.js
@@ -1,17 +1,15 @@
import { capitalize } from './utils.js'
import { ns } from '../modules/core/namespaces.js'
-import globals from '../utils/window.js'
+import { globals } from '../utils/window.js'
import Base from '../types/Base.js'
-const { window, document } = globals
-
const elements = {}
export const root = Symbol('root')
// Method for element creation
export function makeNode (name) {
// create element
- return document.createElementNS(ns, name)
+ return globals.document.createElementNS(ns, name)
}
export function makeInstance (element) {
@@ -26,7 +24,7 @@ export function makeInstance (element) {
}
if (typeof element === 'string' && element.charAt(0) !== '<') {
- return adopt(document.querySelector(element))
+ return adopt(globals.document.querySelector(element))
}
var node = makeNode('svg')
@@ -40,7 +38,7 @@ export function makeInstance (element) {
}
export function nodeOrNew (name, node) {
- return node instanceof window.Node ? node : makeNode(name)
+ return node instanceof globals.window.Node ? node : makeNode(name)
}
// Adopt existing svg elements
@@ -51,7 +49,7 @@ export function adopt (node) {
// make sure a node isn't already adopted
if (node.instance instanceof Base) return node.instance
- if (!(node instanceof window.SVGElement)) {
+ if (!(node instanceof globals.window.SVGElement)) {
return new elements.HtmlNode(node)
}
diff --git a/src/utils/window.js b/src/utils/window.js
index f44ebb9..9e51339 100644
--- a/src/utils/window.js
+++ b/src/utils/window.js
@@ -1,10 +1,9 @@
-const globals = {
- window, document
+export const globals = {
+ window: typeof window === 'undefined' ? null : window,
+ document: typeof document === 'undefined' ? null : document
}
-export default globals
-
-export function registerWindow (w) {
- globals.window = w
- globals.document = w.document
+export function registerWindow (win = null, doc = null) {
+ globals.window = win
+ globals.document = doc
}