|
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