diff options
Diffstat (limited to 'packages/integrations/vercel/test/test-image-service.js')
-rw-r--r-- | packages/integrations/vercel/test/test-image-service.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/integrations/vercel/test/test-image-service.js b/packages/integrations/vercel/test/test-image-service.js new file mode 100644 index 000000000..e3c5b4b6e --- /dev/null +++ b/packages/integrations/vercel/test/test-image-service.js @@ -0,0 +1,32 @@ +import { fileURLToPath } from 'node:url'; +import { baseService } from 'astro/assets'; + +/** + * stub image service that returns images as-is without optimization + * @param {{ foo?: string }} [config] + */ +export function testImageService(config = {}) { + return { + entrypoint: fileURLToPath(import.meta.url), + config, + }; +} + +/** @type {import("../dist/@types/astro").LocalImageService} */ +export default { + ...baseService, + propertiesToHash: [...baseService.propertiesToHash, 'data-custom'], + getHTMLAttributes(options, serviceConfig) { + options['data-service'] = 'my-custom-service'; + if (serviceConfig.service.config.foo) { + options['data-service-config'] = serviceConfig.service.config.foo; + } + return baseService.getHTMLAttributes(options); + }, + async transform(buffer, transform) { + return { + data: buffer, + format: transform.format, + }; + }, +}; |