diff --git a/packages/page-rpc/src/Rpc/Results.tsx b/packages/page-rpc/src/Rpc/Results.tsx index bf7d012c29..9cf11ca31a 100644 --- a/packages/page-rpc/src/Rpc/Results.tsx +++ b/packages/page-rpc/src/Rpc/Results.tsx @@ -2,11 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 import type { QueueTx } from '@polkadot/react-components/Status/types'; -import type { Codec } from '@polkadot/types/types'; import React from 'react'; import { Output } from '@polkadot/react-components'; +import valueToText from '@polkadot/react-params/valueToText'; import { isUndefined } from '@polkadot/util'; interface Props { @@ -32,7 +32,7 @@ function Results ({ queue = [] }: Props): React.ReactElement | null { value={ error ? error.message - :
{JSON.stringify((result as Codec).toHuman(), null, 2).replace(/"/g, '').replace(/\\/g, '').replace(/\],\[/g, '],\n[')}
+ :
{valueToText('', result, false)}
} /> ))} diff --git a/packages/page-storage/src/Query.tsx b/packages/page-storage/src/Query.tsx index 6decc0623c..ecaf92f610 100644 --- a/packages/page-storage/src/Query.tsx +++ b/packages/page-storage/src/Query.tsx @@ -63,9 +63,9 @@ function createComponent (type: string, Component: React.ComponentType, def return { Component, // In order to modify the parameters which are used to render the default component, we can use this method - refresh: (swallowErrors: boolean, contentShorten: boolean): React.ComponentType => + refresh: (contentShorten: boolean): React.ComponentType => renderHelper( - (value: any) =>
{valueToText(type, value, swallowErrors, contentShorten)}
, + (value: any) =>
{valueToText(type, value, contentShorten)}
, defaultProps ), // In order to replace the default component during runtime we can provide a RenderFn to create a new 'plugged' component @@ -123,7 +123,7 @@ function getCachedComponent (query: QueryTypes): CacheInstance { const defaultProps = { className: 'ui--output' }; const Component = renderHelper( // By default we render a simple div node component with the query results in it - (value: any) =>
{valueToText(type, value, true, true)}
, + (value: any) =>
{valueToText(type, value, true)}
, defaultProps ); diff --git a/packages/react-params/src/valueToText.tsx b/packages/react-params/src/valueToText.tsx index 6dfee8416f..3986c1026e 100644 --- a/packages/react-params/src/valueToText.tsx +++ b/packages/react-params/src/valueToText.tsx @@ -34,18 +34,22 @@ function formatKeys (keys: [ValidatorId, Keys][]): string { } function toHuman (value: Codec | Codec[]): unknown { - // eslint-disable-next-line @typescript-eslint/unbound-method return isFunction((value as Codec).toHuman) ? (value as Codec).toHuman() - : (value as Codec[]).map(toHuman); + : Array.isArray(value) + ? value.map((v) => toHuman(v)) + : value.toString(); } function toString (value: any): string { - return JSON.stringify(value, null, 2).replace(/"/g, '').replace(/\\/g, '').replace(/\],\[/g, '],\n['); + return JSON + .stringify(value, null, 2) + .replace(/"/g, '') + .replace(/\\/g, '') + .replace(/\],\[/g, '],\n['); } -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export default function valueToText (type: string, value: Codec | undefined | null, swallowError = true, contentShorten = true): React.ReactNode { +export default function valueToText (type: string, value: Codec | undefined | null, contentShorten = true): React.ReactNode { if (isNull(value) || isUndefined(value)) { return div({}, ''); }