Skip to content

Commit 5a68f9b

Browse files
authored
Merge pull request #58 from ndaidong/dev
v6.1.2
2 parents 084a26d + 87e50eb commit 5a68f9b

File tree

13 files changed

+258
-230
lines changed

13 files changed

+258
-230
lines changed

README.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,11 @@ Without any options, the result should have the following structure:
116116
Object with all or several of the following properties:
117117

118118
- `normalization`: Boolean, normalize feed data or keep original. Default `true`.
119-
- `includeEntryContent`: Boolean, include full content of feed entry if present. Default `false`.
120-
- `includeOptionalElements`: Boolean, include optional elements. Default `false`.
121119
- `useISODateFormat`: Boolean, convert datetime to ISO format. Default `true`.
122120
- `descriptionMaxLen`: Number, to truncate description. Default `210` (characters).
123-
124-
Note that when `normalization` is set to `false`, other options will take no effect to the last output.
121+
- `xmlParserOptions`: Object, used by xml parser, view [fast-xml-parser's docs](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md)
122+
- `getExtraFeedFields`: Function, to get more fields from feed data
123+
- `getExtraEntryFields`: Function, to get more fields from feed entry data
125124

126125
For example:
127126

@@ -134,7 +133,28 @@ read('https://news.google.com/atom', {
134133

135134
read('https://news.google.com/rss', {
136135
useISODateFormat: false,
137-
includeOptionalElements: true
136+
getExtraFeedFields: (feedData) => {
137+
return {
138+
subtitle: feed.subtitle || ''
139+
}
140+
},
141+
getExtraEntryFields: (feedEntry) => {
142+
const {
143+
enclosure,
144+
category
145+
} = feedEntry
146+
return {
147+
enclosure: {
148+
url: enclosure['@_url'],
149+
type: enclosure['@_type'],
150+
length: enclosure['@_length']
151+
},
152+
category: isString(category) ? category : {
153+
text: category['@_text'],
154+
domain: category['@_domain']
155+
}
156+
}
157+
}
138158
})
139159
```
140160

dist/cjs/feed-reader.js

Lines changed: 54 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cjs/index.d.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ export interface ReaderOptions {
4848
* default: 210
4949
*/
5050
descriptionMaxLen?: number;
51+
/**
52+
* fast-xml-parser options
53+
* https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/v4/2.XMLparseOptions.md
54+
*/
55+
xmlParserOptions?: any;
56+
/**
57+
* merge extra feed fields in result
58+
*/
59+
extraFeedFields?: (feedData: object) => object;
60+
/**
61+
* merge extra entry fields in result
62+
*/
63+
extraEntryFields?: (entryData: object) => object;
5164
}
5265

5366
export interface FetchOptions {

dist/cjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"name": "feed-reader",
3-
"version": "6.1.1",
3+
"version": "6.1.2",
44
"main": "./feed-reader.js"
55
}

0 commit comments

Comments
 (0)