drapcode-utility 2.5.1 → 2.5.2-preview

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.
@@ -408,19 +408,21 @@ const parseJsonString = (str) => {
408
408
  exports.parseJsonString = parseJsonString;
409
409
  const parseValueFromData = (data, fieldName) => {
410
410
  let value = "";
411
+ let valueIndex = "";
412
+ let valueIndexFieldName = "";
411
413
  if (fieldName && fieldName.includes(".")) {
412
414
  let fullNameParts = fieldName.split(".");
413
415
  let prefix = "";
414
- let stack = data || "";
416
+ let stack = data || {};
415
417
  for (let k = 0; k < fullNameParts.length; k++) {
416
418
  prefix = fullNameParts[k];
417
- if (Array.isArray(stack)) {
419
+ if (stack && Array.isArray(stack)) {
418
420
  stack[prefix] = stack.map((item) => {
419
421
  if (item[prefix])
420
422
  return item[prefix];
421
423
  });
422
424
  }
423
- if (stack && stack[prefix] === undefined) {
425
+ if (stack && !stack[prefix]) {
424
426
  stack[prefix] = "";
425
427
  }
426
428
  stack = stack[prefix];
@@ -430,14 +432,57 @@ const parseValueFromData = (data, fieldName) => {
430
432
  value = value.filter(() => true);
431
433
  }
432
434
  }
435
+ else if (fieldName && fieldName.includes("[")) {
436
+ //Todo: Need to Refactor
437
+ let fullNameParts = fieldName.split("[");
438
+ let prefix = "";
439
+ let stack = data || {};
440
+ for (let k = 0; k < fullNameParts.length - 1; k++) {
441
+ const cValue = fullNameParts[k];
442
+ const nValue = fullNameParts[k + 1];
443
+ prefix = cValue ? (!cValue.includes("]") ? cValue : "") : "";
444
+ valueIndex = nValue
445
+ ? nValue.includes("]")
446
+ ? nValue.split("]")[0]
447
+ : nValue
448
+ : "";
449
+ if (stack && Array.isArray(stack)) {
450
+ stack[prefix] = stack.map((item) => {
451
+ if (item[prefix])
452
+ return item[prefix];
453
+ });
454
+ }
455
+ if (stack && !stack[prefix]) {
456
+ stack[prefix] = "";
457
+ }
458
+ stack = valueIndex ? stack[prefix][valueIndex] : stack[prefix];
459
+ if (fieldName.includes("]:")) {
460
+ valueIndexFieldName = nValue.split("]:")[1];
461
+ if (valueIndexFieldName) {
462
+ stack = stack[valueIndexFieldName];
463
+ }
464
+ }
465
+ }
466
+ value = stack ? stack : "";
467
+ if (Array.isArray(value)) {
468
+ value = value.filter(() => true);
469
+ }
470
+ }
433
471
  else {
434
472
  value = data ? data[fieldName] : "";
435
473
  }
474
+ if (value && Array.isArray(value) && value.length === 1)
475
+ return value[0];
436
476
  if (value && Array.isArray(value) && typeof value[0] === "string") {
437
- return value.join(", ");
477
+ return value.join(",");
438
478
  }
439
- if (typeof value !== undefined && typeof value === "number") {
440
- return value.toString();
479
+ if (!value || value == "undefined" || value === "undefined") {
480
+ if (value === 0) {
481
+ value = "0";
482
+ }
483
+ else {
484
+ value = "";
485
+ }
441
486
  }
442
487
  return value;
443
488
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drapcode-utility",
3
- "version": "2.5.1",
3
+ "version": "2.5.2-preview",
4
4
  "description": "DrapCode Utility",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -42,9 +42,9 @@
42
42
  "axios": "^1.1.2",
43
43
  "date-fns": "^4.1.0",
44
44
  "dompurify": "^3.1.7",
45
- "drapcode-constant": "^2.0.2",
46
- "drapcode-logger": "^1.3.5",
47
- "drapcode-redis": "^1.4.9",
45
+ "drapcode-constant": "^2.0.3-preview",
46
+ "drapcode-logger": "^1.3.5-preview",
47
+ "drapcode-redis": "^1.5.0-preview",
48
48
  "exiftool-vendored": "^28.2.1",
49
49
  "express": "^4.17.1",
50
50
  "gm": "^1.25.0",