/**
* -----------------------------------------------------------------------------
* GraphQL SDL to TypeScript Types & Interfaces
* Zero-dependency, client-synthesized TypeScript definitions.
* -----------------------------------------------------------------------------
*/
/* =============================================================================
* GRAPHQL SCALARS & UTILITY HELPER TYPES
* ============================================================================= */
export type Maybe<T> = T | null;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
/** All custom GraphQL scalar types defined in schema */
export type DateTime = string;
export type JSON = Record<string, any>;
/* =============================================================================
* ENUMS
* ============================================================================= */
export enum UserRole {
ADMIN = 'ADMIN',
CUSTOMER = 'CUSTOMER',
VENDOR = 'VENDOR',
}
export enum OrderStatus {
PENDING = 'PENDING',
PROCESSING = 'PROCESSING',
SHIPPED = 'SHIPPED',
DELIVERED = 'DELIVERED',
CANCELLED = 'CANCELLED',
}
/* =============================================================================
* GRAPHQL INTERFACES, OBJECT TYPES & UNIONS
* ============================================================================= */
export interface Node {
id: string;
}
export interface Timestamps {
createdAt: string;
updatedAt: string | null;
}
/**
* Represents a customer or administrator account in the store.
*/
export interface User extends Node, Timestamps {
id: string;
email: string;
displayName: string;
role: UserRole;
orders: Order[];
defaultAddress: Address | null;
createdAt: string;
updatedAt: string | null;
}
export interface Product extends Node, Timestamps {
id: string;
sku: string;
title: string;
price: number;
inventoryCount: number;
tags: string[];
createdAt: string;
updatedAt: string | null;
}
export interface Order extends Node, Timestamps {
id: string;
orderNumber: string;
customer: User;
status: OrderStatus;
items: OrderItem[];
totalAmount: number;
shippingAddress: Address;
createdAt: string;
updatedAt: string | null;
}
export interface OrderItem {
id: string;
product: Product;
quantity: number;
unitPrice: number;
}
export interface Address {
street: string;
city: string;
postalCode: string;
country: string;
}
export interface Query {
me: User | null;
user: User | null;
product: Product | null;
products: Product[];
search: SearchResult[];
}
export interface Mutation {
createProduct: Product;
checkoutCart: Order;
cancelOrder: Order;
}
export type SearchResult = Product | User | Order;
/* =============================================================================
* GRAPHQL INPUT OBJECTS & OPERATION ARGUMENTS
* ============================================================================= */
export interface CreateProductInput {
sku: string;
title: string;
price: number;
inventoryCount?: number | null;
tags?: string[] | null;
}
export interface CheckoutCartInput {
userId: string;
itemIds: string[];
shippingAddress: AddressInput;
}
export interface AddressInput {
street: string;
city: string;
postalCode: string;
country: string;
}
/**
* Arguments for User.orders
*/
export interface UserOrdersArgs {
limit?: number | null;
offset?: number | null;
}
/**
* Arguments for Query.user
*/
export interface QueryUserArgs {
id: string;
}
/**
* Arguments for Query.product
*/
export interface QueryProductArgs {
id: string;
}
/**
* Arguments for Query.products
*/
export interface QueryProductsArgs {
limit?: number | null;
cursor?: string | null;
}
/**
* Arguments for Query.search
*/
export interface QuerySearchArgs {
query: string;
limit?: number | null;
}
/**
* Arguments for Mutation.createProduct
*/
export interface MutationCreateProductArgs {
input: CreateProductInput;
}
/**
* Arguments for Mutation.checkoutCart
*/
export interface MutationCheckoutCartArgs {
input: CheckoutCartInput;
}
/**
* Arguments for Mutation.cancelOrder
*/
export interface MutationCancelOrderArgs {
orderId: string;
reason?: string | null;
}
Execução Local Zero-Knowledge
Todo o processamento, análise e geração de código ocorrem estritamente na memória do seu navegador. Zero uploads para servidores externos.
Motor Reativo de Submilissegundos
All data payloads remain strictly local with zero external server communication.
Production Ready Export
Clean, optimized output formats ready for immediate deployment.