Skip to content

Commit 1a29972

Browse files
committed
Allow passing a custom loader such as from yoga-wasm-web
1 parent 50a7948 commit 1a29972

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/utils.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ import { type Node } from 'yoga-layout'
55

66
import CssDimension from './vendor/parse-css-dimension/index.js'
77

8-
// Always preload Yoga.
9-
const loadingYoga = loadYoga()
10-
export function getYoga() {
11-
return loadingYoga
8+
// Allow passing a custom loader such as from yoga-wasm-web.
9+
let yogaPromise: Promise<Yoga>
10+
export function getYoga(yogaLoader: () => Promise<Yoga> = loadYoga) {
11+
if (!yogaPromise) {
12+
yogaPromise = yogaLoader()
13+
}
14+
return yogaPromise
1215
}
1316

1417
export { Yoga as TYoga, Node as YogaNode }

0 commit comments

Comments
 (0)