@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
99 lines (98 loc) • 3.07 kB
TypeScript
import type { FieldCreators } from './fields/fieldTypes';
declare function getModules(): {
readonly graphql: {
readonly module: () => typeof import("graphql");
readonly server: true;
};
readonly GraphType: {
module: () => typeof import("./GraphType/GraphType");
server: boolean;
};
readonly fieldInstanceFromDef: {
module: () => typeof import("./fieldInstanceFromDef");
server: boolean;
};
readonly MetaField: {
module: () => typeof import("./fields/MetaFieldField");
server: boolean;
};
readonly ObjectType: {
module: () => typeof import("./ObjectType");
server: boolean;
};
readonly fieldTypes: {
module: () => typeof import("./fields/fieldTypes");
server: boolean;
};
readonly implementObject: {
module: () => typeof import("./implementObject");
server: boolean;
};
readonly mockObject: {
module: () => typeof import("./mockObject");
server: boolean;
};
readonly tsfy: {
module: () => typeof import("./tsfy");
server: boolean;
};
readonly GraphQLParser: {
module: () => typeof import("./GraphType/GraphQLParser");
server: boolean;
};
readonly fs: {
module: () => typeof import("fs-extra");
server: boolean;
};
readonly parsePhoneNumberServerSide: {
module: () => typeof import("@backland/utils/lib/parsePhoneNumber");
server: boolean;
};
readonly clientUtils: {
module: () => typeof import("./GraphType/generateClientUtils");
server: boolean;
};
readonly createGraphQLSchema: {
module: () => typeof import("./createGraphQLSchema");
server: boolean;
};
readonly createResolver: {
module: () => typeof import("./Resolver");
server: boolean;
};
readonly getQueryTemplates: {
module: () => typeof import("./GraphType/getQueryTemplates");
server: boolean;
};
readonly objectToTypescript: {
module: () => typeof import('./objectToTypescript');
server: boolean;
};
readonly prettier: {
module: () => typeof import('prettier');
server: boolean;
};
readonly typesWriter: {
module: () => typeof import('./typesWriter');
server: boolean;
};
};
type ModulesMap = ReturnType<typeof getModules>;
type Exports = {
[K in keyof ModulesMap]: ModulesMap[K] extends {
module: () => infer M;
} ? M : never;
};
type NOK<T> = Exclude<keyof T, 'prototype' | number | symbol | 'default'>;
type AllKeys<T> = {
[K in NOK<T>]: NOK<T[K]>;
}[NOK<T>];
type SubProps<P, K> = {
[S in keyof P as K extends keyof P[S] ? K : never]: K extends keyof P[S] ? P[S][K] : never;
};
type Caramelo<P> = {
[K in AllKeys<P>]: K extends keyof SubProps<P, K> ? SubProps<P, K>[K] : never;
};
export type BacklandModules = Exports & Caramelo<Exports> & FieldCreators;
export declare const CircularDeps: BacklandModules;
export {};