There was an error while loading. Please reload this page.
1 parent 50a7948 commit 1a29972Copy full SHA for 1a29972
1 file changed
src/utils.ts
@@ -5,10 +5,13 @@ import { type Node } from 'yoga-layout'
5
6
import CssDimension from './vendor/parse-css-dimension/index.js'
7
8
-// Always preload Yoga.
9
-const loadingYoga = loadYoga()
10
-export function getYoga() {
11
- return loadingYoga
+// Allow passing a custom loader such as from yoga-wasm-web.
+let yogaPromise: Promise<Yoga>
+export function getYoga(yogaLoader: () => Promise<Yoga> = loadYoga) {
+ if (!yogaPromise) {
12
+ yogaPromise = yogaLoader()
13
+ }
14
+ return yogaPromise
15
}
16
17
export { Yoga as TYoga, Node as YogaNode }
0 commit comments