|
275 | 275 | // Init filter type field. |
276 | 276 | imageFilter[cObj.type] = {}; |
277 | 277 |
|
| 278 | + // Parse boolean type fields. |
| 279 | + if (cObj["value"] == "true" || cObj["value"] == "false") { |
| 280 | + imageFilter[cObj.type] = (cObj["value"] == "true"); |
| 281 | + return; |
| 282 | + } |
| 283 | + |
| 284 | + if (cObj.type == "orientation") { |
| 285 | + imageFilter[cObj.type]["value"] = cObj["value"].map(value => value.toUpperCase()); |
| 286 | + return; |
| 287 | + } |
| 288 | + |
| 289 | + if (cObj.type == "resolution") { |
| 290 | + imageFilter[cObj.type]["modifier"] = cObj["modifier"]; |
| 291 | + switch (cObj["value"]) { |
| 292 | + case "144p": |
| 293 | + imageFilter[cObj.type]["value"] = "VERY_LOW"; |
| 294 | + break; |
| 295 | + case "240p": |
| 296 | + imageFilter[cObj.type]["value"] = "LOW"; |
| 297 | + break; |
| 298 | + case "360p": |
| 299 | + imageFilter[cObj.type]["value"] = "R360P"; |
| 300 | + break; |
| 301 | + case "480p": |
| 302 | + imageFilter[cObj.type]["value"] = "STANDARD"; |
| 303 | + break; |
| 304 | + case "720p": |
| 305 | + imageFilter[cObj.type]["value"] = "WEB_HD"; |
| 306 | + break; |
| 307 | + case "720p": |
| 308 | + imageFilter[cObj.type]["value"] = "STANDARD_HD"; |
| 309 | + break; |
| 310 | + case "1080p": |
| 311 | + imageFilter[cObj.type]["value"] = "FULL_HD"; |
| 312 | + break; |
| 313 | + case "1440p": |
| 314 | + imageFilter[cObj.type]["value"] = "QUAD_HD"; |
| 315 | + break; |
| 316 | + case "4k": |
| 317 | + imageFilter[cObj.type]["value"] = "FOUR_K"; |
| 318 | + break; |
| 319 | + case "5k": |
| 320 | + imageFilter[cObj.type]["value"] = "FIVE_K"; |
| 321 | + break; |
| 322 | + case "6k": |
| 323 | + imageFilter[cObj.type]["value"] = "SIX_K"; |
| 324 | + break; |
| 325 | + case "7k": |
| 326 | + imageFilter[cObj.type]["value"] = "SEVEN_K"; |
| 327 | + break; |
| 328 | + case "8k": |
| 329 | + imageFilter[cObj.type]["value"] = "EIGHT_K"; |
| 330 | + break; |
| 331 | + } |
| 332 | + return; |
| 333 | + } |
| 334 | + |
278 | 335 | // Get all keys (except for "type"). |
279 | 336 | var keys = Object.keys(cObj); |
280 | 337 | keys.splice(keys.indexOf("type"), 1); |
|
285 | 342 | // Special parsing for object type "value" fields (used where there's possibly a value and value2) |
286 | 343 | var keys2 = Object.keys(cObj[keyName]); |
287 | 344 | keys2.forEach((keyName2) => { |
288 | | - imageFilter[cObj.type][keyName2] = cObj[keyName][keyName2]; |
| 345 | + if (keyName2 == "items") { |
| 346 | + // Parse tag values. |
| 347 | + imageFilter[cObj.type]["value"] = [] |
| 348 | + cObj[keyName][keyName2].forEach((keyValue) => { |
| 349 | + imageFilter[cObj.type]["value"].push(keyValue.id); |
| 350 | + }); |
| 351 | + } else if (keyName2 == "excluded") { |
| 352 | + // Parse excluded tags. |
| 353 | + imageFilter[cObj.type]["excludes"] = [] |
| 354 | + cObj[keyName][keyName2].forEach((keyValue) => { |
| 355 | + imageFilter[cObj.type]["excludes"].push(keyValue.id); |
| 356 | + }); |
| 357 | + } else { |
| 358 | + imageFilter[cObj.type][keyName2] = cObj[keyName][keyName2]; |
| 359 | + } |
289 | 360 | }); |
290 | 361 | } else { |
291 | 362 | imageFilter[cObj.type][keyName] = cObj[keyName]; |
|
0 commit comments