typeParametersParameters extracts the generic parameters from a named type.
(obj interface{ TypeParams() *types.TypeParamList })
| 1303 | |
| 1304 | // typeParametersParameters extracts the generic parameters from a named type. |
| 1305 | func (ts *Typescript) typeParametersParameters(obj interface{ TypeParams() *types.TypeParamList }) ([]*bindings.TypeParameter, error) { |
| 1306 | args := obj.TypeParams() |
| 1307 | if args == nil || args.Len() == 0 { |
| 1308 | return []*bindings.TypeParameter{}, nil |
| 1309 | } |
| 1310 | |
| 1311 | params := make([]*bindings.TypeParameter, 0, args.Len()) |
| 1312 | for i := 0; i < args.Len(); i++ { |
| 1313 | arg := args.At(i) |
| 1314 | argType, err := ts.typescriptType(arg) |
| 1315 | if err != nil { |
| 1316 | return nil, xerrors.Errorf("type parameter %q: %w", arg.String(), err) |
| 1317 | } |
| 1318 | |
| 1319 | params = append(params, argType.TypeParameters...) |
| 1320 | } |
| 1321 | return params, nil |
| 1322 | } |
| 1323 | |
| 1324 | func (ts *Typescript) typeParametersArgs(obj *types.Named) ([]parsedType, error) { |
| 1325 | args := obj.TypeArgs() |
no test coverage detected