Add get-all-pages operator

Signed-off-by: Chloe <pinkcloudvnn@gmail.com>
This commit is contained in:
Chloe 2022-04-20 16:00:18 +07:00
parent 8eda86ae82
commit 29b0e064a9
4 changed files with 1442 additions and 1401 deletions

View File

@ -10,10 +10,7 @@
],
"generates": {
"./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"],
"config": {
"avoidOptionals": true
}
"plugins": ["typescript", "typescript-operations"]
},
"./schema.graphql": {
"plugins": ["schema-ast"]

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,44 @@
import type {
OperationContext,
OperationOptions,
} from '@vercel/commerce/api/operations'
import { GetAllPagesOperation } from '../../types/page'
import type { OpenCommerceConfig, Provider } from '../index'
export type Page = { url: string }
export type GetAllPagesResult = { pages: Page[] }
import type { OpenCommerceConfig } from '../index'
export default function getAllPagesOperation() {
function getAllPages({
export default function getAllPagesOperation({
commerce,
}: OperationContext<Provider>) {
async function getAllPages<T extends GetAllPagesOperation>(opts?: {
config?: Partial<OpenCommerceConfig>
preview?: boolean
}): Promise<T['data']>
async function getAllPages<T extends GetAllPagesOperation>(
opts: {
config?: Partial<OpenCommerceConfig>
preview?: boolean
} & OperationOptions
): Promise<T['data']>
async function getAllPages<T extends GetAllPagesOperation>(
opts: {
config?: Partial<OpenCommerceConfig>
preview?: boolean
} & OperationOptions
): Promise<T['data']>
async function getAllPages<T extends GetAllPagesOperation>({
config,
preview,
}: {
url?: string
config?: Partial<OpenCommerceConfig>
preview?: boolean
}): Promise<GetAllPagesResult> {
} = {}): Promise<GetAllPagesResult> {
return Promise.resolve({
pages: [],
})

View File

@ -0,0 +1,11 @@
import * as Core from '@vercel/commerce/types/page'
export * from '@vercel/commerce/types/page'
export type Page = Core.Page
export type PageTypes = {
page: Page
}
export type GetAllPagesOperation = Core.GetAllPagesOperation<PageTypes>
export type GetPageOperation = Core.GetPageOperation<PageTypes>