import type { ApiDocument, Extensions, LinkResolver, RenderContext, } from "@prismicio/api-renderer/lib/models" const ctx: RenderContext = { urlRewriter: { optimizeImageUrl(originUrl: string) { return originUrl }, rewriteImageUrl(view) { return view.url || "/mockURL" }, rewriteFileUrl(originUrl: string) { return originUrl }, rewriteS3Bucket(url: string) { return url }, enforceCDN(url: string) { return url }, }, emptyStringInsteadOfNull: false, Extension: { DocEncoder: { encodeDocId: ( documentId: string, _fetchUuidOrRelationName: string | undefined, additionalData?: (string | undefined)[], ): string => { return `${documentId}${ additionalData?.length ? "%%" + additionalData.join("%%") : "" }` }, }, encoders: { documentLinks: IDEncoder("=&="), documentUrls: IDEncoder(">&<"), integrationFields: IDEncoder("%!%"), }, }, LinkResolver: { buildUrl(_params: { linkResolver: LinkResolver | undefined pageType: string doc?: ApiDocument }): string | undefined | null { return "/" }, }, } export default ctx function IDEncoder(prefix: string): Extensions.IDEncoder { return { encode: (strId: string): string => `${prefix}#${strId}`, } }