aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/test/test-image-service.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vercel/test/test-image-service.js')
-rw-r--r--packages/integrations/vercel/test/test-image-service.js32
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,
+ };
+ },
+};