···11import { gzipSync } from 'zlib';
22+import { charsets } from 'mime-types';
2334/**
45 * Determine if a file should be gzip compressed based on its MIME type and filename
···83848485 // Default to not compressing for unknown types
8586 return false;
8787+}
8888+8989+/**
9090+ * Returns true if the given MIME type is a text-based type (charset UTF-8).
9191+ * Uses mime-types library instead of a hardcoded list.
9292+ */
9393+export function isTextMimeType(mimeType: string): boolean {
9494+ return charsets.lookup(mimeType) === 'UTF-8';
8695}
87968897/**
+1-1
packages/@wispplace/atproto-utils/src/index.ts
···22export { computeCID, extractBlobMap, extractBlobCid } from './blob';
3344// Compression utilities
55-export { shouldCompressFile, shouldCompressMimeType, compressFile } from './compression';
55+export { shouldCompressFile, shouldCompressMimeType, compressFile, isTextMimeType } from './compression';
6677// Subfs utilities
88export { extractSubfsUris } from './subfs';