@@ -53,6 +53,7 @@ export async function resolveOffsetConnection<
5353 offset : number
5454 limit : number
5555 } ) => U & ( MaybePromise < readonly T [ ] | null > | null ) ,
56+ context ?: ( params : ResolveCursorConnectionArgs ) => I ,
5657) : Promise < Connection < T , I > > {
5758 const { limit, offset, expectedSize, hasPreviousPage, hasNextPage } = offsetForArgs ( options )
5859
@@ -77,6 +78,10 @@ export async function resolveOffsetConnection<
7778 hasPreviousPage,
7879 hasNextPage : hasNextPage ( nodes . length ) ,
7980 } ,
81+ context : {
82+ ...context ?.( { before : undefined , after : undefined , limit, inverted : false } ) ?? { } ,
83+ ...( nodes as any ) . context ?? { } ,
84+ } ,
8085 }
8186}
8287
@@ -94,6 +99,7 @@ export function offsetToCursor(offset: number): string {
9499export function resolveArrayConnection < T , I > (
95100 options : ResolveArrayConnectionOptions ,
96101 array : readonly T [ ] ,
102+ context ?: ( params : ResolveCursorConnectionArgs ) => I ,
97103) : Connection < T , I > {
98104 const { limit, offset, expectedSize, hasPreviousPage, hasNextPage } = offsetForArgs ( options )
99105
@@ -117,6 +123,10 @@ export function resolveArrayConnection<T, I>(
117123 hasPreviousPage,
118124 hasNextPage : hasNextPage ( nodes . length ) ,
119125 } ,
126+ context : {
127+ ...context ?.( { before : undefined , after : undefined , limit, inverted : false } ) ?? { } ,
128+ ...( nodes as any ) . context ?? { } ,
129+ } ,
120130 }
121131}
122132
@@ -154,6 +164,7 @@ export async function resolveCursorConnection<
154164> (
155165 options : ResolveCursorConnectionOptions < NodeType < U > > ,
156166 resolve : ( params : ResolveCursorConnectionArgs ) => U ,
167+ context ?: ( params : ResolveCursorConnectionArgs ) => I ,
157168) : Promise < Connection < NodeType < U > , I > > {
158169 const { before, after, limit, inverted, expectedSize, hasPreviousPage, hasNextPage }
159170 = parseCurserArgs ( options )
@@ -192,5 +203,9 @@ export async function resolveCursorConnection<
192203 hasPreviousPage : hasPreviousPage ( nodes . length ) ,
193204 hasNextPage : hasNextPage ( nodes . length ) ,
194205 } ,
206+ context : {
207+ ...context ?.( { before, after, limit, inverted } ) ?? { } ,
208+ ...( nodes as any ) . context ?? { } ,
209+ } ,
195210 }
196211}
0 commit comments