microsoft / microsoft/TypeScript

--noImplicitAny codefix inferring string for complex object

Đang mở
#29,324 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Domain: LS: Quick Fixes Experience Enhancement Suggestion
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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.