Common isomorphic functionality in one kit.

fetchtemplatebundle.go 777B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package isokit
  2. import (
  3. "bytes"
  4. "encoding/gob"
  5. "honnef.co/go/js/xhr"
  6. )
  7. func FetchTemplateBundle(templateSetChannel chan *TemplateSet) {
  8. data, err := xhr.Send("POST", "/template-bundle", nil)
  9. if err != nil {
  10. println("Encountered error: ", err)
  11. println(err)
  12. }
  13. var templateBundleMap map[string]string
  14. var templateBundleMapBuffer bytes.Buffer
  15. dec := gob.NewDecoder(&templateBundleMapBuffer)
  16. templateBundleMapBuffer = *bytes.NewBuffer(data)
  17. err = dec.Decode(&templateBundleMap)
  18. if err != nil {
  19. println("Encountered error: ", err)
  20. panic(err)
  21. }
  22. templateSet := NewTemplateSet()
  23. err = templateSet.ImportTemplatesFromMap(templateBundleMap)
  24. if err != nil {
  25. println("Encountered import error: ", err)
  26. panic(err)
  27. }
  28. templateSetChannel <- templateSet
  29. }