New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@solid-primitives/keyed

Package Overview
Dependencies
Maintainers
3
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solid-primitives/keyed - npm Package Compare versions

Comparing version 1.1.6 to 1.1.7

35

dist/index.js

@@ -5,16 +5,20 @@ import { onCleanup, $TRACK, untrack, createRoot, createSignal, createMemo, mapArray, on } from 'solid-js';

var FALLBACK = Symbol("fallback");
function dispose(list) {
for (const o of list)
o.dispose();
}
function keyArray(items, keyFn, mapFn, options = {}) {
const prev = /* @__PURE__ */ new Map();
onCleanup(() => prev.forEach((v) => v.dispose()));
onCleanup(() => dispose(prev.values()));
return () => {
let list = items() || [];
const list = items() || [];
list[$TRACK];
return untrack(() => {
if (!list.length) {
prev.forEach((v) => v.dispose());
dispose(prev.values());
prev.clear();
if (!options.fallback)
return [];
const fb2 = createRoot((dispose) => {
prev.set(FALLBACK, { dispose });
const fb2 = createRoot((dispose2) => {
prev.set(FALLBACK, { dispose: dispose2 });
return options.fallback();

@@ -49,6 +53,6 @@ });

}
prevKeys.forEach((key) => {
for (const key of prevKeys) {
prev.get(key)?.dispose();
prev.delete(key);
});
}
return result;

@@ -58,5 +62,5 @@ });

function addNewItem(list, item, i, key) {
createRoot((dispose) => {
createRoot((dispose2) => {
const [getItem, setItem] = createSignal(item);
const save = { setItem, dispose };
const save = { setItem, dispose: dispose2 };
if (mapFn.length > 1) {

@@ -75,9 +79,10 @@ const [index, setIndex] = createSignal(i);

const { by } = props;
const mapped = keyArray(
() => props.each,
typeof by === "function" ? by : (v) => v[by],
props.children,
"fallback" in props ? { fallback: () => props.fallback } : void 0
return createMemo(
keyArray(
() => props.each,
typeof by === "function" ? by : (v) => v[by],
props.children,
"fallback" in props ? { fallback: () => props.fallback } : void 0
)
);
return createMemo(mapped);
}

@@ -84,0 +89,0 @@ function Entries(props) {

@@ -23,9 +23,10 @@ import { createMemo, mapArray, on } from 'solid-js';

const { by } = props;
const mapped = keyArray(
() => props.each,
typeof by === "function" ? by : (v) => v[by],
props.children,
"fallback" in props ? { fallback: () => props.fallback } : void 0
return createMemo(
keyArray(
() => props.each,
typeof by === "function" ? by : (v) => v[by],
props.children,
"fallback" in props ? { fallback: () => props.fallback } : void 0
)
);
return createMemo(mapped);
}

@@ -32,0 +33,0 @@ function Entries(props) {

{
"name": "@solid-primitives/keyed",
"version": "1.1.6",
"version": "1.1.7",
"description": "Control Flow primitives and components that require specifying explicit keys to identify or rerender elements.",

@@ -5,0 +5,0 @@ "author": "Damian Tarnawski @thetarnav <gthetarnav@gmail.com>",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc