23 个仓库
Parses retrieved hash fields into application-defined data structures using field tags to automate data mapping and object hydration.
Distinct from Data Mapping: Distinct from Data Mapping: focuses on the specific process of object hydration from hash fields using struct tags.
Explore 23 awesome GitHub repositories matching data & databases · Struct Hydrators. Refine with filters or upvote what's useful.
This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha
Parses retrieved hash fields into application-defined data structures using field tags to automate data mapping and object hydration.
Dapper is a high-performance micro-ORM and SQL object mapper for .NET. It functions as an ADO.NET extension library that adds data mapping capabilities directly to database connections, allowing SQL query results to be transformed into typed objects. The project prioritizes execution speed and low memory overhead by using intermediate language generation to map database columns to object properties. It further optimizes performance through the use of concurrent caching for mapping functions and literal value injection to improve database execution plans. The library covers a broad range of d
Deserializes a single database row into several distinct objects to handle joined data and associations.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
Enforces data integrity by selectively exposing struct fields.
sqlx is a set of extensions for the Go database/sql package that reduces boilerplate code by automating the mapping of database query results directly into structs and slices. It provides a wrapper around standard database types to eliminate manual row scanning and repetitive error handling. The project distinguishes itself through named parameter binding and query placeholder rebinding, which translate generic markers into driver-specific symbols. It also enables dynamic SQL execution by allowing the application to read and execute SQL statements directly from the filesystem. The library co
Uses Go reflection to automatically match database column names to struct fields via custom tags or naming conventions.
This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au
Automatically maps database result rows to strongly-typed application objects.
This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data. The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pip
Derives GraphQL argument definitions directly from native Go struct properties to simplify input handling.
This project is an educational blog and learning resource dedicated to the Rust programming language. It provides a collection of curated guides, technical articles, and structured learning paths designed to teach language fundamentals, concurrency, and systems programming. The repository distinguishes itself by offering practical implementation tutorials for complex systems. This includes detailed guides on compiler development—specifically translating source code into targets such as ARM64, x86_64, LLVM IR, and WebAssembly—as well as networking examples for building multithreaded chat serve
Demonstrates transforming database query results into strongly-typed language structures using derive macros.
mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags
Directly populates the memory addresses of target structures from generic maps using Go reflection.
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
Demonstrates restricting access to data fields within a structure to encapsulate internal implementation details.
go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory. The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers. The to
Reorders fields within a struct to minimize padding and reduce the overall memory footprint.
CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types
Declares struct fields visible to both languages from a single source of truth, eliminating manual synchronization.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Maps Elixir structs to database tables using declarative field definitions with type casting.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Defines the language's struct field visibility model with per-field pub annotations.
Rust-bindgen is a build-time foreign function interface binding generator and C header parser designed to automate cross-language interoperability. It functions as a tool to bridge Rust with C, C++, and Objective-C libraries by producing platform-specific declarations during the compilation process. The project distinguishes itself through its ability to handle complex C-family language constructs, including C++ inheritance and methods, as well as Objective-C classes and protocols. It ensures binary compatibility across different architectures by calculating target-aware memory layouts and va
Restricts access to structure fields by setting them as private to enforce data invariants.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Employs the splat operator to provide default values to struct initializers.
Anchor is a framework for building, testing, and deploying Solana smart contracts. It provides a Rust domain-specific language (DSL) that uses macro‑based instruction dispatch and derive‑macro account validation to automate ownership checks, discriminator enforcement, and serialization before instruction execution. The framework also includes a CLI toolchain for scaffolding, compiling, and managing contracts across workspaces, a test harness that simulates program execution with account manipulation and compute unit benchmarking, and an IDL generator that emits a standardized JSON interface fr
Reads instruction arguments from within Solana account structs by listing them in handler order.
Bun 是一个 Go 语言的类型安全对象关系映射器(ORM),优先考虑 SQL 优先的查询构建和结果映射。它作为一个可编程 SQL 查询构建器、数据库连接管理器以及将数据库表映射到 Go 结构体的工具。 该项目通过多方言 SQL 支持系统脱颖而出,允许单个代码库通过一致的接口与不同的数据库引擎交互。它包括一个用于查询拦截、分布式跟踪和日志记录的内置数据库可观测性工具,以及一个用于版本化结构变更的模式迁移工具。 该库涵盖了广泛的数据操作,包括批量处理、Upsert、软删除以及多态关联等关系数据的管理。它提供使用公用表表达式(CTE)和窗口函数进行高级 SQL 分析的功能,以及原子事务管理和连接池。 模式管理通过用于应用版本化迁移脚本的命令行界面支持。
Automatically transforms database result sets into strongly-typed Go structures by matching columns to fields.
Prost 是一个 Rust 语言的 Protocol Buffers 实现,作为二进制序列化框架和代码生成器使用。它将模式定义转换为符合 Rust 习惯的结构体(structs)和枚举(enums),并提供将结构化数据编码和解码为 Protocol Buffers 二进制格式所需的逻辑。 该项目的特色在于其 no-std 实现,使其能够在缺乏标准库的嵌入式或内核环境中运行。它还通过发出文件描述符集(file descriptor sets)充当模式内省器,从而支持在运行时对原始模式定义进行程序化分析。 该库涵盖了广泛的功能,包括用于接口建模的服务 trait 生成、对已知类型的支持,以及用于映射手动类型定义的程序宏注解。它还提供了依赖管理和模糊测试工具,以确保序列化的稳定性。
Translates Protocol Buffer schema files into idiomatic Rust structs and enums for type safety.
Kimai is an open-source time tracking system that records employee working hours, manages absences, and generates professional invoices from recorded timesheets and expenses. It organizes all time records through a mandatory three-level hierarchy of customer, project, and activity, and supports project budget monitoring with configurable time and money limits. The application is extensible through a plugin system that allows adding custom features, invoice templates, reporting views, and dashboard widgets without modifying core files. It provides a RESTful JSON API for programmatic read and w
Controls whether custom fields appear in exports, API responses, or data tables.
Strawberry 是一个用于 Python 的类型安全 GraphQL 库,支持使用 Python 类型注解和数据类(dataclasses)来设计 Schema。它作为一个异步 GraphQL 服务器和执行引擎,提供了将 Schema 暴露给 ASGI 兼容 Web 框架(如 FastAPI、Django、Flask 和 Litestar)的桥梁。 该项目实现了 GraphQL Federation,允许创建分布式 Schema 和实体,并将它们合并为跨多个服务的统一超图(supergraph)。它还包含一个专用的 Relay 规范工具包,支持全局对象标识和基于连接的分页。 该框架涵盖了广泛的能力,包括通过 WebSocket 和服务器发送事件(SSE)进行实时数据流传输、Pydantic 模型映射以及自动代码生成。它为安全性和可观测性提供了集成工具,例如查询复杂度限制、基于角色的访问控制(RBAC)和执行指标追踪。 开发者可以使用内置的开发服务器和交互式 Schema 检查界面进行原型设计。
Controls field visibility in the schema by overriding retrieval logic to support different access levels.