convex
Version:
Client for the Convex Cloud
43 lines (42 loc) • 1.04 kB
JavaScript
;
import * as Base64 from "base64-js";
import { Long } from "../long.js";
export function u64ToLong(encoded) {
const integerBytes = Base64.toByteArray(encoded);
return Long.fromBytesLE(Array.from(integerBytes));
}
export function parseServerMessage(encoded) {
switch (encoded.type) {
case "FatalError":
case "AuthError":
case "ActionResponse":
case "Ping": {
return { ...encoded };
}
case "MutationResponse": {
if (encoded.success) {
return { ...encoded, ts: u64ToLong(encoded.ts) };
} else {
return { ...encoded };
}
}
case "Transition": {
return {
...encoded,
startVersion: {
...encoded.startVersion,
ts: u64ToLong(encoded.startVersion.ts)
},
endVersion: {
...encoded.endVersion,
ts: u64ToLong(encoded.endVersion.ts)
}
};
}
default: {
const _exhaustivenessCheck = encoded;
}
}
return void 0;
}
//# sourceMappingURL=protocol.js.map