pub struct NodeId(pub String);Expand description
Layout-graph node id: node/<kebab> (spec-0049 §3.1). A place — a
room, a courtyard, a stretch of shore, a cavern — named before any
coordinate exists. Unique within the layout graph.
Tuple Fields§
§0: StringImplementations§
Source§impl NodeId
impl NodeId
Sourcepub fn is_valid_syntax(&self) -> bool
pub fn is_valid_syntax(&self) -> bool
True if the id is well-formed: <prefix>/<kebab>.
Sourcepub fn syntax_form(&self) -> String
pub fn syntax_form(&self) -> String
The form THIS id has to take, for the diagnostic that rejected
one — `npc/<kebab>`, `dlg/<kebab>`, and so on.
A refusal that says only “ids must be lowercase kebab-case with
their type prefix” and then lists three examples of other types
has told the author the general rule and withheld the one fact
they were missing: which prefix THIS field takes. The prefix is
a property of the id type, so the answer is derived from the
type at every site rather than hand-written per site — the
per-section refusals that already name their own prefix
(wave/, trap/, loot/, …) are that fact copied by hand,
which is exactly why the general path never had it.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for NodeId
impl<'de> Deserialize<'de> for NodeId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for NodeId
Source§impl JsonSchema for NodeId
impl JsonSchema for NodeId
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more