awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

28 个仓库

Awesome GitHub RepositoriesUser-Defined Types

Custom types created by the programmer to extend the set of available primitive types.

Distinct from Primitive Type Utilities: Candidates focus on formatters or restrictions rather than the general concept of defining custom types.

Explore 28 awesome GitHub repositories matching programming languages & runtimes · User-Defined Types. Refine with filters or upvote what's useful.

Awesome User-Defined Types GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • reasonml/reasonreasonml 的头像

    reasonml/reason

    10,313在 GitHub 上查看↗

    Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie

    Allows the grouping of named values and methods into structured object types.

    OCamljavascriptocamlprogramming-language
    在 GitHub 上查看↗10,313
  • gibbok/typescript-bookgibbok 的头像

    gibbok/typescript-book

    10,317在 GitHub 上查看↗

    The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source.

    Teaches how to define the shape and constraints of data using static types to catch errors before runtime.

    JavaScriptbookfreejavascript
    在 GitHub 上查看↗10,317
  • rust-lang/rust-by-examplerust-lang 的头像

    rust-lang/rust-by-example

    8,026在 GitHub 上查看↗

    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

    Teaches the use of both primitive and custom-defined types to represent data.

    Handlebars
    在 GitHub 上查看↗8,026
  • penrose/penrosepenrose 的头像

    penrose/penrose

    7,949在 GitHub 上查看↗

    Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi

    Defines the kinds of objects that can appear in a diagram, establishing the vocabulary for the visual domain.

    TypeScriptdiagramsdomain-specific-languagemathematics
    在 GitHub 上查看↗7,949
  • arktypeio/arktypearktypeio 的头像

    arktypeio/arktype

    7,780在 GitHub 上查看↗

    Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida

    Allows the creation of composite types by extending or intersecting multiple object definitions.

    TypeScriptjavascriptparsingruntime-typechecking
    在 GitHub 上查看↗7,780
  • plantuml-stdlib/c4-plantumlplantuml-stdlib 的头像

    plantuml-stdlib/C4-PlantUML

    7,327在 GitHub 上查看↗

    C4-PlantUML is a code-driven library that generates C4 model software architecture diagrams from PlantUML source text. It provides a set of reusable macros for creating system context, container, component, and deployment diagrams, enabling architects and developers to describe and communicate software architecture using the C4 model notation directly from diagram-as-code source files. The library distinguishes itself through hierarchical element nesting, which builds diagrams by nesting elements inside boundaries using PlantUML's rectangle and package constructs, and layout-direction control

    Supports creating dynamic C4 diagrams that model interaction sequences between system elements.

    PlantUMLarchitecturec4c4model
    在 GitHub 上查看↗7,327
  • mobxjs/mobx-state-treemobxjs 的头像

    mobxjs/mobx-state-tree

    7,050在 GitHub 上查看↗

    MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera

    Declares typed properties with defaults for state models, a fundamental part of model definition.

    TypeScripthacktoberfestmobxmobx-state-tree
    在 GitHub 上查看↗7,050
  • yuin/gopher-luayuin 的头像

    yuin/gopher-lua

    6,933在 GitHub 上查看↗

    Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It serves as an embedded scripting engine and virtual machine that allows Go applications to execute Lua scripts and exchange data between the host and the script environment. The project provides a bytecode compiler to transform source code into a binary format for faster execution. It enables deep integration between the two languages by allowing the registration of native Go functions to be called from scripts, and the invocation of script functions directly from Go. The engine c

    Enables the definition of custom data types and behaviors using user-defined data and metatables.

    Gogogopher-lualua
    在 GitHub 上查看↗6,933
  • joe-bell/cvajoe-bell 的头像

    joe-bell/cva

    6,849在 GitHub 上查看↗

    cva is a TypeScript utility for defining and resolving visual variants for UI components with full type safety. It generates CSS class strings from typed variant definitions, enabling compile-time validation of component usage by deriving the union of all variant prop types from a configuration object. The library distinguishes itself through compound variant matching, which activates styles only when multiple independent variant conditions are simultaneously satisfied, merging their class names. It also provides default value propagation to ensure consistent rendering when no explicit varian

    Defines component variants as typed objects so the compiler catches invalid combinations before runtime.

    TypeScriptclass-variance-authorityclassnameclassnames
    在 GitHub 上查看↗6,849
  • deap/deapDEAP 的头像

    DEAP/deap

    6,336在 GitHub 上查看↗

    Provides a flexible type system for defining custom chromosomes and individuals in evolutionary algorithms.

    Python
    在 GitHub 上查看↗6,336
  • microsoft/typespecmicrosoft 的头像

    microsoft/typespec

    5,781在 GitHub 上查看↗

    TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas

    Creates a shorthand name for a complex type expression, simplifying syntax without affecting the type graph.

    Javajson-schemaopenapi3protobuf
    在 GitHub 上查看↗5,781
  • kaorun343/vue-property-decoratorkaorun343 的头像

    kaorun343/vue-property-decorator

    5,473在 GitHub 上查看↗

    本项目是一个 TypeScript 驱动的工具包,为构建 Vue.js 组件提供了装饰器和基于类的结构。它作为一个包装器,用基于类的库替换了标准的选项 API 对象配置,允许开发者使用类型化属性定义组件逻辑、状态和元数据。 该工具包专注于使用 TypeScript 装饰器将类属性映射到组件选项(如 props、models 和 watchers)。它支持类型驱动的 prop 验证,并为管理响应式状态同步和组件通信提供了结构化语法。 该库涵盖了广泛的功能领域,包括通过依赖注入实现的分层数据共享、双向模型绑定以及属性变更观察。它还包含用于创建 HTML 元素或子组件实例的类型化引用,以便进行直接操作。

    Defines input properties for components with expected types and default values.

    TypeScriptdecoratorstypescriptvue
    在 GitHub 上查看↗5,473
  • brianvoe/gofakeitbrianvoe 的头像

    brianvoe/gofakeit

    5,306在 GitHub 上查看↗

    gofakeit is a Go library for creating realistic synthetic datasets and populating Go structs with mock information. It functions as a deterministic data generator, allowing for seedable random number generation to ensure reproducible datasets for software testing. The project distinguishes itself by providing a mock data API server that exposes generation functions as HTTP endpoints and a synthetic dataset exporter for producing files in CSV, JSON, and XML formats. It also includes a command-line interface for generating mock data directly from the terminal. The library covers a wide array o

    Allows developers to define custom fake data logic by implementing specific Go interfaces.

    Godatafakegenerator
    在 GitHub 上查看↗5,306
  • realpython/materialsrealpython 的头像

    realpython/materials

    5,173在 GitHub 上查看↗

    本项目是一个全面的 Python 编程教育材料合集,包括教程、练习与精选代码示例。它作为一个学习课程与软件工程工具包,利用 Jupyter Notebooks 将可执行代码与描述性教育文本相结合。 该仓库提供了构建大语言模型应用的实践指南,例如检索增强生成(RAG)系统、有状态 AI 代理与机器学习工作流。它通过提供结构化的代理编码工作流脱颖而出,涵盖了上下文窗口蒸馏、与提供商无关的模型路由以及模式强制的结构化输出。 这些材料涵盖了广泛的软件工程能力,包括使用分布式任务队列的异步编程、使用 REST API 的 Web 应用开发以及数据分析工作流。它还包括用于掌握面向对象设计、实现 CI/CD 流水线以及应用专业 Linting 与格式化标准的资源。

    Determine an object's class or check if an object is an instance of a type.

    Jupyter Notebook
    在 GitHub 上查看↗5,173
  • shader-slang/slangshader-slang 的头像

    shader-slang/slang

    5,039在 GitHub 上查看↗

    Slang is a shader compiler framework that combines a modular shading language with automatic differentiation, multi-target code generation, and an intrinsic mapping and extension system. At its core, Slang provides a differentiable shader compiler that automatically generates forward and backward derivative propagation for functions with control flow, enabling gradient-based optimization in graphics. The framework also includes a fully featured shader language with modules, generics, interfaces, and separate compilation, all designed for building reusable shader libraries. From a single source

    Replaces declared structs or types with target-specific types in generated output for direct use of native library types.

    C++cudad3d12glsl
    在 GitHub 上查看↗5,039
  • mailru/easyjsonmailru 的头像

    mailru/easyjson

    4,892在 GitHub 上查看↗

    easyjson 是一个高性能的 Go JSON 序列化器和内存优化解析器。它提供了一个无反射的代码生成器,可创建用于编组和解组数据的静态 Go 方法,消除了对运行时反射的需求,从而提高了执行速度。 该库通过多种优化策略减少了 CPU 和内存开销。它采用可重用内存缓冲池系统来最小化堆分配和垃圾回收压力。此外,它利用字符串驻留 (String interning) 来去重重复值,并使用零拷贝字符串引用来指向现有缓冲区段,而不是分配新字符串。 该项目涵盖了高性能 JSON 处理、静态代码生成和高级内存管理,以优化 Go 结构体与 JSON 之间的数据转换。

    Maps JSON fields to struct members using generated logic tailored to the specific data schema.

    Gocode-generationgolangjson
    在 GitHub 上查看↗4,892
  • microsoft/typescript-handbookmicrosoft 的头像

    microsoft/TypeScript-Handbook

    4,855在 GitHub 上查看↗

    该项目是 TypeScript 语言的综合指南和教育资源。它涵盖了该语言的基本原则,包括其结构化类型系统、静态类型分析以及将类型化源文件转译为 JavaScript 的过程。 该材料详细介绍了如何使用泛型、条件类型和映射类型来建模复杂数据和可重用的类型逻辑。它还解释了如何使用声明文件为外部 JavaScript 库提供类型安全,以及如何通过 JSDoc 注释将类型检查集成到现有的 JavaScript 项目中。 内容范围扩展到面向对象编程模式、DOM 操作和编译器行为配置。它包括关于管理模块互操作性、设置构建管线以及利用编辑器智能以提高开发者生产力的指导。

    Provides instructions on using interfaces and intersections to compose and extend object types.

    JavaScriptdocumentationlearntypescript
    在 GitHub 上查看↗4,855
  • ballercat/waltballercat 的头像

    ballercat/walt

    4,639在 GitHub 上查看↗

    Walt 是一种转译器和类型化语言,可将类似 JavaScript 的语法转换为 WebAssembly 二进制格式。它作为开发浏览器和运行时高性能逻辑的工具链,通过将类型化源代码翻译为 WebAssembly 文本格式来实现。 该项目包含一个与打包器集成的加载器,可在构建过程中自动重新编译源文件。它提供了一个线性内存管理器,用于在连续堆中定义自定义数据布局、结构体和内存分配器。 该语言支持定义的函数签名、数值类型,以及导出函数和全局变量或从宿主环境导入外部函数的能力。它通过二进制内存偏移量实现了函数闭包、函数指针和结构化数据组织的使用。

    Provides the ability to create user-defined function and object types to guide the compiler.

    JavaScriptcompilerjavascriptwebassembly
    在 GitHub 上查看↗4,639
  • facebook/buck2facebook 的头像

    facebook/buck2

    4,360在 GitHub 上查看↗

    Buck2 是一款可编程的 monorepo 构建工具和 hermetic 构建系统,专为管理具有复杂目标图和多语言依赖的大型项目而设计。它充当远程执行框架和依赖图分析器,提供工件缓存引擎,以确保在不同环境下构建结果的可复现性和一致性。 该系统通过增量计算引擎脱颖而出,仅重新计算依赖图中因变更而失效的特定节点。它利用基于内容的寻址存储进行构建工件缓存,并支持远程执行竞速(remote execution racing),即同时在本地和远程执行构建操作,以返回最快的结果。 其功能涵盖多语言构建自动化、工具链抽象以及用于管理跨平台构建变体的基于约束的配置。该项目还包括用于图内省和变更检测的构建可观测性工具,以及用于限制目标可见性的访问控制机制。

    Combines attribute specifications with implementation functions to create new types of buildable targets.

    Rust
    在 GitHub 上查看↗4,360
  • luals/lua-language-serverLuaLS 的头像

    LuaLS/lua-language-server

    4,298在 GitHub 上查看↗

    lua-language-server 是一个 Lua 语言的静态分析工具和类型检查器,实现了语言服务器协议 (LSP)。它提供了一套用于检测源文件中类型不匹配、死代码和逻辑错误的系统。 该项目具有基于推理的类型系统,可推断变量类型,并支持可选的注解和元文件以强制执行类型安全。它允许定义自定义类型和函数签名,包括对重载和成员可见性控制的支持。 该服务器提供了广泛的 IDE 功能,包括实时代码自动补全、符号重构以及跳转到定义和实现。它还包含一个代码格式化程序和一个文档生成器,可提取符号和注解以生成 Markdown 和 JSON 文件。 该服务器可以从源码构建,并可配置以匹配特定的语言版本和运行时环境。

    Allows the definition of custom type aliases, enums, and class structures to enforce type safety.

    Luahacktoberfestlanguage-serverlpeg
    在 GitHub 上查看↗4,298
上一个12下一个
  1. Home
  2. Programming Languages & Runtimes
  3. User-Defined Types

探索子标签

  • Complex Module Type Definitions1 个子标签The use of generics and custom types within declaration files to describe advanced JavaScript module signatures. **Distinct from User-Defined Types:** Focuses on the complexity of module-level declaration files rather than just individual user-defined types.
  • Generator Interface ExtensionsInterfaces allowing users to implement custom logic for expanding synthetic data types. **Distinct from User-Defined Types:** Focuses on extending a library's data generation capabilities via interfaces, rather than general language-level user-defined types.
  • Genetic Chromosome TypesUser-defined data structures representing chromosomes and individuals for evolutionary algorithm populations. **Distinct from User-Defined Types:** Distinct from general User-Defined Types: specifically for representing genetic material in evolutionary computation, not arbitrary program types.
  • Macro-Based UI DefinitionsDefining user interface layouts using compile-time macros for type-safe component construction. **Distinct from User-Defined Types:** Distinct from User-Defined Types: focuses on UI layout construction via macros rather than general language type definitions.
  • Object Type CompositionCreating structured object types with optional, readonly, and index signature properties, then extending or intersecting them. **Distinct from User-Defined Types:** Distinct from User-Defined Types: focuses specifically on composing object types with extends and intersections, not general custom type creation.
  • Object Types2 个子标签Structures that group named values and methods with controlled visibility. **Distinct from User-Defined Types:** Distinct from general user-defined types by specifically grouping methods and values into an object-like structure.
  • Runtime Validation Refinement TypesTypes that add runtime validation constraints on top of an existing type definition. **Distinct from User-Defined Types:** Distinct from User-Defined Types: adds runtime validation constraints to existing types, not general custom type creation.
  • Target-Specific Type Mappings2 个子标签Replacing declared structs or types with target-specific types in generated output, enabling direct use of native library types. **Distinct from User-Defined Types:** Distinct from User-Defined Types: focuses on mapping user-defined types to target-specific types rather than defining custom types.
  • Type AliasesCreating a shorthand name for a complex type expression, simplifying syntax without affecting the type graph. **Distinct from User-Defined Types:** Distinct from User-Defined Types: focuses on creating shorthand names for complex type expressions, not defining new types.
  • Typed Property Declarations1 个子标签Declaring typed attributes with default values for state model properties. **Distinct from User-Defined Types:** Distinct from User-Defined Types: specifically about declaring typed properties on state models, not general custom type creation.
  • Typed Variant DefinitionsDefines component variants as typed objects so the compiler catches invalid combinations before runtime. **Distinct from User-Defined Types:** Distinct from User-Defined Types: specifically targets component variant definitions with TypeScript, not general custom type creation.