tons of code
This commit is contained in:
parent
c17f0f7322
commit
1e29c54030
@ -1,5 +1,5 @@
|
||||
|
||||
{{- /*gotype: efprojects.com/kitten-ipc/kitcom.genData*/ -}}
|
||||
{{- /*gotype: efprojects.com/kitten-ipc/kitcom.goGenData*/ -}}
|
||||
|
||||
// Code generated by kitcom. DO NOT EDIT.
|
||||
|
||||
@ -20,7 +20,7 @@ func ({{$e.Name | receiver}} *{{$e.Name}}) {{$mtd.Name}} (
|
||||
{{range $mtd.Ret}}{{.Type | typedef}}, {{end}}
|
||||
) {
|
||||
return {{$e.Name | receiver}}.Ipc.Call(
|
||||
"{{$mtd.Name}}", {{range $mtd.Pars}}{{.Name}}, {{end}}
|
||||
"{{$mtd.Name}}", {{range $mtd.Params}}{{.Name}}, {{end}}
|
||||
)
|
||||
}
|
||||
{{end}}
|
||||
|
||||
@ -9,7 +9,7 @@ import (
|
||||
"text/template"
|
||||
)
|
||||
|
||||
type genData struct {
|
||||
type goGenData struct {
|
||||
PkgName string
|
||||
Api *Api
|
||||
}
|
||||
@ -19,7 +19,7 @@ type GoApiGenerator struct {
|
||||
}
|
||||
|
||||
func (g *GoApiGenerator) Generate(api *Api, destFile string) error {
|
||||
tplCtx := genData{
|
||||
tplCtx := goGenData{
|
||||
PkgName: g.pkgName,
|
||||
Api: api,
|
||||
}
|
||||
|
||||
@ -1,9 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"text/template"
|
||||
)
|
||||
|
||||
type tsGenData struct {
|
||||
Api *Api
|
||||
}
|
||||
|
||||
type TypescriptApiGenerator struct {
|
||||
}
|
||||
|
||||
func (g *TypescriptApiGenerator) Generate(api *Api, destFile string) error {
|
||||
//TODO implement me
|
||||
panic("implement me")
|
||||
tplCtx := tsGenData{
|
||||
Api: api,
|
||||
}
|
||||
|
||||
tpl := template.New("gogen")
|
||||
tpl = tpl.Funcs(map[string]any{
|
||||
"typedef": func(t ValType) (string, error) {
|
||||
td, ok := map[ValType]string{
|
||||
TInt: "number",
|
||||
TString: "string",
|
||||
TBool: "bool",
|
||||
}[t]
|
||||
if !ok {
|
||||
return "", fmt.Errorf("cannot generate type %v", t)
|
||||
}
|
||||
return td, nil
|
||||
},
|
||||
})
|
||||
tpl = template.Must(tpl.ParseFiles("./ts_gen.tmpl"))
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
||||
if err := tpl.ExecuteTemplate(&buf, "ts_gen.tmpl", tplCtx); err != nil {
|
||||
return fmt.Errorf("execute template: %w", err)
|
||||
}
|
||||
|
||||
if err := g.writeDest(destFile, buf.Bytes()); err != nil {
|
||||
return fmt.Errorf("write file: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *TypescriptApiGenerator) writeDest(destFile string, bytes []byte) error {
|
||||
f, err := os.OpenFile(destFile, os.O_WRONLY|os.O_CREATE, 0644)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open destination file: %w", err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
if _, err := f.Write(bytes); err != nil {
|
||||
return fmt.Errorf("write formatted source: %w", err)
|
||||
}
|
||||
|
||||
prettierCmd := exec.Command("npx", "prettier", destFile, "--write")
|
||||
if err := prettierCmd.Run(); err != nil {
|
||||
log.Printf("Prettier returned error: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -136,6 +136,10 @@ func (k *KittenIPC) processMsg(msg Message) {
|
||||
|
||||
}
|
||||
|
||||
func (k *KittenIPC) Call() {
|
||||
|
||||
}
|
||||
|
||||
func (k *KittenIPC) raiseErr(err error) {
|
||||
select {
|
||||
case k.errCh <- err:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user