Refactor analytics client with Ajv improvements#8191
Open
Sujaicodes wants to merge 1 commit intosegmentio:developfrom
Open
Refactor analytics client with Ajv improvements#8191Sujaicodes wants to merge 1 commit intosegmentio:developfrom
Sujaicodes wants to merge 1 commit intosegmentio:developfrom
Conversation
Updated Ajv import and initialization, improved validation error handling, and optimized the Typewriter client API.
✅ Deploy Preview for segment-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
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.
Updated Ajv import and initialization, improved validation error handling, and optimized the Typewriter client API.
Proposed changes
Updated Ajv import and initialization to use a single shared instance instead of creating a new instance for every validation call.
Optimized schema validation performance by compiling schemas once and reusing the compiled validators.
Improved validation error handling to provide clearer warnings and better debugging information when analytics events do not match the Tracking Plan schema.
Refactored parts of the Typewriter client API to reduce repeated logic and improve maintainability without changing existing behavior.
Ensured the client continues to forward events correctly to the underlying analytics instance.
These changes improve performance, maintainability, and developer debugging experience while keeping the runtime behavior and public API unchanged.
This change focuses on performance optimization and internal improvements to the generated Typewriter client.