/// import {Duplex, DuplexOptions} from 'node:stream'; import {Flushable, none} from 'stream-chain/defs.js'; export = jsoncStringer; /** * Creates a flushable function that converts a token stream (including JSONC * `whitespace` and `comment` tokens) back into JSONC text. * * Base tokens are handled identically to `stringer`. Whitespace and comment * tokens are output verbatim. * * @param options - Stringer configuration. * @returns A flushable function for use in a `chain()` pipeline. */ declare function jsoncStringer(options?: jsoncStringer.JsoncStringerOptions): Flushable; declare namespace jsoncStringer { /** Options for the JSONC Stringer. Extends Node.js `DuplexOptions`. */ export interface JsoncStringerOptions extends DuplexOptions { /** Initial value for `useKeyValues`, `useStringValues`, and `useNumberValues`. */ useValues?: boolean; /** Use packed `keyValue` tokens instead of streamed key chunks. Default: `false`. */ useKeyValues?: boolean; /** Use packed `stringValue` tokens instead of streamed string chunks. Default: `false`. */ useStringValues?: boolean; /** Use packed `numberValue` tokens instead of streamed number chunks. Default: `false`. */ useNumberValues?: boolean; /** Wrap all incoming JSON values in an array. Default: `false`. */ makeArray?: boolean; } /** Creates a JSONC Stringer as a Duplex stream. */ export function asStream(options?: JsoncStringerOptions): Duplex; /** Self-reference for destructuring: `const {stringer} = require('stream-json/jsonc/stringer.js')`. */ export {jsoncStringer as stringer}; /** Self-reference for destructuring: `const {jsoncStringer} = require('stream-json/jsonc/stringer.js')`. */ export {jsoncStringer}; }