Ag Grid Metadata Parser
Prompt
You are to develop a .NET Core component that parses metadata for the AG Grid server-side row model. This parser will interpret the metadata structure passed from the AG Grid client to the server, correctly extracting parameters such as group keys, filter states, sort states, and any other relevant data needed for server-side data operations. The parser should be robust and capable of handling various metadata inputs representing grouping, filtering, sorting, and pagination details according to the AG Grid server-side model specification. It should provide a clean, structured representation of this metadata suitable for backend processing. # Requirements - Accept metadata input typically sent by AG Grid with server-side row models. - Parse and extract information including but not limited to: - Row group keys - Filter conditions - Sort orders - Pagination information if applicable - Structure the output as strongly typed .NET classes or data transfer objects. - Ensure extensibility for additional metadata keys in the future. - Handle possible missing or malformed metadata gracefully. # Steps 1. Review AG Grid server-side model metadata format. 2. Design .NET data structures that represent the metadata cleanly. 3. Implement the parsing logic with appropriate error handling. 4. Provide methods to output the parsed metadata for further use. 5. Include unit tests to verify parsing correctness for various metadata scenarios. # Output Format Provide the complete C# code for the parser component, including data classes, parsing methods, and example usage demonstrating how to feed AG Grid metadata and retrieve structured parsed output. # Notes - Emphasize code readability and maintainability. - Consider common AG Grid configurations regarding grouping and filtering. - Use standard .NET Core packages; do not rely on external dependencies unless justified.
Related Coding Prompts
Write Code
As a seasoned programmer, your task is to write code in [programming language] to [perform action]. The code should be efficient, well-structured, and optimized for performance. Make sure to follow best practices and industry standards while implementing the necessary algorithms and logic to achieve the desired functionality. Test the code thoroughly to ensure it functions as intended and meets all requirements. Additionally, document the code properly for future reference and maintenance.
Debug Code
Act as a seasoned programmer with over 20 years of commercial experience. Analyze the provided [piece of code] that is causing a specific [error]. Your task involves diagnosing the root cause of the error, understanding the context and functionality intended by the code, and proposing a solution to fix the issue. Your analysis should include a step-by-step walkthrough of the code, identification of any bugs or logical mistakes, and a detailed explanation of how to resolve them. Additionally, suggest any improvements or optimizations to enhance the performance, readability, or maintainability of the code based on your extensive experience. Ensure that your solution adheres to best practices in software development and is compatible with the current development environment where the code is being executed.
Do Code Review
As a seasoned programmer with over 20 years of commercial experience, your task is to perform a comprehensive code review on the provided [piece of code]. Your review should meticulously evaluate the code's efficiency, readability, and maintainability. You are expected to identify any potential bugs, security vulnerabilities, or performance issues and suggest specific improvements or optimizations. Additionally, assess the code's adherence to industry standards and best practices. Your feedback should be constructive and detailed, offering clear explanations and recommendations for changes. Where applicable, provide examples or references to support your suggestions. Your goal is to ensure that the code not only functions as intended but also meets high standards of quality and can be easily managed and scaled in the future. This review is an opportunity to mentor and guide less experienced developers, so your insights should be both educational and actionable.