Function tokens_to_source

Source
pub fn tokens_to_source(tokens: &Vec<Token>) -> String
Expand description

Generate a String from a Vec of Tokens

This function is complementary with source_to_tokens. The typical workflow is to use source_to_tokens to generate a Vec of tokens, do something to modify it ( e.g., add/remove/replace tokens) then use this function to turn it back into JSON5 source.

ยงExamples

use json_five::{source_to_tokens, tokens_to_source};
use json_five::rt::tokenize::Token;
use json_five::tokenize::TokType::Whitespace;

let tokens = source_to_tokens("  {my: 'json5'}  ").unwrap();

// remove all Whitespace tokens
let new_tokens:Vec<Token> = tokens.into_iter().filter(|tok| tok.tok_type != Whitespace).collect();

// turn tokens back into source
let new_source = tokens_to_source(&new_tokens);
assert_eq!(new_source, String::from("{my:'json5'}"))