Files
medusa-store/packages/gatsby-source-medusa/src/make-source-from-operation.ts
Kasper Fabricius Kristensen b8ff364276 feat: gatsby source medusa (#924)
2021-12-14 20:56:31 +01:00

26 lines
624 B
TypeScript

import { SourceNodesArgs } from "gatsby"
import { processNode } from "./process-node"
export function makeSourceFromOperation(gatsbyApi: SourceNodesArgs) {
return async function sourceFromOperation(
op: IMedusaOperation
): Promise<void> {
const { reporter, actions } = gatsbyApi
reporter.info(`Initiating operation query ${op.name}`)
const nodes = await op.execute()
nodes.map((rawNode) => {
const nodeArr = processNode(
rawNode,
op.name,
gatsbyApi.createContentDigest
)
nodeArr.forEach((node) => {
actions.createNode(node)
})
})
}
}