gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { Environment } from './types';
 
export function createBrowserEnv(): Environment {
  const fetch = window.fetch;
  if (!fetch) throw new Error('fetch - missing fetch implementation for browser environment');
 
  const readFile = () => {
    throw new Error('readFile - filesystem not available for browser environment');
  };
 
  return {
    Canvas: HTMLCanvasElement,
    CanvasRenderingContext2D,
    Image: HTMLImageElement,
    ImageData,
    Video: HTMLVideoElement,
    createCanvasElement: () => document.createElement('canvas'),
    createImageElement: () => document.createElement('img'),
    createVideoElement: () => document.createElement('video'),
    fetch,
    readFile,
  };
}