33 lines
633 B
Go
33 lines
633 B
Go
package core
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"reflect"
|
|
)
|
|
|
|
type DataClipBuilder struct {
|
|
path string
|
|
type_ any
|
|
}
|
|
|
|
func (receiver *DataClipBuilder) InFile(filename string) {
|
|
wd, _ := os.Getwd()
|
|
receiver.path = filepath.Join(wd, filename)
|
|
}
|
|
|
|
func (receiver *DataClipBuilder) UnderDir(dirpath string, filename string) {
|
|
receiver.path = filepath.Join(dirpath, filename)
|
|
}
|
|
|
|
func (receiver *DataClipBuilder) RegisterType(data interface{}) {
|
|
receiver.type_ = reflect.New(reflect.TypeOf(data)).Interface()
|
|
}
|
|
|
|
func (receiver *DataClipBuilder) Build() DataClip {
|
|
return DataClip{
|
|
path: receiver.path,
|
|
type_: receiver.type_,
|
|
}
|
|
}
|