Conversation
Implements core utility functions (Camelify, Dive, Get, Joins, Pinify, Entity, Order, Stringify, Decircular) as a Go package with full test coverage matching the TypeScript test suite. https://claude.ai/code/session_01FsVS8sfCXgTsFVVNE3vGvV
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new Go utility package (
util) that provides a collection of helper functions for common operations on maps, strings, and data structures. The package is a Go implementation of utility functions, likely ported from a TypeScript/JavaScript codebase.Key Changes
String manipulation functions:
Camelify()/CamelifySlice()- Convert kebab-case strings to PascalCasePinify()- Convert path slices to pin notation with alternating separatorsJoins()- Join array elements with hierarchical separatorsMap/data traversal functions:
Dive()- Traverse nested maps to a specified depth, returning path-value pairsGet()/GetPath()- Retrieve deeply nested values using dot-separated or slice pathsEntity()- Extract entity field validation from a model structureData transformation functions:
Order()- Order and filter maps of items with support for sorting (alphabetical, human-readable), exclusion, and inclusion specsStringify()- Convert values to JSON stringsDecircular()- Create deep copies of nested structuresComprehensive test suite covering all functions with edge cases including nil handling, empty inputs, and complex nested structures
Notable Implementation Details
strings.Builderfor efficient string concatenationtoString()helperalpha$,human$) for flexible orderinghttps://claude.ai/code/session_01FsVS8sfCXgTsFVVNE3vGvV