Find intersecting ranges using Marzullo algorithm
TypeScript definitions for range-parser
Match BCP 47 language tags with language ranges per RFC 4647
Simple Semver and SemverRange classes
Gather string index ranges
Sort string index ranges
Take an array of string index ranges, delete/replace the string according to them
Merge and sort string index ranges
Takes a complex (i.e. self-intersecting) geojson polygon, and breaks it down into its composite simple, non-self-intersecting one-ring polygons.
Semantic versioning rules parser
CodeMirror extension for read-only ranges
For given polygon finds if any of segments intersect with each other
Better streaming static file server with Range and conditional-GET support
Line vs line, point vs line in 2D space
list of SPDX standard license ranges
A library for manipulating IPv4 and IPv6 addresses in JavaScript.
Selection range manipulation for contenteditable elements
> Some friendly semver range utilities
Get the Smallest and Largest Possible Numbers for a Typed Array
A point in polygon based on the paper Optimal Reliable Point-in-Polygon Test and Differential Coding Boolean Operations on Polygons
Compare semver version strings to find greater, equal or lesser.
Maps lines and columns to character offsets and back.
A regex to match any full character, considering weird character ranges.
Find the greatest satisfied semver range from an array of ranges.
A gem that adds range methods to Ruby's Range and Array classes. (Range#+, Range#-, Array#rangify, Array#intersection, Array#missing)
Allow you to manipulate a group of ranges. Such as merging overlapping ranges, doing ranges union, intersection, difference, and so on.
Time ranges Intersection, union, etc
The RangeWithGaps class lets you easily collect many ranges into one.You can perform logic operations such as union and intersection on ranges with gaps.
Few utilities include in all my projects, including a module for statistics, some to_date and to_time functions as well as intersection method for Range object.
The SparseRange class lets you easily collect many ranges into one.You can perform logic operations such as union and intersection on ranges with gaps. Can replace a standard range.
Allows one to assign random attributes to ranges and juggle them in lists. Also adds parsing from string, but most interesting when used in a PositionRange::List. In lists standard set operations can be applied to them, like addition, substraction and intersection. In addition one can also get the combined size of all the ranges in the list. And cluster overlapping ranges, maintaining the attributes.
It recognizes common abbreviations and misspellings for names of the books of the Bible and a variety of ways of denoting ranges of chapters and verses. It can parse pericopes singly or out of a block of text. It's useful for comparing two pericopes for intersection and normalizing them into a well-formatted string.
Boundy is a bounding and constraining library for any comparable types; it is like Ranges, but with much more flexibility. Boundy allows for the creation of bounded and partially-bounded intervals -- or domains. Boundy allows for these domains to be intersected, creating a new domain, which can be acted on further. I originally wrote Boundy for intersecting date ranges for reporting, but it should be useable for any Comparable types.
It recognizes common abbreviations and misspellings for names of the books of the Bible and a variety of ways of denoting ranges of chapters and verses. It can parse pericopes singly or out of a block of text. It's useful for comparing two pericopes for intersection and normalizing them into a well-formatted string.