# gt-node: General Translation Node.js SDK: decodeOptions
URL: https://generaltranslation.com/ru/docs/node/reference/functions/decode-options.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Восстанавливает закодированные параметры из сообщения, закодированного с помощью General Translation. Справочник API для decodeOptions.

Декодирует объект параметров, который [`msg`](/docs/node/reference/functions/msg) встроил в закодированное сообщение. Используйте это, чтобы просмотреть метаданные и переменные интерполяции, содержащиеся в закодированном сообщении.

## Обзор [#overview]

Передайте в `decodeOptions` закодированное сообщение. Эта функция разбирает его и возвращает объект параметров или `null`, если сообщение не содержит закодированных параметров или не поддаётся разбору.

```ts
import { msg, decodeOptions } from 'gt-node';

const encoded = msg('Hello, {name}!', { name: 'Brian' });
console.log(decodeOptions(encoded));
// { name: 'Brian', $_source: 'Hello, {name}!', $_hash: '...' }
```

Сигнатура:

```ts
decodeOptions(encodedMsg: string): TranslationOptions | null
```

## Как это работает [#how-it-works]

* **Разбиение по разделителю.** Закодированное сообщение имеет вид `interpolatedContent:encodedOptions`. `decodeOptions` считывает сегмент после последнего двоеточия, декодирует его из base64 и разбирает JSON-параметры.
* **Результат `null`.** Если в сообщении нет двоеточия-разделителя или закодированный сегмент не удаётся разобрать, функция возвращает `null`.

## Параметры [#parameters]

| Параметр                     | Описание                                                  | Type     | Необязательный | По умолчанию |
| ---------------------------- | --------------------------------------------------------- | -------- | -------------- | ------------ |
| [`encodedMsg`](#encoded-msg) | Закодированное сообщение, из которого читаются параметры. | `string` | Нет            | —            |

### `encodedMsg` [#encoded-msg]

**Тип** `string` · **Обязательно**

Сообщение, которое нужно декодировать; обычно это значение, возвращаемое [`msg`](/docs/node/reference/functions/msg).

## Возвращаемое значение [#returns]

**Тип** `TranslationOptions | null`

Декодированный объект параметров, включая переменные интерполяции и метаданные, такие как `$_source` и `$_hash`, либо `null`, если декодировать нечего.

## Примеры [#examples]

```ts
import { msg, decodeOptions } from 'gt-node';

const encoded = msg('You have {count} messages', { count: 3 });
const options = decodeOptions(encoded);
console.log(options?.count); // 3

console.log(decodeOptions('Plain text')); // null
```

## Заметки [#notes]

* Чтобы прочитать содержимое сообщения, а не его параметры, используйте [`decodeMsg`](/docs/node/reference/functions/decode-msg).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
