> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# op

> TypeScript SDK reference

# op

▸ **op**\<`T`>(`fn`, `options?`): [`Op`](../type-aliases/op)\<`T`>

#### Type parameters

| Name | Type                                   |
| :--- | :------------------------------------- |
| `T`  | extends (...`args`: `any`\[]) => `any` |

#### Parameters

| Name       | Type              |
| :--------- | :---------------- |
| `fn`       | `T`               |
| `options?` | `OpOptions`\<`T`> |

#### Returns

[`Op`](../type-aliases/op)\<`T`>

#### Defined in

[op.ts:381](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/op.ts#L381)

▸ **op**\<`T`>(`thisArg`, `fn`, `options?`): [`Op`](../type-aliases/op)\<`T`>

#### Type parameters

| Name | Type                                   |
| :--- | :------------------------------------- |
| `T`  | extends (...`args`: `any`\[]) => `any` |

#### Parameters

| Name       | Type              |
| :--------- | :---------------- |
| `thisArg`  | `any`             |
| `fn`       | `T`               |
| `options?` | `OpOptions`\<`T`> |

#### Returns

[`Op`](../type-aliases/op)\<`T`>

#### Defined in

[op.ts:386](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/op.ts#L386)

▸ **op**(`target`, `propertyKey`, `descriptor`): `TypedPropertyDescriptor`\<`any`>

#### Parameters

| Name          | Type                              |
| :------------ | :-------------------------------- |
| `target`      | `Object`                          |
| `propertyKey` | `string` \| `symbol`              |
| `descriptor`  | `TypedPropertyDescriptor`\<`any`> |

#### Returns

`TypedPropertyDescriptor`\<`any`>

#### Defined in

[op.ts:392](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/op.ts#L392)

▸ **op**\<`T`>(`value`, `context`): [`Op`](../type-aliases/op)\<`T`>

#### Type parameters

| Name | Type                                   |
| :--- | :------------------------------------- |
| `T`  | extends (...`args`: `any`\[]) => `any` |

#### Parameters

| Name      | Type                     |
| :-------- | :----------------------- |
| `value`   | `T`                      |
| `context` | `MethodDecoratorContext` |

#### Returns

[`Op`](../type-aliases/op)\<`T`>

#### Defined in

[op.ts:398](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/op.ts#L398)

▸ **op**(`options`): `MethodDecorator`

#### Parameters

| Name      | Type                            |
| :-------- | :------------------------------ |
| `options` | `Partial`\<`OpOptions`\<`any`>> |

#### Returns

`MethodDecorator`

#### Defined in

[op.ts:403](https://github.com/wandb/weave/blob/62f1e46098095776ee29b730ad10b3b3d1a68307/sdks/node/src/op.ts#L403)

***
