81 lines
3.0 KiB
TypeScript
81 lines
3.0 KiB
TypeScript
//----{{- define "subType" -}}
|
|
//----{{$cloudName:=.cloudName}}{{$actionName:=.actionName}}{{$paramType:=.paramType}}
|
|
//---- {{- range $k, $v := .list }}
|
|
//---- {{- if $v.Sub }}
|
|
//----{{- template "subType" (makeMap "list" $v.Sub "cloudName" $cloudName "actionName" $actionName "paramType" $paramType) }}
|
|
//----interface {{ $cloudName }}_{{ $actionName }}{{ $paramType }}{{ $v.Name }} {
|
|
//---- {{- range $k2, $v2 := $v.Sub }}
|
|
//---- {{ $v2.Name }}: {{ $v2.Type }} // {{ $v2.Desc }}
|
|
//---- {{- end }}
|
|
//----}
|
|
//---- {{- end }}
|
|
//---- {{- end }}
|
|
//----{{- end }}
|
|
|
|
//----{{- range $cloudName, $cloudConf := . -}}
|
|
//----interface {{ $cloudName }}Cloud {
|
|
//----{{- range $actionName, $api := $cloudConf }}
|
|
//---- /**
|
|
//---- * {{ $actionName }} {{ $api.Desc }}
|
|
//---- {{- range $k, $v := $api.RequiredRequestParams }}
|
|
//---- * @param {{ $v.Name }} {{ $v.Desc }}
|
|
//---- {{- end }}
|
|
//---- {{- if eq $api.RequestFormat "binary" }}
|
|
//---- * @param data binary data
|
|
//---- {{- end }}
|
|
//---- */
|
|
//---- {{ $actionName }}: ({{ $api.FuncParams }}) => {{ $cloudName }}_{{ $actionName }}Response
|
|
//----{{- end }}
|
|
//----}
|
|
//----{{ range $actionName, $api := $cloudConf }}
|
|
//----// {{ $actionName }} {{ $api.Desc }}
|
|
//----{{- template "subType" (makeMap "list" $api.RequestParams "cloudName" $cloudName "actionName" $actionName "paramType" "Params") }}
|
|
//---- {{- if $api.NotRequiredRequestParams }}
|
|
//----interface {{ $cloudName }}_{{ $actionName }}Params {
|
|
//---- {{- range $k, $v := $api.NotRequiredRequestParams }}
|
|
//---- {{ $v.Name }}: {{ $v.Type }} // {{ $v.Desc }}
|
|
//---- {{- end }}
|
|
//----}
|
|
//---- {{- end }}
|
|
//---- {{- if $api.RequestHeaders }}
|
|
//----interface {{ $cloudName }}_{{ $actionName }}Headers {
|
|
//---- {{- range $k, $v := $api.RequestHeaders }}
|
|
//---- "{{ $v.Name }}": string // {{ $v.Desc }}
|
|
//---- {{- end }}
|
|
//----}
|
|
//---- {{- end }}
|
|
//---- {{- if eq $api.ResponseFormat "json" }}
|
|
//----{{- template "subType" (makeMap "list" $api.Response "cloudName" $cloudName "actionName" $actionName "paramType" "Result") }}
|
|
//----interface {{ $cloudName }}_{{ $actionName }}Result {
|
|
//---- {{- range $k, $v := $api.Response }}
|
|
//---- {{ $v.Name }}: {{ $v.Type }} // {{ $v.Desc }}
|
|
//---- {{- end }}
|
|
//----}
|
|
//---- {{- end }}
|
|
//----interface {{ $cloudName }}_{{ $actionName }}Response {
|
|
//---- success: boolean
|
|
//---- failedMessage: string
|
|
//---- statusCode: number
|
|
//---- status: string
|
|
//---- headers: Object
|
|
//---- usedTime: number
|
|
//---- {{- if eq $api.ResponseFormat "json" }}
|
|
//---- result: {{ $cloudName }}_{{ $actionName }}Result
|
|
//---- {{- else if eq $api.ResponseFormat "binary" }}
|
|
//---- result: any
|
|
//---- {{- else }}
|
|
//---- result: string
|
|
//---- {{- end }}
|
|
//----}
|
|
//----{{- end }}
|
|
//----
|
|
//----{{ end }}
|
|
//----{{- range $cloudName, $cloudConf := . }}
|
|
//----let {{ $cloudName }}: {{ $cloudName }}Cloud = null as any
|
|
//----{{- end }}
|
|
export {
|
|
//----{{- range $cloudName, $cloudConf := . }}
|
|
//----{{ $cloudName }},
|
|
//----{{- end }}
|
|
}
|