From 5cedc57bc15a7e52d2eb324c4154f9b24fa5e9c6 Mon Sep 17 00:00:00 2001 From: stopachka Date: Thu, 19 Sep 2024 12:03:02 -0700 Subject: [PATCH] Use mutative instead of immer roar --- client/packages/core/package.json | 2 +- client/packages/core/src/store.js | 7 ++----- client/pnpm-lock.yaml | 11 ++++++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/client/packages/core/package.json b/client/packages/core/package.json index 7b0c2b946..3effaec5b 100644 --- a/client/packages/core/package.json +++ b/client/packages/core/package.json @@ -33,7 +33,7 @@ "vitest": "^1.6.0" }, "dependencies": { - "immer": "9.0.14", + "mutative": "^1.0.10", "object-hash": "^3.0.0", "uuid": "^9.0.0" } diff --git a/client/packages/core/src/store.js b/client/packages/core/src/store.js index 97e2b1129..864dfcdc7 100644 --- a/client/packages/core/src/store.js +++ b/client/packages/core/src/store.js @@ -1,9 +1,6 @@ -import { produce, enableMapSet } from "immer"; +import { create } from "mutative"; import { immutableDeepMerge } from "./utils/object"; -// Makes immer work with maps and sets -enableMapSet(); - function hasEA(attr) { return attr["cardinality"] === "one"; } @@ -483,7 +480,7 @@ export function getTriples(store, [e, a, v]) { } export function transact(store, txSteps) { - return produce(store, (draft) => { + return create(store, (draft) => { txSteps.forEach((txStep) => { applyTxStep(draft, txStep); }); diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml index 8842f5437..d410d3191 100644 --- a/client/pnpm-lock.yaml +++ b/client/pnpm-lock.yaml @@ -112,9 +112,9 @@ importers: packages/core: dependencies: - immer: - specifier: 9.0.14 - version: 9.0.14 + mutative: + specifier: ^1.0.10 + version: 1.0.10 object-hash: specifier: ^3.0.0 version: 3.0.0 @@ -14478,6 +14478,11 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false + /mutative@1.0.10: + resolution: {integrity: sha512-YD4MEleW9vJyIVEItz6x71fWdJ9qea3+R8hxtNiei8cQ7BGLM1c9Q6zCJ7SuLzorBhd2PBHN+xUEwEahxMI34w==} + engines: {node: '>=14.0'} + dev: false + /mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}