verifies if a given longitude and latitude are valid
A Javascript function for reading a variety of coordinate formats and converting to decimal numbers. Builds on other efforts by returning the verbatim coordinates and the decimal coordinates all in one object.
A function to check whether a prop is valid for HTML and SVG elements
return all coordinates from a geojson object
The primary entrypoint to the Firebase JS SDK
Copy a descriptor from object A to object B
Brand checking of React Elements.
Libraries of geodesy functions
JSON for Humans
Measures the straight-line distance between two points, like cities or landmarks.
Scale of Cartesian Coordinates
validate and sanity-check geojson files
Find self-intersections in geojson polygon (possibly with interior rings)
Return true if a value is a valid glob pattern or patterns.
Detect if a string is a data URL
Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.
string-argv parses a string into an argument array to mimic process.argv. This is useful when testing Command Line Utilities that you want to pass arguments to.
TypeScript definitions for d3-polygon
Give me a string and I'll tell you if it's a valid npm package name
Convert a string to a valid JavaScript identifier
Returns true if a value has the characteristics of a valid JavaScript data descriptor.
Remove aliases from a GraphQL document
A library for manipulating IPv4 and IPv6 addresses in JavaScript.
A [JSONSchema](https://json-schema.org/) validator that uses code generation to be extremely fast.
Generates a valid RANDOM US city, state, zipcode and coordinate pair.
This gem allows to generate a random coordinate and to validate its position in a given area (e. g. avoid lake, sea, etc.). This is useful for obtaining locations by reverse geocoding.
A Ruby gem that provides geographic lookup functionality using both GeoBoundaries.org and Geonames.org datasets. Features include coordinate validation with radian/degree detection, spatial containment queries, distance-based lookups, and data coverage analysis utilities.
Parse and generate Portable Action Notation (PAN) strings for representing atomic actions in abstract strategy board games including chess, shogi, xiangqi, and others. PAN provides an intuitive operator-based syntax with six core operators: "-" (move to empty square), "+" (capture), "~" (special moves with side effects), "*" (drop to board), "." (drop with capture), and "=" (in-place transformation), plus "..." (pass turn). Supports coordinates via CELL specification and piece identifiers via EPIN specification. Handles transformations ("e7-e8=Q"), enhanced/diminished states ("+R", "-P"), and style derivation markers ("K'"). Provides comprehensive validation, immutable action objects, and functional API design. Examples: "e2-e4" (move), "d1+f3" (capture), "e1~g1" (castling), "P*e5" (drop), "e7-e8=Q" (promotion), "..." (pass), "+d4" (static capture), "e4=+P" (modify).
LCN (Location Condition Notation) provides a rule-agnostic format for describing location conditions in abstract strategy board games. This gem implements the LCN Specification v1.0.0 with a modern Ruby interface featuring immutable condition objects and functional programming principles. LCN enables standardized representation of environmental constraints on board locations using reserved keywords ("empty", "enemy") and QPI piece identifiers with CELL coordinate system integration. Perfect for movement validation, pre-condition checking, constraint evaluation, and rule-agnostic game logic requiring precise location state requirements across multiple game types and traditions.
PMN (Portable Move Notation) provides a rule-agnostic, JSON-based format for describing the mechanical decomposition of moves in abstract strategy board games. This gem implements the PMN Specification v1.0.0 with a functional Ruby interface, breaking down complex movements into sequences of atomic actions while remaining completely independent of specific game rules. PMN reveals the underlying mechanics of any board game move through sequential action decomposition, supporting both explicit and inferred piece specifications. Built on CELL (coordinate encoding), HAND (reserve notation), and QPI (piece identification) specifications, it enables universal move representation across chess variants, shōgi, xiangqi, and any abstract strategy game. Perfect for game engines, move validators, and board game analysis tools.