| Current Path : /home/deltalab/PMS/sms-connector/node_modules/graphql-compose-mongoose/lib/ |
| Current File : //home/deltalab/PMS/sms-connector/node_modules/graphql-compose-mongoose/lib/fieldsConverter.d.ts |
import { Document } from 'mongoose';
import type { Schema, Model } from 'mongoose';
import type { SchemaComposer, ObjectTypeComposer, EnumTypeComposer, ComposeOutputTypeDefinition } from 'graphql-compose';
import type { GraphQLScalarType } from 'graphql-compose/lib/graphql';
declare type MongooseFieldT = {
path?: string;
instance: string;
caster?: any;
options?: {
description?: string;
alias?: string;
};
originalRequiredValue?: string | (() => any);
isRequired?: boolean;
defaultValue?: any;
enumValues?: string[];
schema?: Schema;
_index?: {
[optionName: string]: any;
};
};
declare type MongooseFieldMapT = {
[fieldName: string]: MongooseFieldT;
};
declare type ComposeScalarType = string | GraphQLScalarType;
export declare type MongoosePseudoModelT = {
schema: Schema<any>;
};
export declare enum ComplexTypes {
ARRAY = "ARRAY",
EMBEDDED = "EMBEDDED",
DOCUMENT_ARRAY = "DOCUMENT_ARRAY",
ENUM = "ENUM",
REFERENCE = "REFERENCE",
SCALAR = "SCALAR",
MIXED = "MIXED",
DECIMAL = "DECIMAL"
}
export declare function dotPathsToEmbedded(fields: MongooseFieldMapT): MongooseFieldMapT;
export declare function getFieldsFromModel(model: Model<any> | MongoosePseudoModelT): MongooseFieldMapT;
export declare function convertModelToGraphQL<TDoc extends Document, TContext>(model: Model<TDoc> | MongoosePseudoModelT, typeName: string, schemaComposer: SchemaComposer<TContext>): ObjectTypeComposer<TDoc, TContext>;
export declare function convertSchemaToGraphQL(schema: Schema<any>, typeName: string, schemaComposer: SchemaComposer<any>): ObjectTypeComposer<any, any>;
export declare function convertFieldToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer<any>): ComposeOutputTypeDefinition<any>;
export declare function deriveComplexType(field: MongooseFieldT): ComplexTypes;
export declare function scalarToGraphQL(field: MongooseFieldT): ComposeScalarType;
export declare function arrayToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer<any>): ComposeOutputTypeDefinition<any>;
export declare function embeddedToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer<any>): ObjectTypeComposer<any, any>;
export declare function enumToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer<any>): EnumTypeComposer<any>;
export declare function documentArrayToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer<any>): [ObjectTypeComposer<any, any>];
export declare function referenceToGraphQL(field: MongooseFieldT): ComposeScalarType;
export {};
//# sourceMappingURL=fieldsConverter.d.ts.map