use crate::ast::Value;
use crate::error::{Error, Result, Span};
use crate::lazy::LazyParser;
impl<'a> LazyParser<'a> {
pub(super) fn parse_string(&mut self, span: Span) -> Result<Value> {
let content = self.parse_string_content(span)?;
Ok(Value::String(content))
}
pub(super) fn parse_string_content(&self, span: Span) -> Result<String> {
let string_slice = &self.input[span.start..span.end];
if string_slice.len() < 2 {
return Err(Error::UnterminatedString(span.start));
}
let content = &string_slice[1..string_slice.len() - 1];
Ok(content.to_string())
}
}