/**
* -----------------------------------------------------------------------------
* 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;
}
Zero-Knowledge Lokale Ausführung
Alle Datenverarbeitungen, Parsen und Generierungen laufen streng im lokalen Browserspeicher ab. Keine externen Server-Uploads.
Sub-Millisekunden AST-Engine
All data payloads remain strictly local with zero external server communication.
Production Ready Export
Clean, optimized output formats ready for immediate deployment.