Conversation
|
@jacobparry I just updated a few things and you'll need to rebase (sorry about that). The functionality of the Ecto.UXID module that was removed also lives in the main I updated the Could you check to see if using this GitHub repo in your |
fcc88df to
192af08
Compare
|
Your idea of just changing the .t() function to map to a string is good. I had thought of that but didn't know if you had typed the struct to it specifically for a reason. I updated my PR and took out the extra ecto_type stuff since that is redundant now with the change of the type string. I left all the decoder work in and extra tests and everything. |
|
I just updated a couple of things (including formatting), could you rebase again? I'd love to get this merged in. |
Features added: - Complete UXID decode functionality with uppercase/lowercase support - New UXID.Decoder module with full pipeline processing - Enhanced Ecto ParameterizedType with case and delimiter support - Comprehensive test coverage (40 passing tests) Technical improvements: - Support for decoding both regular and prefixed UXIDs - Consistent Codec-based architecture integration - Updated benchmark compatibility - Enhanced tooling versions (.tool-versions, Gemfile.lock) This maintains full compatibility with the upstream Codec architecture while adding valuable decode capabilities not present in upstream. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Looks good - thanks for this! |
Summary
UXID.EctoTypemodule with proper typing fortyped_ecto_schemacompatibility https://github.com/bamorim/typed_ecto_schemaChanges Made
lib/uxid/decoder.ex) - supports both uppercase and lowercase UXIDsUXID.decode/1function while preserving existing APIcaseoption from v2.0+Implementation Details
Case Support
caseparameterTest Coverage
Usage Examples