@0xobelisk/sui-client 1.0.9 → 1.0.10

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.
package/dist/index.js CHANGED
@@ -1072,24 +1072,46 @@ var ContractDataParsingError = class extends Error {
1072
1072
  };
1073
1073
 
1074
1074
  // src/libs/suiIndexerClient/utils.ts
1075
- var parseValue = (value) => {
1076
- if (typeof value !== "string") {
1077
- return value;
1078
- }
1079
- try {
1080
- const parsed = JSON.parse(value);
1081
- if (typeof parsed === "object" && parsed !== null) {
1082
- if ("variant" in parsed) {
1083
- return parsed.variant;
1084
- }
1085
- if ("fields" in parsed) {
1086
- return parsed.fields;
1075
+ var parseData = (data) => {
1076
+ if (typeof data !== "object" || data === null) {
1077
+ return data;
1078
+ }
1079
+ if (Array.isArray(data)) {
1080
+ return data.map((item) => parseData(item));
1081
+ }
1082
+ const parsedData = {};
1083
+ for (const key in data) {
1084
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
1085
+ const value = data[key];
1086
+ if (typeof value === "object" && value !== null) {
1087
+ if ("variant" in value) {
1088
+ parsedData[key] = value.variant;
1089
+ } else if ("fields" in value) {
1090
+ parsedData[key] = parseData(value.fields);
1091
+ } else {
1092
+ parsedData[key] = parseData(value);
1093
+ }
1094
+ } else {
1095
+ parsedData[key] = value;
1087
1096
  }
1088
1097
  }
1089
- return parsed;
1090
- } catch (error) {
1098
+ }
1099
+ return parsedData;
1100
+ };
1101
+ var parseValue = (value) => {
1102
+ if (typeof value !== "object" || value === null) {
1091
1103
  return value;
1092
1104
  }
1105
+ if (Array.isArray(value)) {
1106
+ return value.map((item) => parseValue(item));
1107
+ }
1108
+ if ("variant" in value) {
1109
+ return value.variant;
1110
+ }
1111
+ if ("fields" in value) {
1112
+ return parseData(value.fields);
1113
+ }
1114
+ return parseData(value);
1093
1115
  };
1094
1116
 
1095
1117
  // src/libs/suiIndexerClient/index.ts