|
10 | 10 | }
|
11 | 11 | }(typeof self !== 'undefined' ? self : this, function (isBrowser) {
|
12 | 12 |
|
13 |
| - |
14 | 13 | /*globals DOMParser*/
|
15 | 14 | function clickedElement() {
|
16 | 15 | document.addEventListener('click', e => {
|
|
33 | 32 | }
|
34 | 33 | }
|
35 | 34 |
|
| 35 | + const ObjectId = (rnd = r16 => Math.floor(r16).toString(16)) => |
| 36 | + rnd(Date.now()/1000) + ' '.repeat(16).replace(/./g, () => rnd(Math.random()*16)); |
| 37 | + |
36 | 38 | function dotNotationToObject(data, obj = {}) {
|
37 | 39 | try {
|
38 | 40 | for (const [key, value] of Object.entries(data)) {
|
|
98 | 100 | }
|
99 | 101 | }
|
100 | 102 |
|
| 103 | + function domParser(str) { |
| 104 | + try { |
| 105 | + var mainTag = str.match(/\<(?<tag>[a-z0-9]+)(.*?)?\>/).groups.tag; |
| 106 | + } catch (e){ |
| 107 | + // console.log(e, 'find position: can not find the main tag'); |
| 108 | + } |
| 109 | + let doc; |
| 110 | + switch (mainTag) { |
| 111 | + case 'html': |
| 112 | + doc = new DOMParser().parseFromString(str, "text/html"); |
| 113 | + return doc.documentElement; |
| 114 | + case 'body': |
| 115 | + doc = new DOMParser().parseFromString(str, "text/html"); |
| 116 | + return doc.body; |
| 117 | + case 'head': |
| 118 | + doc = new DOMParser().parseFromString(str, "text/html"); |
| 119 | + return doc.head; |
| 120 | + |
| 121 | + default: |
| 122 | + let con = document.createElement('dom-parser'); |
| 123 | + con.innerHTML = str; |
| 124 | + return con; |
| 125 | + } |
| 126 | + } |
| 127 | + |
101 | 128 | function parseTextToHtml(text) {
|
102 | 129 | let doc = new DOMParser().parseFromString(text, "text/html");
|
103 | 130 | if (doc.head.children[0]) return doc.head.children[0];
|
|
173 | 200 | return path;
|
174 | 201 | }
|
175 | 202 |
|
176 |
| - function domParser(str) { |
177 |
| - try { |
178 |
| - var mainTag = str.match(/\<(?<tag>[a-z0-9]+)(.*?)?\>/).groups.tag; |
179 |
| - } catch (e){ |
180 |
| - // console.log(e, 'find position: can not find the main tag'); |
181 |
| - } |
182 |
| - let doc; |
183 |
| - switch (mainTag) { |
184 |
| - case 'html': |
185 |
| - doc = new DOMParser().parseFromString(str, "text/html"); |
186 |
| - return doc.documentElement; |
187 |
| - case 'body': |
188 |
| - doc = new DOMParser().parseFromString(str, "text/html"); |
189 |
| - return doc.body; |
190 |
| - case 'head': |
191 |
| - doc = new DOMParser().parseFromString(str, "text/html"); |
192 |
| - return doc.head; |
193 |
| - |
194 |
| - default: |
195 |
| - let con = document.createElement('dom-parser'); |
196 |
| - con.innerHTML = str; |
197 |
| - return con; |
198 |
| - } |
199 |
| - } |
200 |
| - |
201 | 203 | function queryDocumentSelectorAll(selector) {
|
202 | 204 | let elements = [];
|
203 | 205 |
|
|
496 | 498 | clickedElement();
|
497 | 499 |
|
498 | 500 | return {
|
499 |
| - parseTextToHtml, |
| 501 | + ObjectId, |
500 | 502 | dotNotationToObject,
|
501 | 503 | getValueFromObject,
|
502 |
| - cssPath, |
503 | 504 | domParser,
|
| 505 | + parseTextToHtml, |
| 506 | + cssPath, |
504 | 507 | queryDocumentSelector,
|
505 | 508 | queryDocumentSelectorAll,
|
506 | 509 | queryData,
|
|
0 commit comments