happy-dom 9.15.0 → 9.17.0
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/lib/nodes/character-data/CharacterDataUtility.d.ts +0 -7
- package/lib/nodes/character-data/CharacterDataUtility.d.ts.map +1 -1
- package/lib/nodes/character-data/CharacterDataUtility.js +0 -35
- package/lib/nodes/character-data/CharacterDataUtility.js.map +1 -1
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +7 -5
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +5 -2
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.js +3 -1
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/query-selector/ISelectorAttribute.d.ts +2 -0
- package/lib/query-selector/ISelectorAttribute.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +5 -42
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/query-selector/SelectorParser.d.ts +10 -0
- package/lib/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorParser.js +65 -20
- package/lib/query-selector/SelectorParser.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.js +33 -8
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.d.ts +16 -5
- package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +58 -11
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +2 -3
- package/src/nodes/character-data/CharacterDataUtility.ts +0 -37
- package/src/nodes/element/Element.ts +7 -5
- package/src/nodes/html-template-element/HTMLTemplateElement.ts +5 -2
- package/src/nodes/shadow-root/ShadowRoot.ts +3 -1
- package/src/query-selector/ISelectorAttribute.ts +2 -0
- package/src/query-selector/SelectorItem.ts +7 -43
- package/src/query-selector/SelectorParser.ts +72 -20
- package/src/xml-parser/XMLParser.ts +18 -8
- package/src/xml-serializer/XMLSerializer.ts +38 -11
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,sFAA8D;AAC9D,6EAAqD;AAGrD
|
1
|
+
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,sFAA8D;AAC9D,6EAAqD;AAGrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,eAAe,GACpB,kRAAkR,CAAC;AAEpR;;GAEG;AACH,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,MAAM,YAAY,GAAG;IACpB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACtC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,6DAA6D,CAAC;AAE7F;;GAEG;AACH,MAAqB,cAAc;IAClC;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,QAAgB;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,QAAgB;QAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE;YACrB,OAAO,CAAC,CAAC,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9C;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE3D,IAAI,WAAW,EAAE;YAChB,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBACnB,OAAO,CAAC,CAAC,IAAI,sBAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACjE;iBAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAC,IAAI,sBAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAClF;iBAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAC,IAAI,sBAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/D;SACD;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,mBAAmB,GAAiB,IAAI,sBAAY,CAAC;YACxD,UAAU,EAAE,gCAAsB,CAAC,UAAU;SAC7C,CAAC,CAAC;QACH,IAAI,YAAY,GAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,MAAM,GAA+B,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACvC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACb,OAAO,GAAG,IAAI,CAAC;gBAEf,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACb,mBAAmB,CAAC,OAAO,GAAG,GAAG,CAAC;iBAClC;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACrD;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;iBAC9E;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5B,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACZ,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBAC9C,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;wBAC1B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;wBACf,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;wBAC1B,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC;4BAC/B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;4BAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;4BACf,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;yBAClB,CAAC;qBACF,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;oBAChD,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;wBAC7B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;wBAC3B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;wBAChB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxE,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBAClC,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACvE;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBACrB,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC5D;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBACrB,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;wBACzB,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,sBAAY,CAAC;gCACtC,UAAU,EAAE,gCAAsB,CAAC,UAAU;6BAC7C,CAAC,CAAC;4BACH,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BAC1B,MAAM;wBACP,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,sBAAY,CAAC,EAAE,UAAU,EAAE,gCAAsB,CAAC,KAAK,EAAE,CAAC,CAAC;4BACrF,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;wBACP,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,sBAAY,CAAC;gCACtC,UAAU,EAAE,gCAAsB,CAAC,eAAe;6BAClD,CAAC,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;wBACP,KAAK,EAAE;4BACN,mBAAmB,GAAG,IAAI,sBAAY,CAAC;gCACtC,UAAU,EAAE,gCAAsB,CAAC,UAAU;6BAC7C,CAAC,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;qBACP;iBACD;aACD;iBAAM;gBACN,MAAM;aACN;SACD;QAED,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,sBAAY,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC;SAC1D;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,kBAAkB,CAAC,SAIjC;QACA,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAC5C,OAAO,IAAI,CAAC;SACZ;QAED,QAAQ,SAAS,CAAC,QAAQ,EAAE;YAC3B,oDAAoD;YACpD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,OAAO,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9E,yDAAyD;YACzD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,wDAAwD;YACxD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YACpD,sDAAsD;YACtD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpD,qDAAqD;YACrD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnD;gBACC,OAAO,IAAI,CAAC;SACb;IACF,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,IAAa;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACnF;QAED,QAAQ,SAAS,EAAE;YAClB,KAAK,gBAAgB,CAAC;YACtB,KAAK,WAAW;gBACf,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,MAAM,YAAY,GACjB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxF,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY;oBACZ,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;iBACnD,CAAC;YACH,KAAK,aAAa,CAAC;YACnB,KAAK,kBAAkB;gBACtB,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;iBAC5C,CAAC;YACH,KAAK,KAAK;gBACT,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACxC,WAAW,EAAE,IAAI;iBACjB,CAAC;YACH;gBACC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACpF;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,oBAAoB,CAAC,IAAa;QAChD,IAAI,IAAI,KAAK,KAAK,EAAE;YACnB,OAAO,YAAY,CAAC,GAAG,CAAC;SACxB;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE;YAC3B,OAAO,YAAY,CAAC,IAAI,CAAC;SACzB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpB,KAAK,GAAG,CAAC,CAAC,CAAC;SACX;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC;SACzB;QAED,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpB,KAAK,GAAG,CAAC,CAAC;SACV;QAED,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE;gBACf,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC1B,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;iBAC7C;gBACD,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;aAC/E;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;aAC7C;YACD,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;SAC9D;QAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;SAC1B;QAED,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7B,CAAC;CACD;AAhRD,iCAgRC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAKpD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAKjD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AA+C7E;;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,6BAA6B,CAAC;AAKpD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAKjD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AA+C7E;;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;IAyO3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA8BlC"}
|
@@ -1,4 +1,27 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
27
|
};
|
@@ -7,7 +30,7 @@ const VoidElements_1 = __importDefault(require("../config/VoidElements"));
|
|
7
30
|
const UnnestableElements_1 = __importDefault(require("../config/UnnestableElements"));
|
8
31
|
const NamespaceURI_1 = __importDefault(require("../config/NamespaceURI"));
|
9
32
|
const PlainTextElements_1 = __importDefault(require("../config/PlainTextElements"));
|
10
|
-
const
|
33
|
+
const Entities = __importStar(require("entities"));
|
11
34
|
/**
|
12
35
|
* Markup RegExp.
|
13
36
|
*
|
@@ -81,7 +104,7 @@ class XMLParser {
|
|
81
104
|
if (match.index !== lastIndex &&
|
82
105
|
(match[1] || match[2] || match[3] || match[4] || match[5] || match[6])) {
|
83
106
|
// Plain text between tags.
|
84
|
-
currentNode.appendChild(document.createTextNode(xml.substring(lastIndex, match.index)));
|
107
|
+
currentNode.appendChild(document.createTextNode(Entities.decodeHTML(xml.substring(lastIndex, match.index))));
|
85
108
|
}
|
86
109
|
if (match[1]) {
|
87
110
|
// Start tag.
|
@@ -130,11 +153,13 @@ class XMLParser {
|
|
130
153
|
match[4] ||
|
131
154
|
(match[6] && currentNode.namespaceURI === NamespaceURI_1.default.html)) {
|
132
155
|
// Comment.
|
133
|
-
currentNode.appendChild(document.createComment((match[6] ? '?' : '') + (match[3] || match[4] || match[6])));
|
156
|
+
currentNode.appendChild(document.createComment(Entities.decodeHTML((match[6] ? '?' : '') + (match[3] || match[4] || match[6]))));
|
134
157
|
}
|
135
158
|
else if (match[5]) {
|
136
159
|
// Exclamation mark comment (usually <!DOCTYPE>).
|
137
|
-
|
160
|
+
const exclamationComment = Entities.decodeHTML(match[5]);
|
161
|
+
currentNode.appendChild(this.getDocumentTypeNode(document, exclamationComment) ||
|
162
|
+
document.createComment(exclamationComment));
|
138
163
|
}
|
139
164
|
else if (match[6]) {
|
140
165
|
// Processing instruction (not supported by HTML).
|
@@ -142,7 +167,7 @@ class XMLParser {
|
|
142
167
|
}
|
143
168
|
else {
|
144
169
|
// Plain text between tags, including the match as it is not a valid start or end tag.
|
145
|
-
currentNode.appendChild(document.createTextNode(xml.substring(lastIndex, markupRegexp.lastIndex)));
|
170
|
+
currentNode.appendChild(document.createTextNode(Entities.decodeHTML(xml.substring(lastIndex, markupRegexp.lastIndex))));
|
146
171
|
}
|
147
172
|
break;
|
148
173
|
case MarkupReadStateEnum.insideStartTag:
|
@@ -162,7 +187,7 @@ class XMLParser {
|
|
162
187
|
// Valid attribute name and value.
|
163
188
|
const name = attributeMatch[1] || attributeMatch[5] || attributeMatch[9] || '';
|
164
189
|
const rawValue = attributeMatch[3] || attributeMatch[7] || '';
|
165
|
-
const value = rawValue ?
|
190
|
+
const value = rawValue ? Entities.decodeHTMLAttribute(rawValue) : '';
|
166
191
|
const namespaceURI = currentNode.tagName === 'SVG' && name === 'xmlns' ? value : null;
|
167
192
|
currentNode.setAttributeNS(namespaceURI, name, value);
|
168
193
|
startTagIndex += attributeMatch[0].length;
|
@@ -217,7 +242,7 @@ class XMLParser {
|
|
217
242
|
currentNode._evaluateCSS = evaluateScripts;
|
218
243
|
}
|
219
244
|
// Plain text elements such as <script> and <style> should only contain text.
|
220
|
-
currentNode.appendChild(document.createTextNode(xml.substring(startTagIndex, match.index)));
|
245
|
+
currentNode.appendChild(document.createTextNode(Entities.decodeHTML(xml.substring(startTagIndex, match.index))));
|
221
246
|
stack.pop();
|
222
247
|
currentNode = stack[stack.length - 1] || root;
|
223
248
|
plainTextTagName = null;
|
@@ -229,7 +254,7 @@ class XMLParser {
|
|
229
254
|
}
|
230
255
|
if (lastIndex !== xml.length) {
|
231
256
|
// Plain text after tags.
|
232
|
-
currentNode.appendChild(document.createTextNode(xml.substring(lastIndex)));
|
257
|
+
currentNode.appendChild(document.createTextNode(Entities.decodeHTML(xml.substring(lastIndex))));
|
233
258
|
}
|
234
259
|
}
|
235
260
|
return root;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
|
@@ -3,17 +3,28 @@ import INode from '../nodes/node/INode';
|
|
3
3
|
* Utility for converting an element to string.
|
4
4
|
*/
|
5
5
|
export default class XMLSerializer {
|
6
|
+
_options: {
|
7
|
+
includeShadowRoots: boolean;
|
8
|
+
escapeEntities: boolean;
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* Constructor.
|
12
|
+
*
|
13
|
+
* @param [options] Options.
|
14
|
+
* @param [options.includeShadowRoots] Include shadow roots.
|
15
|
+
* @param [options.escapeEntities] Escape text.
|
16
|
+
*/
|
17
|
+
constructor(options?: {
|
18
|
+
includeShadowRoots?: boolean;
|
19
|
+
escapeEntities?: boolean;
|
20
|
+
});
|
6
21
|
/**
|
7
22
|
* Renders an element as HTML.
|
8
23
|
*
|
9
24
|
* @param root Root element.
|
10
|
-
* @param [options] Options.
|
11
|
-
* @param [options.includeShadowRoots] Set to "true" to include shadow roots.
|
12
25
|
* @returns Result.
|
13
26
|
*/
|
14
|
-
serializeToString(root: INode
|
15
|
-
includeShadowRoots?: boolean;
|
16
|
-
}): string;
|
27
|
+
serializeToString(root: INode): string;
|
17
28
|
/**
|
18
29
|
* Returns attributes as a string.
|
19
30
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLSerializer.d.ts","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"XMLSerializer.d.ts","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAOxC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAC1B,QAAQ;;;MAGb;IAEF;;;;;;OAMG;gBACS,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAYhF;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;IA0D7C;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAiBtB"}
|
@@ -1,25 +1,67 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
27
|
};
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
29
|
const Node_1 = __importDefault(require("../nodes/node/Node"));
|
7
30
|
const VoidElements_1 = __importDefault(require("../config/VoidElements"));
|
8
|
-
const he_1 = require("he");
|
9
31
|
const NodeTypeEnum_1 = __importDefault(require("../nodes/node/NodeTypeEnum"));
|
32
|
+
const Entities = __importStar(require("entities"));
|
10
33
|
/**
|
11
34
|
* Utility for converting an element to string.
|
12
35
|
*/
|
13
36
|
class XMLSerializer {
|
37
|
+
/**
|
38
|
+
* Constructor.
|
39
|
+
*
|
40
|
+
* @param [options] Options.
|
41
|
+
* @param [options.includeShadowRoots] Include shadow roots.
|
42
|
+
* @param [options.escapeEntities] Escape text.
|
43
|
+
*/
|
44
|
+
constructor(options) {
|
45
|
+
this._options = {
|
46
|
+
includeShadowRoots: false,
|
47
|
+
escapeEntities: true
|
48
|
+
};
|
49
|
+
if (options) {
|
50
|
+
if (options.includeShadowRoots !== undefined) {
|
51
|
+
this._options.includeShadowRoots = options.includeShadowRoots;
|
52
|
+
}
|
53
|
+
if (options.escapeEntities !== undefined) {
|
54
|
+
this._options.escapeEntities = options.escapeEntities;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
14
58
|
/**
|
15
59
|
* Renders an element as HTML.
|
16
60
|
*
|
17
61
|
* @param root Root element.
|
18
|
-
* @param [options] Options.
|
19
|
-
* @param [options.includeShadowRoots] Set to "true" to include shadow roots.
|
20
62
|
* @returns Result.
|
21
63
|
*/
|
22
|
-
serializeToString(root
|
64
|
+
serializeToString(root) {
|
23
65
|
switch (root.nodeType) {
|
24
66
|
case NodeTypeEnum_1.default.elementNode:
|
25
67
|
const element = root;
|
@@ -32,12 +74,12 @@ class XMLSerializer {
|
|
32
74
|
: root.childNodes;
|
33
75
|
let innerHTML = '';
|
34
76
|
for (const node of childNodes) {
|
35
|
-
innerHTML += this.serializeToString(node
|
77
|
+
innerHTML += this.serializeToString(node);
|
36
78
|
}
|
37
|
-
if (
|
79
|
+
if (this._options.includeShadowRoots && element.shadowRoot) {
|
38
80
|
innerHTML += `<template shadowrootmode="${element.shadowRoot.mode}">`;
|
39
81
|
for (const node of element.shadowRoot.childNodes) {
|
40
|
-
innerHTML += this.serializeToString(node
|
82
|
+
innerHTML += this.serializeToString(node);
|
41
83
|
}
|
42
84
|
innerHTML += '</template>';
|
43
85
|
}
|
@@ -46,7 +88,7 @@ class XMLSerializer {
|
|
46
88
|
case Node_1.default.DOCUMENT_NODE:
|
47
89
|
let html = '';
|
48
90
|
for (const node of root.childNodes) {
|
49
|
-
html += this.serializeToString(node
|
91
|
+
html += this.serializeToString(node);
|
50
92
|
}
|
51
93
|
return html;
|
52
94
|
case NodeTypeEnum_1.default.commentNode:
|
@@ -55,7 +97,9 @@ class XMLSerializer {
|
|
55
97
|
// TODO: Add support for processing instructions.
|
56
98
|
return `<!--?${root.target} ${root.textContent}?-->`;
|
57
99
|
case NodeTypeEnum_1.default.textNode:
|
58
|
-
return
|
100
|
+
return this._options.escapeEntities
|
101
|
+
? Entities.escapeText(root.textContent)
|
102
|
+
: root.textContent;
|
59
103
|
case NodeTypeEnum_1.default.documentTypeNode:
|
60
104
|
const doctype = root;
|
61
105
|
const identifier = doctype.publicId ? ' PUBLIC' : doctype.systemId ? ' SYSTEM' : '';
|
@@ -74,11 +118,14 @@ class XMLSerializer {
|
|
74
118
|
_getAttributes(element) {
|
75
119
|
let attributeString = '';
|
76
120
|
if (!element._attributes.is && element._isValue) {
|
77
|
-
attributeString += ' is="' +
|
121
|
+
attributeString += ' is="' + element._isValue + '"';
|
78
122
|
}
|
79
123
|
for (const attribute of Object.values(element._attributes)) {
|
80
124
|
if (attribute.value !== null) {
|
81
|
-
|
125
|
+
const escapedValue = this._options.escapeEntities
|
126
|
+
? Entities.escapeText(attribute.value)
|
127
|
+
: attribute.value;
|
128
|
+
attributeString += ' ' + attribute.name + '="' + escapedValue + '"';
|
82
129
|
}
|
83
130
|
}
|
84
131
|
return attributeString;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "happy-dom",
|
3
|
-
"version": "9.
|
3
|
+
"version": "9.17.0",
|
4
4
|
"license": "MIT",
|
5
5
|
"homepage": "https://github.com/capricorn86/happy-dom",
|
6
6
|
"repository": "https://github.com/capricorn86/happy-dom",
|
@@ -48,14 +48,13 @@
|
|
48
48
|
},
|
49
49
|
"dependencies": {
|
50
50
|
"css.escape": "^1.5.1",
|
51
|
-
"
|
51
|
+
"entities": "^4.5.0",
|
52
52
|
"webidl-conversions": "^7.0.0",
|
53
53
|
"whatwg-encoding": "^2.0.0",
|
54
54
|
"whatwg-mimetype": "^3.0.0",
|
55
55
|
"iconv-lite": "^0.6.3"
|
56
56
|
},
|
57
57
|
"devDependencies": {
|
58
|
-
"@types/he": "^1.1.2",
|
59
58
|
"@types/jest": "^29.4.0",
|
60
59
|
"@types/node": "^15.6.0",
|
61
60
|
"@types/node-fetch": "^2.6.1",
|
@@ -1,26 +1,5 @@
|
|
1
1
|
import ICharacterData from './ICharacterData';
|
2
2
|
|
3
|
-
const HTML_ENTITIES = [
|
4
|
-
{ regex: /"/g, value: '"' },
|
5
|
-
{ regex: /"/g, value: '"' },
|
6
|
-
{ regex: /"/g, value: '"' },
|
7
|
-
{ regex: /&/g, value: '&' },
|
8
|
-
{ regex: /&/g, value: '&' },
|
9
|
-
{ regex: /&/g, value: '&' },
|
10
|
-
{ regex: /'/g, value: "'" },
|
11
|
-
{ regex: /'/g, value: "'" },
|
12
|
-
{ regex: /'/g, value: "'" },
|
13
|
-
{ regex: /</g, value: '<' },
|
14
|
-
{ regex: /</g, value: '<' },
|
15
|
-
{ regex: /</g, value: '<' },
|
16
|
-
{ regex: />/g, value: '>' },
|
17
|
-
{ regex: />/g, value: '>' },
|
18
|
-
{ regex: />/g, value: '>' },
|
19
|
-
{ regex: / /g, value: ' ' },
|
20
|
-
{ regex: / /g, value: ' ' },
|
21
|
-
{ regex: / /g, value: ' ' }
|
22
|
-
];
|
23
|
-
|
24
3
|
/**
|
25
4
|
* Child node utility.
|
26
5
|
*/
|
@@ -90,20 +69,4 @@ export default class CharacterDataUtility {
|
|
90
69
|
): string {
|
91
70
|
return characterData.data.substring(offset, offset + count);
|
92
71
|
}
|
93
|
-
|
94
|
-
/**
|
95
|
-
* Decodes unicode characters to text.
|
96
|
-
*
|
97
|
-
* @param html String.
|
98
|
-
* @returns Decoded HTML string.
|
99
|
-
*/
|
100
|
-
public static decodeHTMLEntities(html: string): string {
|
101
|
-
if (!html) {
|
102
|
-
return '';
|
103
|
-
}
|
104
|
-
for (const entity of HTML_ENTITIES) {
|
105
|
-
html = html.replace(entity.regex, entity.value);
|
106
|
-
}
|
107
|
-
return html;
|
108
|
-
}
|
109
72
|
}
|
@@ -30,7 +30,6 @@ import INamedNodeMap from '../../named-node-map/INamedNodeMap';
|
|
30
30
|
import Event from '../../event/Event';
|
31
31
|
import ElementUtility from './ElementUtility';
|
32
32
|
import HTMLCollection from './HTMLCollection';
|
33
|
-
import CharacterDataUtility from '../character-data/CharacterDataUtility';
|
34
33
|
import EventPhaseEnum from '../../event/EventPhaseEnum';
|
35
34
|
|
36
35
|
/**
|
@@ -208,7 +207,7 @@ export default class Element extends Node implements IElement {
|
|
208
207
|
result += childNode.textContent;
|
209
208
|
}
|
210
209
|
}
|
211
|
-
return
|
210
|
+
return result;
|
212
211
|
}
|
213
212
|
|
214
213
|
/**
|
@@ -253,7 +252,7 @@ export default class Element extends Node implements IElement {
|
|
253
252
|
* @returns HTML.
|
254
253
|
*/
|
255
254
|
public get outerHTML(): string {
|
256
|
-
return new XMLSerializer().serializeToString(this);
|
255
|
+
return new XMLSerializer({ escapeEntities: false }).serializeToString(this);
|
257
256
|
}
|
258
257
|
|
259
258
|
/**
|
@@ -340,10 +339,13 @@ export default class Element extends Node implements IElement {
|
|
340
339
|
* @returns HTML.
|
341
340
|
*/
|
342
341
|
public getInnerHTML(options?: { includeShadowRoots?: boolean }): string {
|
343
|
-
const xmlSerializer = new XMLSerializer(
|
342
|
+
const xmlSerializer = new XMLSerializer({
|
343
|
+
includeShadowRoots: options && options.includeShadowRoots,
|
344
|
+
escapeEntities: false
|
345
|
+
});
|
344
346
|
let xml = '';
|
345
347
|
for (const node of this.childNodes) {
|
346
|
-
xml += xmlSerializer.serializeToString(node
|
348
|
+
xml += xmlSerializer.serializeToString(node);
|
347
349
|
}
|
348
350
|
return xml;
|
349
351
|
}
|
@@ -50,10 +50,13 @@ export default class HTMLTemplateElement extends HTMLElement implements IHTMLTem
|
|
50
50
|
* @override
|
51
51
|
*/
|
52
52
|
public getInnerHTML(options?: { includeShadowRoots?: boolean }): string {
|
53
|
-
const xmlSerializer = new XMLSerializer(
|
53
|
+
const xmlSerializer = new XMLSerializer({
|
54
|
+
includeShadowRoots: options && options.includeShadowRoots,
|
55
|
+
escapeEntities: false
|
56
|
+
});
|
54
57
|
let xml = '';
|
55
58
|
for (const node of this.content.childNodes) {
|
56
|
-
xml += xmlSerializer.serializeToString(node
|
59
|
+
xml += xmlSerializer.serializeToString(node);
|
57
60
|
}
|
58
61
|
return xml;
|
59
62
|
}
|
@@ -24,7 +24,9 @@ export default class ShadowRoot extends DocumentFragment implements IShadowRoot
|
|
24
24
|
* @returns HTML.
|
25
25
|
*/
|
26
26
|
public get innerHTML(): string {
|
27
|
-
const xmlSerializer = new XMLSerializer(
|
27
|
+
const xmlSerializer = new XMLSerializer({
|
28
|
+
escapeEntities: false
|
29
|
+
});
|
28
30
|
let xml = '';
|
29
31
|
for (const node of this.childNodes) {
|
30
32
|
xml += xmlSerializer.serializeToString(node);
|
@@ -236,49 +236,13 @@ export default class SelectorItem {
|
|
236
236
|
|
237
237
|
priorityWeight += 10;
|
238
238
|
|
239
|
-
if (
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
case null:
|
247
|
-
if (attribute.value !== elementAttribute.value) {
|
248
|
-
return null;
|
249
|
-
}
|
250
|
-
break;
|
251
|
-
// [attribute~="value"] - Contains a specified word.
|
252
|
-
case '~':
|
253
|
-
if (!elementAttribute.value.split(' ').includes(attribute.value)) {
|
254
|
-
return null;
|
255
|
-
}
|
256
|
-
break;
|
257
|
-
// [attribute|="value"] - Starts with the specified word.
|
258
|
-
case '|':
|
259
|
-
if (!new RegExp(`^${attribute.value}[- ]`).test(elementAttribute.value)) {
|
260
|
-
return null;
|
261
|
-
}
|
262
|
-
break;
|
263
|
-
// [attribute^="value"] - Begins with a specified value.
|
264
|
-
case '^':
|
265
|
-
if (!elementAttribute.value.startsWith(attribute.value)) {
|
266
|
-
return null;
|
267
|
-
}
|
268
|
-
break;
|
269
|
-
// [attribute$="value"] - Ends with a specified value.
|
270
|
-
case '$':
|
271
|
-
if (!elementAttribute.value.endsWith(attribute.value)) {
|
272
|
-
return null;
|
273
|
-
}
|
274
|
-
break;
|
275
|
-
// [attribute*="value"] - Contains a specified value.
|
276
|
-
case '*':
|
277
|
-
if (!elementAttribute.value.includes(attribute.value)) {
|
278
|
-
return null;
|
279
|
-
}
|
280
|
-
break;
|
281
|
-
}
|
239
|
+
if (
|
240
|
+
attribute.value !== null &&
|
241
|
+
(elementAttribute.value === null ||
|
242
|
+
(attribute.regExp && !attribute.regExp.test(elementAttribute.value)) ||
|
243
|
+
(!attribute.regExp && attribute.value !== elementAttribute.value))
|
244
|
+
) {
|
245
|
+
return null;
|
282
246
|
}
|
283
247
|
}
|
284
248
|
|