solid-js 1.5.1 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.cjs CHANGED
@@ -255,8 +255,7 @@ function createResource(pSource, pFetcher, pOptions) {
255
255
  fetcher = pFetcher;
256
256
  options = pOptions || {};
257
257
  }
258
- let err = undefined,
259
- pr = null,
258
+ let pr = null,
260
259
  initP = NO_INIT,
261
260
  id = null,
262
261
  loadedUnderTransition = false,
@@ -265,6 +264,7 @@ function createResource(pSource, pFetcher, pOptions) {
265
264
  dynamic = typeof source === "function" && createMemo(source);
266
265
  const contexts = new Set(),
267
266
  [value, setValue] = (options.storage || createSignal)(options.initialValue),
267
+ [error, setError] = createSignal(undefined),
268
268
  [track, trigger] = createSignal(undefined, {
269
269
  equals: false
270
270
  }),
@@ -274,7 +274,7 @@ function createResource(pSource, pFetcher, pOptions) {
274
274
  let v;
275
275
  if (options.ssrLoadFrom === "initial") initP = options.initialValue;else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v[0];
276
276
  }
277
- function loadEnd(p, v, success, key) {
277
+ function loadEnd(p, v, error, key) {
278
278
  if (pr === p) {
279
279
  pr = null;
280
280
  resolved = true;
@@ -291,25 +291,26 @@ function createResource(pSource, pFetcher, pOptions) {
291
291
  Effects.push.apply(Effects, Transition.effects);
292
292
  Transition.effects = [];
293
293
  }
294
- completeLoad(v, success);
294
+ completeLoad(v, error);
295
295
  }, false);
296
- } else completeLoad(v, success);
296
+ } else completeLoad(v, error);
297
297
  }
298
298
  return v;
299
299
  }
300
- function completeLoad(v, success) {
301
- !success && (err = castError(v));
300
+ function completeLoad(v, err) {
302
301
  runUpdates(() => {
303
- setValue(() => v);
304
- setState(success ? "ready" : "errored");
302
+ if (!err) setValue(() => v);
303
+ setError(err);
304
+ setState(err ? "errored" : "ready");
305
305
  for (const c of contexts.keys()) c.decrement();
306
306
  contexts.clear();
307
307
  }, false);
308
308
  }
309
309
  function read() {
310
310
  const c = SuspenseContext && lookup(Owner, SuspenseContext.id),
311
- v = value();
312
- if (err) throw err;
311
+ v = value(),
312
+ err = error();
313
+ if (err && !pr) throw err;
313
314
  if (Listener && !Listener.user && c) {
314
315
  createComputed(() => {
315
316
  track();
@@ -326,11 +327,10 @@ function createResource(pSource, pFetcher, pOptions) {
326
327
  function load(refetching = true) {
327
328
  if (refetching !== false && scheduled) return;
328
329
  scheduled = false;
329
- err = undefined;
330
330
  const lookup = dynamic ? dynamic() : source;
331
331
  loadedUnderTransition = Transition && Transition.running;
332
332
  if (lookup == null || lookup === false) {
333
- loadEnd(pr, untrack(value), true);
333
+ loadEnd(pr, untrack(value));
334
334
  return;
335
335
  }
336
336
  if (Transition && pr) Transition.promises.delete(pr);
@@ -339,7 +339,7 @@ function createResource(pSource, pFetcher, pOptions) {
339
339
  refetching
340
340
  }));
341
341
  if (typeof p !== "object" || !("then" in p)) {
342
- loadEnd(pr, p, true);
342
+ loadEnd(pr, p);
343
343
  return p;
344
344
  }
345
345
  pr = p;
@@ -349,27 +349,26 @@ function createResource(pSource, pFetcher, pOptions) {
349
349
  setState(resolved ? "refreshing" : "pending");
350
350
  trigger();
351
351
  }, false);
352
- return p.then(v => loadEnd(p, v, true, lookup), e => loadEnd(p, e, false));
352
+ return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e)));
353
353
  }
354
354
  Object.defineProperties(read, {
355
355
  state: {
356
356
  get: () => state()
357
357
  },
358
+ error: {
359
+ get: () => error()
360
+ },
358
361
  loading: {
359
362
  get() {
360
363
  const s = state();
361
364
  return s === "pending" || s === "refreshing";
362
365
  }
363
366
  },
364
- error: {
365
- get() {
366
- return state() === "errored" ? err : undefined;
367
- }
368
- },
369
367
  latest: {
370
368
  get() {
371
369
  if (!resolved) return read();
372
- if (state() === "errored") throw err;
370
+ const err = error();
371
+ if (err && !pr) throw err;
373
372
  return value();
374
373
  }
375
374
  }
package/dist/dev.js CHANGED
@@ -251,8 +251,7 @@ function createResource(pSource, pFetcher, pOptions) {
251
251
  fetcher = pFetcher;
252
252
  options = pOptions || {};
253
253
  }
254
- let err = undefined,
255
- pr = null,
254
+ let pr = null,
256
255
  initP = NO_INIT,
257
256
  id = null,
258
257
  loadedUnderTransition = false,
@@ -261,6 +260,7 @@ function createResource(pSource, pFetcher, pOptions) {
261
260
  dynamic = typeof source === "function" && createMemo(source);
262
261
  const contexts = new Set(),
263
262
  [value, setValue] = (options.storage || createSignal)(options.initialValue),
263
+ [error, setError] = createSignal(undefined),
264
264
  [track, trigger] = createSignal(undefined, {
265
265
  equals: false
266
266
  }),
@@ -270,7 +270,7 @@ function createResource(pSource, pFetcher, pOptions) {
270
270
  let v;
271
271
  if (options.ssrLoadFrom === "initial") initP = options.initialValue;else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v[0];
272
272
  }
273
- function loadEnd(p, v, success, key) {
273
+ function loadEnd(p, v, error, key) {
274
274
  if (pr === p) {
275
275
  pr = null;
276
276
  resolved = true;
@@ -287,25 +287,26 @@ function createResource(pSource, pFetcher, pOptions) {
287
287
  Effects.push.apply(Effects, Transition.effects);
288
288
  Transition.effects = [];
289
289
  }
290
- completeLoad(v, success);
290
+ completeLoad(v, error);
291
291
  }, false);
292
- } else completeLoad(v, success);
292
+ } else completeLoad(v, error);
293
293
  }
294
294
  return v;
295
295
  }
296
- function completeLoad(v, success) {
297
- !success && (err = castError(v));
296
+ function completeLoad(v, err) {
298
297
  runUpdates(() => {
299
- setValue(() => v);
300
- setState(success ? "ready" : "errored");
298
+ if (!err) setValue(() => v);
299
+ setError(err);
300
+ setState(err ? "errored" : "ready");
301
301
  for (const c of contexts.keys()) c.decrement();
302
302
  contexts.clear();
303
303
  }, false);
304
304
  }
305
305
  function read() {
306
306
  const c = SuspenseContext && lookup(Owner, SuspenseContext.id),
307
- v = value();
308
- if (err) throw err;
307
+ v = value(),
308
+ err = error();
309
+ if (err && !pr) throw err;
309
310
  if (Listener && !Listener.user && c) {
310
311
  createComputed(() => {
311
312
  track();
@@ -322,11 +323,10 @@ function createResource(pSource, pFetcher, pOptions) {
322
323
  function load(refetching = true) {
323
324
  if (refetching !== false && scheduled) return;
324
325
  scheduled = false;
325
- err = undefined;
326
326
  const lookup = dynamic ? dynamic() : source;
327
327
  loadedUnderTransition = Transition && Transition.running;
328
328
  if (lookup == null || lookup === false) {
329
- loadEnd(pr, untrack(value), true);
329
+ loadEnd(pr, untrack(value));
330
330
  return;
331
331
  }
332
332
  if (Transition && pr) Transition.promises.delete(pr);
@@ -335,7 +335,7 @@ function createResource(pSource, pFetcher, pOptions) {
335
335
  refetching
336
336
  }));
337
337
  if (typeof p !== "object" || !("then" in p)) {
338
- loadEnd(pr, p, true);
338
+ loadEnd(pr, p);
339
339
  return p;
340
340
  }
341
341
  pr = p;
@@ -345,27 +345,26 @@ function createResource(pSource, pFetcher, pOptions) {
345
345
  setState(resolved ? "refreshing" : "pending");
346
346
  trigger();
347
347
  }, false);
348
- return p.then(v => loadEnd(p, v, true, lookup), e => loadEnd(p, e, false));
348
+ return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e)));
349
349
  }
350
350
  Object.defineProperties(read, {
351
351
  state: {
352
352
  get: () => state()
353
353
  },
354
+ error: {
355
+ get: () => error()
356
+ },
354
357
  loading: {
355
358
  get() {
356
359
  const s = state();
357
360
  return s === "pending" || s === "refreshing";
358
361
  }
359
362
  },
360
- error: {
361
- get() {
362
- return state() === "errored" ? err : undefined;
363
- }
364
- },
365
363
  latest: {
366
364
  get() {
367
365
  if (!resolved) return read();
368
- if (state() === "errored") throw err;
366
+ const err = error();
367
+ if (err && !pr) throw err;
369
368
  return value();
370
369
  }
371
370
  }
package/dist/server.cjs CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const equalFn = (a, b) => a === b;
6
6
  const $PROXY = Symbol("solid-proxy");
7
+ const $TRACK = Symbol("solid-track");
7
8
  const $DEVCOMP = Symbol("solid-dev-component");
8
9
  const DEV = {};
9
10
  const ERROR = Symbol("error");
@@ -489,7 +490,6 @@ function lazy(fn) {
489
490
  return p;
490
491
  };
491
492
  const contexts = new Set();
492
- setTimeout(load);
493
493
  const wrap = props => {
494
494
  load();
495
495
  const id = sharedConfig.context.id.slice(0, -1);
@@ -503,21 +503,22 @@ function lazy(fn) {
503
503
  ctx.resources.set(id, track);
504
504
  contexts.add(ctx);
505
505
  }
506
- if (sharedConfig.context.async) p.then(() => {
507
- track.loading = false;
508
- notifySuspense(contexts);
509
- });
506
+ if (sharedConfig.context.async) {
507
+ sharedConfig.context.block(p.then(() => {
508
+ track.loading = false;
509
+ notifySuspense(contexts);
510
+ }));
511
+ }
510
512
  return "";
511
513
  };
512
514
  wrap.preload = load;
513
515
  return wrap;
514
516
  }
515
517
  function suspenseComplete(c) {
516
- if (c.complete) return true;
517
518
  for (const r of c.resources.values()) {
518
519
  if (r.loading) return false;
519
520
  }
520
- return c.complete = true;
521
+ return true;
521
522
  }
522
523
  function notifySuspense(contexts) {
523
524
  for (const c of contexts) {
@@ -556,8 +557,7 @@ function Suspense(props) {
556
557
  if (suspenseComplete(value)) {
557
558
  done(resolveSSRNode(res));
558
559
  }
559
- },
560
- complete: false
560
+ }
561
561
  });
562
562
  function runSuspense() {
563
563
  setHydrateContext({ ...ctx,
@@ -584,7 +584,11 @@ function Suspense(props) {
584
584
  });
585
585
  done = ctx.async ? ctx.registerFragment(id) : undefined;
586
586
  if (ctx.async) {
587
- setHydrateContext(undefined);
587
+ setHydrateContext({ ...ctx,
588
+ count: 0,
589
+ id: ctx.id + "0.f",
590
+ noHydrate: true
591
+ });
588
592
  const res = {
589
593
  t: `<span id="pl-${id}">${resolveSSRNode(props.fallback)}</span>`
590
594
  };
@@ -601,6 +605,7 @@ function Suspense(props) {
601
605
 
602
606
  exports.$DEVCOMP = $DEVCOMP;
603
607
  exports.$PROXY = $PROXY;
608
+ exports.$TRACK = $TRACK;
604
609
  exports.DEV = DEV;
605
610
  exports.ErrorBoundary = ErrorBoundary;
606
611
  exports.For = For;
package/dist/server.js CHANGED
@@ -1,5 +1,6 @@
1
1
  const equalFn = (a, b) => a === b;
2
2
  const $PROXY = Symbol("solid-proxy");
3
+ const $TRACK = Symbol("solid-track");
3
4
  const $DEVCOMP = Symbol("solid-dev-component");
4
5
  const DEV = {};
5
6
  const ERROR = Symbol("error");
@@ -485,7 +486,6 @@ function lazy(fn) {
485
486
  return p;
486
487
  };
487
488
  const contexts = new Set();
488
- setTimeout(load);
489
489
  const wrap = props => {
490
490
  load();
491
491
  const id = sharedConfig.context.id.slice(0, -1);
@@ -499,21 +499,22 @@ function lazy(fn) {
499
499
  ctx.resources.set(id, track);
500
500
  contexts.add(ctx);
501
501
  }
502
- if (sharedConfig.context.async) p.then(() => {
503
- track.loading = false;
504
- notifySuspense(contexts);
505
- });
502
+ if (sharedConfig.context.async) {
503
+ sharedConfig.context.block(p.then(() => {
504
+ track.loading = false;
505
+ notifySuspense(contexts);
506
+ }));
507
+ }
506
508
  return "";
507
509
  };
508
510
  wrap.preload = load;
509
511
  return wrap;
510
512
  }
511
513
  function suspenseComplete(c) {
512
- if (c.complete) return true;
513
514
  for (const r of c.resources.values()) {
514
515
  if (r.loading) return false;
515
516
  }
516
- return c.complete = true;
517
+ return true;
517
518
  }
518
519
  function notifySuspense(contexts) {
519
520
  for (const c of contexts) {
@@ -552,8 +553,7 @@ function Suspense(props) {
552
553
  if (suspenseComplete(value)) {
553
554
  done(resolveSSRNode(res));
554
555
  }
555
- },
556
- complete: false
556
+ }
557
557
  });
558
558
  function runSuspense() {
559
559
  setHydrateContext({ ...ctx,
@@ -580,7 +580,11 @@ function Suspense(props) {
580
580
  });
581
581
  done = ctx.async ? ctx.registerFragment(id) : undefined;
582
582
  if (ctx.async) {
583
- setHydrateContext(undefined);
583
+ setHydrateContext({ ...ctx,
584
+ count: 0,
585
+ id: ctx.id + "0.f",
586
+ noHydrate: true
587
+ });
584
588
  const res = {
585
589
  t: `<span id="pl-${id}">${resolveSSRNode(props.fallback)}</span>`
586
590
  };
@@ -595,4 +599,4 @@ function Suspense(props) {
595
599
  return props.fallback;
596
600
  }
597
601
 
598
- export { $DEVCOMP, $PROXY, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };
602
+ export { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };
package/dist/solid.cjs CHANGED
@@ -247,8 +247,7 @@ function createResource(pSource, pFetcher, pOptions) {
247
247
  fetcher = pFetcher;
248
248
  options = pOptions || {};
249
249
  }
250
- let err = undefined,
251
- pr = null,
250
+ let pr = null,
252
251
  initP = NO_INIT,
253
252
  id = null,
254
253
  loadedUnderTransition = false,
@@ -257,6 +256,7 @@ function createResource(pSource, pFetcher, pOptions) {
257
256
  dynamic = typeof source === "function" && createMemo(source);
258
257
  const contexts = new Set(),
259
258
  [value, setValue] = (options.storage || createSignal)(options.initialValue),
259
+ [error, setError] = createSignal(undefined),
260
260
  [track, trigger] = createSignal(undefined, {
261
261
  equals: false
262
262
  }),
@@ -266,7 +266,7 @@ function createResource(pSource, pFetcher, pOptions) {
266
266
  let v;
267
267
  if (options.ssrLoadFrom === "initial") initP = options.initialValue;else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v[0];
268
268
  }
269
- function loadEnd(p, v, success, key) {
269
+ function loadEnd(p, v, error, key) {
270
270
  if (pr === p) {
271
271
  pr = null;
272
272
  resolved = true;
@@ -283,25 +283,26 @@ function createResource(pSource, pFetcher, pOptions) {
283
283
  Effects.push.apply(Effects, Transition.effects);
284
284
  Transition.effects = [];
285
285
  }
286
- completeLoad(v, success);
286
+ completeLoad(v, error);
287
287
  }, false);
288
- } else completeLoad(v, success);
288
+ } else completeLoad(v, error);
289
289
  }
290
290
  return v;
291
291
  }
292
- function completeLoad(v, success) {
293
- !success && (err = castError(v));
292
+ function completeLoad(v, err) {
294
293
  runUpdates(() => {
295
- setValue(() => v);
296
- setState(success ? "ready" : "errored");
294
+ if (!err) setValue(() => v);
295
+ setError(err);
296
+ setState(err ? "errored" : "ready");
297
297
  for (const c of contexts.keys()) c.decrement();
298
298
  contexts.clear();
299
299
  }, false);
300
300
  }
301
301
  function read() {
302
302
  const c = SuspenseContext && lookup(Owner, SuspenseContext.id),
303
- v = value();
304
- if (err) throw err;
303
+ v = value(),
304
+ err = error();
305
+ if (err && !pr) throw err;
305
306
  if (Listener && !Listener.user && c) {
306
307
  createComputed(() => {
307
308
  track();
@@ -318,11 +319,10 @@ function createResource(pSource, pFetcher, pOptions) {
318
319
  function load(refetching = true) {
319
320
  if (refetching !== false && scheduled) return;
320
321
  scheduled = false;
321
- err = undefined;
322
322
  const lookup = dynamic ? dynamic() : source;
323
323
  loadedUnderTransition = Transition && Transition.running;
324
324
  if (lookup == null || lookup === false) {
325
- loadEnd(pr, untrack(value), true);
325
+ loadEnd(pr, untrack(value));
326
326
  return;
327
327
  }
328
328
  if (Transition && pr) Transition.promises.delete(pr);
@@ -331,7 +331,7 @@ function createResource(pSource, pFetcher, pOptions) {
331
331
  refetching
332
332
  }));
333
333
  if (typeof p !== "object" || !("then" in p)) {
334
- loadEnd(pr, p, true);
334
+ loadEnd(pr, p);
335
335
  return p;
336
336
  }
337
337
  pr = p;
@@ -341,27 +341,26 @@ function createResource(pSource, pFetcher, pOptions) {
341
341
  setState(resolved ? "refreshing" : "pending");
342
342
  trigger();
343
343
  }, false);
344
- return p.then(v => loadEnd(p, v, true, lookup), e => loadEnd(p, e, false));
344
+ return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e)));
345
345
  }
346
346
  Object.defineProperties(read, {
347
347
  state: {
348
348
  get: () => state()
349
349
  },
350
+ error: {
351
+ get: () => error()
352
+ },
350
353
  loading: {
351
354
  get() {
352
355
  const s = state();
353
356
  return s === "pending" || s === "refreshing";
354
357
  }
355
358
  },
356
- error: {
357
- get() {
358
- return state() === "errored" ? err : undefined;
359
- }
360
- },
361
359
  latest: {
362
360
  get() {
363
361
  if (!resolved) return read();
364
- if (state() === "errored") throw err;
362
+ const err = error();
363
+ if (err && !pr) throw err;
365
364
  return value();
366
365
  }
367
366
  }
package/dist/solid.js CHANGED
@@ -243,8 +243,7 @@ function createResource(pSource, pFetcher, pOptions) {
243
243
  fetcher = pFetcher;
244
244
  options = pOptions || {};
245
245
  }
246
- let err = undefined,
247
- pr = null,
246
+ let pr = null,
248
247
  initP = NO_INIT,
249
248
  id = null,
250
249
  loadedUnderTransition = false,
@@ -253,6 +252,7 @@ function createResource(pSource, pFetcher, pOptions) {
253
252
  dynamic = typeof source === "function" && createMemo(source);
254
253
  const contexts = new Set(),
255
254
  [value, setValue] = (options.storage || createSignal)(options.initialValue),
255
+ [error, setError] = createSignal(undefined),
256
256
  [track, trigger] = createSignal(undefined, {
257
257
  equals: false
258
258
  }),
@@ -262,7 +262,7 @@ function createResource(pSource, pFetcher, pOptions) {
262
262
  let v;
263
263
  if (options.ssrLoadFrom === "initial") initP = options.initialValue;else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v[0];
264
264
  }
265
- function loadEnd(p, v, success, key) {
265
+ function loadEnd(p, v, error, key) {
266
266
  if (pr === p) {
267
267
  pr = null;
268
268
  resolved = true;
@@ -279,25 +279,26 @@ function createResource(pSource, pFetcher, pOptions) {
279
279
  Effects.push.apply(Effects, Transition.effects);
280
280
  Transition.effects = [];
281
281
  }
282
- completeLoad(v, success);
282
+ completeLoad(v, error);
283
283
  }, false);
284
- } else completeLoad(v, success);
284
+ } else completeLoad(v, error);
285
285
  }
286
286
  return v;
287
287
  }
288
- function completeLoad(v, success) {
289
- !success && (err = castError(v));
288
+ function completeLoad(v, err) {
290
289
  runUpdates(() => {
291
- setValue(() => v);
292
- setState(success ? "ready" : "errored");
290
+ if (!err) setValue(() => v);
291
+ setError(err);
292
+ setState(err ? "errored" : "ready");
293
293
  for (const c of contexts.keys()) c.decrement();
294
294
  contexts.clear();
295
295
  }, false);
296
296
  }
297
297
  function read() {
298
298
  const c = SuspenseContext && lookup(Owner, SuspenseContext.id),
299
- v = value();
300
- if (err) throw err;
299
+ v = value(),
300
+ err = error();
301
+ if (err && !pr) throw err;
301
302
  if (Listener && !Listener.user && c) {
302
303
  createComputed(() => {
303
304
  track();
@@ -314,11 +315,10 @@ function createResource(pSource, pFetcher, pOptions) {
314
315
  function load(refetching = true) {
315
316
  if (refetching !== false && scheduled) return;
316
317
  scheduled = false;
317
- err = undefined;
318
318
  const lookup = dynamic ? dynamic() : source;
319
319
  loadedUnderTransition = Transition && Transition.running;
320
320
  if (lookup == null || lookup === false) {
321
- loadEnd(pr, untrack(value), true);
321
+ loadEnd(pr, untrack(value));
322
322
  return;
323
323
  }
324
324
  if (Transition && pr) Transition.promises.delete(pr);
@@ -327,7 +327,7 @@ function createResource(pSource, pFetcher, pOptions) {
327
327
  refetching
328
328
  }));
329
329
  if (typeof p !== "object" || !("then" in p)) {
330
- loadEnd(pr, p, true);
330
+ loadEnd(pr, p);
331
331
  return p;
332
332
  }
333
333
  pr = p;
@@ -337,27 +337,26 @@ function createResource(pSource, pFetcher, pOptions) {
337
337
  setState(resolved ? "refreshing" : "pending");
338
338
  trigger();
339
339
  }, false);
340
- return p.then(v => loadEnd(p, v, true, lookup), e => loadEnd(p, e, false));
340
+ return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e)));
341
341
  }
342
342
  Object.defineProperties(read, {
343
343
  state: {
344
344
  get: () => state()
345
345
  },
346
+ error: {
347
+ get: () => error()
348
+ },
346
349
  loading: {
347
350
  get() {
348
351
  const s = state();
349
352
  return s === "pending" || s === "refreshing";
350
353
  }
351
354
  },
352
- error: {
353
- get() {
354
- return state() === "errored" ? err : undefined;
355
- }
356
- },
357
355
  latest: {
358
356
  get() {
359
357
  if (!resolved) return read();
360
- if (state() === "errored") throw err;
358
+ const err = error();
359
+ if (err && !pr) throw err;
361
360
  return value();
362
361
  }
363
362
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "solid-js/h/jsx-runtime",
3
+ "main": "./dist/jsx.cjs",
4
+ "module": "./dist/jsx.js",
5
+ "types": "./types/index.d.ts",
6
+ "type": "module",
7
+ "sideEffects": false
8
+ }