Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a622dd028 | |||
| cef58a7d48 |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"sourceRepo": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git",
|
||||
"sourceCommit": "3a81f75f5da1be812d8bbc4dec9180c8d2b9fd0e",
|
||||
"sourceCommit": "1ed3d2fd04afba64ffda2125175704a6fdb4f2ad",
|
||||
"sourcePath": "quixos-instance/packages/camino-datatypes",
|
||||
"exportName": "camino-datatypes",
|
||||
"mirrorRemote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git"
|
||||
|
||||
Vendored
+2
-2
@@ -65,7 +65,7 @@ export const encodeAutomergeFieldWrite = (value, type) => {
|
||||
if (isAutomergeFieldDoc(value)) {
|
||||
return saveAutomergeFieldDoc(value, type);
|
||||
}
|
||||
return createAutomergeFieldValue(value, type);
|
||||
throw new Error("CRDT field writes must use an Automerge document or Camino CRDT envelope");
|
||||
};
|
||||
export const normalizeAutomergeFieldValue = (value, type) => encodeAutomergeFieldWrite(value, type);
|
||||
export const materializeAutomergeFieldValue = (value, type) => loadAutomergeFieldDoc(value, type).value;
|
||||
@@ -80,4 +80,4 @@ export const mergeAutomergeFieldValues = ({ existing, incoming, type, }) => {
|
||||
materialized: mergedDoc.value,
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=crdt-automerge.js.map
|
||||
//# sourceMappingURL=crdt-automerge.js.map
|
||||
|
||||
@@ -111,7 +111,9 @@ export const encodeAutomergeFieldWrite = (
|
||||
if (isAutomergeFieldDoc(value)) {
|
||||
return saveAutomergeFieldDoc(value, type);
|
||||
}
|
||||
return createAutomergeFieldValue(value, type);
|
||||
throw new Error(
|
||||
"CRDT field writes must use an Automerge document or Camino CRDT envelope",
|
||||
);
|
||||
};
|
||||
|
||||
export const normalizeAutomergeFieldValue = (
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
|
||||
const type = "camino.CrdtJson";
|
||||
|
||||
test("Automerge CRDT fields lift plain values into stored envelopes", () => {
|
||||
test("Automerge CRDT fields explicitly create stored envelopes", () => {
|
||||
const stored = createAutomergeFieldValue({ title: "draft" }, type);
|
||||
|
||||
assert.equal(stored.$caminoCrdtType, type);
|
||||
@@ -23,6 +23,13 @@ test("Automerge CRDT fields lift plain values into stored envelopes", () => {
|
||||
});
|
||||
});
|
||||
|
||||
test("Automerge CRDT field writes reject plain values", () => {
|
||||
assert.throws(
|
||||
() => encodeAutomergeFieldWrite({ title: "draft" }, type),
|
||||
/CRDT field writes must use an Automerge document/,
|
||||
);
|
||||
});
|
||||
|
||||
test("Automerge CRDT fields encode rehydrated docs for writes", () => {
|
||||
const base = loadAutomergeFieldDoc(
|
||||
createAutomergeFieldValue({ title: "draft" }, type),
|
||||
|
||||
Reference in New Issue
Block a user