-
-
Notifications
You must be signed in to change notification settings - Fork 147
/
index.js
90 lines (90 loc) · 3.8 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "tslib", "@aurelia/kernel", "@aurelia/runtime", "@aurelia/runtime-html", "./browser-scheduler"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const kernel_1 = require("@aurelia/kernel");
const runtime_1 = require("@aurelia/runtime");
const runtime_html_1 = require("@aurelia/runtime-html");
const browser_scheduler_1 = require("./browser-scheduler");
exports.BrowserScheduler = browser_scheduler_1.BrowserScheduler;
let BrowserDOMInitializer = class BrowserDOMInitializer {
constructor(container) {
this.container = container;
}
static register(container) {
return kernel_1.Registration.singleton(runtime_1.IDOMInitializer, this).register(container);
}
initialize(config) {
if (this.container.has(runtime_1.IDOM, false)) {
return this.container.get(runtime_1.IDOM);
}
let dom;
if (config !== undefined) {
if (config.dom !== undefined) {
dom = config.dom;
}
else if (config.host.ownerDocument !== null) {
dom = new runtime_html_1.HTMLDOM(window, config.host.ownerDocument, Node, Element, HTMLElement, CustomEvent, CSSStyleSheet, ShadowRoot);
}
else {
dom = new runtime_html_1.HTMLDOM(window, document, Node, Element, HTMLElement, CustomEvent, CSSStyleSheet, ShadowRoot);
}
}
else {
dom = new runtime_html_1.HTMLDOM(window, document, Node, Element, HTMLElement, CustomEvent, CSSStyleSheet, ShadowRoot);
}
kernel_1.Registration.instance(runtime_1.IDOM, dom).register(this.container);
if (runtime_1.DOM.scheduler === void 0) {
this.container.register(browser_scheduler_1.BrowserScheduler);
}
else {
kernel_1.Registration.instance(runtime_1.IScheduler, runtime_1.DOM.scheduler).register(this.container);
}
return dom;
}
};
BrowserDOMInitializer = tslib_1.__decorate([
tslib_1.__param(0, kernel_1.IContainer)
], BrowserDOMInitializer);
exports.BrowserDOMInitializer = BrowserDOMInitializer;
exports.IDOMInitializerRegistration = BrowserDOMInitializer;
exports.IBrowserSchedulerRegistration = browser_scheduler_1.BrowserScheduler;
/**
* Default HTML-specific, browser-specific implementations for the following interfaces:
* - `IDOMInitializer`
*/
exports.DefaultComponents = [
exports.IDOMInitializerRegistration,
exports.IBrowserSchedulerRegistration,
];
/**
* A DI configuration object containing html-specific, browser-specific registrations:
* - `RuntimeHtmlConfiguration` from `@aurelia/runtime-html`
* - `DefaultComponents`
*/
exports.RuntimeHtmlBrowserConfiguration = {
/**
* Apply this configuration to the provided container.
*/
register(container) {
return runtime_html_1.RuntimeHtmlConfiguration
.register(container)
.register(...exports.DefaultComponents);
},
/**
* Create a new container with this configuration applied to it.
*/
createContainer() {
return this.register(kernel_1.DI.createContainer());
}
};
});
//# sourceMappingURL=index.js.map