Registry / RepositoryTypeScriptRustPython
Rollpie
ReadmeFiles
Versions
Info
Download
0.1.023.4 KB2026-09-14
Version
0.1.0
Copyright
Rollpie, Irohabook
Publisher
math
Published
2026-09-14
Size
23.4 KB
Downloads
1
Checksum
298d198fbc3fc0aecbe6668651a0d3beefb7ff2d1a098483af80cc924d925bdd
Dependencies
None

value.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//! 値の木。
//!
//! 入力の文字列を指したまま持つ。数値と、エスケープのない文字列には、新しい String を作らない。
//! オブジェクトのキーは出てきた順に並べる。

use std::borrow::Cow;


/// JSON の値。'a は入力の文字列のライフタイム。
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Value<'a> {
	Null,
	Bool(bool),
	/// 入力の字面をそのまま指す。1.50 も 1E5 も桁の多い整数も、そのまま書き戻す
	Number(&'a str),
	/// エスケープを解いたあとの文字列。入力にエスケープがなければ、入力をそのまま指す
	String(Cow<'a, str>),
	Array(Vec<Value<'a>>),
	/// キーと値の組を、出てきた順に並べる。同じキーが 2 回あれば両方とも残す
	Object(Vec<(Cow<'a, str>, Value<'a>)>),
}