INNER CODE UNIT · TypeScript

printSchema

stepci/garph · src/schema.ts:11

export function printSchema(g: GarphSchema, config: ConverterConfig = { defaultNullability: false }) {
  const schemaComposer = new SchemaComposer();
  g.types.forEach(type => schemaComposer.add(convertToGraphqlType(schemaComposer, type.typeDef.name, type, config)))
  return schemaComposer.toSDL()
}

export function buildSchema({ g, resolvers }: { g: GarphSchema, resolvers?: any }, config: ConverterConfig = { defaultNullability: false }) {
  const schemaComposer = new SchemaComposer();
  g.types.forEach(type => schemaComposer.add(convertToGraphqlType(schemaComposer, type.typeDef.name, type, config, resolvers[type.typeDef.name])))
  return schemaComposer.buildSchema()
}

function isOptional(target: string, type: AnyType, config: ConverterConfig) {
  return type.typeDef.isRequired ? `${target}!` : type.typeDef.isOptional ? `${target}` : config.defaultNullability ? `${target}` : `${target}!`
}

export function getFieldType(schemaComposer: SchemaComposer, type: AnyType, config: ConverterConfig) {
  switch (type.typeDef.type) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…