{"version":3,"file":"fetchPublishedDocumentIDs.cjs","sources":["../../../src/lib/fetchPublishedDocumentIDs.ts"],"sourcesContent":["import { Client, getGraphQLEndpoint } from \"@prismicio/client\";\n\nimport { PluginOptions } from \"../types\";\n\nimport { isReleasePreview } from \"./isReleasePreview\";\n\ntype FetchPublishedDocumentIDsGraphQLResult = {\n\tdata: {\n\t\t_allDocuments: {\n\t\t\tpageInfo: {\n\t\t\t\tendCursor: string;\n\t\t\t\thasNextPage: boolean;\n\t\t\t};\n\t\t\tedges: {\n\t\t\t\tnode: {\n\t\t\t\t\t_meta: {\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t};\n};\n\ntype FetchPublishedDocumentIDsArgs = {\n\tclient: Client;\n\tabortController: AbortController;\n\tpluginOptions: PluginOptions;\n};\n\nexport const fetchPublishedDocumentIDs = async ({\n\tclient,\n\tabortController,\n\tpluginOptions,\n}: FetchPublishedDocumentIDsArgs): Promise<string[]> => {\n\tif (isReleasePreview()) {\n\t\tconst endpoint =\n\t\t\tpluginOptions.graphQLEndpoint ||\n\t\t\tgetGraphQLEndpoint(pluginOptions.repositoryName);\n\n\t\tconst existingIDs: string[] = [];\n\n\t\tlet after: string | undefined;\n\t\tlet hasNextPage = false;\n\t\tdo {\n\t\t\tconst url = new URL(endpoint);\n\t\t\tconst afterStr = after ? `,after:\"${after}\"` : \"\";\n\t\t\turl.searchParams.set(\n\t\t\t\t\"query\",\n\t\t\t\t`query AllDocumentIDs{_allDocuments(first:100${afterStr}){pageInfo{endCursor,hasNextPage}edges{node{_meta{id}}}}}`,\n\t\t\t);\n\n\t\t\tconst res = await client.graphQLFetch(url.toString(), {\n\t\t\t\tsignal: abortController.signal,\n\t\t\t});\n\t\t\tconst json: FetchPublishedDocumentIDsGraphQLResult = await res.json();\n\n\t\t\tfor (let i = 0; i < json.data._allDocuments.edges.length; i++) {\n\t\t\t\texistingIDs.push(json.data._allDocuments.edges[i].node._meta.id);\n\t\t\t}\n\n\t\t\tafter = json.data._allDocuments.pageInfo.endCursor;\n\t\t\thasNextPage = json.data._allDocuments.pageInfo.hasNextPage;\n\t\t} while (hasNextPage);\n\n\t\treturn existingIDs;\n\t} else {\n\t\treturn [];\n\t}\n};\n"],"names":["client","isReleasePreview","getGraphQLEndpoint"],"mappings":";;;;AA8BO,MAAM,4BAA4B,OAAO,EAC/CA,QAAAA,UACA,iBACA,oBACsD;AACtD,MAAIC,qCAAoB;AACvB,UAAM,WACL,cAAc,mBACdC,OAAAA,mBAAmB,cAAc,cAAc;AAEhD,UAAM,cAAwB,CAAA;AAE1B,QAAA;AACJ,QAAI,cAAc;AACf,OAAA;AACI,YAAA,MAAM,IAAI,IAAI,QAAQ;AACtB,YAAA,WAAW,QAAQ,WAAW,WAAW;AAC/C,UAAI,aAAa,IAChB,SACA,+CAA+C,mEAAmE;AAGnH,YAAM,MAAM,MAAMF,SAAO,aAAa,IAAI,YAAY;AAAA,QACrD,QAAQ,gBAAgB;AAAA,MAAA,CACxB;AACK,YAAA,OAA+C,MAAM,IAAI;AAEtD,eAAA,IAAI,GAAG,IAAI,KAAK,KAAK,cAAc,MAAM,QAAQ,KAAK;AAClD,oBAAA,KAAK,KAAK,KAAK,cAAc,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE;AAAA,MAC/D;AAEO,cAAA,KAAK,KAAK,cAAc,SAAS;AAC3B,oBAAA,KAAK,KAAK,cAAc,SAAS;AAAA,IACvC,SAAA;AAEF,WAAA;AAAA,EAAA,OACD;AACN,WAAO;EACP;AACF;;"}