()
| 1366 | } |
| 1367 | |
| 1368 | export function createLazySignal<T>() { |
| 1369 | let res: ((value: T) => void) | undefined; |
| 1370 | |
| 1371 | const [value, { mutate: setValue }] = createResource( |
| 1372 | () => |
| 1373 | new Promise<T>((r) => { |
| 1374 | res = r; |
| 1375 | }), |
| 1376 | ); |
| 1377 | |
| 1378 | return [ |
| 1379 | value, |
| 1380 | (value: T) => { |
| 1381 | if (res) { |
| 1382 | res(value); |
| 1383 | res = undefined; |
| 1384 | } else { |
| 1385 | setValue(() => value); |
| 1386 | } |
| 1387 | }, |
| 1388 | ] as const; |
| 1389 | } |
no outgoing calls
no test coverage detected