# APIMatic Schema Library for JavaScript SDKs

This package provides utilities for creating schema for different types, along with serialization information.

The exported functionality includes:

* **Bidirectional Data Transformation & Validation**: Transforms data between external API formats (JSON/XML) and internal TypeScript types, validates before mapping or unmapping, and reports errors with detailed path information.
* **Object Schema Variants**: Offers strict, flexible, and expandable object parsing options, including support for typing additional properties.
* **Schema Modifiers & Utilities**: Supports optional and nullable values, array and dictionary validation, default values, and constant value schemas.
* **Union Type Handling**: Enables exclusive (oneOf) and inclusive (anyOf) unions, along with discriminated unions for efficient schema selection.
* **XML Processing**: Maps XML attributes and elements, supports custom naming, and provides specialized XML validation and transformation methods.
* **Core Validation Functions**: Validates and maps/unmaps JSON and XML for serialization and deserialization.

This library is used by JavaScript SDKs generated by the [APIMatic Code Generator](http://www.apimatic.io). For details on supported platforms and build artifacts, see the [Build and Usage Section](https://github.com/apimatic/apimatic-js-runtime?tab=readme-ov-file#builds-and-usage).
