text: export function diff(value, oldKeyMap, keyfunc) {
      const additions = [];
      const deletions = [];
      const moves = [];
      const newKeyMap = Object.entries(value).reduce((map, [index, item]) => {
          const _key = keyfunc(item);
          map[_key] = { index, item };
          if (!(_key in oldKeyMap))
              additions.push({ index, item });
          return map;
      }, {});
      Object.entries(oldKeyMap).forEach(([_key, entry]) => {
          if (!(_key in newKeyMap))
              deletions.push(entry);
          else {
              const _newEntry = newKeyMap[_key];
              if (_newEntry.index != entry.index)
                  moves.push({
                      oldIndex: entry.index,
                      newIndex: _newEntry.index,
                      item: entry.item
                  });
          }
      });
      return {
          changes: { additions, deletions, moves },
          newKeyMap,
      };
  }
  //# sourceMappingURL=keyed-array-diff.js.map