UNPKG

@shopify/react-native-skia

Version:

High-performance React Native Graphics using Skia

74 lines (73 loc) 2.07 kB
import { JsiSkApi } from "../skia/web"; import { JsiSkImage } from "../skia/web/JsiSkImage"; // eslint-disable-next-line @typescript-eslint/no-explicit-any const Noop = () => undefined; const NoopValue = () => ({ current: 0 }); const NoopSharedValue = () => ({ value: 0 }); export const Mock = CanvasKit => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore global.SkiaApi = JsiSkApi(CanvasKit); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const Skia = global.SkiaApi; return { Skia, ...require("../renderer/components"), ...require("../skia"), ...require("../animation"), ...require("../dom/types"), ...require("../dom/nodes"), Canvas: require("react-native").View, WebGPUCanvas: require("react-native").View, SkiaPictureView: require("react-native").View, JsiSkImage: JsiSkImage, drawAsPicture: Noop, drawAsImage: Noop, drawAsImageFromPicture: Noop, useCanvasRef: NoopValue, useCanvasSize: () => ({ ref: { current: 0 }, size: { width: 0, height: 0 } }), // Skia Animations useValue: NoopValue, useComputedValue: NoopValue, useTiming: NoopValue, useLoop: NoopValue, useSpring: NoopValue, useClockValue: NoopValue, useValueEffect: Noop, // Reanimated hooks isOnMainThread: () => true, isFabric: true, useClock: NoopSharedValue, usePathInterpolation: NoopSharedValue, useImageAsTexture: NoopSharedValue, useTextureValue: NoopSharedValue, useTextureValueFromPicture: NoopSharedValue, useRSXformBuffer: NoopSharedValue, usePointBuffer: NoopSharedValue, useColorBuffer: NoopSharedValue, useRectBuffer: NoopSharedValue, useBuffer: NoopSharedValue, useRawData: Noop, useData: Noop, useFont: () => Skia.Font(undefined, 0), useFonts: Noop, useTypeface: () => null, useImage: () => null, useSVG: () => null, useVideo: () => null }; }; //# sourceMappingURL=index.js.map