Configuration 

T3Toon can be configured through the TYPO3 Extension Manager (Install Tool) or by passing per-call options via EncodeOptions and DecodeOptions.

Access configuration 

Navigate to Admin Tools > Settings > Extension Configuration and select T3Toon – Token-Efficient Data Format for TYPO3 AI.

Extension configuration options 

Escape style 

Type

string

Default

backslash

Description

The style used for escaping special characters in TOON format.

Available options: * backslash — Use backslash escaping (e.g. Hello\, world)

Minimum rows for tabular format 

Type

integer

Default

2

Description

Minimum number of rows required before converting arrays to tabular format.

When arrays have at least this many items with the same structure, they are converted to a more compact tabular format:

items[2]{id,done}:
  1,false
  2,true
Copied!

Maximum preview items 

Type

integer

Default

200

Description

Maximum number of items to preview in nested structures.

This prevents extremely large arrays from generating unreadable output.

Coerce scalar types 

Type

boolean

Default

1 (enabled)

Description

Automatically convert string representations of booleans and numbers

When enabled: ``"true"`` → ``true`` (boolean) "false"false (boolean) ``"123"`` → ``123`` (integer) "45.67"45.67 (float)

Programmatic defaults (code) 

The following options are used by the service with defaults in code when not set in Extension Configuration:

  • indent (int, default 2) — Spaces per indentation level
  • delimiter (string, default ',') — Field delimiter for tabular rows (comma or tab)
  • primitive_array_header (bool, default false) — Emit primitive arrays as [N]: v1,v2,v3 (spec-style)

Per-call options 

You can override encoding and decoding behavior per call using EncodeOptions and DecodeOptions instead of changing global configuration. See Options (EncodeOptions & DecodeOptions).

Programmatic access 

use RRP\T3Toon\Utility\ToonHelper;

$config = ToonHelper::getConfig();
// Returns full config including defaults:
// [
//     'indent' => 2,
//     'delimiter' => ',',
//     'escape_style' => 'backslash',
//     'min_rows_to_tabular' => 2,
//     'max_preview_items' => 200,
//     'coerce_scalar_types' => true,
//     'primitive_array_header' => false,
// ]

$merged = ToonHelper::getConfigMerged(['indent' => 4]);
// Merges overrides with extension config (e.g. for one-off encoding).
Copied!