Polyconv

TypeScript

Use Polyconv's focused ESM packages in Node.js 22+ applications.

Install only the conversion surface you need. Packages ship TypeScript declarations and tree-shakeable exports.

JSON Converters

import {
  formatJson,
  jsonToCsv,
  jsonToQueryString,
  jsonToToml,
  jsonToXml,
  jsonToYaml,
} from "@polyconv/json";

const input = '{"name":"polyconv","version":"0.3.1"}';

const xml = jsonToXml(input, { rootName: "package", pretty: true });
const yaml = jsonToYaml(input, { pretty: true, sortKeys: true });
const toml = jsonToToml(input, { sortKeys: true });
const csv = jsonToCsv('[{"name":"polyconv","version":"0.3.1"}]');
const query = jsonToQueryString('{"q":"polyconv","tag":["json","cli"]}');
const formatted = formatJson(input, { indent: 2, sortKeys: true });

TOML To JSON

import { tomlToJson } from "@polyconv/toml";

const toml = 'name = "polyconv"\n\n[config]\nenabled = true\n';

const json = tomlToJson(toml, {
  pretty: true,
  indent: 2,
  sortKeys: true,
});

Converter Classes

Converter classes expose conversion results with format metadata.

import { JsonToXmlConverter } from "@polyconv/json";

const converter = new JsonToXmlConverter();
const result = converter.convert('{"name":"polyconv"}', { pretty: true });

console.log(result.data);
console.log(result.format);

Error Handling

import { ConversionError } from "@polyconv/core";
import { jsonToXml } from "@polyconv/json";

try {
  const xml = jsonToXml("{bad");
  console.log(xml);
} catch (error) {
  if (error instanceof ConversionError) {
    console.error(error.toString());
    console.error(error.sourceFormat);
    console.error(error.targetFormat);
  }
}

On this page