282759c0e5
In preparation for Europa, we will vendor multiple CUE modules: - `pkg/alpha.dagger.io`: legacy non-europa packages - `pkg/dagger.io`: core Europa packages - `pkg/universe.dagger.io`: Europa universe Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
41 lines
609 B
CUE
41 lines
609 B
CUE
// IO operations
|
|
package io
|
|
|
|
// Standard interface for directory operations in cue
|
|
#Dir: {
|
|
read: tree: string
|
|
...
|
|
}
|
|
|
|
// Standard interface for file operations in cue
|
|
#File: {
|
|
#Reader
|
|
#Writer
|
|
...
|
|
}
|
|
|
|
// Standard ReadWriter interface
|
|
#ReadWriter: #Reader & #Writer
|
|
|
|
// Standard Reader interface
|
|
#Reader: {
|
|
read: {
|
|
// FIXME: support different data schemas for different formats
|
|
format: "string" | "json" | "yaml" | "lines"
|
|
data: {
|
|
string
|
|
}
|
|
}
|
|
...
|
|
}
|
|
|
|
// Standard Writer interface
|
|
#Writer: {
|
|
write: *null | {
|
|
// FIXME: support writing in multiple formats
|
|
// FIXME: append
|
|
data: _
|
|
}
|
|
...
|
|
}
|