markdown_wasm.mx raw

   1  //go:build wasm
   2  //:build wasm
   3  
   4  package markdown
   5  
   6  import "unsafe"
   7  
   8  //:wasmimport bridge markdown_render
   9  func wasmRender(ptr *byte, len int32, cap int32, outPtr *int32, outLen *int32)
  10  
  11  func Render(text string) (s string) {
  12  	var rPtr, rLen int32
  13  	wasmRender(unsafe.StringData(text), int32(len(text)), int32(len(text)), &rPtr, &rLen)
  14  	if rLen <= 0 {
  15  		return ""
  16  	}
  17  	return unsafe.String((*byte)(unsafe.Pointer(uintptr(rPtr))), rLen)
  18  }
  19