moonrockz/gleam-parser/span does not have a README file
test {
let value = @span.ByteLength(1)
assert_eq(value.to_int(), 1)
}#alias(new, deprecated="Use `ByteLength::from_int(...)` instead")
fn ByteLength::from_int(value : Int) -> ByteLength?test {
let value = @span.ByteOffset(1)
assert_eq(value.to_int(), 1)
}#alias(new, deprecated="Use `ByteOffset::from_int(...)` instead")
fn ByteOffset::from_int(value : Int) -> ByteOffset?test {
debug_inspect(@span.ByteOffset::from_int(-1), content="None")
debug_inspect(
@span.ByteOffset::from_int(0),
content=(
#|Some({ value: 0 })
),
)
}test {
let offset = @span.ByteOffset::from_int(2).unwrap()
debug_inspect(offset.shift(-3), content="None")
debug_inspect(
offset.shift(1),
content=(
#|Some({ value: 3 })
),
)
}test {
let value = @span.ColumnNumber(1)
assert_eq(value.to_int(), 1)
}#alias(new, deprecated="Use `ColumnNumber::from_int(...)` instead")
fn ColumnNumber::from_int(value : Int) -> ColumnNumber?test {
let value = @span.LineCount(1)
assert_eq(value.to_int(), 1)
}test {
let value = @span.LineNumber(1)
assert_eq(value.to_int(), 1)
}#alias(new, deprecated="Use `LineNumber::from_int(...)` instead")
fn LineNumber::from_int(value : Int) -> LineNumber?test {
let position = @span.Position(2, 1)
assert_eq(position.line.to_int(), 2)
}test {
let position = @span.Position::at(
@span.LineNumber::from_int(2).unwrap(),
@span.ColumnNumber::from_int(1).unwrap(),
)
assert_eq(position, @span.Position::from_ints(2, 1).unwrap())
}test {
debug_inspect(@span.Position::from_ints(0, 1), content="None")
let position = @span.Position::from_ints(1, 2).unwrap()
assert_eq(position.column.to_int(), 2)
}test {
let span = @span.SrcSpan(2, 5)
assert_eq(span.length().map(n => n.to_int()), Some(3))
}test {
let location = @span.SrcSpan::eof(@span.ByteOffset::from_int(5).unwrap())
assert_eq(location.is_eof(), true)
assert_eq(location.length(), None)
}test {
debug_inspect(@span.SrcSpan::from_ints(3, 2), content="None")
let span = @span.SrcSpan::from_ints(2, 5).unwrap()
debug_inspect(span.length().map(n => n.to_int()), content="Some(3)")
}#alias(between, deprecated="Use `SrcSpan::from_offsets(...)` instead")
fn SrcSpan::from_offsets(start : ByteOffset, end : ByteOffset) -> SrcSpan?test {
let value = @span.Utf16Offset(1)
assert_eq(value.to_int(), 1)
}#alias(new, deprecated="Use `Utf16Offset::from_int(...)` instead")
fn Utf16Offset::from_int(value : Int) -> Utf16Offset?test {
debug_inspect(@span.Utf16Offset::from_int(-1), content="None")
debug_inspect(
@span.Utf16Offset::from_int(2),
content=(
#|Some({ value: 2 })
),
)
}Install
Download zipParser and parsing utilities for the Gleam programming language in MoonBit