|
142 | 142 | }
|
143 | 143 | }
|
144 | 144 |
|
145 |
| - function getValueFromObject(object, path) { |
| 145 | + function getValueFromObject(object = {}, path = '', throwError = false) { |
146 | 146 | try {
|
147 |
| - if (!object || !path) |
148 |
| - // throw new Error("Invalid input to getValueFromObject"); |
| 147 | + if (!Object.keys(object).length || !path) { |
| 148 | + if (throwError) |
| 149 | + throw new Error("Invalid input to getValueFromObject"); |
149 | 150 | return
|
150 | 151 |
|
| 152 | + } |
| 153 | + |
151 | 154 | path = path.replace(/\[(\d+)\]/g, '.$1');
|
152 | 155 |
|
153 | 156 | let data = object, subpath = path.split('.');
|
154 | 157 |
|
155 | 158 | for (let i = 0; i < subpath.length; i++) {
|
156 |
| - // if (!(subpath[i] in data)) |
157 |
| - // throw new Error("Key not found in object: " + subpath[i]); |
| 159 | + if (throwError && !(subpath[i] in data)) |
| 160 | + throw new Error("Key not found in object: " + subpath[i]); |
158 | 161 |
|
159 | 162 | data = data[subpath[i]];
|
160 | 163 | if (!data)
|
|
164 | 167 | return data;
|
165 | 168 | } catch (error) {
|
166 | 169 | console.error("Error in getValueFromObject:", error);
|
167 |
| - // throw error; |
| 170 | + if (throwError) |
| 171 | + throw error; |
168 | 172 | }
|
169 | 173 | }
|
170 | 174 |
|
171 |
| - function isObjectEmpty(obj) { |
172 |
| - for (var x in obj) { return false } |
173 |
| - return true; |
174 |
| - } |
175 |
| - |
176 | 175 | function domParser(str) {
|
177 | 176 | try {
|
178 | 177 | var mainTag = str.match(/\<(?<tag>[a-z0-9]+)(.*?)?\>/).groups.tag;
|
|
602 | 601 | // if (!data.hasOwnProperty(key))
|
603 | 602 | // return false
|
604 | 603 |
|
605 |
| - let dataValue = getValueFromObject(data, key) |
| 604 | + let dataValue |
| 605 | + try { |
| 606 | + dataValue = getValueFromObject(data, key, true) |
| 607 | + } catch (error) { |
| 608 | + |
| 609 | + } |
606 | 610 |
|
607 | 611 | if (typeof query[key] === 'string' || typeof query[key] === 'number' || typeof query[key] === 'boolean') {
|
608 | 612 | if (Array.isArray(dataValue))
|
|
897 | 901 | isValidDate,
|
898 | 902 | dotNotationToObject,
|
899 | 903 | getValueFromObject,
|
900 |
| - isObjectEmpty, |
901 | 904 | domParser,
|
902 | 905 | parseTextToHtml,
|
903 | 906 | escapeHtml,
|
|
0 commit comments