generated from fission-codes/project-template
-
Notifications
You must be signed in to change notification settings - Fork 24
/
types.ts
52 lines (41 loc) · 1.14 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import type { CID } from "multiformats/cid"
import { BareNameFilter, PrivateName } from "./namefilter.js"
import { BaseLink, SoftLink } from "../../types.js"
import { Metadata } from "../../metadata.js"
import { PutResult } from "../../../components/depot/implementation.js"
export type DecryptedNode = PrivateFileInfo | PrivateTreeInfo
export type PrivateFileInfo = {
content: string
metadata: Metadata
bareNameFilter: BareNameFilter
revision: number
key: string
}
export type PrivateLink = BaseLink & {
key: string
pointer: PrivateName
}
export type PrivateLinks = { [ name: string ]: PrivateLink | SoftLink }
export type PrivateTreeInfo = {
metadata: Metadata
bareNameFilter: BareNameFilter
revision: number
links: PrivateLinks
skeleton: PrivateSkeleton
}
export type PrivateSkeleton = { [ name: string ]: PrivateSkeletonInfo | SoftLink }
export type PrivateSkeletonInfo = {
cid: string
key: string
subSkeleton: PrivateSkeleton
}
export type PrivateAddResult = PutResult & {
name: PrivateName
key: Uint8Array
skeleton: PrivateSkeleton
}
export type Revision = {
cid: CID | string
name: PrivateName
number: number
}