Merge branch 'MAILWEB-6067-improve-circular-dependencies-prevention' into 'main'
[ProtonMail-WebClient.git] / packages / drive-store / lib / interface.ts
blob5153b4e60d3d7214cf9798c4aa78ba0d8163b34c
1 /**
2  * A unique node identifier pair.
3  */
4 export type NodeMeta = {
5     volumeId: string;
6     linkId: string;
7 };
9 /**
10  * A unique node identifier pair, for a public shared node.
11  */
12 export type PublicNodeMeta = {
13     token: string;
14     linkId: string;
17 /**
18  * A PublicNodeMeta with an additional resolved volumeId.
19  */
20 export type PublicNodeMetaWithResolvedVolumeID = PublicNodeMeta & {
21     volumeId: string;
24 export function isPublicNodeMeta(meta: NodeMeta | PublicNodeMeta): meta is PublicNodeMeta {
25     return 'token' in meta;
28 export type LegacyNodeMeta = {
29     shareId: string;
30     volumeId: string;
31     linkId: string;
34 export function areNodeMetasEqual(a: NodeMeta, b: NodeMeta): boolean {
35     return a.volumeId === b.volumeId && a.linkId === b.linkId;