$ npm install prisma-generate-schema
This module is capable of generating a prisma OpenCRUD schema for a given datamodel, given in SDL.
Development uses typescript, npm, yarn and jest.
yarn
npm run test
Basic Usage:
import { generateCRUDSchemaString } from 'prisma-generate-schema'
const openCRUDSchema = generateCRUDSchemaString(modelInSDL)
This section is intended for maintainers.
First, a datamodel is parsed using the DatamodelParser
. Then, an OpenCRUD schema is created using the SchemaGenerator
.
The schema generator utilizes several other generators to generate the mutation
, query
and subscription
objects and all corresponding types.
A Generator
is usually responsible for a single type only but will access other generators to recursively build the schema. All generators which return object types implement lazy evaluation and caching of generated types via their base class. The generators can be configured using dependency injection, if needed, to switch out the implementation for certain types in the schema.
All default generators, i.e. generators for a relational model, one for each type that can occur in an OpenCRUD schema, can ge found in the DefaultGenerators
class.
All special document generators, i.e. generators for a document model, can ge found in the DocumentGenerators
class.
With prototype features enabled (V2)
const renderer = Renderers.create(introspection.databaseType, prototype)
const renderedSdl = renderer.render(sdl)
Without prototype featurs, simply use the shorthand:
const renderedSdl = introspection.renderToDatamodelString()
or with an existing model:
const renderedSdl = introspection.renderToNormalizedDatamodelString(referenceModel)
© 2010 - cnpmjs.org x YWFE | Home | YWFE