github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/gen/javascript/templates/types.js.tmpl (about) 1 {{define "types"}} 2 // 3 // Types 4 // 5 {{ if .Messages -}} 6 {{range .Messages -}} 7 8 {{if .Type | isEnum -}} 9 {{$enumName := .Name}} 10 {{exportKeyword}}var {{$enumName}}; 11 (function ({{$enumName}}) { 12 {{- range $i, $field := .Fields}} 13 {{$enumName}}["{{$field.Name}}"] = "{{$field.Name}}" 14 {{- end}} 15 })({{$enumName}} || ({{$enumName}} = {})) 16 {{end -}} 17 18 {{- if .Type | isStruct }} 19 {{exportKeyword}}class {{.Name}} { 20 constructor(_data) { 21 this._data = {} 22 if (_data) { 23 {{range .Fields -}} 24 this._data['{{. | exportedJSONField}}'] = _data['{{. | exportedJSONField}}'] 25 {{end}} 26 } 27 } 28 {{ range .Fields -}} 29 get {{. | exportedJSONField}}() { 30 return this._data['{{. | exportedJSONField }}'] 31 } 32 set {{. | exportedJSONField}}(value) { 33 this._data['{{. | exportedJSONField}}'] = value 34 } 35 {{end}} 36 toJSON() { 37 return this._data 38 } 39 } 40 {{end -}} 41 {{end -}} 42 {{end -}} 43 44 {{end}}