graphql#IntrospectionNamedTypeRef TypeScript Examples
The following examples show how to use
graphql#IntrospectionNamedTypeRef.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: buildData.ts From ra-data-prisma with MIT License | 6 votes |
getUpdateInputDataTypeForList = (
updateModifier: IntrospectionInputValue,
introspectionResults: IntrospectionResult,
) => {
const updateListModifierType =
updateModifier.type as IntrospectionListTypeRef<
IntrospectionNonNullTypeRef<any>
>;
const updateInputFieldType = getFinalType(updateListModifierType.ofType);
const updateListInputDataType = (
introspectionResults.types.find(
(introdspectionType) =>
introdspectionType.name === updateInputFieldType.name,
) as IntrospectionInputObjectType
).inputFields.find((input) => input.name === "data")
.type as IntrospectionTypeRef;
const updateListInputDataName = (
(updateListInputDataType.kind === "NON_NULL"
? updateListInputDataType.ofType
: updateListInputDataType) as IntrospectionNamedTypeRef
).name;
return introspectionResults.types.find(
(introdspectionType) => introdspectionType.name === updateListInputDataName,
) as IntrospectionInputObjectType;
}
Example #2
Source File: getFinalType.ts From ra-data-prisma with MIT License | 6 votes |
getFinalType = (
type: IntrospectionTypeRef,
): IntrospectionNamedTypeRef => {
if (type.kind === TypeKind.NON_NULL || type.kind === TypeKind.LIST) {
return getFinalType(
(type as IntrospectionListTypeRef | IntrospectionNonNullTypeRef).ofType!,
);
}
return type as IntrospectionNamedTypeRef;
}