# @suaveplan/bitpacker-validation - Bitpacker validation plugin ## Summary Safety limits and validation reports for bitpacker schemas. ## Documentation tree - [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_ - [register-schemas](./src/register-schemas/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [register-schemas](./src/register-schemas/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [safety](./src/safety/safety.md) — _(no submodules)_ - [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - [safety](./src/safety/safety.md) — _(no submodules)_ - [types](./src/types/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types](./src/types/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types.schema](./src/types.schema/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [types.schema](./src/types.schema/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [utils](./src/utils/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… - [utils](./src/utils/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… - [validation](./src/validation/validation.md) — _(no submodules)_ - validator — Stateful validator for a fixed `BitPack… - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - [validation](./src/validation/validation.md) — _(no submodules)_ - validator — Stateful validator for a fixed `BitPack… - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [instruments](./src/otel/instruments.md) — _(no submodules)_- [safety](./src/safety/safety.md) — _(no submodules)_- [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [types](./src/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types.schema](./src/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [utils](./src/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… - [instruments](./src/otel/instruments.md) — _(no submodules)_- [safety](./src/safety/safety.md) — _(no submodules)_- [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [types](./src/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types.schema](./src/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [utils](./src/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… - [instruments](./src/otel/instruments.md) — _(no submodules)_- [safety](./src/safety/safety.md) — _(no submodules)_- [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [types](./src/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types.schema](./src/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [utils](./src/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… - [instruments](./src/otel/instruments.md) — _(no submodules)_- [safety](./src/safety/safety.md) — _(no submodules)_ - [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_ - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - [validation](./src/validation/validation.md) — _(no submodules)_ - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [types](./src/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… - [types.schema](./src/types.schema.md) — Zod schemas for the two configuration shapes accepted by `@suaveplan/bitpacker-validation`'s public surface: `BitPacker… - [utils](./src/utils.md) — Type guards and shape-checks shared across the `@suaveplan/bitpacker-validation` validators. These are the cheap, commo… ## Install ```bash bun add @suaveplan/bitpacker-validation ``` ## Usage ```typescript import { SafetyLimits, ValidationReport } from "@suaveplan/bitpacker-validation"; const limits = new SafetyLimits({ maxBits: 64, maxStringLength: 1024 }); const report = new ValidationReport(); report.addWarning("schema", "Large array may exceed budget"); report.addError("schema", "Unsupported type"); ``` ## Modules - `src/index.ts` — `SafetyLimits`, `ValidationReport`