Tegral Libraries

website·Indexed 32 days ago

https://tegral.zoroark.guru

A collection of integrable and reusable Kotlin app foundation libraries, including Tegral DI for dependency injection, Tegral Niwen for lexing and parsing, Tegral Prismakt for generation, and Tegral OpenAPI Ktor integration. Version 0.0.4.

Tokens
237K
Snippets
2K
Records
2.5K
Agent score
57%

What's inside Tegral

  1. Overview of the tegral-featureful module

    The tegral-featureful module provides the common classes and API required to write Tegral features that are integrated into main applications. This module is strictly for feature development; the actual loading of these features is handled by other modules, such as the Tegral Web AppDSL.
  2. Overview of Tegral Featureful

    Tegral Featureful is a framework for defining lightweight modules called "features" that act upon an application's dependency injection (DI) environment. Features typically function by putting objects into the environment for other components to consume or by adding DI extensions to interact with other elements. Note that Featureful is a building block for defining features, not an application engine; running a full application requires a host like Tegral Web AppDSL.
  3. Overview of Tegral DI Extensions

    Tegral DI provides advanced features through extensions located in the guru.zoroark.tegral.di.extensions package. There are two primary types of extensions:

    1. Pure Extensions: Wrappers over existing APIs that work in any injection environment. They typically simplify putting and injection mechanisms (e.g., the factories extension).
    2. Installable Extensions: Provide functionality beyond the standard put-and-inject workflow and require an extensible injection environment to store their mechanisms. The default injection environment (used via tegralDi { ... }) is extensible.
  4. Overview of Tegral PrismaKT capabilities and limitations

    Tegral PrismaKT is an experimental tool used to generate JetBrains Exposed boilerplate code from a Prisma schema.

    Supported Features:

    • Generates tables (SQL DSL API) and entities (DAO API).
    • Generates accurate columns for most @db.Xyz fields.
    • Manual parsing of Schema files via Tegral Niwen.

    Current Limitations:

    • Does not generate relations or multi-column @@id fields.
    • Does not generate JSON fields.
    • No automatic generation of Database.connect calls.
    • No built-in integration with Tegral DI or Tegral Web.
  5. Overview of the Tegral framework

    Tegral is a collection of Kotlin libraries, DSLs, and frameworks designed to provide a comprehensive platform for building applications. It is built as a set of independent libraries that can be used individually or combined into a full framework. Key design principles include:

    • Integrable-first: Libraries are designed to be usable without requiring the entire framework.
    • No code generation: Tegral relies on standard Maven dependencies to simplify the build process and debugging.
    • Testability: Focuses on making application testing easy, transparent, and extensible.
    • Underlying Library Access: Tegral acts as a layer over libraries like Ktor and Hoplite, but ensures developers can still access the underlying framework elements when needed.
  6. Overview of tegral-config-core configuration mechanisms

    The tegral-config-core module provides core configuration mechanisms powered by the Hoplite library. A primary feature is the support for sectioned configurations, which allows configuration objects to contain different dynamic sections. This mechanism is specifically used to power the [tegral.*] sections within the tegral.toml configuration file.
  7. Overview of Tegral OpenAPI capabilities

    Tegral OpenAPI is a collection of libraries that provide a concise Kotlin syntax for OpenAPI needs. It allows developers to:

    • Create OpenAPI definitions using a Kotlin DSL.
    • Define and parse .openapi.kts scripts and convert them to JSON or YAML via a CLI.
    • Define OpenAPI details for Ktor endpoints and serve OpenAPI/Swagger documentation from Ktor applications.
    • Integrate OpenAPI support into Tegral Web applications.