# AbiParameter.from

Parses an arbitrary **JSON ABI Parameter** or **Human Readable ABI Parameter** into a typed [`AbiParameter.AbiParameter`](/api/AbiParameter/types#abiparameter).

## Imports

:::code-group
```ts [Named]
import { AbiParameter } from 'ox'
```

```ts [Entrypoint]
import * as AbiParameter from 'ox/AbiParameter'
```
:::

## Examples

### JSON Parameters

```ts twoslash
import { AbiParameter } from 'ox'

const parameter = AbiParameter.from({
  name: 'spender',
  type: 'address'
})

parameter
//^?
```

### Human Readable Parameters

```ts twoslash
import { AbiParameter } from 'ox'

const parameter = AbiParameter.from('address spender')

parameter
//^?
```

It is possible to specify `struct`s along with your definition:

```ts twoslash
import { AbiParameter } from 'ox'

const parameter = AbiParameter.from([
  'struct Foo { address spender; uint256 amount; }',
  'Foo foo'
])

parameter
//^?
```

## Definition

```ts
function from<parameter>(
  parameter: parameter | AbiParameter | string | readonly string[],
): from.ReturnType<parameter>
```

**Source:** [src/core/AbiParameter.ts](https://github.com/wevm/ox/blob/main/src/core/AbiParameter.ts#L127)

## Parameters

### parameter

* **Type:** `parameter | AbiParameter | string | readonly string[]`

The ABI Parameter to parse.

## Return Type

The typed ABI Parameter.

`from.ReturnType<parameter>`
