Class: JSON5::LineMap
- Inherits:
-
Object
- Object
- JSON5::LineMap
- Defined in:
- lib/json5/line_map.rb
Instance Method Summary collapse
-
#initialize(source) ⇒ LineMap
constructor
A new instance of LineMap.
- #line_column(byte_offset) ⇒ Object
- #position(byte_offset) ⇒ Object
Constructor Details
Instance Method Details
#line_column(byte_offset) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/json5/line_map.rb', line 17 def line_column(byte_offset) validate_byte_offset!(byte_offset) next_line = @line_starts.bsearch_index { |start_byte| start_byte > byte_offset } if crlf_middle?(byte_offset) return [next_line + 1, 1] end line_index = (next_line || @line_starts.length) - 1 [line_index + 1, column_at(@line_starts.fetch(line_index), byte_offset)] end |