@0xobelisk/sui-client 1.0.9 → 1.1.0

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.mjs CHANGED
@@ -1046,24 +1046,46 @@ var ContractDataParsingError = class extends Error {
1046
1046
  };
1047
1047
 
1048
1048
  // src/libs/suiIndexerClient/utils.ts
1049
- var parseValue = (value) => {
1050
- if (typeof value !== "string") {
1051
- return value;
1052
- }
1053
- try {
1054
- const parsed = JSON.parse(value);
1055
- if (typeof parsed === "object" && parsed !== null) {
1056
- if ("variant" in parsed) {
1057
- return parsed.variant;
1058
- }
1059
- if ("fields" in parsed) {
1060
- return parsed.fields;
1049
+ var parseData = (data) => {
1050
+ if (typeof data !== "object" || data === null) {
1051
+ return data;
1052
+ }
1053
+ if (Array.isArray(data)) {
1054
+ return data.map((item) => parseData(item));
1055
+ }
1056
+ const parsedData = {};
1057
+ for (const key in data) {
1058
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
1059
+ const value = data[key];
1060
+ if (typeof value === "object" && value !== null) {
1061
+ if ("variant" in value) {
1062
+ parsedData[key] = value.variant;
1063
+ } else if ("fields" in value) {
1064
+ parsedData[key] = parseData(value.fields);
1065
+ } else {
1066
+ parsedData[key] = parseData(value);
1067
+ }
1068
+ } else {
1069
+ parsedData[key] = value;
1061
1070
  }
1062
1071
  }
1063
- return parsed;
1064
- } catch (error) {
1072
+ }
1073
+ return parsedData;
1074
+ };
1075
+ var parseValue = (value) => {
1076
+ if (typeof value !== "object" || value === null) {
1065
1077
  return value;
1066
1078
  }
1079
+ if (Array.isArray(value)) {
1080
+ return value.map((item) => parseValue(item));
1081
+ }
1082
+ if ("variant" in value) {
1083
+ return value.variant;
1084
+ }
1085
+ if ("fields" in value) {
1086
+ return parseData(value.fields);
1087
+ }
1088
+ return parseData(value);
1067
1089
  };
1068
1090
 
1069
1091
  // src/libs/suiIndexerClient/index.ts