copybook-options 0.4.3

Configuration option contracts shared across copybook codec workflows
Documentation

copybook-options

Configuration primitives for copybook codec behavior.

Overview

Defines the DecodeOptions and EncodeOptions structs that control record format, codepage, JSON number mode, raw capture, zoned encoding preferences, and float format. These option types are the shared configuration surface used by the codec and CLI layers.

Usage

use copybook_options::{DecodeOptions, RecordFormat, JsonNumberMode, Codepage};

let options = DecodeOptions::new()
    .with_format(RecordFormat::Fixed)
    .with_codepage(Codepage::CP037)
    .with_json_number_mode(JsonNumberMode::Lossless)
    .with_threads(4);

Public API

  • DecodeOptions / EncodeOptions — Builder-pattern configuration structs
  • RecordFormatFixed or RDW
  • JsonNumberModeLossless or Native
  • RawModeOff, Record, Field, RecordRDW
  • FloatFormatIeeeBigEndian or IbmHex
  • Codepage / UnmappablePolicy / ZonedEncodingFormat — Re-exported charset types

RawMode variants

Variant Description
Off No raw payload captured (default)
Record Capture record payload bytes in __raw_b64
RecordRDW Capture RDW header + payload bytes in __raw_b64
Field Capture per-field raw values in <FIELD_NAME>__raw_b64

License

AGPL-3.0-or-later