graphile-build
Version:
Build a GraphQL schema from plugins
44 lines • 1.57 kB
TypeScript
import "graphile-config";
import type { NodeIdCodec, NodeIdHandler } from "grafast";
declare global {
namespace GraphileConfig {
interface Plugins {
NodePlugin: true;
}
}
namespace GraphileBuild {
interface Inflection {
nodeIdFieldName(this: Inflection): string;
}
interface Build {
[NODE_ID_CODECS]?: {
[codecName: string]: NodeIdCodec;
};
[NODE_ID_HANDLER_BY_TYPE_NAME]?: {
[typeName: string]: NodeIdHandler;
};
registerNodeIdCodec?(codec: NodeIdCodec): void;
getNodeIdCodec?(codecName: string): NodeIdCodec;
registerNodeIdHandler?(matcher: NodeIdHandler): void;
getNodeIdHandler?(typeName: string): NodeIdHandler | undefined;
getNodeTypeNames?(): string[];
getNodeIdHandlerByTypeName?(): Readonly<Record<string, NodeIdHandler>>;
}
interface ScopeObjectFieldsField {
isRootNodeField?: boolean;
}
interface SchemaOptions {
/**
* The default Node ID codec to use. May be overridden on a
* table-by-table basis using the `@nodeIdCodec` smart tag.
*
* Use build.registerNodeIdCodec to register your own codecs.
*
* @defaultValue `"base64JSON"`
*/
defaultNodeIdCodec?: string;
}
}
}
export declare const NodePlugin: GraphileConfig.Plugin;
//# sourceMappingURL=NodePlugin.d.ts.map