Schema type mapping
Schema definitions establish the source type graph. GraphQL object and input fields become TypeScript properties, named GraphQL types become reusable declarations, and list wrappers become array-shaped types. Nullability applies at every wrapper level: String!, [String]!, and [String!]! express different contracts. Built-in scalars have conventional TypeScript counterparts, but the meaning of a custom scalar cannot be determined from its name alone.