Enhance type definition for XMLParser `isArray` option when using TypeScript
Maintainer thường phản hồi trong vòng 4 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- javascript, typescript
- Lĩnh vực
- developer-experience
Hướng nghiên cứu
Bắt đầu với định nghĩa kiểu của XMLParser cho tùy chọn isArray và so sánh định nghĩa đó với ví dụ TypeScript Playground được liên kết. Cập nhật các kiểu để jPath true hoặc undefined chọn string và jPath false chọn Matcher, sau đó xác minh rằng người dùng TypeScript không còn cần các kiểm tra có điều kiện hoặc các assertion.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
- Are you running the latest version?
- Have you included sample input, output, error, and expected output?
- Have you checked if you are using correct configuration?
- Did you try online tool?
- Have you checked the docs for helpful APIs and examples?
Description
When creating an instance of XMLParser using the isArray option, the method arguments are currently defined as the following, with the jPathOrMatcher argument being either a string or Matcher type:
The behaviour as documented is that if the jPath option is set to true (or undefined since the default is true), then the type of jPathOrMatcher will be a string, and if jPath is false then the type of jPathOrMatcher will be a Matcher.
However, since the type of jPathOrMatcher is currently string | Matcher, to satisfy TypeScript I either have to add unnecessary conditional logic to check whether the type is string or Matcher, or add in a type assertion like (jPathOrMatcher as string).includes("blah").
I would like to propose updating the types so that it can smartly detect whether the jPath option is true or false, and set the type of isArray based on that. I've found that this can be achieved using union types, and I have a minimal working example using the TypeScript Playground:
Would you like to work on this issue?
- Yes
- No
Bookmark this repository for further updates. Visit SoloThought to know about recent features.
- Ngôn ngữ chính
- JavaScript
- Star
- 3.1k
- Fork
- 404
- Merge trung bình
- 6 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 6
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc 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.
Issue khác của NaturalIntelligence/fast-xml-parser
-
XMLValidator accepts double hyphens inside commentsCó thể đã có người làm @Sskift đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
NaturalIntelligence/fast-xml-parser#903 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
-
XMLValidator accepts raw < and & in attribute valuesCó thể đã có người làm @jeromeyyy đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NaturalIntelligence/fast-xml-parser#900 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
NaturalIntelligence/fast-xml-parser#890 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
NaturalIntelligence/fast-xml-parser#888 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
-
ignoreDeclaration does not ignore lower case doctype declarationCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
NaturalIntelligence/fast-xml-parser#870 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
Tất cả issue của NaturalIntelligence/fast-xml-parser
Issue tương tự
-
test-reliability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Azure/azure-sdk-for-js#40672 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
txn2/mcp-data-platform#2492 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
liberation-data/drivine#639 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
accessibility ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
prophet-technocracy/civilizational-emergency-protocol#59 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
type: bug
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 72/100
RocketChat/Rocket.Chat#43554 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày