blob: 1293322813d549de83cdfbdb70d3d4c3bbdd7d0c (
plain)
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
|
#path_string: string & =~ "^/"
#file_string: #path_string & =~ "[^/]$"
#octal_string: string & =~ "^[0-7]{3,4}$"
#HjemFile: {
type!: string
source?: #path_string
target!: #path_string
clobber?: bool
permissions?: #octal_string
uid?: int & >=0
gid?: int & >=0
deactivate?: bool
ignore_modification?: bool
} & ({
type: "copy"
// "copy" only works with individual files
source!: #file_string
target!: #file_string
...
} | {
type: "symlink"
source!: _
// disallow inapplicable fields
ignore_modification?: _|_
permissions?: _|_
uid?: _|_
gid?: _|_
...
} | {
type: "delete" | "directory" | "modify"
ignore_modification?: _|_
source?: _|_
...
})
close({
version: 3
files: [...#HjemFile]
})
|