cloud/export.ts
2024-11-10 21:34:26 +08:00

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 }}
}