#generator #prisma #orm #json-rpc #abstraction #process #interface

bin+lib prisma-oxigen

Prisma Oxigen is a Rust crate designed to facilitate the creation of Prisma generators. It provides a set of utilities and abstractions to simplify the process of building custom generators for the Prisma ORM.

1 stable release

1.0.0 Feb 17, 2024

#695 in Database interfaces

Apache-2.0

20KB
537 lines

prisma-oxigen

prisma-oxigen is a comprehensive Rust package designed to seamlessly implement Prisma's JSONRPC Interface along with its types, providing essential helper functions to create Prisma generators effortlessly.

Key Features:

  • Full Implementation of Prisma's JSONRPC Interface, ensuring seamless communication with Prisma engines.
  • Extensive Type Support, encapsulating Prisma's model and field types within Rust's strong type system, leading to safer and more predictable database interactions.
  • Helper Functions to streamline the creation of Prisma generators, making it easier to extend Prisma's capabilities or integrate with other tools and frameworks.

Getting Started

To use prisma-oxigen in your project, you will need to have Rust and Cargo installed on your system. If you don't have them installed, visit rust-lang.org to get started.

Installation

Add prisma-oxigen to your Cargo.toml:

[dependencies]
prisma-oxigen = "1.0.0"

Then, run cargo build to download and compile the package along with its dependencies.

Basic Usage

prisma-oxigen allows you to extend Prisma by writing your custom generators. Generators are used to transform the Prisma schema into code or other outputs. Here's a skeleton to start writing a custom generator:

use prisma_oxigen::modules::oxigen::{generate_callback, generator::Generator, manifest_callback};

fn manifest(params: manifest_callback::Params) {
}

fn generate(params: generate_callback::Params) {
}

fn main() {
    Generator::new(Some(manifest), Some(generate));
}

Documentation

For more detailed information on the API and advanced usage, refer to the prisma-oxigen documentation page.

Contributing

Contributions are welcome! Whether it's submitting a bug report, a feature request, or a pull request, all forms of contributions help improve prisma-oxigen.

License

prisma-oxigen is distributed under the terms of the Apache 2.0 license. See LICENSE for details.

Dependencies

~0.7–1.5MB
~34K SLoC