Skip to content

Release v7.15.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 13:57
897858d

Summary

Introduces a Coordinate record type representing geographic locations with longitude and latitude properties. Includes JSON converters for both C# and TypeScript with proper validation and comprehensive documentation.

Added

  • Coordinate record in Cratis.Geospatial namespace with Longitude and Latitude properties
  • CoordinateJsonConverter for C# JSON serialization with property name conversion and validation
  • TypeScript Coordinate class with @field decorators and serialization support
  • JSON serializer type converters in TypeScript with validation requiring both coordinate properties
  • Comprehensive test coverage for serialization, deserialization, and error handling in both C# and TypeScript
  • Documentation for C# usage at Documentation/csharp/serialization/geospatial_coordinate.md
  • Documentation for TypeScript usage at Documentation/typescript/coordinate.md

Example Usage

C#:

using Cratis.Geospatial;
using System.Text.Json;

var coordinate = new Coordinate(10.5, 20.3);
var json = JsonSerializer.Serialize(coordinate);
// {"longitude":10.5,"latitude":20.3}

TypeScript:

import { Coordinate, JsonSerializer } from '@cratis/fundamentals';

const coordinate = new Coordinate(10.5, 20.3);
const json = JsonSerializer.serialize(coordinate);
// {"longitude":10.5,"latitude":20.3}