happy-dom 2.55.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/README.md +26 -6
- package/lib/async-task-manager/AsyncTaskManager.js +34 -78
- package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
- package/lib/attribute/Attr.js +19 -28
- package/lib/attribute/Attr.js.map +1 -1
- package/lib/config/ElementTag.js +15 -15
- package/lib/config/ElementTag.js.map +1 -1
- package/lib/cookie/CookieUtility.js +21 -26
- package/lib/cookie/CookieUtility.js.map +1 -1
- package/lib/css/CSS.js +12 -18
- package/lib/css/CSS.js.map +1 -1
- package/lib/css/CSSParser.js +29 -33
- package/lib/css/CSSParser.js.map +1 -1
- package/lib/css/CSSRule.js +24 -29
- package/lib/css/CSSRule.js.map +1 -1
- package/lib/css/CSSStyleDeclaration.js +4516 -6005
- package/lib/css/CSSStyleDeclaration.js.map +1 -1
- package/lib/css/CSSStyleSheet.js +17 -59
- package/lib/css/CSSStyleSheet.js.map +1 -1
- package/lib/css/CSSUnitValue.js +4 -5
- package/lib/css/CSSUnitValue.js.map +1 -1
- package/lib/css/MediaList.js +23 -28
- package/lib/css/MediaList.js.map +1 -1
- package/lib/css/rules/CSSFontFaceRule.js +6 -24
- package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframeRule.js +14 -36
- package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframesRule.js +31 -54
- package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
- package/lib/css/rules/CSSMediaRule.js +29 -56
- package/lib/css/rules/CSSMediaRule.js.map +1 -1
- package/lib/css/rules/CSSStyleRule.js +16 -38
- package/lib/css/rules/CSSStyleRule.js.map +1 -1
- package/lib/custom-element/CustomElementRegistry.js +21 -24
- package/lib/custom-element/CustomElementRegistry.js.map +1 -1
- package/lib/dom-implementation/DOMImplementation.js +12 -13
- package/lib/dom-implementation/DOMImplementation.js.map +1 -1
- package/lib/dom-parser/DOMParser.js +29 -35
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/dom-token-list/DOMTokenList.js +64 -79
- package/lib/dom-token-list/DOMTokenList.js.map +1 -1
- package/lib/event/DataTransfer.js +4 -5
- package/lib/event/DataTransfer.js.map +1 -1
- package/lib/event/DataTransferItem.js +7 -8
- package/lib/event/DataTransferItem.js.map +1 -1
- package/lib/event/DataTransferItemList.js +10 -11
- package/lib/event/DataTransferItemList.js.map +1 -1
- package/lib/event/Event.js +11 -15
- package/lib/event/Event.js.map +1 -1
- package/lib/event/EventTarget.js +14 -16
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/event/IUIEventInit.d.ts +2 -2
- package/lib/event/UIEvent.d.ts +2 -2
- package/lib/event/UIEvent.js +25 -46
- package/lib/event/UIEvent.js.map +1 -1
- package/lib/event/events/AnimationEvent.js +11 -29
- package/lib/event/events/AnimationEvent.js.map +1 -1
- package/lib/event/events/CustomEvent.js +9 -31
- package/lib/event/events/CustomEvent.js.map +1 -1
- package/lib/event/events/ErrorEvent.js +15 -34
- package/lib/event/events/ErrorEvent.js.map +1 -1
- package/lib/event/events/FocusEvent.js +7 -26
- package/lib/event/events/FocusEvent.js.map +1 -1
- package/lib/event/events/InputEvent.js +13 -32
- package/lib/event/events/InputEvent.js.map +1 -1
- package/lib/event/events/KeyboardEvent.js +27 -46
- package/lib/event/events/KeyboardEvent.js.map +1 -1
- package/lib/event/events/MouseEvent.js +33 -52
- package/lib/event/events/MouseEvent.js.map +1 -1
- package/lib/event/events/PointerEvent.js +25 -44
- package/lib/event/events/PointerEvent.js.map +1 -1
- package/lib/event/events/ProgressEvent.js +11 -30
- package/lib/event/events/ProgressEvent.js.map +1 -1
- package/lib/event/events/StorageEvent.js +13 -32
- package/lib/event/events/StorageEvent.js.map +1 -1
- package/lib/event/events/WheelEvent.js +16 -35
- package/lib/event/events/WheelEvent.js.map +1 -1
- package/lib/exception/DOMException.js +5 -24
- package/lib/exception/DOMException.js.map +1 -1
- package/lib/fetch/FetchHandler.js +18 -22
- package/lib/fetch/FetchHandler.js.map +1 -1
- package/lib/fetch/Headers.js +3 -23
- package/lib/fetch/Headers.js.map +1 -1
- package/lib/fetch/Request.js +61 -81
- package/lib/fetch/Request.js.map +1 -1
- package/lib/fetch/ResourceFetchHandler.js +18 -67
- package/lib/fetch/ResourceFetchHandler.js.map +1 -1
- package/lib/fetch/Response.js +61 -81
- package/lib/fetch/Response.js.map +1 -1
- package/lib/file/Blob.js +29 -78
- package/lib/file/Blob.js.map +1 -1
- package/lib/file/File.js +9 -27
- package/lib/file/File.js.map +1 -1
- package/lib/file/FileReader.js +57 -78
- package/lib/file/FileReader.js.map +1 -1
- package/lib/history/History.js +32 -37
- package/lib/history/History.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +69 -69
- package/lib/index.js.map +1 -1
- package/lib/location/Location.js +11 -28
- package/lib/location/Location.js.map +1 -1
- package/lib/location/RelativeURL.js +5 -8
- package/lib/location/RelativeURL.js.map +1 -1
- package/lib/location/URL.js +46 -59
- package/lib/location/URL.js.map +1 -1
- package/lib/match-media/MediaQueryList.js +28 -54
- package/lib/match-media/MediaQueryList.js.map +1 -1
- package/lib/mutation-observer/MutationListener.js +3 -4
- package/lib/mutation-observer/MutationListener.js.map +1 -1
- package/lib/mutation-observer/MutationObserver.js +12 -13
- package/lib/mutation-observer/MutationObserver.js.map +1 -1
- package/lib/mutation-observer/MutationRecord.js +3 -4
- package/lib/mutation-observer/MutationRecord.js.map +1 -1
- package/lib/navigator/MimeType.js +5 -6
- package/lib/navigator/MimeType.js.map +1 -1
- package/lib/navigator/MimeTypeArray.js +10 -11
- package/lib/navigator/MimeTypeArray.js.map +1 -1
- package/lib/navigator/Navigator.js +7 -8
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/Plugin.js +10 -11
- package/lib/navigator/Plugin.js.map +1 -1
- package/lib/navigator/PluginArray.js +12 -13
- package/lib/navigator/PluginArray.js.map +1 -1
- package/lib/nodes/character-data/CharacterData.js +119 -184
- package/lib/nodes/character-data/CharacterData.js.map +1 -1
- package/lib/nodes/character-data/CharacterDataUtility.js +12 -15
- package/lib/nodes/character-data/CharacterDataUtility.js.map +1 -1
- package/lib/nodes/child-node/ChildNodeUtility.js +24 -45
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +9 -12
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
- package/lib/nodes/comment/Comment.js +20 -43
- package/lib/nodes/comment/Comment.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +3 -3
- package/lib/nodes/document/Document.js +334 -461
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/DocumentReadyStateManager.js +16 -19
- package/lib/nodes/document/DocumentReadyStateManager.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +2 -2
- package/lib/nodes/document-fragment/DocumentFragment.js +93 -153
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/document-type/DocumentType.js +22 -45
- package/lib/nodes/document-type/DocumentType.js.map +1 -1
- package/lib/nodes/element/DOMRect.js +3 -4
- package/lib/nodes/element/DOMRect.js.map +1 -1
- package/lib/nodes/element/Element.js +367 -496
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/HTMLCollection.js +4 -24
- package/lib/nodes/element/HTMLCollection.js.map +1 -1
- package/lib/nodes/element/HTMLCollectionFactory.js +6 -9
- package/lib/nodes/element/HTMLCollectionFactory.js.map +1 -1
- package/lib/nodes/element/Range.js +89 -114
- package/lib/nodes/element/Range.js.map +1 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.js +41 -70
- package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.js +3 -23
- package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
- package/lib/nodes/html-element/DatasetUtility.js +9 -12
- package/lib/nodes/html-element/DatasetUtility.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +232 -290
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.js +170 -235
- package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
- package/lib/nodes/html-image-element/HTMLImageElement.js +178 -237
- package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
- package/lib/nodes/html-image-element/Image.js +7 -27
- package/lib/nodes/html-image-element/Image.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.js +705 -872
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElementValueSanitizer.js +9 -12
- package/lib/nodes/html-input-element/HTMLInputElementValueSanitizer.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElementValueStepping.js +5 -8
- package/lib/nodes/html-input-element/HTMLInputElementValueStepping.js.map +1 -1
- package/lib/nodes/html-input-element/ValidityState.js +47 -69
- package/lib/nodes/html-input-element/ValidityState.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js +53 -87
- package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +197 -252
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-meta-element/HTMLMetaElement.js +66 -102
- package/lib/nodes/html-meta-element/HTMLMetaElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +145 -193
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-script-element/ScriptUtility.js +58 -112
- package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
- package/lib/nodes/html-slot-element/HTMLSlotElement.js +33 -65
- package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +75 -109
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +60 -99
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +349 -444
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +17 -37
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
- package/lib/nodes/node/Node.js +193 -260
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeList.js +4 -24
- package/lib/nodes/node/NodeList.js.map +1 -1
- package/lib/nodes/node/NodeListFactory.js +6 -9
- package/lib/nodes/node/NodeListFactory.js.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.js +43 -78
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.js +53 -83
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/nodes/svg-document/SVGDocument.js +3 -23
- package/lib/nodes/svg-document/SVGDocument.js.map +1 -1
- package/lib/nodes/svg-element/DOMMatrix.js +3 -4
- package/lib/nodes/svg-element/DOMMatrix.js.map +1 -1
- package/lib/nodes/svg-element/SVGAngle.js +10 -11
- package/lib/nodes/svg-element/SVGAngle.js.map +1 -1
- package/lib/nodes/svg-element/SVGAnimatedRect.js +4 -5
- package/lib/nodes/svg-element/SVGAnimatedRect.js.map +1 -1
- package/lib/nodes/svg-element/SVGElement.js +58 -93
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/nodes/svg-element/SVGGraphicsElement.js +14 -32
- package/lib/nodes/svg-element/SVGGraphicsElement.js.map +1 -1
- package/lib/nodes/svg-element/SVGLength.js +16 -17
- package/lib/nodes/svg-element/SVGLength.js.map +1 -1
- package/lib/nodes/svg-element/SVGNumber.js +3 -4
- package/lib/nodes/svg-element/SVGNumber.js.map +1 -1
- package/lib/nodes/svg-element/SVGPoint.js +3 -4
- package/lib/nodes/svg-element/SVGPoint.js.map +1 -1
- package/lib/nodes/svg-element/SVGRect.js +3 -4
- package/lib/nodes/svg-element/SVGRect.js.map +1 -1
- package/lib/nodes/svg-element/SVGSVGElement.js +187 -248
- package/lib/nodes/svg-element/SVGSVGElement.js.map +1 -1
- package/lib/nodes/svg-element/SVGTransform.js +16 -17
- package/lib/nodes/svg-element/SVGTransform.js.map +1 -1
- package/lib/nodes/text/Text.js +20 -43
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/nodes/xml-document/XMLDocument.js +3 -23
- package/lib/nodes/xml-document/XMLDocument.js.map +1 -1
- package/lib/query-selector/QuerySelector.js +36 -44
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.js +62 -66
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/resize-observer/ResizeObserver.js +8 -11
- package/lib/resize-observer/ResizeObserver.js.map +1 -1
- package/lib/screen/Screen.js +3 -4
- package/lib/screen/Screen.js.map +1 -1
- package/lib/selection/Selection.js +29 -30
- package/lib/selection/Selection.js.map +1 -1
- package/lib/storage/Storage.js +22 -27
- package/lib/storage/Storage.js.map +1 -1
- package/lib/tree-walker/NodeFilterMask.js +1 -1
- package/lib/tree-walker/NodeFilterMask.js.map +1 -1
- package/lib/tree-walker/TreeWalker.js +30 -33
- package/lib/tree-walker/TreeWalker.js.map +1 -1
- package/lib/window/GlobalWindow.d.ts +90 -0
- package/lib/window/GlobalWindow.js +98 -0
- package/lib/window/GlobalWindow.js.map +1 -0
- package/lib/window/IWindow.d.ts +35 -18
- package/lib/window/VMGlobalPropertyScript.d.ts +2 -0
- package/lib/window/VMGlobalPropertyScript.js +65 -0
- package/lib/window/VMGlobalPropertyScript.js.map +1 -0
- package/lib/window/Window.d.ts +84 -105
- package/lib/window/Window.js +286 -490
- package/lib/window/Window.js.map +1 -1
- package/lib/xml-parser/XMLParser.js +65 -71
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +30 -37
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +6 -7
- package/src/dom-parser/DOMParser.ts +4 -5
- package/src/event/IUIEventInit.ts +2 -2
- package/src/event/UIEvent.ts +2 -2
- package/src/fetch/FetchHandler.ts +3 -3
- package/src/fetch/ResourceFetchHandler.ts +2 -2
- package/src/index.ts +3 -3
- package/src/nodes/document/Document.ts +4 -4
- package/src/nodes/document/IDocument.ts +2 -2
- package/src/nodes/html-link-element/HTMLLinkElement.ts +8 -2
- package/src/nodes/html-script-element/ScriptUtility.ts +4 -4
- package/src/window/GlobalWindow.ts +91 -0
- package/src/window/IWindow.ts +31 -12
- package/src/window/VMGlobalPropertyScript.ts +62 -0
- package/src/window/Window.ts +125 -173
- package/tsconfig.json +1 -1
- package/lib/window/AsyncWindow.d.ts +0 -10
- package/lib/window/AsyncWindow.js +0 -38
- package/lib/window/AsyncWindow.js.map +0 -1
- package/src/window/AsyncWindow.ts +0 -17
package/README.md
CHANGED
@@ -56,7 +56,7 @@ npm install happy-dom
|
|
56
56
|
|
57
57
|
## Basic Usage
|
58
58
|
|
59
|
-
|
59
|
+
A simple example of how you can use Happy DOM.
|
60
60
|
|
61
61
|
```javascript
|
62
62
|
import { Window } from 'happy-dom';
|
@@ -79,13 +79,12 @@ console.log(document.body.innerHTML);
|
|
79
79
|
|
80
80
|
## VM Context
|
81
81
|
|
82
|
-
The
|
82
|
+
The default Window class is a [VM context](https://nodejs.org/api/vm.html#vm_vm_createcontext_sandbox_options). A [VM context](https://nodejs.org/api/vm.html#vm_vm_createcontext_sandbox_options) will execute JavaScript code scoped within the context where the Window instance will be the global object.
|
83
83
|
|
84
84
|
```javascript
|
85
85
|
import { Window } from 'happy-dom';
|
86
|
-
import VM from 'vm';
|
87
86
|
|
88
|
-
const window =
|
87
|
+
const window = new Window();
|
89
88
|
const document = window.document;
|
90
89
|
|
91
90
|
window.location.href = 'http://localhost:8080';
|
@@ -113,6 +112,28 @@ document.write(`
|
|
113
112
|
console.log(document.querySelector('.container div').innerHTML);
|
114
113
|
```
|
115
114
|
|
115
|
+
## Global Context
|
116
|
+
|
117
|
+
Happy DOM exports a class called GlobalWindow, which can be used to run Happy DOM in the global context instead of the default behaviour of running in a [VM context](https://nodejs.org/api/vm.html#vm_vm_createcontext_sandbox_options).
|
118
|
+
|
119
|
+
```javascript
|
120
|
+
import { Window, GlobalWindow } from 'happy-dom';
|
121
|
+
|
122
|
+
const vmWindow = new Window();
|
123
|
+
const globalWindow = new GlobalWindow();
|
124
|
+
|
125
|
+
// Will output "false"
|
126
|
+
console.log(vmWindow.Array === global.Array);
|
127
|
+
|
128
|
+
// Will output "true"
|
129
|
+
console.log(globalWindow.Array === global.Array);
|
130
|
+
|
131
|
+
globalWindow.eval('global.test = 1');
|
132
|
+
|
133
|
+
// Will output "1"
|
134
|
+
console.log(global.test);
|
135
|
+
```
|
136
|
+
|
116
137
|
## Server-Side Rendering of Web Components
|
117
138
|
|
118
139
|
The example below will show you how to setup a Node [VM context](https://nodejs.org/api/vm.html#vm_vm_createcontext_sandbox_options) to render a page with custom elements (web components) in Happy DOM. We can then use a new web feature called [Declarative Shadow DOM](https://chromestatus.com/feature/5191745052606464) to include the shadow roots in the HTML output.
|
@@ -121,9 +142,8 @@ The example below will show you how to setup a Node [VM context](https://nodejs.
|
|
121
142
|
|
122
143
|
```javascript
|
123
144
|
import { Window } from 'happy-dom';
|
124
|
-
import VM from 'vm';
|
125
145
|
|
126
|
-
const window =
|
146
|
+
const window = new Window();
|
127
147
|
const document = window.document;
|
128
148
|
|
129
149
|
window.location.href = 'http://localhost:8080';
|
@@ -1,46 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
15
|
-
function step(op) {
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
17
|
-
while (_) try {
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
20
|
-
switch (op[0]) {
|
21
|
-
case 0: case 1: t = op; break;
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
25
|
-
default:
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
30
|
-
if (t[2]) _.ops.pop();
|
31
|
-
_.trys.pop(); continue;
|
32
|
-
}
|
33
|
-
op = body.call(thisArg, _);
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
36
|
-
}
|
37
|
-
};
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
39
3
|
/**
|
40
4
|
* Handles async tasks.
|
41
5
|
*/
|
42
|
-
|
43
|
-
|
6
|
+
class AsyncTaskManager {
|
7
|
+
constructor() {
|
44
8
|
this.runningTasks = [];
|
45
9
|
this.runningTimers = [];
|
46
10
|
this.queue = [];
|
@@ -51,36 +15,29 @@ var AsyncTaskManager = /** @class */ (function () {
|
|
51
15
|
*
|
52
16
|
* @returns Promise.
|
53
17
|
*/
|
54
|
-
|
55
|
-
return
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
}, 0);
|
62
|
-
_this.startTimer(timerID);
|
63
|
-
_this.queue.push({ resolve: resolve, reject: reject });
|
64
|
-
})];
|
65
|
-
});
|
18
|
+
async whenComplete() {
|
19
|
+
return new Promise((resolve, reject) => {
|
20
|
+
const timerID = global.setTimeout(() => {
|
21
|
+
this.endTimer(timerID);
|
22
|
+
}, 0);
|
23
|
+
this.startTimer(timerID);
|
24
|
+
this.queue.push({ resolve, reject });
|
66
25
|
});
|
67
|
-
}
|
26
|
+
}
|
68
27
|
/**
|
69
28
|
* Cancels all tasks.
|
70
29
|
*
|
71
30
|
* @param [error] Error.
|
72
31
|
*/
|
73
|
-
|
74
|
-
for (
|
75
|
-
var timerID = _a[_i];
|
32
|
+
cancelAll(error) {
|
33
|
+
for (const timerID of this.runningTimers) {
|
76
34
|
global.clearTimeout(timerID);
|
77
35
|
}
|
78
|
-
|
36
|
+
const promises = this.queue;
|
79
37
|
this.runningTasks = [];
|
80
38
|
this.runningTimers = [];
|
81
39
|
this.queue = [];
|
82
|
-
for (
|
83
|
-
var promise = promises_1[_b];
|
40
|
+
for (const promise of promises) {
|
84
41
|
if (error) {
|
85
42
|
promise.reject(error);
|
86
43
|
}
|
@@ -88,80 +45,79 @@ var AsyncTaskManager = /** @class */ (function () {
|
|
88
45
|
promise.resolve();
|
89
46
|
}
|
90
47
|
}
|
91
|
-
}
|
48
|
+
}
|
92
49
|
/**
|
93
50
|
* Starts a timer.
|
94
51
|
*
|
95
52
|
* @param timerID Timer ID.
|
96
53
|
*/
|
97
|
-
|
54
|
+
startTimer(timerID) {
|
98
55
|
this.runningTimers.push(timerID);
|
99
|
-
}
|
56
|
+
}
|
100
57
|
/**
|
101
58
|
* Ends a timer.
|
102
59
|
*
|
103
60
|
* @param timerID Timer ID.
|
104
61
|
*/
|
105
|
-
|
106
|
-
|
62
|
+
endTimer(timerID) {
|
63
|
+
const index = this.runningTimers.indexOf(timerID);
|
107
64
|
if (index !== -1) {
|
108
65
|
this.runningTimers.splice(index, 1);
|
109
66
|
}
|
110
67
|
if (!this.runningTasks.length && !this.runningTimers.length) {
|
111
68
|
this.cancelAll();
|
112
69
|
}
|
113
|
-
}
|
70
|
+
}
|
114
71
|
/**
|
115
72
|
* Starts an async task.
|
116
73
|
*
|
117
74
|
* @returns Task ID.
|
118
75
|
*/
|
119
|
-
|
120
|
-
|
76
|
+
startTask() {
|
77
|
+
const taskID = this.newTaskID();
|
121
78
|
this.runningTasks.push(taskID);
|
122
79
|
return taskID;
|
123
|
-
}
|
80
|
+
}
|
124
81
|
/**
|
125
82
|
* Ends an async task.
|
126
83
|
*
|
127
84
|
* @param taskID Task ID.
|
128
85
|
*/
|
129
|
-
|
130
|
-
|
86
|
+
endTask(taskID) {
|
87
|
+
const index = this.runningTasks.indexOf(taskID);
|
131
88
|
if (index !== -1) {
|
132
89
|
this.runningTasks.splice(index, 1);
|
133
90
|
}
|
134
91
|
if (!this.runningTasks.length && !this.runningTimers.length) {
|
135
92
|
this.cancelAll();
|
136
93
|
}
|
137
|
-
}
|
94
|
+
}
|
138
95
|
/**
|
139
96
|
* Returns the amount of running tasks.
|
140
97
|
*
|
141
98
|
* @returns Count.
|
142
99
|
*/
|
143
|
-
|
100
|
+
getTaskCount() {
|
144
101
|
return this.runningTasks.length;
|
145
|
-
}
|
102
|
+
}
|
146
103
|
/**
|
147
104
|
* Returns the amount of running timers.
|
148
105
|
*
|
149
106
|
* @returns Count.
|
150
107
|
*/
|
151
|
-
|
108
|
+
getTimerCount() {
|
152
109
|
return this.runningTimers.length;
|
153
|
-
}
|
110
|
+
}
|
154
111
|
/**
|
155
112
|
* Returns a new task ID.
|
156
113
|
*
|
157
114
|
* @returns Task ID.
|
158
115
|
*/
|
159
|
-
|
116
|
+
newTaskID() {
|
160
117
|
this.constructor.taskID++;
|
161
118
|
return this.constructor.taskID;
|
162
|
-
}
|
163
|
-
|
164
|
-
return AsyncTaskManager;
|
165
|
-
}());
|
119
|
+
}
|
120
|
+
}
|
166
121
|
exports.default = AsyncTaskManager;
|
122
|
+
AsyncTaskManager.taskID = 0;
|
167
123
|
//# sourceMappingURL=AsyncTaskManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AsyncTaskManager.js","sourceRoot":"","sources":["../../src/async-task-manager/AsyncTaskManager.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"AsyncTaskManager.js","sourceRoot":"","sources":["../../src/async-task-manager/AsyncTaskManager.ts"],"names":[],"mappings":"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"}
|
package/lib/attribute/Attr.js
CHANGED
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
*
|
6
6
|
* Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
|
7
7
|
*/
|
8
|
-
|
9
|
-
|
8
|
+
class Attr {
|
9
|
+
constructor() {
|
10
10
|
this.value = null;
|
11
11
|
this.name = null;
|
12
12
|
this.namespaceURI = null;
|
@@ -23,31 +23,22 @@ var Attr = /** @class */ (function () {
|
|
23
23
|
*/
|
24
24
|
this.specified = true;
|
25
25
|
}
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
*/
|
44
|
-
get: function () {
|
45
|
-
return this.name ? this.name.split(':')[0] : null;
|
46
|
-
},
|
47
|
-
enumerable: false,
|
48
|
-
configurable: true
|
49
|
-
});
|
50
|
-
return Attr;
|
51
|
-
}());
|
26
|
+
/**
|
27
|
+
* Returns local name.
|
28
|
+
*
|
29
|
+
* @returns Local name.
|
30
|
+
*/
|
31
|
+
get localName() {
|
32
|
+
return this.name ? this.name.split(':').reverse()[0] : null;
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Returns prefix.
|
36
|
+
*
|
37
|
+
* @returns Prefix.
|
38
|
+
*/
|
39
|
+
get prefix() {
|
40
|
+
return this.name ? this.name.split(':')[0] : null;
|
41
|
+
}
|
42
|
+
}
|
52
43
|
exports.default = Attr;
|
53
44
|
//# sourceMappingURL=Attr.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Attr.js","sourceRoot":"","sources":["../../src/attribute/Attr.ts"],"names":[],"mappings":";;AAGA;;;;GAIG;AACH;
|
1
|
+
{"version":3,"file":"Attr.js","sourceRoot":"","sources":["../../src/attribute/Attr.ts"],"names":[],"mappings":";;AAGA;;;;GAIG;AACH,MAAqB,IAAI;IAAzB;QACQ,UAAK,GAAW,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,iBAAY,GAAW,IAAI,CAAC;QAEnC;;WAEG;QACa,iBAAY,GAAa,IAAI,CAAC;QAE9C;;WAEG;QACa,kBAAa,GAAc,IAAI,CAAC;QAEhD;;WAEG;QACa,cAAS,GAAG,IAAI,CAAC;IAmBlC,CAAC;IAjBA;;;;OAIG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;CACD;AArCD,uBAqCC"}
|
package/lib/config/ElementTag.js
CHANGED
@@ -3,21 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
6
|
+
const HTMLElement_1 = __importDefault(require("../nodes/html-element/HTMLElement"));
|
7
|
+
const HTMLTemplateElement_1 = __importDefault(require("../nodes/html-template-element/HTMLTemplateElement"));
|
8
|
+
const HTMLFormElement_1 = __importDefault(require("../nodes/html-form-element/HTMLFormElement"));
|
9
|
+
const HTMLInputElement_1 = __importDefault(require("../nodes/html-input-element/HTMLInputElement"));
|
10
|
+
const HTMLTextAreaElement_1 = __importDefault(require("../nodes/html-text-area-element/HTMLTextAreaElement"));
|
11
|
+
const SVGSVGElement_1 = __importDefault(require("../nodes/svg-element/SVGSVGElement"));
|
12
|
+
const SVGElement_1 = __importDefault(require("../nodes/svg-element/SVGElement"));
|
13
|
+
const HTMLScriptElement_1 = __importDefault(require("../nodes/html-script-element/HTMLScriptElement"));
|
14
|
+
const HTMLImageElement_1 = __importDefault(require("../nodes/html-image-element/HTMLImageElement"));
|
15
|
+
const HTMLLinkElement_1 = __importDefault(require("../nodes/html-link-element/HTMLLinkElement"));
|
16
|
+
const HTMLStyleElement_1 = __importDefault(require("../nodes/html-style-element/HTMLStyleElement"));
|
17
|
+
const HTMLLabelElement_1 = __importDefault(require("../nodes/html-label-element/HTMLLabelElement"));
|
18
|
+
const HTMLSlotElement_1 = __importDefault(require("../nodes/html-slot-element/HTMLSlotElement"));
|
19
|
+
const HTMLMetaElement_1 = __importDefault(require("../nodes/html-meta-element/HTMLMetaElement"));
|
20
|
+
const HTMLBaseElement_1 = __importDefault(require("../nodes/html-base-element/HTMLBaseElement"));
|
21
21
|
exports.default = {
|
22
22
|
A: HTMLElement_1.default,
|
23
23
|
ABBR: HTMLElement_1.default,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":"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"}
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
/**
|
4
4
|
* Cookie utility.
|
5
5
|
*/
|
6
|
-
|
7
|
-
function CookieUtility() {
|
8
|
-
}
|
6
|
+
class CookieUtility {
|
9
7
|
/**
|
10
8
|
* Returns a cookie string.
|
11
9
|
*
|
@@ -14,36 +12,35 @@ var CookieUtility = /** @class */ (function () {
|
|
14
12
|
* @param newCookie New cookie string.
|
15
13
|
* @returns Generated cookie string.
|
16
14
|
*/
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
for (
|
22
|
-
|
23
|
-
var _b = part.trim().split('='), key = _b[0], value = _b[1];
|
15
|
+
static getCookieString(location, cookies, newCookie) {
|
16
|
+
const newCookieParts = newCookie.split(';');
|
17
|
+
const [newCookieName, newCookieValue] = newCookieParts.shift().trim().split('=');
|
18
|
+
let isExpired = false;
|
19
|
+
for (const part of newCookieParts) {
|
20
|
+
const [key, value] = part.trim().split('=');
|
24
21
|
switch (key.toLowerCase()) {
|
25
22
|
case 'expires':
|
26
|
-
|
27
|
-
|
23
|
+
const expires = new Date(value).getTime();
|
24
|
+
const now = Date.now();
|
28
25
|
if (expires < now) {
|
29
26
|
isExpired = true;
|
30
27
|
break;
|
31
28
|
}
|
32
29
|
break;
|
33
30
|
case 'domain':
|
34
|
-
|
31
|
+
const hostnameParts = location.hostname.split('.');
|
35
32
|
if (hostnameParts.length > 2) {
|
36
33
|
hostnameParts.shift();
|
37
34
|
}
|
38
|
-
|
35
|
+
const currentDomain = hostnameParts.join('.');
|
39
36
|
if (!value.endsWith(currentDomain)) {
|
40
37
|
return cookies;
|
41
38
|
}
|
42
39
|
break;
|
43
40
|
case 'path':
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
const pathname = location.pathname;
|
42
|
+
const currentPath = pathname.startsWith('/') ? pathname.replace('/', '') : pathname;
|
43
|
+
const path = value.startsWith('/') ? value.replace('/', '') : value;
|
47
44
|
if (path && !currentPath.startsWith(path)) {
|
48
45
|
return cookies;
|
49
46
|
}
|
@@ -55,16 +52,15 @@ var CookieUtility = /** @class */ (function () {
|
|
55
52
|
break;
|
56
53
|
}
|
57
54
|
}
|
58
|
-
|
55
|
+
const newCookies = [];
|
59
56
|
if (cookies) {
|
60
|
-
for (
|
61
|
-
|
62
|
-
var _e = cookie.trim().split('='), name = _e[0], value = _e[1];
|
57
|
+
for (const cookie of cookies.split(';')) {
|
58
|
+
const [name, value] = cookie.trim().split('=');
|
63
59
|
if ((name && name !== newCookieName) ||
|
64
60
|
(!value && newCookieValue) ||
|
65
61
|
(value && !newCookieValue)) {
|
66
62
|
if (value) {
|
67
|
-
newCookies.push(
|
63
|
+
newCookies.push(`${name}=${value}`);
|
68
64
|
}
|
69
65
|
else {
|
70
66
|
newCookies.push(name);
|
@@ -74,15 +70,14 @@ var CookieUtility = /** @class */ (function () {
|
|
74
70
|
}
|
75
71
|
if (!isExpired) {
|
76
72
|
if (newCookieValue) {
|
77
|
-
newCookies.push(
|
73
|
+
newCookies.push(`${newCookieName}=${newCookieValue}`);
|
78
74
|
}
|
79
75
|
else {
|
80
76
|
newCookies.push(newCookieName);
|
81
77
|
}
|
82
78
|
}
|
83
79
|
return newCookies.join('; ');
|
84
|
-
}
|
85
|
-
|
86
|
-
}());
|
80
|
+
}
|
81
|
+
}
|
87
82
|
exports.default = CookieUtility;
|
88
83
|
//# sourceMappingURL=CookieUtility.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CookieUtility.js","sourceRoot":"","sources":["../../src/cookie/CookieUtility.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH
|
1
|
+
{"version":3,"file":"CookieUtility.js","sourceRoot":"","sources":["../../src/cookie/CookieUtility.ts"],"names":[],"mappings":"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"}
|
package/lib/css/CSS.js
CHANGED
@@ -3,27 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
const CSSUnitValue_1 = __importDefault(require("./CSSUnitValue"));
|
7
|
+
const CSSUnits_1 = __importDefault(require("./CSSUnits"));
|
8
|
+
const css_escape_1 = __importDefault(require("css.escape"));
|
9
9
|
/**
|
10
10
|
* The CSS interface holds useful CSS-related methods.
|
11
11
|
*
|
12
12
|
* Reference:
|
13
13
|
* https://developer.mozilla.org/en-US/docs/Web/API/CSS.
|
14
14
|
*/
|
15
|
-
|
15
|
+
class CSS {
|
16
16
|
/**
|
17
17
|
* Constructor.
|
18
18
|
*/
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
};
|
23
|
-
var this_1 = this;
|
24
|
-
for (var _i = 0, CSSUnits_2 = CSSUnits_1.default; _i < CSSUnits_2.length; _i++) {
|
25
|
-
var unit = CSSUnits_2[_i];
|
26
|
-
_loop_1(unit);
|
19
|
+
constructor() {
|
20
|
+
for (const unit of CSSUnits_1.default) {
|
21
|
+
this[unit] = (value) => new CSSUnitValue_1.default(value, unit);
|
27
22
|
}
|
28
23
|
}
|
29
24
|
/**
|
@@ -35,19 +30,18 @@ var CSS = /** @class */ (function () {
|
|
35
30
|
* @param [_value] Value when using property name.
|
36
31
|
* @returns "true" if supported.
|
37
32
|
*/
|
38
|
-
|
33
|
+
supports(_condition, _value) {
|
39
34
|
return true;
|
40
|
-
}
|
35
|
+
}
|
41
36
|
/**
|
42
37
|
* Escapes a value.
|
43
38
|
*
|
44
39
|
* @param value Value to escape.
|
45
40
|
* @returns Escaped string.
|
46
41
|
*/
|
47
|
-
|
42
|
+
escape(value) {
|
48
43
|
return (0, css_escape_1.default)(value);
|
49
|
-
}
|
50
|
-
|
51
|
-
}());
|
44
|
+
}
|
45
|
+
}
|
52
46
|
exports.default = CSS;
|
53
47
|
//# sourceMappingURL=CSS.js.map
|
package/lib/css/CSS.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSS.js","sourceRoot":"","sources":["../../src/css/CSS.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"CSS.js","sourceRoot":"","sources":["../../src/css/CSS.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,0DAAkC;AAClC,4DAAmC;AAEnC;;;;;GAKG;AACH,MAAqB,GAAG;IACvB;;OAEG;IACH;QACC,KAAK,MAAM,IAAI,IAAI,kBAAQ,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,sBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9D;IACF,CAAC;IAED;;;;;;;;OAQG;IACI,QAAQ,CAAC,UAAkB,EAAE,MAAe;QAClD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAa;QAC1B,OAAO,IAAA,oBAAS,EAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACD;AAhCD,sBAgCC"}
|