sui-explorer-local
Version:
Local Sui Explorer
33 lines (30 loc) • 884 B
text/typescript
// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
import { type SuiArgument } from '@mysten/sui.js/client';
export function flattenSuiArguments(data: (SuiArgument | SuiArgument[])[]): string {
if (!data) {
return '';
}
return data
.map((value) => {
if (value === 'GasCoin') {
return value;
} else if (Array.isArray(value)) {
return `[${flattenSuiArguments(value)}]`;
} else if (value === null) {
return 'Null';
} else if (typeof value === 'object') {
if ('Input' in value) {
return `Input(${value.Input})`;
} else if ('Result' in value) {
return `Result(${value.Result})`;
} else if ('NestedResult' in value) {
return `NestedResult(${value.NestedResult[0]}, ${value.NestedResult[1]})`;
}
} else {
throw new Error('Not a correct flattenable data');
}
return '';
})
.join(', ');
}