@timothy-spaceman/multitrack-vcs
Version:
Version Control System for musicians
35 lines (34 loc) • 728 B
TypeScript
export type Item = {
id: string;
content: string;
path: string;
contentHash?: string;
};
export type ItemList = Map<string, Item>;
export type ItemChange = {
from?: string;
to?: string;
};
export type Commit = {
id: string;
parent?: string;
children: string[];
authorId: string;
title: string;
description?: string;
date: string;
changes: ItemChange[];
};
export type CommitList = Map<string, Commit>;
export type BranchList = Map<string, string>;
export type Status = {
lastItems: ItemList;
newItems: ItemList;
changes: ItemChange[];
};
export type Difference = {
added: ItemList;
removed: ItemList;
changed: ItemList;
unchanged: ItemList;
};