ente/thirdparty/face-api/dom/getContext2dOrThrow.ts

24 lines
660 B
TypeScript
Raw Normal View History

import { env } from '../env';
import { resolveInput } from './resolveInput';
export function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {
const { Canvas, CanvasRenderingContext2D } = env.getEnv()
if (canvasArg instanceof CanvasRenderingContext2D) {
return canvasArg
}
const canvas = resolveInput(canvasArg)
if (!(canvas instanceof Canvas)) {
throw new Error('resolveContext2d - expected canvas to be of instance of Canvas')
}
const ctx = canvas.getContext('2d')
if (!ctx) {
throw new Error('resolveContext2d - canvas 2d context is null')
}
return ctx
}