react-native-animated-glow
Version:
A performant, highly-customizable animated glow effect for React Native, powered by Skia and Reanimated.
26 lines (25 loc) • 937 B
JavaScript
import { Platform } from 'react-native';
import { LoadSkiaWeb } from '@shopify/react-native-skia/lib/module/web';
const skiaPackageJson = require('@shopify/react-native-skia/package.json');
const canvasKitVersion = skiaPackageJson.dependencies['canvaskit-wasm'];
export const skiaWebState = {
status: 'idle',
subscribers: new Set()
};
let hasBeenTriggered = false;
export const ensureSkiaWebLoaded = () => {
if (Platform.OS !== 'web' || hasBeenTriggered || skiaWebState.status !== 'idle') {
return;
}
hasBeenTriggered = true;
skiaWebState.status = 'loading';
LoadSkiaWeb({
locateFile: file => `https://cdn.jsdelivr.net/npm/canvaskit-wasm@${canvasKitVersion}/bin/full/${file}`
}).then(() => {
skiaWebState.status = 'ready';
skiaWebState.subscribers.forEach(callback => callback());
skiaWebState.subscribers.clear();
}).catch(err => {});
};
//# sourceMappingURL=SkiaWebLoader.web.js.map
;