37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
// Shared record definitions, repeated explicitly in independently locked resources.
|
|||
|
|
external atom Document id "atom:reader:document";
|
||
|
|
external atom Highlight id "atom:reader:highlight";
|
||
|
|
external atom Comment id "atom:reader:comment";
|
||
|
|
|
||
|
|
type SourceRange = record {
|
||
|
|
sourceRevision: string;
|
||
|
|
start: int32;
|
||
|
|
end: int32;
|
||
|
|
};
|
||
|
|
|
||
|
|
type CommentContent = record {
|
||
|
|
text: string;
|
||
|
|
tags: list<string>;
|
||
|
|
};
|
||
|
|
|
||
|
|
type DocumentSeed = record { sourceRevision: string; content: string; };
|
||
|
|
|
||
|
|
interface DocumentData id "interface:reader:document-data"
|
||
|
|
revision "interface:reader:document-data@1" {
|
||
|
|
queryable value sourceRevision id "document:source-revision" : string {
|
||
|
|
get id "document:source-revision:get"
|
||
|
|
execution snapshot targets [browser, server];
|
||
|
|
}
|
||
|
|
queryable value content id "document:content" : string {
|
||
|
|
get id "document:content:get"
|
||
|
|
execution snapshot targets [browser, server];
|
||
|
|
}
|
||
|
|
queryable relation highlights id "document:highlights"
|
||
|
|
: many-unique atom Highlight {
|
||
|
|
resolve id "document:highlights:resolve"
|
||
|
|
execution snapshot targets [browser, server];
|
||
|
|
connect id "document:highlights:connect"
|
||
|
|
execution transaction targets [browser, server];
|
||
|
|
}
|
||
|
|
}
|