solid-js 1.3.0-beta.0 → 1.3.0-beta.1

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
@@ -354,7 +354,7 @@ function createSelector(source, fn = equalFn, options) {
354
354
  const subs = new Map();
355
355
  const node = createComputation(p => {
356
356
  const v = source();
357
- for (const key of subs.keys()) if (fn(key, v) || p !== undefined && fn(key, p)) {
357
+ for (const key of subs.keys()) if (fn(key, v) !== (p !== undefined && fn(key, p))) {
358
358
  const l = subs.get(key);
359
359
  for (const c of l.values()) {
360
360
  c.state = STALE;
@@ -708,7 +708,7 @@ function runTop(node) {
708
708
  } else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
709
709
  const updates = Updates;
710
710
  Updates = null;
711
- lookDownstream(node);
711
+ lookDownstream(node, ancestors[0]);
712
712
  Updates = updates;
713
713
  }
714
714
  }
@@ -807,13 +807,15 @@ function runUserEffects(queue) {
807
807
  for (i = 0; i < userLength; i++) runTop(queue[i]);
808
808
  for (i = resume; i < queue.length; i++) runTop(queue[i]);
809
809
  }
810
- function lookDownstream(node) {
810
+ function lookDownstream(node, ignore) {
811
811
  node.state = 0;
812
812
  const runningTransition = Transition && Transition.running;
813
813
  for (let i = 0; i < node.sources.length; i += 1) {
814
814
  const source = node.sources[i];
815
815
  if (source.sources) {
816
- if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
816
+ if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) {
817
+ if (source !== ignore) runTop(source);
818
+ } else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source, ignore);
817
819
  }
818
820
  }
819
821
  }
package/dist/dev.js CHANGED
@@ -350,7 +350,7 @@ function createSelector(source, fn = equalFn, options) {
350
350
  const subs = new Map();
351
351
  const node = createComputation(p => {
352
352
  const v = source();
353
- for (const key of subs.keys()) if (fn(key, v) || p !== undefined && fn(key, p)) {
353
+ for (const key of subs.keys()) if (fn(key, v) !== (p !== undefined && fn(key, p))) {
354
354
  const l = subs.get(key);
355
355
  for (const c of l.values()) {
356
356
  c.state = STALE;
@@ -704,7 +704,7 @@ function runTop(node) {
704
704
  } else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
705
705
  const updates = Updates;
706
706
  Updates = null;
707
- lookDownstream(node);
707
+ lookDownstream(node, ancestors[0]);
708
708
  Updates = updates;
709
709
  }
710
710
  }
@@ -803,13 +803,15 @@ function runUserEffects(queue) {
803
803
  for (i = 0; i < userLength; i++) runTop(queue[i]);
804
804
  for (i = resume; i < queue.length; i++) runTop(queue[i]);
805
805
  }
806
- function lookDownstream(node) {
806
+ function lookDownstream(node, ignore) {
807
807
  node.state = 0;
808
808
  const runningTransition = Transition && Transition.running;
809
809
  for (let i = 0; i < node.sources.length; i += 1) {
810
810
  const source = node.sources[i];
811
811
  if (source.sources) {
812
- if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
812
+ if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) {
813
+ if (source !== ignore) runTop(source);
814
+ } else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source, ignore);
813
815
  }
814
816
  }
815
817
  }
package/dist/solid.cjs CHANGED
@@ -351,7 +351,7 @@ function createSelector(source, fn = equalFn, options) {
351
351
  const subs = new Map();
352
352
  const node = createComputation(p => {
353
353
  const v = source();
354
- for (const key of subs.keys()) if (fn(key, v) || p !== undefined && fn(key, p)) {
354
+ for (const key of subs.keys()) if (fn(key, v) !== (p !== undefined && fn(key, p))) {
355
355
  const l = subs.get(key);
356
356
  for (const c of l.values()) {
357
357
  c.state = STALE;
@@ -656,7 +656,7 @@ function runTop(node) {
656
656
  } else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
657
657
  const updates = Updates;
658
658
  Updates = null;
659
- lookDownstream(node);
659
+ lookDownstream(node, ancestors[0]);
660
660
  Updates = updates;
661
661
  }
662
662
  }
@@ -754,13 +754,15 @@ function runUserEffects(queue) {
754
754
  for (i = 0; i < userLength; i++) runTop(queue[i]);
755
755
  for (i = resume; i < queue.length; i++) runTop(queue[i]);
756
756
  }
757
- function lookDownstream(node) {
757
+ function lookDownstream(node, ignore) {
758
758
  node.state = 0;
759
759
  const runningTransition = Transition && Transition.running;
760
760
  for (let i = 0; i < node.sources.length; i += 1) {
761
761
  const source = node.sources[i];
762
762
  if (source.sources) {
763
- if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
763
+ if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) {
764
+ if (source !== ignore) runTop(source);
765
+ } else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source, ignore);
764
766
  }
765
767
  }
766
768
  }
package/dist/solid.js CHANGED
@@ -347,7 +347,7 @@ function createSelector(source, fn = equalFn, options) {
347
347
  const subs = new Map();
348
348
  const node = createComputation(p => {
349
349
  const v = source();
350
- for (const key of subs.keys()) if (fn(key, v) || p !== undefined && fn(key, p)) {
350
+ for (const key of subs.keys()) if (fn(key, v) !== (p !== undefined && fn(key, p))) {
351
351
  const l = subs.get(key);
352
352
  for (const c of l.values()) {
353
353
  c.state = STALE;
@@ -652,7 +652,7 @@ function runTop(node) {
652
652
  } else if (!runningTransition && node.state === PENDING || runningTransition && node.tState === PENDING) {
653
653
  const updates = Updates;
654
654
  Updates = null;
655
- lookDownstream(node);
655
+ lookDownstream(node, ancestors[0]);
656
656
  Updates = updates;
657
657
  }
658
658
  }
@@ -750,13 +750,15 @@ function runUserEffects(queue) {
750
750
  for (i = 0; i < userLength; i++) runTop(queue[i]);
751
751
  for (i = resume; i < queue.length; i++) runTop(queue[i]);
752
752
  }
753
- function lookDownstream(node) {
753
+ function lookDownstream(node, ignore) {
754
754
  node.state = 0;
755
755
  const runningTransition = Transition && Transition.running;
756
756
  for (let i = 0; i < node.sources.length; i += 1) {
757
757
  const source = node.sources[i];
758
758
  if (source.sources) {
759
- if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) runTop(source);else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source);
759
+ if (!runningTransition && source.state === STALE || runningTransition && source.tState === STALE) {
760
+ if (source !== ignore) runTop(source);
761
+ } else if (!runningTransition && source.state === PENDING || runningTransition && source.tState === PENDING) lookDownstream(source, ignore);
760
762
  }
761
763
  }
762
764
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "solid-js",
3
3
  "description": "A declarative JavaScript library for building user interfaces.",
4
- "version": "1.3.0-beta.0",
4
+ "version": "1.3.0-beta.1",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/solidjs/solid#readme",
@@ -132,5 +132,5 @@
132
132
  "compiler",
133
133
  "performance"
134
134
  ],
135
- "gitHead": "4efd2be2d5180db0a4875c7c05d8fb4cd9bf44f3"
135
+ "gitHead": "148c4c7d4f55842ec606364a972ce9abeb46c324"
136
136
  }
@@ -333,20 +333,18 @@ function renderToPipeableStream(code, options) {
333
333
  return value => {
334
334
  registry.delete(key);
335
335
  if (!value) return;
336
- Promise.resolve().then(() => {
337
- buffer.write(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`);
338
- scriptFlushed = true;
339
- checkEnd();
340
- });
336
+ buffer.write(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`);
337
+ scriptFlushed = true;
338
+ checkEnd();
341
339
  };
342
340
  }
343
341
  };
344
342
  let html = resolveSSRNode(escape(code()));
345
343
  html = injectAssets(solidJs.sharedConfig.context.assets, html);
346
- buffer.write(html);
347
344
  Promise.resolve().then(() => {
348
- writeInitialScript();
349
- buffer.write(`<script${nonce ? ` nonce="${nonce}"` : ""}>${SYNC_SCRIPT}</script>`);
345
+ buffer.write(html + `<script${nonce ? ` nonce="${nonce}"` : ""}>${tasks.length ? tasks.join(";") + ";" : ""}${SYNC_SCRIPT}</script>`);
346
+ tasks.length = 0;
347
+ scheduled = false;
350
348
  onCompleteShell && onCompleteShell();
351
349
  });
352
350
  return {
@@ -439,20 +437,18 @@ function pipeToWritable(code, writable, options = {}) {
439
437
  return value => {
440
438
  registry.delete(key);
441
439
  if (!value) return;
442
- Promise.resolve().then(() => {
443
- buffer.write(encoder.encode(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`));
444
- scriptFlushed = true;
445
- checkEnd();
446
- });
440
+ buffer.write(encoder.encode(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`));
441
+ scriptFlushed = true;
442
+ checkEnd();
447
443
  };
448
444
  }
449
445
  };
450
446
  let html = resolveSSRNode(escape(code()));
451
447
  html = injectAssets(solidJs.sharedConfig.context.assets, html);
452
- buffer.write(encoder.encode(html));
453
448
  Promise.resolve().then(() => {
454
- writeInitialScript();
455
- buffer.write(encoder.encode(`<script${nonce ? ` nonce="${nonce}"` : ""}>${SYNC_SCRIPT}</script>`));
449
+ buffer.write(encoder.encode(html + `<script${nonce ? ` nonce="${nonce}"` : ""}>${tasks.length ? tasks.join(";") + ";" : ""}${SYNC_SCRIPT}</script>`));
450
+ tasks.length = 0;
451
+ scheduled = false;
456
452
  onCompleteShell && onCompleteShell(result);
457
453
  });
458
454
  }
@@ -330,20 +330,18 @@ function renderToPipeableStream(code, options) {
330
330
  return value => {
331
331
  registry.delete(key);
332
332
  if (!value) return;
333
- Promise.resolve().then(() => {
334
- buffer.write(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`);
335
- scriptFlushed = true;
336
- checkEnd();
337
- });
333
+ buffer.write(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`);
334
+ scriptFlushed = true;
335
+ checkEnd();
338
336
  };
339
337
  }
340
338
  };
341
339
  let html = resolveSSRNode(escape(code()));
342
340
  html = injectAssets(sharedConfig.context.assets, html);
343
- buffer.write(html);
344
341
  Promise.resolve().then(() => {
345
- writeInitialScript();
346
- buffer.write(`<script${nonce ? ` nonce="${nonce}"` : ""}>${SYNC_SCRIPT}</script>`);
342
+ buffer.write(html + `<script${nonce ? ` nonce="${nonce}"` : ""}>${tasks.length ? tasks.join(";") + ";" : ""}${SYNC_SCRIPT}</script>`);
343
+ tasks.length = 0;
344
+ scheduled = false;
347
345
  onCompleteShell && onCompleteShell();
348
346
  });
349
347
  return {
@@ -436,20 +434,18 @@ function pipeToWritable(code, writable, options = {}) {
436
434
  return value => {
437
435
  registry.delete(key);
438
436
  if (!value) return;
439
- Promise.resolve().then(() => {
440
- buffer.write(encoder.encode(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`));
441
- scriptFlushed = true;
442
- checkEnd();
443
- });
437
+ buffer.write(encoder.encode(`<div hidden id="${key}">${value}</div><script${nonce ? ` nonce="${nonce}"` : ""}>${!scriptFlushed ? REPLACE_SCRIPT : ""}$df("${key}")</script>`));
438
+ scriptFlushed = true;
439
+ checkEnd();
444
440
  };
445
441
  }
446
442
  };
447
443
  let html = resolveSSRNode(escape(code()));
448
444
  html = injectAssets(sharedConfig.context.assets, html);
449
- buffer.write(encoder.encode(html));
450
445
  Promise.resolve().then(() => {
451
- writeInitialScript();
452
- buffer.write(encoder.encode(`<script${nonce ? ` nonce="${nonce}"` : ""}>${SYNC_SCRIPT}</script>`));
446
+ buffer.write(encoder.encode(html + `<script${nonce ? ` nonce="${nonce}"` : ""}>${tasks.length ? tasks.join(";") + ";" : ""}${SYNC_SCRIPT}</script>`));
447
+ tasks.length = 0;
448
+ scheduled = false;
453
449
  onCompleteShell && onCompleteShell(result);
454
450
  });
455
451
  }