....
This commit is contained in:
parent
3dab48f58b
commit
c869f0a880
1 changed files with 461 additions and 578 deletions
|
|
@ -6,11 +6,6 @@ export type VaultUpdateId = number;
|
|||
export type DocumentId = string;
|
||||
export type RelativePath = string;
|
||||
|
||||
export interface DocumentMetadata {
|
||||
parentVersionId: VaultUpdateId;
|
||||
hash: string;
|
||||
}
|
||||
|
||||
export interface ContentHead {
|
||||
vaultUpdateId: VaultUpdateId;
|
||||
contentSize: number;
|
||||
|
|
@ -43,13 +38,6 @@ export interface EngineState {
|
|||
|
||||
export type StoredDatabase = EngineState;
|
||||
|
||||
// Read-only view used by cursor tracking and status reporting.
|
||||
export interface DocumentRecord {
|
||||
documentId: DocumentId;
|
||||
relativePath: RelativePath;
|
||||
metadata?: DocumentMetadata;
|
||||
}
|
||||
|
||||
export function emptyState(vaultKey: string): StoredDatabase {
|
||||
return {
|
||||
vaultKey,
|
||||
|
|
@ -125,29 +113,9 @@ export class Database {
|
|||
return Object.keys(this.state.local).length;
|
||||
}
|
||||
|
||||
public getDocumentByDocumentId(id: DocumentId): DocumentRecord | undefined {
|
||||
const relativePath = this.state.local[id];
|
||||
if (relativePath === undefined) return undefined;
|
||||
const base = this.state.documents[id]?.base;
|
||||
return {
|
||||
documentId: id,
|
||||
relativePath,
|
||||
metadata:
|
||||
base?.vaultUpdateId != null
|
||||
? {
|
||||
parentVersionId: base.vaultUpdateId,
|
||||
hash: base.hash
|
||||
}
|
||||
: undefined
|
||||
};
|
||||
}
|
||||
|
||||
public getLatestDocumentByRelativePath(
|
||||
path: RelativePath
|
||||
): DocumentRecord | undefined {
|
||||
const id = Object.keys(this.state.local).find(
|
||||
public findDocumentId(path: RelativePath): DocumentId | undefined {
|
||||
return Object.keys(this.state.local).find(
|
||||
(id) => this.state.local[id] === path
|
||||
);
|
||||
return id === undefined ? undefined : this.getDocumentByDocumentId(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue