@atproto/repo
Version:
atproto repo and MST implementation
62 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WriteOpAction = exports.def = exports.schema = void 0;
const zod_1 = require("zod");
const common_1 = require("@atproto/common");
const common_web_1 = require("@atproto/common-web");
// Repo nodes
// ---------------
const unsignedCommit = zod_1.z.object({
did: zod_1.z.string(),
version: zod_1.z.literal(3),
data: common_1.schema.cid,
rev: zod_1.z.string(),
// `prev` added for backwards compatibility with v2, no requirement of keeping around history
prev: common_1.schema.cid.nullable(),
});
const commit = zod_1.z.object({
did: zod_1.z.string(),
version: zod_1.z.literal(3),
data: common_1.schema.cid,
rev: zod_1.z.string(),
prev: common_1.schema.cid.nullable(),
sig: common_1.schema.bytes,
});
const legacyV2Commit = zod_1.z.object({
did: zod_1.z.string(),
version: zod_1.z.literal(2),
data: common_1.schema.cid,
rev: zod_1.z.string().optional(),
prev: common_1.schema.cid.nullable(),
sig: common_1.schema.bytes,
});
const versionedCommit = zod_1.z.discriminatedUnion('version', [
commit,
legacyV2Commit,
]);
exports.schema = {
...common_1.schema,
commit,
legacyV2Commit,
versionedCommit,
};
exports.def = {
...common_web_1.def,
commit: {
name: 'commit',
schema: exports.schema.commit,
},
versionedCommit: {
name: 'versioned_commit',
schema: exports.schema.versionedCommit,
},
};
// Repo Operations
// ---------------
var WriteOpAction;
(function (WriteOpAction) {
WriteOpAction["Create"] = "create";
WriteOpAction["Update"] = "update";
WriteOpAction["Delete"] = "delete";
})(WriteOpAction || (exports.WriteOpAction = WriteOpAction = {}));
//# sourceMappingURL=types.js.map