mson-three/src/node/vendor/index.ts

19 lines
616 B
TypeScript

import { Canvas } from 'canvas';
import { Blob, FileReader } from './vblob';
// Patch global scope to imitate browser environment.
global.Blob = Blob as any;
global.FileReader = FileReader as any;
global.document = {
createElement: (nodeName: string) => {
if (nodeName !== 'canvas')
throw new Error(`Cannot create node ${nodeName}`);
const canvas = new Canvas(256, 256);
// This isn't working — currently need to avoid toBlob(), so export to embedded .gltf not .glb.
// canvas.toBlob = function () {
// return new Blob([this.toBuffer()]);
// };
return canvas;
},
} as any;