Loading save files done.
This commit is contained in:
29
src/lib/fragment.ts
Normal file
29
src/lib/fragment.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { gql } from "apollo-server-micro";
|
||||
import { DocumentNode } from "graphql";
|
||||
|
||||
type FragmentDefinition<T> = {
|
||||
query:DocumentNode;
|
||||
name:string;
|
||||
needsInclude:boolean;
|
||||
}
|
||||
|
||||
export const createFragment = <T>(params:{
|
||||
query:DocumentNode;
|
||||
name:string;
|
||||
needsInclude?:boolean;
|
||||
}):FragmentDefinition<T> => {
|
||||
return {
|
||||
...params,
|
||||
needsInclude: typeof params.needsInclude === 'undefined' ? true : params.needsInclude
|
||||
}
|
||||
}
|
||||
|
||||
export const includeFragment = <T>(fragment:FragmentDefinition<T>) => {
|
||||
if(!fragment.needsInclude) return '';
|
||||
return fragment.query;
|
||||
}
|
||||
|
||||
export const extendFragment = <T>(fragment:FragmentDefinition<T>) => {
|
||||
if(!fragment.needsInclude) return fragment.query;
|
||||
return `...${fragment.name}`;
|
||||
}
|
||||
Reference in New Issue
Block a user