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.
|
// 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}}
|
{{range $mtd.Ret}}{{.Type | typedef}}, {{end}}
|
||||||
) {
|
) {
|
||||||
return {{$e.Name | receiver}}.Ipc.Call(
|
return {{$e.Name | receiver}}.Ipc.Call(
|
||||||
"{{$mtd.Name}}", {{range $mtd.Pars}}{{.Name}}, {{end}}
|
"{{$mtd.Name}}", {{range $mtd.Params}}{{.Name}}, {{end}}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import (
|
|||||||
"text/template"
|
"text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
type genData struct {
|
type goGenData struct {
|
||||||
PkgName string
|
PkgName string
|
||||||
Api *Api
|
Api *Api
|
||||||
}
|
}
|
||||||
@ -19,7 +19,7 @@ type GoApiGenerator struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *GoApiGenerator) Generate(api *Api, destFile string) error {
|
func (g *GoApiGenerator) Generate(api *Api, destFile string) error {
|
||||||
tplCtx := genData{
|
tplCtx := goGenData{
|
||||||
PkgName: g.pkgName,
|
PkgName: g.pkgName,
|
||||||
Api: api,
|
Api: api,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,70 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"text/template"
|
||||||
|
)
|
||||||
|
|
||||||
|
type tsGenData struct {
|
||||||
|
Api *Api
|
||||||
|
}
|
||||||
|
|
||||||
type TypescriptApiGenerator struct {
|
type TypescriptApiGenerator struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *TypescriptApiGenerator) Generate(api *Api, destFile string) error {
|
func (g *TypescriptApiGenerator) Generate(api *Api, destFile string) error {
|
||||||
//TODO implement me
|
tplCtx := tsGenData{
|
||||||
panic("implement me")
|
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) {
|
func (k *KittenIPC) raiseErr(err error) {
|
||||||
select {
|
select {
|
||||||
case k.errCh <- err:
|
case k.errCh <- err:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user