happy-dom 10.3.0 → 10.3.2
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/cjs/nodes/document-fragment/IDocumentFragment.d.ts +1 -1
- package/cjs/nodes/document-fragment/IDocumentFragment.d.ts.map +1 -1
- package/cjs/nodes/parent-node/IParentNode.d.ts +1 -1
- package/cjs/nodes/parent-node/IParentNode.d.ts.map +1 -1
- package/cjs/xml-parser/XMLParser.cjs +20 -13
- package/cjs/xml-parser/XMLParser.cjs.map +1 -1
- package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/nodes/document-fragment/IDocumentFragment.d.ts +1 -1
- package/lib/nodes/document-fragment/IDocumentFragment.d.ts.map +1 -1
- package/lib/nodes/parent-node/IParentNode.d.ts +1 -1
- package/lib/nodes/parent-node/IParentNode.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.js +20 -13
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +1 -1
- package/src/nodes/document-fragment/IDocumentFragment.ts +1 -1
- package/src/nodes/parent-node/IParentNode.ts +1 -1
- package/src/xml-parser/XMLParser.ts +24 -13
@@ -24,7 +24,7 @@ export default interface IDocumentFragment extends INode {
|
|
24
24
|
* @param selector CSS selector.
|
25
25
|
* @returns Matching element.
|
26
26
|
*/
|
27
|
-
querySelector(selector: string): IElement;
|
27
|
+
querySelector(selector: string): IElement | null;
|
28
28
|
/**
|
29
29
|
* Query CSS selector to find matching nodes.
|
30
30
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IDocumentFragment.d.ts","sourceRoot":"","sources":["../../../src/nodes/document-fragment/IDocumentFragment.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,iBAAkB,SAAQ,KAAK;IACvD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"IDocumentFragment.d.ts","sourceRoot":"","sources":["../../../src/nodes/document-fragment/IDocumentFragment.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,iBAAkB,SAAQ,KAAK;IACvD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC;IAErC;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;CAC7C"}
|
@@ -25,7 +25,7 @@ export default interface IParentNode extends INode {
|
|
25
25
|
* @param selector CSS selector.
|
26
26
|
* @returns Matching element.
|
27
27
|
*/
|
28
|
-
querySelector(selector: string): IElement;
|
28
|
+
querySelector(selector: string): IElement | null;
|
29
29
|
/**
|
30
30
|
* Query CSS selector to find matching nodes.
|
31
31
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IParentNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/parent-node/IParentNode.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,KAAK;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"IParentNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/parent-node/IParentNode.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,KAAK;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExD;;;;;OAKG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAErE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEzF;;;;OAIG;IACH,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;CACpD"}
|
@@ -43,21 +43,21 @@ const Entities = __importStar(require("entities"));
|
|
43
43
|
* Group 7: End of self closing start tag (e.g. "/>" in "<img/>").
|
44
44
|
* Group 8: End of start tag (e.g. ">" in "<div>").
|
45
45
|
*/
|
46
|
-
const MARKUP_REGEXP = /<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)
|
46
|
+
const MARKUP_REGEXP = /<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)\s*>|<!--([^-]+)-->|<!--([^>]+)>|<!([^>]+)>|<\?([^>]+)>|(\/>)|(>)/gm;
|
47
47
|
/**
|
48
48
|
* Attribute RegExp.
|
49
49
|
*
|
50
50
|
* Group 1: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
51
|
-
* Group 2: Attribute
|
52
|
-
* Group 3: Attribute
|
53
|
-
* Group 4: Attribute
|
54
|
-
* Group 5: Attribute
|
55
|
-
* Group 6: Attribute
|
51
|
+
* Group 2: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
52
|
+
* Group 3: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
53
|
+
* Group 4: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
54
|
+
* Group 5: Attribute end apostrophe when the attribute has a value using double apostrophe (e.g. '"' in "<div name="value">").
|
55
|
+
* Group 6: Attribute name when the attribute has a value using single apostrophe (e.g. "name" in "<div name='value'>").
|
56
56
|
* Group 7: Attribute value when the attribute has a value using single apostrophe (e.g. "value" in "<div name='value'>").
|
57
|
-
* Group 8: Attribute apostrophe when the attribute has a value using single apostrophe (e.g. "
|
57
|
+
* Group 8: Attribute end apostrophe when the attribute has a value using single apostrophe (e.g. "'" in "<div name='value'>").
|
58
58
|
* Group 9: Attribute name when the attribute has no value (e.g. "disabled" in "<div disabled>").
|
59
59
|
*/
|
60
|
-
const ATTRIBUTE_REGEXP = /\s*([a-zA-Z0-9-_
|
60
|
+
const ATTRIBUTE_REGEXP = /\s*([a-zA-Z0-9-_:.$@?]+) *= *([a-zA-Z0-9-_:.$@?{}]+)|\s*([a-zA-Z0-9-_:.$@?]+) *= *"([^"]*)("{0,1})|\s*([a-zA-Z0-9-_:.$@?]+) *= *'([^']*)('{0,1})|\s*([a-zA-Z0-9-_:.$@?]+)/gm;
|
61
61
|
var MarkupReadStateEnum;
|
62
62
|
(function (MarkupReadStateEnum) {
|
63
63
|
MarkupReadStateEnum["startOrEndTag"] = "startOrEndTag";
|
@@ -191,18 +191,25 @@ class XMLParser {
|
|
191
191
|
const attributeRegexp = new RegExp(ATTRIBUTE_REGEXP, 'gm');
|
192
192
|
let attributeMatch;
|
193
193
|
while ((attributeMatch = attributeRegexp.exec(attributeString))) {
|
194
|
-
if ((attributeMatch[1] && attributeMatch[2]
|
195
|
-
(attributeMatch[
|
194
|
+
if ((attributeMatch[1] && attributeMatch[2]) ||
|
195
|
+
(attributeMatch[3] && attributeMatch[5] === '"') ||
|
196
|
+
(attributeMatch[6] && attributeMatch[8] === "'") ||
|
196
197
|
attributeMatch[9]) {
|
197
198
|
// Valid attribute name and value.
|
198
|
-
const name = attributeMatch[1] ||
|
199
|
-
|
199
|
+
const name = attributeMatch[1] ||
|
200
|
+
attributeMatch[3] ||
|
201
|
+
attributeMatch[6] ||
|
202
|
+
attributeMatch[9] ||
|
203
|
+
'';
|
204
|
+
const rawValue = attributeMatch[2] || attributeMatch[4] || attributeMatch[7] || '';
|
200
205
|
const value = rawValue ? Entities.decodeHTMLAttribute(rawValue) : '';
|
201
206
|
const namespaceURI = currentNode.tagName === 'SVG' && name === 'xmlns' ? value : null;
|
202
207
|
currentNode.setAttributeNS(namespaceURI, name, value);
|
203
208
|
startTagIndex += attributeMatch[0].length;
|
204
209
|
}
|
205
|
-
else if (!attributeMatch[
|
210
|
+
else if (!attributeMatch[1] &&
|
211
|
+
((attributeMatch[3] && !attributeMatch[5]) ||
|
212
|
+
(attributeMatch[6] && !attributeMatch[8]))) {
|
206
213
|
// End attribute apostrophe is missing (e.g. "attr='value" or 'attr="value').
|
207
214
|
hasAttributeStringEnded = false;
|
208
215
|
break;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.cjs","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gFAAqD;AACrD,4FAAiE;AACjE,gFAAqD;AAIrD,0FAA+D;AAI/D,mDAAqC;AAErC;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAClB,
|
1
|
+
{"version":3,"file":"XMLParser.cjs","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gFAAqD;AACrD,4FAAiE;AACjE,gFAAqD;AAIrD,0FAA+D;AAI/D,mDAAqC;AAErC;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAClB,wGAAwG,CAAC;AAE1G;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GACrB,6KAA6K,CAAC;AAE/K,IAAK,mBAIJ;AAJD,WAAK,mBAAmB;IACvB,sDAA+B,CAAA;IAC/B,wDAAiC,CAAA;IACjC,4DAAqC,CAAA;AACtC,CAAC,EAJI,mBAAmB,KAAnB,mBAAmB,QAIvB;AAED;;;;GAIG;AACH,MAAM,8BAA8B,GAAG,aAAa,CAAC;AAErD;;GAEG;AACH,MAAqB,SAAS;IAC7B;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CAClB,QAAmB,EACnB,GAAW,EACX,OAA4F;QAE5F,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAChG,MAAM,KAAK,GAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,IAAI,WAAW,GAAiB,IAAI,CAAC;QACrC,IAAI,KAAsB,CAAC;QAC3B,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,SAAS,GAAwB,mBAAmB,CAAC,aAAa,CAAC;QACvE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACtC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxC,QAAQ,SAAS,EAAE;oBAClB,KAAK,mBAAmB,CAAC,aAAa;wBACrC,IACC,KAAK,CAAC,KAAK,KAAK,SAAS;4BACzB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EACrE;4BACD,2BAA2B;4BAE3B,WAAW,CAAC,WAAW,CACtB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACnF,CAAC;yBACF;wBAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;4BACb,aAAa;4BAEb,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;4BAEvC,sFAAsF;4BACtF,4FAA4F;4BAC5F,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACnE,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE;gCAClC,kBAAkB,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gCACrD,OAAO,WAAW,KAAK,IAAI,EAAE;oCAC5B,IAAe,WAAY,CAAC,OAAO,KAAK,OAAO,EAAE;wCAChD,KAAK,CAAC,GAAG,EAAE,CAAC;wCACZ,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;wCAC9C,MAAM;qCACN;oCACD,KAAK,CAAC,GAAG,EAAE,CAAC;oCACZ,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;iCAC9C;6BACD;4BAED,qDAAqD;4BACrD,6CAA6C;4BAC7C,MAAM,YAAY,GACjB,OAAO,KAAK,KAAK;gCAChB,CAAC,CAAC,yBAAY,CAAC,GAAG;gCAClB,CAAC,CAAY,WAAY,CAAC,YAAY,IAAI,yBAAY,CAAC,IAAI,CAAC;4BAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;4BAEnE,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;4BACpC,WAAW,GAAG,UAAU,CAAC;4BACzB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BACxB,SAAS,GAAG,mBAAmB,CAAC,cAAc,CAAC;4BAC/C,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC;yBACvC;6BAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;4BACpB,WAAW;4BAEX,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAgB,WAAY,CAAC,OAAO,EAAE;gCAC/D,sFAAsF;gCACtF,4FAA4F;gCAC5F,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,OAAO,CAC7C,WAAY,CAAC,OAAO,CAC/B,CAAC;gCACF,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE;oCAClC,kBAAkB,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;iCACrD;gCAED,KAAK,CAAC,GAAG,EAAE,CAAC;gCACZ,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;6BAC9C;yBACD;6BAAM,IACN,KAAK,CAAC,CAAC,CAAC;4BACR,KAAK,CAAC,CAAC,CAAC;4BACR,CAAC,KAAK,CAAC,CAAC,CAAC,IAAe,WAAY,CAAC,YAAY,KAAK,yBAAY,CAAC,IAAI,CAAC,EACvE;4BACD,WAAW;4BAEX,IAAI,OAAe,CAAC;4BAEpB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gCACb,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;6BACnB;iCAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gCACpB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;6BACrE;iCAAM;gCACN,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;6BACzB;4BAED,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;yBAC9E;6BAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;4BACpB,iDAAiD;4BAEjD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BACzD,WAAW,CAAC,WAAW,CACtB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gCACrD,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAC3C,CAAC;yBACF;6BAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;4BACpB,kDAAkD;4BAClD,iDAAiD;yBACjD;6BAAM;4BACN,sFAAsF;4BAEtF,WAAW,CAAC,WAAW,CACtB,QAAQ,CAAC,cAAc,CACtB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CACrE,CACD,CAAC;yBACF;wBAED,MAAM;oBACP,KAAK,mBAAmB,CAAC,cAAc;wBACtC,mBAAmB;wBACnB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;4BACzB,oBAAoB;4BAEpB,4BAA4B;4BAE5B,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;4BAClE,IAAI,uBAAuB,GAAG,IAAI,CAAC;4BAEnC,IAAI,CAAC,CAAC,eAAe,EAAE;gCACtB,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;gCAC3D,IAAI,cAA+B,CAAC;gCAEpC,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;oCAChE,IACC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;wCACxC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;wCAChD,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;wCAChD,cAAc,CAAC,CAAC,CAAC,EAChB;wCACD,kCAAkC;wCAElC,MAAM,IAAI,GACT,cAAc,CAAC,CAAC,CAAC;4CACjB,cAAc,CAAC,CAAC,CAAC;4CACjB,cAAc,CAAC,CAAC,CAAC;4CACjB,cAAc,CAAC,CAAC,CAAC;4CACjB,EAAE,CAAC;wCACJ,MAAM,QAAQ,GACb,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wCACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wCACrE,MAAM,YAAY,GACN,WAAY,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;wCAEnE,WAAY,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wCAElE,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;qCAC1C;yCAAM,IACN,CAAC,cAAc,CAAC,CAAC,CAAC;wCAClB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;4CACzC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C;wCACD,6EAA6E;wCAE7E,uBAAuB,GAAG,KAAK,CAAC;wCAChC,MAAM;qCACN;iCACD;6BACD;4BAED,+DAA+D;4BAC/D,4DAA4D;4BAC5D,IAAI,uBAAuB,EAAE;gCAC5B,4EAA4E;gCAC5E,iFAAiF;gCACjF,mHAAmH;gCACnH,uDAAuD;gCACvD,IACC,yBAAY,CAAY,WAAY,CAAC,OAAO,CAAC;oCAC7C,CAAC,KAAK,CAAC,CAAC,CAAC,IAAe,WAAY,CAAC,YAAY,KAAK,yBAAY,CAAC,GAAG,CAAC,EACtE;oCACD,KAAK,CAAC,GAAG,EAAE,CAAC;oCACZ,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oCAC9C,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC;iCAC9C;qCAAM;oCACN,6EAA6E;oCAC7E,gBAAgB,GAAG,8BAAiB,CAAY,WAAY,CAAC,OAAO,CAAC;wCACpE,CAAC,CAAY,WAAY,CAAC,OAAO;wCACjC,CAAC,CAAC,IAAI,CAAC;oCAER,SAAS,GAAG,CAAC,CAAC,gBAAgB;wCAC7B,CAAC,CAAC,mBAAmB,CAAC,gBAAgB;wCACtC,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAC;oCAErC,IAAI,+BAAkB,CAAY,WAAY,CAAC,OAAO,CAAC,EAAE;wCACxD,kBAAkB,CAAC,IAAI,CAAY,WAAY,CAAC,OAAO,CAAC,CAAC;qCACzD;iCACD;gCAED,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC;6BACvC;yBACD;wBAED,MAAM;oBACP,KAAK,mBAAmB,CAAC,gBAAgB;wBACxC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE;4BAC5D,yBAAyB;4BAEzB,6GAA6G;4BAC7G,0EAA0E;4BAC1E,0EAA0E;4BAC1E,IAAI,gBAAgB,KAAK,QAAQ,EAAE;gCACd,WAAY,CAAC,eAAe,GAAG,eAAe,CAAC;6BACnE;iCAAM,IAAI,gBAAgB,KAAK,MAAM,EAAE;gCACvC,2FAA2F;gCACzE,WAAY,CAAC,YAAY,GAAG,eAAe,CAAC;6BAC9D;4BAED,6EAA6E;4BAC7E,WAAW,CAAC,WAAW,CACtB,QAAQ,CAAC,cAAc,CACtB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAC9D,CACD,CAAC;4BAEF,KAAK,CAAC,GAAG,EAAE,CAAC;4BACZ,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;4BAC9C,gBAAgB,GAAG,IAAI,CAAC;4BACxB,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC;yBAC9C;wBAED,MAAM;iBACP;gBAED,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;aACnC;YAED,IAAI,SAAS,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC7B,yBAAyB;gBAEzB,WAAW,CAAC,WAAW,CACtB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CACtE,CAAC;aACF;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,mBAAmB,CAAC,QAAmB,EAAE,KAAa;QACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,cAAc,CAAC;QAEnB,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;YAC9D,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtE,OAAO,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAChD,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAC7B,QAAQ,EACR,QAAQ,CACR,CAAC;IACH,CAAC;CACD;AA9SD,4BA8SC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AAKvD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAKpD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AA+ChF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;;;;OASG;WACW,KAAK,CAClB,QAAQ,EAAE,SAAS,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1F,QAAQ,GAAG,iBAAiB,GAAG,SAAS;
|
1
|
+
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AAKvD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAKpD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AA+ChF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;;;;OASG;WACW,KAAK,CAClB,QAAQ,EAAE,SAAS,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1F,QAAQ,GAAG,iBAAiB,GAAG,SAAS;IA0P3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA8BlC"}
|
@@ -24,7 +24,7 @@ export default interface IDocumentFragment extends INode {
|
|
24
24
|
* @param selector CSS selector.
|
25
25
|
* @returns Matching element.
|
26
26
|
*/
|
27
|
-
querySelector(selector: string): IElement;
|
27
|
+
querySelector(selector: string): IElement | null;
|
28
28
|
/**
|
29
29
|
* Query CSS selector to find matching nodes.
|
30
30
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IDocumentFragment.d.ts","sourceRoot":"","sources":["../../../src/nodes/document-fragment/IDocumentFragment.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,iBAAkB,SAAQ,KAAK;IACvD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"IDocumentFragment.d.ts","sourceRoot":"","sources":["../../../src/nodes/document-fragment/IDocumentFragment.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,iBAAkB,SAAQ,KAAK;IACvD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC;IAErC;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;CAC7C"}
|
@@ -25,7 +25,7 @@ export default interface IParentNode extends INode {
|
|
25
25
|
* @param selector CSS selector.
|
26
26
|
* @returns Matching element.
|
27
27
|
*/
|
28
|
-
querySelector(selector: string): IElement;
|
28
|
+
querySelector(selector: string): IElement | null;
|
29
29
|
/**
|
30
30
|
* Query CSS selector to find matching nodes.
|
31
31
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IParentNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/parent-node/IParentNode.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,KAAK;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"IParentNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/parent-node/IParentNode.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,KAAK;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExD;;;;;OAKG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAErE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEzF;;;;OAIG;IACH,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;CACpD"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AAKvD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAKpD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AA+ChF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;;;;OASG;WACW,KAAK,CAClB,QAAQ,EAAE,SAAS,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1F,QAAQ,GAAG,iBAAiB,GAAG,SAAS;
|
1
|
+
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gCAAgC,CAAC;AAKvD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAKpD,OAAO,iBAAiB,MAAM,iDAAiD,CAAC;AA+ChF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;;;;OASG;WACW,KAAK,CAClB,QAAQ,EAAE,SAAS,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1F,QAAQ,GAAG,iBAAiB,GAAG,SAAS;IA0P3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA8BlC"}
|
@@ -15,21 +15,21 @@ import * as Entities from 'entities';
|
|
15
15
|
* Group 7: End of self closing start tag (e.g. "/>" in "<img/>").
|
16
16
|
* Group 8: End of start tag (e.g. ">" in "<div>").
|
17
17
|
*/
|
18
|
-
const MARKUP_REGEXP = /<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)
|
18
|
+
const MARKUP_REGEXP = /<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)\s*>|<!--([^-]+)-->|<!--([^>]+)>|<!([^>]+)>|<\?([^>]+)>|(\/>)|(>)/gm;
|
19
19
|
/**
|
20
20
|
* Attribute RegExp.
|
21
21
|
*
|
22
22
|
* Group 1: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
23
|
-
* Group 2: Attribute
|
24
|
-
* Group 3: Attribute
|
25
|
-
* Group 4: Attribute
|
26
|
-
* Group 5: Attribute
|
27
|
-
* Group 6: Attribute
|
23
|
+
* Group 2: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
24
|
+
* Group 3: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
25
|
+
* Group 4: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
26
|
+
* Group 5: Attribute end apostrophe when the attribute has a value using double apostrophe (e.g. '"' in "<div name="value">").
|
27
|
+
* Group 6: Attribute name when the attribute has a value using single apostrophe (e.g. "name" in "<div name='value'>").
|
28
28
|
* Group 7: Attribute value when the attribute has a value using single apostrophe (e.g. "value" in "<div name='value'>").
|
29
|
-
* Group 8: Attribute apostrophe when the attribute has a value using single apostrophe (e.g. "
|
29
|
+
* Group 8: Attribute end apostrophe when the attribute has a value using single apostrophe (e.g. "'" in "<div name='value'>").
|
30
30
|
* Group 9: Attribute name when the attribute has no value (e.g. "disabled" in "<div disabled>").
|
31
31
|
*/
|
32
|
-
const ATTRIBUTE_REGEXP = /\s*([a-zA-Z0-9-_
|
32
|
+
const ATTRIBUTE_REGEXP = /\s*([a-zA-Z0-9-_:.$@?]+) *= *([a-zA-Z0-9-_:.$@?{}]+)|\s*([a-zA-Z0-9-_:.$@?]+) *= *"([^"]*)("{0,1})|\s*([a-zA-Z0-9-_:.$@?]+) *= *'([^']*)('{0,1})|\s*([a-zA-Z0-9-_:.$@?]+)/gm;
|
33
33
|
var MarkupReadStateEnum;
|
34
34
|
(function (MarkupReadStateEnum) {
|
35
35
|
MarkupReadStateEnum["startOrEndTag"] = "startOrEndTag";
|
@@ -163,18 +163,25 @@ export default class XMLParser {
|
|
163
163
|
const attributeRegexp = new RegExp(ATTRIBUTE_REGEXP, 'gm');
|
164
164
|
let attributeMatch;
|
165
165
|
while ((attributeMatch = attributeRegexp.exec(attributeString))) {
|
166
|
-
if ((attributeMatch[1] && attributeMatch[2]
|
167
|
-
(attributeMatch[
|
166
|
+
if ((attributeMatch[1] && attributeMatch[2]) ||
|
167
|
+
(attributeMatch[3] && attributeMatch[5] === '"') ||
|
168
|
+
(attributeMatch[6] && attributeMatch[8] === "'") ||
|
168
169
|
attributeMatch[9]) {
|
169
170
|
// Valid attribute name and value.
|
170
|
-
const name = attributeMatch[1] ||
|
171
|
-
|
171
|
+
const name = attributeMatch[1] ||
|
172
|
+
attributeMatch[3] ||
|
173
|
+
attributeMatch[6] ||
|
174
|
+
attributeMatch[9] ||
|
175
|
+
'';
|
176
|
+
const rawValue = attributeMatch[2] || attributeMatch[4] || attributeMatch[7] || '';
|
172
177
|
const value = rawValue ? Entities.decodeHTMLAttribute(rawValue) : '';
|
173
178
|
const namespaceURI = currentNode.tagName === 'SVG' && name === 'xmlns' ? value : null;
|
174
179
|
currentNode.setAttributeNS(namespaceURI, name, value);
|
175
180
|
startTagIndex += attributeMatch[0].length;
|
176
181
|
}
|
177
|
-
else if (!attributeMatch[
|
182
|
+
else if (!attributeMatch[1] &&
|
183
|
+
((attributeMatch[3] && !attributeMatch[5]) ||
|
184
|
+
(attributeMatch[6] && !attributeMatch[8]))) {
|
178
185
|
// End attribute apostrophe is missing (e.g. "attr='value" or 'attr="value').
|
179
186
|
hasAttributeStringEnded = false;
|
180
187
|
break;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAIrD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAI/D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAClB,
|
1
|
+
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -28,7 +28,7 @@ export default interface IDocumentFragment extends INode {
|
|
28
28
|
* @param selector CSS selector.
|
29
29
|
* @returns Matching element.
|
30
30
|
*/
|
31
|
-
querySelector(selector: string): IElement;
|
31
|
+
querySelector(selector: string): IElement | null;
|
32
32
|
|
33
33
|
/**
|
34
34
|
* Query CSS selector to find matching nodes.
|
@@ -29,7 +29,7 @@ export default interface IParentNode extends INode {
|
|
29
29
|
* @param selector CSS selector.
|
30
30
|
* @returns Matching element.
|
31
31
|
*/
|
32
|
-
querySelector(selector: string): IElement;
|
32
|
+
querySelector(selector: string): IElement | null;
|
33
33
|
|
34
34
|
/**
|
35
35
|
* Query CSS selector to find matching nodes.
|
@@ -24,23 +24,23 @@ import * as Entities from 'entities';
|
|
24
24
|
* Group 8: End of start tag (e.g. ">" in "<div>").
|
25
25
|
*/
|
26
26
|
const MARKUP_REGEXP =
|
27
|
-
/<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)
|
27
|
+
/<([a-zA-Z0-9-]+)|<\/([a-zA-Z0-9-]+)\s*>|<!--([^-]+)-->|<!--([^>]+)>|<!([^>]+)>|<\?([^>]+)>|(\/>)|(>)/gm;
|
28
28
|
|
29
29
|
/**
|
30
30
|
* Attribute RegExp.
|
31
31
|
*
|
32
32
|
* Group 1: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
33
|
-
* Group 2: Attribute
|
34
|
-
* Group 3: Attribute
|
35
|
-
* Group 4: Attribute
|
36
|
-
* Group 5: Attribute
|
37
|
-
* Group 6: Attribute
|
33
|
+
* Group 2: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
34
|
+
* Group 3: Attribute name when the attribute has a value using double apostrophe (e.g. "name" in "<div name="value">").
|
35
|
+
* Group 4: Attribute value when the attribute has a value using double apostrophe (e.g. "value" in "<div name="value">").
|
36
|
+
* Group 5: Attribute end apostrophe when the attribute has a value using double apostrophe (e.g. '"' in "<div name="value">").
|
37
|
+
* Group 6: Attribute name when the attribute has a value using single apostrophe (e.g. "name" in "<div name='value'>").
|
38
38
|
* Group 7: Attribute value when the attribute has a value using single apostrophe (e.g. "value" in "<div name='value'>").
|
39
|
-
* Group 8: Attribute apostrophe when the attribute has a value using single apostrophe (e.g. "
|
39
|
+
* Group 8: Attribute end apostrophe when the attribute has a value using single apostrophe (e.g. "'" in "<div name='value'>").
|
40
40
|
* Group 9: Attribute name when the attribute has no value (e.g. "disabled" in "<div disabled>").
|
41
41
|
*/
|
42
42
|
const ATTRIBUTE_REGEXP =
|
43
|
-
/\s*([a-zA-Z0-9-_
|
43
|
+
/\s*([a-zA-Z0-9-_:.$@?]+) *= *([a-zA-Z0-9-_:.$@?{}]+)|\s*([a-zA-Z0-9-_:.$@?]+) *= *"([^"]*)("{0,1})|\s*([a-zA-Z0-9-_:.$@?]+) *= *'([^']*)('{0,1})|\s*([a-zA-Z0-9-_:.$@?]+)/gm;
|
44
44
|
|
45
45
|
enum MarkupReadStateEnum {
|
46
46
|
startOrEndTag = 'startOrEndTag',
|
@@ -209,14 +209,21 @@ export default class XMLParser {
|
|
209
209
|
|
210
210
|
while ((attributeMatch = attributeRegexp.exec(attributeString))) {
|
211
211
|
if (
|
212
|
-
(attributeMatch[1] && attributeMatch[2]
|
213
|
-
(attributeMatch[
|
212
|
+
(attributeMatch[1] && attributeMatch[2]) ||
|
213
|
+
(attributeMatch[3] && attributeMatch[5] === '"') ||
|
214
|
+
(attributeMatch[6] && attributeMatch[8] === "'") ||
|
214
215
|
attributeMatch[9]
|
215
216
|
) {
|
216
217
|
// Valid attribute name and value.
|
217
218
|
|
218
|
-
const name =
|
219
|
-
|
219
|
+
const name =
|
220
|
+
attributeMatch[1] ||
|
221
|
+
attributeMatch[3] ||
|
222
|
+
attributeMatch[6] ||
|
223
|
+
attributeMatch[9] ||
|
224
|
+
'';
|
225
|
+
const rawValue =
|
226
|
+
attributeMatch[2] || attributeMatch[4] || attributeMatch[7] || '';
|
220
227
|
const value = rawValue ? Entities.decodeHTMLAttribute(rawValue) : '';
|
221
228
|
const namespaceURI =
|
222
229
|
(<IElement>currentNode).tagName === 'SVG' && name === 'xmlns' ? value : null;
|
@@ -224,7 +231,11 @@ export default class XMLParser {
|
|
224
231
|
(<IElement>currentNode).setAttributeNS(namespaceURI, name, value);
|
225
232
|
|
226
233
|
startTagIndex += attributeMatch[0].length;
|
227
|
-
} else if (
|
234
|
+
} else if (
|
235
|
+
!attributeMatch[1] &&
|
236
|
+
((attributeMatch[3] && !attributeMatch[5]) ||
|
237
|
+
(attributeMatch[6] && !attributeMatch[8]))
|
238
|
+
) {
|
228
239
|
// End attribute apostrophe is missing (e.g. "attr='value" or 'attr="value').
|
229
240
|
|
230
241
|
hasAttributeStringEnded = false;
|