Skip to content

Commit 8d6c319

Browse files
authored
feat: improve PersistedQueryProvider types (#1121)
* feat: improve PersistedQueryProvider types * feat: add tests
1 parent b5cfac8 commit 8d6c319

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ declare namespace mercurius {
633633
/**
634634
* Return the query for a given hash.
635635
*/
636-
getQueryFromHash: (hash: string) => Promise<string>;
636+
getQueryFromHash: (hash: string) => Promise<string | undefined>;
637637
/**
638638
* Return the hash for a given query string. Do not provide if you want to skip saving new queries.
639639
*/

test/types/index.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,3 +654,36 @@ expectType<typeof mercurius.ErrorWithProps>(ErrorWithProps)
654654
expectType<typeof mercurius.defaultErrorFormatter>(defaultErrorFormatter)
655655
expectType<typeof mercurius.persistedQueryDefaults>(persistedQueryDefaults)
656656
expectType<typeof mercurius.withFilter>(withFilter)
657+
658+
app.register(mercurius, {
659+
schema,
660+
resolvers,
661+
persistedQueryProvider: {
662+
...persistedQueryDefaults.automatic(),
663+
getQueryFromHash: () => {
664+
return Promise.resolve('foo')
665+
},
666+
}
667+
})
668+
669+
app.register(mercurius, {
670+
schema,
671+
resolvers,
672+
persistedQueryProvider: {
673+
...persistedQueryDefaults.automatic(),
674+
getQueryFromHash: () => {
675+
return Promise.resolve(undefined)
676+
},
677+
}
678+
})
679+
680+
expectError(app.register(mercurius, {
681+
schema,
682+
resolvers,
683+
persistedQueryProvider: {
684+
...persistedQueryDefaults.automatic(),
685+
getQueryFromHash: () => {
686+
return Promise.resolve(false)
687+
},
688+
}
689+
}))

0 commit comments

Comments
 (0)