solid-js 1.6.3 → 1.6.5

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
@@ -1266,7 +1266,13 @@ function resolveSource(s) {
1266
1266
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1267
1267
  }
1268
1268
  function mergeProps(...sources) {
1269
- if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
1269
+ let proxy = false;
1270
+ for (let i = 0; i < sources.length; i++) {
1271
+ const s = sources[i];
1272
+ proxy = proxy || !!s && $PROXY in s;
1273
+ sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
1274
+ }
1275
+ if (proxy) {
1270
1276
  return new Proxy({
1271
1277
  get(property) {
1272
1278
  for (let i = sources.length - 1; i >= 0; i--) {
@@ -1360,9 +1366,6 @@ function lazy(fn) {
1360
1366
  } else if (!comp) {
1361
1367
  const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));
1362
1368
  comp = s;
1363
- } else {
1364
- const c = comp();
1365
- if (c) return c(props);
1366
1369
  }
1367
1370
  let Comp;
1368
1371
  return createMemo(() => (Comp = comp()) && untrack(() => {
package/dist/dev.js CHANGED
@@ -1262,7 +1262,13 @@ function resolveSource(s) {
1262
1262
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1263
1263
  }
1264
1264
  function mergeProps(...sources) {
1265
- if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
1265
+ let proxy = false;
1266
+ for (let i = 0; i < sources.length; i++) {
1267
+ const s = sources[i];
1268
+ proxy = proxy || !!s && $PROXY in s;
1269
+ sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
1270
+ }
1271
+ if (proxy) {
1266
1272
  return new Proxy({
1267
1273
  get(property) {
1268
1274
  for (let i = sources.length - 1; i >= 0; i--) {
@@ -1356,9 +1362,6 @@ function lazy(fn) {
1356
1362
  } else if (!comp) {
1357
1363
  const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));
1358
1364
  comp = s;
1359
- } else {
1360
- const c = comp();
1361
- if (c) return c(props);
1362
1365
  }
1363
1366
  let Comp;
1364
1367
  return createMemo(() => (Comp = comp()) && untrack(() => {
package/dist/server.cjs CHANGED
@@ -299,7 +299,9 @@ function mergeProps(...sources) {
299
299
  enumerable: true,
300
300
  get() {
301
301
  for (let i = sources.length - 1; i >= 0; i--) {
302
- const v = (sources[i] || {})[key];
302
+ let s = sources[i] || {};
303
+ if (typeof s === "function") s = s();
304
+ const v = s[key];
303
305
  if (v !== undefined) return v;
304
306
  }
305
307
  }
package/dist/server.js CHANGED
@@ -295,7 +295,9 @@ function mergeProps(...sources) {
295
295
  enumerable: true,
296
296
  get() {
297
297
  for (let i = sources.length - 1; i >= 0; i--) {
298
- const v = (sources[i] || {})[key];
298
+ let s = sources[i] || {};
299
+ if (typeof s === "function") s = s();
300
+ const v = s[key];
299
301
  if (v !== undefined) return v;
300
302
  }
301
303
  }
package/dist/solid.cjs CHANGED
@@ -1174,7 +1174,13 @@ function resolveSource(s) {
1174
1174
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1175
1175
  }
1176
1176
  function mergeProps(...sources) {
1177
- if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
1177
+ let proxy = false;
1178
+ for (let i = 0; i < sources.length; i++) {
1179
+ const s = sources[i];
1180
+ proxy = proxy || !!s && $PROXY in s;
1181
+ sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
1182
+ }
1183
+ if (proxy) {
1178
1184
  return new Proxy({
1179
1185
  get(property) {
1180
1186
  for (let i = sources.length - 1; i >= 0; i--) {
@@ -1268,9 +1274,6 @@ function lazy(fn) {
1268
1274
  } else if (!comp) {
1269
1275
  const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));
1270
1276
  comp = s;
1271
- } else {
1272
- const c = comp();
1273
- if (c) return c(props);
1274
1277
  }
1275
1278
  let Comp;
1276
1279
  return createMemo(() => (Comp = comp()) && untrack(() => {
package/dist/solid.js CHANGED
@@ -1170,7 +1170,13 @@ function resolveSource(s) {
1170
1170
  return !(s = typeof s === "function" ? s() : s) ? {} : s;
1171
1171
  }
1172
1172
  function mergeProps(...sources) {
1173
- if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
1173
+ let proxy = false;
1174
+ for (let i = 0; i < sources.length; i++) {
1175
+ const s = sources[i];
1176
+ proxy = proxy || !!s && $PROXY in s;
1177
+ sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
1178
+ }
1179
+ if (proxy) {
1174
1180
  return new Proxy({
1175
1181
  get(property) {
1176
1182
  for (let i = sources.length - 1; i >= 0; i--) {
@@ -1264,9 +1270,6 @@ function lazy(fn) {
1264
1270
  } else if (!comp) {
1265
1271
  const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));
1266
1272
  comp = s;
1267
- } else {
1268
- const c = comp();
1269
- if (c) return c(props);
1270
1273
  }
1271
1274
  let Comp;
1272
1275
  return createMemo(() => (Comp = comp()) && untrack(() => {
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.6.3",
4
+ "version": "1.6.5",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
@@ -331,14 +331,14 @@ function applyState(target, parent, property, merge, key) {
331
331
  return;
332
332
  }
333
333
  if (Array.isArray(target)) {
334
- if (target.length && previous.length && (!merge || key && target[0][key] != null)) {
334
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
335
335
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
336
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start][key] === target[start][key]); start++) {
336
+ for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
337
337
  applyState(target[start], previous, start, merge, key);
338
338
  }
339
339
  const temp = new Array(target.length),
340
340
  newIndices = new Map();
341
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
341
+ for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
342
342
  temp[newEnd] = previous[end];
343
343
  }
344
344
  if (start > newEnd || start > end) {
@@ -353,14 +353,14 @@ function applyState(target, parent, property, merge, key) {
353
353
  newIndicesNext = new Array(newEnd + 1);
354
354
  for (j = newEnd; j >= start; j--) {
355
355
  item = target[j];
356
- keyVal = key ? item[key] : item;
356
+ keyVal = key && item ? item[key] : item;
357
357
  i = newIndices.get(keyVal);
358
358
  newIndicesNext[j] = i === undefined ? -1 : i;
359
359
  newIndices.set(keyVal, j);
360
360
  }
361
361
  for (i = start; i <= end; i++) {
362
362
  item = previous[i];
363
- keyVal = key ? item[key] : item;
363
+ keyVal = key && item ? item[key] : item;
364
364
  j = newIndices.get(keyVal);
365
365
  if (j !== undefined && j !== -1) {
366
366
  temp[j] = previous[i];
package/store/dist/dev.js CHANGED
@@ -327,14 +327,14 @@ function applyState(target, parent, property, merge, key) {
327
327
  return;
328
328
  }
329
329
  if (Array.isArray(target)) {
330
- if (target.length && previous.length && (!merge || key && target[0][key] != null)) {
330
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
331
331
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
332
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start][key] === target[start][key]); start++) {
332
+ for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
333
333
  applyState(target[start], previous, start, merge, key);
334
334
  }
335
335
  const temp = new Array(target.length),
336
336
  newIndices = new Map();
337
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
337
+ for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
338
338
  temp[newEnd] = previous[end];
339
339
  }
340
340
  if (start > newEnd || start > end) {
@@ -349,14 +349,14 @@ function applyState(target, parent, property, merge, key) {
349
349
  newIndicesNext = new Array(newEnd + 1);
350
350
  for (j = newEnd; j >= start; j--) {
351
351
  item = target[j];
352
- keyVal = key ? item[key] : item;
352
+ keyVal = key && item ? item[key] : item;
353
353
  i = newIndices.get(keyVal);
354
354
  newIndicesNext[j] = i === undefined ? -1 : i;
355
355
  newIndices.set(keyVal, j);
356
356
  }
357
357
  for (i = start; i <= end; i++) {
358
358
  item = previous[i];
359
- keyVal = key ? item[key] : item;
359
+ keyVal = key && item ? item[key] : item;
360
360
  j = newIndices.get(keyVal);
361
361
  if (j !== undefined && j !== -1) {
362
362
  temp[j] = previous[i];
@@ -308,14 +308,14 @@ function applyState(target, parent, property, merge, key) {
308
308
  return;
309
309
  }
310
310
  if (Array.isArray(target)) {
311
- if (target.length && previous.length && (!merge || key && target[0][key] != null)) {
311
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
312
312
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
313
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start][key] === target[start][key]); start++) {
313
+ for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
314
314
  applyState(target[start], previous, start, merge, key);
315
315
  }
316
316
  const temp = new Array(target.length),
317
317
  newIndices = new Map();
318
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
318
+ for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
319
319
  temp[newEnd] = previous[end];
320
320
  }
321
321
  if (start > newEnd || start > end) {
@@ -330,14 +330,14 @@ function applyState(target, parent, property, merge, key) {
330
330
  newIndicesNext = new Array(newEnd + 1);
331
331
  for (j = newEnd; j >= start; j--) {
332
332
  item = target[j];
333
- keyVal = key ? item[key] : item;
333
+ keyVal = key && item ? item[key] : item;
334
334
  i = newIndices.get(keyVal);
335
335
  newIndicesNext[j] = i === undefined ? -1 : i;
336
336
  newIndices.set(keyVal, j);
337
337
  }
338
338
  for (i = start; i <= end; i++) {
339
339
  item = previous[i];
340
- keyVal = key ? item[key] : item;
340
+ keyVal = key && item ? item[key] : item;
341
341
  j = newIndices.get(keyVal);
342
342
  if (j !== undefined && j !== -1) {
343
343
  temp[j] = previous[i];
@@ -304,14 +304,14 @@ function applyState(target, parent, property, merge, key) {
304
304
  return;
305
305
  }
306
306
  if (Array.isArray(target)) {
307
- if (target.length && previous.length && (!merge || key && target[0][key] != null)) {
307
+ if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
308
308
  let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
309
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start][key] === target[start][key]); start++) {
309
+ for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
310
310
  applyState(target[start], previous, start, merge, key);
311
311
  }
312
312
  const temp = new Array(target.length),
313
313
  newIndices = new Map();
314
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
314
+ for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
315
315
  temp[newEnd] = previous[end];
316
316
  }
317
317
  if (start > newEnd || start > end) {
@@ -326,14 +326,14 @@ function applyState(target, parent, property, merge, key) {
326
326
  newIndicesNext = new Array(newEnd + 1);
327
327
  for (j = newEnd; j >= start; j--) {
328
328
  item = target[j];
329
- keyVal = key ? item[key] : item;
329
+ keyVal = key && item ? item[key] : item;
330
330
  i = newIndices.get(keyVal);
331
331
  newIndicesNext[j] = i === undefined ? -1 : i;
332
332
  newIndices.set(keyVal, j);
333
333
  }
334
334
  for (i = start; i <= end; i++) {
335
335
  item = previous[i];
336
- keyVal = key ? item[key] : item;
336
+ keyVal = key && item ? item[key] : item;
337
337
  j = newIndices.get(keyVal);
338
338
  if (j !== undefined && j !== -1) {
339
339
  temp[j] = previous[i];