Android CI / RC / Android · lint, tests, debug APK, release compile (push) Successful in 3m16s
DH V2 CI / API · typecheck, tests, build (push) Successful in 31s
DH V2 CI / WEB · typecheck, build (push) Successful in 18s
Production dependency audit / API · production dependencies (push) Successful in 8s
Production dependency audit / WEB · production dependencies (push) Successful in 8s
DH V2 CI / Docker / scripts contract (push) Successful in 50s
15 lines
628 B
TypeScript
15 lines
628 B
TypeScript
const sharp = require('sharp') as typeof import('sharp').default;
|
|
|
|
// PDFKit and the Word image renderer accept JPEG/PNG. The source bytes and
|
|
// their recorded SHA-256 remain untouched; WebP is only converted for display.
|
|
export async function renderableInspectionImage(source: Buffer): Promise<Buffer> {
|
|
const isWebp = source.length >= 12
|
|
&& source.subarray(0, 4).toString('ascii') === 'RIFF'
|
|
&& source.subarray(8, 12).toString('ascii') === 'WEBP';
|
|
if (!isWebp) return source;
|
|
return sharp(source)
|
|
.resize({ width: 1600, height: 1200, fit: 'inside', withoutEnlargement: true })
|
|
.png()
|
|
.toBuffer();
|
|
}
|