covid-green-dcc-file-decoder
Version:
<img alttext="COVID Green Logo" src="https://raw.githubusercontent.com/lfph/artwork/master/projects/covidgreen/stacked/color/covidgreen-stacked-color.png" width="300" />
36 lines (28 loc) • 788 B
text/typescript
import { extractQRFromImage, extractQRFromPDF } from './decode'
enum scaleOptions {
standard = 2.0,
fallback = 1.4,
}
const findQRData = async (source: InputSource): Promise<string[]> => {
let qrSources = []
if (source.image) {
qrSources = await extractQRFromImage(source.image)
} else if (source.pdf) {
qrSources = await extractQRFromPDF(source.pdf, scaleOptions.standard)
if (qrSources.length === 0) {
qrSources = await extractQRFromPDF(source.pdf, scaleOptions.fallback)
}
}
return qrSources
}
const extractQRCodes = async (inputs: {
source: InputSource
}): Promise<string[]> => {
const qrSources = await findQRData(inputs.source)
return qrSources
}
export type InputSource = {
image: Buffer
pdf: Buffer
}
export { extractQRCodes }