microsoft / microsoft/TypeScript
--noImplicitAny codefix inferring string for complex object
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Go
- Star
- 111k
- Fork
- 14.3k
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 117
Mô tả
TypeScript Version: 3.3.0-dev.20190108
Search Terms: noimplicitany infer code fix codefix string object data
Code
function cleanup(data) {
if (Array.isArray(data)) {
return data.map(cleanup)
}
if (!data || typeof data !== 'object') return data
let keys = Object.keys(data)
if (keys.length <= 3 &&
data.name &&
(keys.length === 1 ||
keys.length === 3 && data.email && data.url ||
keys.length === 2 && (data.email || data.url))) {
data = unparsePerson(data)
}
return data
}
Expected behavior:
--noImplicitAny suggested fix on the data parameter: unclear what this should be. Perhaps a fancy type union containing an anonymous object type with fields such as name and url?
Actual behavior:
function cleanup(data: string) {
Related Issues: #13243 (parent tracking quick fixes)
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với codefix noImplicitAny chú thích tham số cleanup và tái hiện hành vi bằng snippet TypeScript trong issue này. Đọc issue liên quan #13243 để hiểu ngữ cảnh của quick-fix cha; được xem là hoàn tất khi codefix không còn suy luận string cho trường hợp đối tượng phức tạp này và hành vi tạo ra khớp với kiểu mong đợi đã thống nhất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- typescript
- Lĩnh vực
- compilers
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100