@newskit-render/feed 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +3 -1
  2. package/dist/cjs/helpers/queryArticleList.d.ts +2 -3
  3. package/dist/cjs/helpers/queryArticleList.js.map +1 -1
  4. package/dist/cjs/helpers/types.d.ts +1 -1
  5. package/dist/cjs/helpers/utils.d.ts +1 -3
  6. package/dist/cjs/helpers/utils.js +0 -1
  7. package/dist/cjs/helpers/utils.js.map +1 -1
  8. package/dist/cjs/rss/RSSFeedResolver.d.ts +2 -0
  9. package/dist/cjs/rss/{rss-feed-resolver.js → RSSFeedResolver.js} +19 -6
  10. package/dist/cjs/rss/RSSFeedResolver.js.map +1 -0
  11. package/dist/cjs/rss/__tests__/mocks.d.ts +100 -0
  12. package/dist/cjs/rss/__tests__/mocks.js +161 -8
  13. package/dist/cjs/rss/__tests__/mocks.js.map +1 -1
  14. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
  15. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js +19 -0
  16. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
  17. package/dist/cjs/rss/contentEncodedUtils/createImage.d.ts +2 -0
  18. package/dist/cjs/rss/contentEncodedUtils/createImage.js +23 -0
  19. package/dist/cjs/rss/contentEncodedUtils/createImage.js.map +1 -0
  20. package/dist/cjs/rss/contentEncodedUtils/createItems.d.ts +2 -0
  21. package/dist/cjs/rss/contentEncodedUtils/createItems.js +24 -0
  22. package/dist/cjs/rss/contentEncodedUtils/createItems.js.map +1 -0
  23. package/dist/cjs/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
  24. package/dist/cjs/rss/contentEncodedUtils/createParagraph.js +24 -0
  25. package/dist/cjs/rss/contentEncodedUtils/createParagraph.js.map +1 -0
  26. package/dist/cjs/rss/contentEncodedUtils/createRSSFfeed.d.ts +2 -0
  27. package/dist/cjs/rss/{create-rss-feed.js → contentEncodedUtils/createRSSFfeed.js} +5 -4
  28. package/dist/cjs/rss/contentEncodedUtils/createRSSFfeed.js.map +1 -0
  29. package/dist/cjs/rss/contentEncodedUtils/createSummary.d.ts +2 -0
  30. package/dist/cjs/rss/contentEncodedUtils/createSummary.js +17 -0
  31. package/dist/cjs/rss/contentEncodedUtils/createSummary.js.map +1 -0
  32. package/dist/cjs/rss/contentEncodedUtils/index.d.ts +3 -0
  33. package/dist/cjs/rss/contentEncodedUtils/index.js +16 -0
  34. package/dist/cjs/rss/contentEncodedUtils/index.js.map +1 -0
  35. package/dist/cjs/rss/helpers/articleHelper.d.ts +5 -0
  36. package/dist/cjs/rss/helpers/articleHelper.js +43 -0
  37. package/dist/cjs/rss/helpers/articleHelper.js.map +1 -0
  38. package/dist/cjs/rss/helpers/index.d.ts +1 -0
  39. package/dist/cjs/rss/helpers/index.js +14 -0
  40. package/dist/cjs/rss/helpers/index.js.map +1 -0
  41. package/dist/cjs/rss/index.d.ts +1 -1
  42. package/dist/cjs/rss/index.js +2 -2
  43. package/dist/cjs/rss/index.js.map +1 -1
  44. package/dist/cjs/rss/queries/getArticleList.js +1 -1
  45. package/dist/cjs/rss/queries/getArticleList.js.map +1 -1
  46. package/dist/cjs/rss/types.d.ts +51 -0
  47. package/dist/cjs/sitemap/index.d.ts +3 -5
  48. package/dist/cjs/sitemap/index.js +3 -7
  49. package/dist/cjs/sitemap/index.js.map +1 -1
  50. package/dist/cjs/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
  51. package/dist/cjs/sitemap/{generic-sitemap-resolver.js → resolvers/genericSitemapResolver.js} +14 -10
  52. package/dist/cjs/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
  53. package/dist/cjs/sitemap/resolvers/index.d.ts +2 -0
  54. package/dist/cjs/sitemap/resolvers/index.js +15 -0
  55. package/dist/cjs/sitemap/resolvers/index.js.map +1 -0
  56. package/dist/cjs/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
  57. package/dist/cjs/sitemap/{news-sitemap-resolver.js → resolvers/newsSitemapResolver.js} +9 -7
  58. package/dist/cjs/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
  59. package/dist/esm/helpers/queryArticleList.d.ts +2 -3
  60. package/dist/esm/helpers/queryArticleList.js.map +1 -1
  61. package/dist/esm/helpers/types.d.ts +1 -1
  62. package/dist/esm/helpers/utils.d.ts +1 -3
  63. package/dist/esm/helpers/utils.js +0 -1
  64. package/dist/esm/helpers/utils.js.map +1 -1
  65. package/dist/esm/rss/RSSFeedResolver.d.ts +2 -0
  66. package/dist/esm/rss/{rss-feed-resolver.js → RSSFeedResolver.js} +19 -6
  67. package/dist/esm/rss/RSSFeedResolver.js.map +1 -0
  68. package/dist/esm/rss/__tests__/mocks.d.ts +100 -0
  69. package/dist/esm/rss/__tests__/mocks.js +160 -7
  70. package/dist/esm/rss/__tests__/mocks.js.map +1 -1
  71. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
  72. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js +15 -0
  73. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
  74. package/dist/esm/rss/contentEncodedUtils/createImage.d.ts +2 -0
  75. package/dist/esm/rss/contentEncodedUtils/createImage.js +19 -0
  76. package/dist/esm/rss/contentEncodedUtils/createImage.js.map +1 -0
  77. package/dist/esm/rss/contentEncodedUtils/createItems.d.ts +2 -0
  78. package/dist/esm/rss/contentEncodedUtils/createItems.js +20 -0
  79. package/dist/esm/rss/contentEncodedUtils/createItems.js.map +1 -0
  80. package/dist/esm/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
  81. package/dist/esm/rss/contentEncodedUtils/createParagraph.js +20 -0
  82. package/dist/esm/rss/contentEncodedUtils/createParagraph.js.map +1 -0
  83. package/dist/esm/rss/contentEncodedUtils/createRSSFfeed.d.ts +2 -0
  84. package/dist/esm/rss/contentEncodedUtils/createRSSFfeed.js +6 -0
  85. package/dist/esm/rss/contentEncodedUtils/createRSSFfeed.js.map +1 -0
  86. package/dist/esm/rss/contentEncodedUtils/createSummary.d.ts +2 -0
  87. package/dist/esm/rss/contentEncodedUtils/createSummary.js +13 -0
  88. package/dist/esm/rss/contentEncodedUtils/createSummary.js.map +1 -0
  89. package/dist/esm/rss/contentEncodedUtils/index.d.ts +3 -0
  90. package/dist/esm/rss/contentEncodedUtils/index.js +4 -0
  91. package/dist/esm/rss/contentEncodedUtils/index.js.map +1 -0
  92. package/dist/esm/rss/helpers/articleHelper.d.ts +5 -0
  93. package/dist/esm/rss/helpers/articleHelper.js +37 -0
  94. package/dist/esm/rss/helpers/articleHelper.js.map +1 -0
  95. package/dist/esm/rss/helpers/index.d.ts +1 -0
  96. package/dist/esm/rss/helpers/index.js +2 -0
  97. package/dist/esm/rss/helpers/index.js.map +1 -0
  98. package/dist/esm/rss/index.d.ts +1 -1
  99. package/dist/esm/rss/index.js +1 -1
  100. package/dist/esm/rss/index.js.map +1 -1
  101. package/dist/esm/rss/queries/getArticleList.js +1 -1
  102. package/dist/esm/rss/queries/getArticleList.js.map +1 -1
  103. package/dist/esm/rss/types.d.ts +51 -0
  104. package/dist/esm/sitemap/index.d.ts +3 -5
  105. package/dist/esm/sitemap/index.js +2 -4
  106. package/dist/esm/sitemap/index.js.map +1 -1
  107. package/dist/esm/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
  108. package/dist/esm/sitemap/{generic-sitemap-resolver.js → resolvers/genericSitemapResolver.js} +14 -12
  109. package/dist/esm/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
  110. package/dist/esm/sitemap/resolvers/index.d.ts +2 -0
  111. package/dist/esm/sitemap/resolvers/index.js +3 -0
  112. package/dist/esm/sitemap/resolvers/index.js.map +1 -0
  113. package/dist/esm/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
  114. package/dist/esm/sitemap/{news-sitemap-resolver.js → resolvers/newsSitemapResolver.js} +8 -8
  115. package/dist/esm/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
  116. package/package.json +2 -2
  117. package/dist/cjs/rss/create-rss-feed.d.ts +0 -2
  118. package/dist/cjs/rss/create-rss-feed.js.map +0 -1
  119. package/dist/cjs/rss/rss-feed-resolver.d.ts +0 -4
  120. package/dist/cjs/rss/rss-feed-resolver.js.map +0 -1
  121. package/dist/cjs/sitemap/generic-sitemap-resolver.d.ts +0 -5
  122. package/dist/cjs/sitemap/generic-sitemap-resolver.js.map +0 -1
  123. package/dist/cjs/sitemap/news-sitemap-resolver.d.ts +0 -5
  124. package/dist/cjs/sitemap/news-sitemap-resolver.js.map +0 -1
  125. package/dist/esm/rss/create-rss-feed.d.ts +0 -2
  126. package/dist/esm/rss/create-rss-feed.js +0 -5
  127. package/dist/esm/rss/create-rss-feed.js.map +0 -1
  128. package/dist/esm/rss/rss-feed-resolver.d.ts +0 -4
  129. package/dist/esm/rss/rss-feed-resolver.js.map +0 -1
  130. package/dist/esm/sitemap/generic-sitemap-resolver.d.ts +0 -5
  131. package/dist/esm/sitemap/generic-sitemap-resolver.js.map +0 -1
  132. package/dist/esm/sitemap/news-sitemap-resolver.d.ts +0 -5
  133. package/dist/esm/sitemap/news-sitemap-resolver.js.map +0 -1
package/README.md CHANGED
@@ -55,6 +55,7 @@ async rewrites() {
55
55
  ```
56
56
 
57
57
  see `rssFeed` funtion
58
+
58
59
  ### Implementation
59
60
 
60
61
  #### genericSitemap
@@ -150,6 +151,7 @@ export default handler
150
151
  `updatePeriod` - optional - string - indicates how often feed updates so feed users know how often they should pole it. Can be `'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'` - default: `hourly`
151
152
  `updateFrequency` - optional - number - representing the number of times the feed should be refreshed during the updatePeriod - default: 1.
152
153
  `logoUrl` - string - url to site icon
154
+ `imageSourceSizes` - array of string values - images in the `<content:endcoded>` sections use the `<picture>` tag with `<source>` tag. Default widths are provided for these but you can override them with an array ['100', '200', '300', '400', '500']. Only add 5 values to the array.
153
155
 
154
156
  example
155
157
 
@@ -173,4 +175,4 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) =>
173
175
  })
174
176
 
175
177
  export default handler
176
- ```
178
+ ```
@@ -1,7 +1,6 @@
1
1
  import { ApolloHttpClient, Publisher } from '@newskit-render/api';
2
2
  import { DocumentNode } from 'graphql';
3
- import { ArticleList } from './types';
4
- export declare const queryArticleList: (publisher: Publisher, dates: {
3
+ export declare const queryArticleList: <T>(publisher: Publisher, dates: {
5
4
  from: string;
6
5
  to?: string | undefined;
7
- }, apolloClient: ApolloHttpClient, articleQuery: DocumentNode) => Promise<ArticleList>;
6
+ }, apolloClient: ApolloHttpClient, articleQuery: DocumentNode) => Promise<T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"queryArticleList.js","sourceRoot":"","sources":["../../../src/helpers/queryArticleList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,gBAAgB,GAAG,UAC9B,SAAoB,EACpB,KAAoC,EACpC,YAA8B,EAC9B,YAA0B;;;;;gBAEtB,MAAM,GAAG,EAAE,CAAA;gBAEX,eAAe,GAAgB,EAAE,CAAA;gBAC7B,IAAI,GAAS,KAAK,KAAd,EAAE,EAAE,GAAK,KAAK,GAAV,CAAU;gBAGT,qBAAM,YAAY,CAAC,KAAK,CAAC;wBACxC,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE;4BACT,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,SAAS;4BACpB,IAAI,MAAA;4BACJ,EAAE,IAAA;yBACH;qBACF,CAAC;oBAEF,mDAAmD;kBAFjD;;gBARM,IAAI,GAAK,CAAA,SAQf,CAAA,KARU;gBAUZ,mDAAmD;gBACnD,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAA;gBAC1C,mFAAmF;gBACnF,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzE,kDAAkD;gBAClD,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;;;qBAGxD,CAAA,eAAe,CAAC,MAAM,GAAG,UAAU,CAAA;gBACvB,qBAAM,YAAY,CAAC,KAAK,CAAC;wBACxC,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE;4BACT,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,SAAS;4BACpB,IAAI,MAAA;4BACJ,EAAE,IAAA;yBACH;qBACF,CAAC,EAAA;;gBARM,SAAS,CAAA,SAQf,CAAA,KARU;gBAUZ,MAAM,GAAG,MAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAA;gBAC1C,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,MAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;;oBAGjE,sBAAO,eAAe,EAAA;;;KACvB,CAAA;AA9CY,QAAA,gBAAgB,oBA8C5B"}
1
+ {"version":3,"file":"queryArticleList.js","sourceRoot":"","sources":["../../../src/helpers/queryArticleList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,gBAAgB,GAAG,UAC9B,SAAoB,EACpB,KAAoC,EACpC,YAA8B,EAC9B,YAA0B;;;;;gBAEtB,MAAM,GAAG,EAAE,CAAA;gBAEX,eAAe,GAAQ,EAAE,CAAA;gBACrB,IAAI,GAAS,KAAK,KAAd,EAAE,EAAE,GAAK,KAAK,GAAV,CAAU;gBAGT,qBAAM,YAAY,CAAC,KAAK,CAAC;wBACxC,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE;4BACT,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,SAAS;4BACpB,IAAI,MAAA;4BACJ,EAAE,IAAA;yBACH;qBACF,CAAC;oBAEF,mDAAmD;kBAFjD;;gBARM,IAAI,GAAK,CAAA,SAQf,CAAA,KARU;gBAUZ,mDAAmD;gBACnD,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAA;gBAC1C,mFAAmF;gBACnF,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzE,kDAAkD;gBAClD,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;;;qBAGxD,CAAA,eAAe,CAAC,MAAM,GAAG,UAAU,CAAA;gBACvB,qBAAM,YAAY,CAAC,KAAK,CAAC;wBACxC,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE;4BACT,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,SAAS;4BACpB,IAAI,MAAA;4BACJ,EAAE,IAAA;yBACH;qBACF,CAAC,EAAA;;gBARM,SAAS,CAAA,SAQf,CAAA,KARU;gBAUZ,MAAM,GAAG,MAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAA;gBAC1C,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,MAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;;oBAGjE,sBAAO,eAAe,EAAA;;;KACvB,CAAA;AA9CY,QAAA,gBAAgB,oBA8C5B"}
@@ -21,7 +21,7 @@ export declare type Category = {
21
21
  type: string;
22
22
  };
23
23
  export declare type Article = {
24
- id: number;
24
+ id: string | number;
25
25
  headline: string;
26
26
  publishedDateTime: string;
27
27
  publisher: Publisher;
@@ -1,8 +1,6 @@
1
1
  import { ServerResponse } from 'http';
2
2
  export declare const sitemapXml: () => null;
3
- export declare const setResponse: (res: ServerResponse, html: string, contentType?: string) => {
4
- props: Record<string, never>;
5
- };
3
+ export declare const setResponse: (res: ServerResponse, html: string, contentType?: string) => void;
6
4
  export declare const getTodayDate: () => string;
7
5
  export declare const getTwoDaysAgoDate: () => string;
8
6
  export declare const getDateList: (startDate: Date, endDate: Date) => Array<string>;
@@ -10,7 +10,6 @@ var setResponse = function (res, html, contentType) {
10
10
  res.setHeader('Content-Type', contentType);
11
11
  res.write(html);
12
12
  res.end();
13
- return { props: {} };
14
13
  };
15
14
  exports.setResponse = setResponse;
16
15
  var getTodayDate = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/helpers/utils.ts"],"names":[],"mappings":";;;AACO,IAAM,UAAU,GAAG;IACxB,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,IAAM,WAAW,GAAG,UACzB,GAAmB,EACnB,IAAY,EACZ,WAAwB;IAAxB,4BAAA,EAAA,wBAAwB;IAExB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC1C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACf,GAAG,CAAC,GAAG,EAAE,CAAA;IAET,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AACtB,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAEM,IAAM,YAAY,GAAG;IAC1B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,IAAM,iBAAiB,GAAG;IAC/B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAEM,IAAM,WAAW,GAAG,UAAC,SAAe,EAAE,OAAa;IACxD,IAAM,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACtD,iDAAiD;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAC/D,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC9D,WAAW,EAAE;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACnB;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AAEM,IAAM,YAAY,GAAG,UAAC,IAAY;IACvC,OAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;AAAnC,CAAmC,CAAA;AADxB,QAAA,YAAY,gBACY"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/helpers/utils.ts"],"names":[],"mappings":";;;AACO,IAAM,UAAU,GAAG;IACxB,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,IAAM,WAAW,GAAG,UACzB,GAAmB,EACnB,IAAY,EACZ,WAAwB;IAAxB,4BAAA,EAAA,wBAAwB;IAExB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC1C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACf,GAAG,CAAC,GAAG,EAAE,CAAA;AACX,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB;AAEM,IAAM,YAAY,GAAG;IAC1B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,IAAM,iBAAiB,GAAG;IAC/B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAEM,IAAM,WAAW,GAAG,UAAC,SAAe,EAAE,OAAa;IACxD,IAAM,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACtD,iDAAiD;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAC/D,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC9D,WAAW,EAAE;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACnB;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AAEM,IAAM,YAAY,GAAG,UAAC,IAAY;IACvC,OAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;AAAnC,CAAmC,CAAA;AADxB,QAAA,YAAY,gBACY"}
@@ -0,0 +1,2 @@
1
+ import { RssFeedProps } from './types';
2
+ export declare const rssFeed: ({ res, publisher, domain, titeAttributes, }: RssFeedProps) => Promise<void>;
@@ -38,16 +38,29 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.rssFeed = void 0;
40
40
  var utils_1 = require("../helpers/utils");
41
- var create_rss_feed_1 = require("./create-rss-feed");
41
+ var createRSSFfeed_1 = require("./contentEncodedUtils/createRSSFfeed");
42
+ var api_1 = require("@newskit-render/api");
43
+ var queryArticleList_1 = require("../helpers/queryArticleList");
44
+ var queries_1 = require("./queries");
45
+ var articleHelper_1 = require("./helpers/articleHelper");
42
46
  var rssFeed = function (_a) {
43
- var res = _a.res, titeAttributes = _a.titeAttributes;
47
+ var res = _a.res, publisher = _a.publisher, domain = _a.domain, titeAttributes = _a.titeAttributes;
44
48
  return __awaiter(void 0, void 0, void 0, function () {
45
- var html;
49
+ var apolloClient, articleListCollection, html;
46
50
  return __generator(this, function (_b) {
47
- html = (0, create_rss_feed_1.createRSSFeed)(titeAttributes);
48
- return [2 /*return*/, (0, utils_1.setResponse)(res, html, 'application/rss+xml; charset=UTF-8')];
51
+ switch (_b.label) {
52
+ case 0: return [4 /*yield*/, (0, api_1.createApolloClient)(api_1.ClientTypes.nkapi)];
53
+ case 1:
54
+ apolloClient = _b.sent();
55
+ return [4 /*yield*/, (0, queryArticleList_1.queryArticleList)(publisher, { from: (0, articleHelper_1.getFromDate)(30) }, apolloClient, queries_1.GET_ARTICLE_LIST)];
56
+ case 2:
57
+ articleListCollection = _b.sent();
58
+ html = (0, createRSSFfeed_1.createRSSFeed)(domain, titeAttributes, articleListCollection);
59
+ (0, utils_1.setResponse)(res, html, 'application/rss+xml; charset=UTF-8');
60
+ return [2 /*return*/];
61
+ }
49
62
  });
50
63
  });
51
64
  };
52
65
  exports.rssFeed = rssFeed;
53
- //# sourceMappingURL=rss-feed-resolver.js.map
66
+ //# sourceMappingURL=RSSFeedResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RSSFeedResolver.js","sourceRoot":"","sources":["../../../src/rss/RSSFeedResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA8C;AAE9C,uEAAoE;AACpE,2CAAqE;AACrE,gEAA8D;AAC9D,qCAAqE;AACrE,yDAAqD;AAE9C,IAAM,OAAO,GAAG,UAAO,EAKf;QAJb,GAAG,SAAA,EACH,SAAS,eAAA,EACT,MAAM,YAAA,EACN,cAAc,oBAAA;;;;;wBAEO,qBAAM,IAAA,wBAAkB,EAAC,iBAAW,CAAC,KAAK,CAAC,EAAA;;oBAA1D,YAAY,GAAG,SAA2C;oBAElC,qBAAM,IAAA,mCAAgB,EAClD,SAAS,EACT,EAAE,IAAI,EAAE,IAAA,2BAAW,EAAC,EAAE,CAAC,EAAE,EACzB,YAAY,EACZ,0BAAqB,CACtB,EAAA;;oBALK,qBAAqB,GAAG,SAK7B;oBAEK,IAAI,GAAG,IAAA,8BAAa,EAAC,MAAM,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAA;oBACzE,IAAA,mBAAW,EAAC,GAAG,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAA;;;;;CAC7D,CAAA;AAjBY,QAAA,OAAO,WAiBnB"}
@@ -1,4 +1,104 @@
1
1
  import { TiteAttributes } from '../types';
2
+ export declare const domainMock = "https://demo.com";
2
3
  export declare const titeAttributesMock: TiteAttributes;
3
4
  export declare const titeAttributesdefaultMock: TiteAttributes;
5
+ export declare const articleListMock: ({
6
+ categories: {
7
+ slug: string;
8
+ }[];
9
+ bylines: {
10
+ name: string;
11
+ }[];
12
+ summary: null;
13
+ publisher: string;
14
+ publishedDateTime: string;
15
+ headline: string;
16
+ id: string;
17
+ } | {
18
+ categories: {
19
+ slug: string;
20
+ }[];
21
+ bylines: {
22
+ name: string;
23
+ }[];
24
+ summary: {
25
+ children: {
26
+ text: string;
27
+ }[];
28
+ };
29
+ publisher: string;
30
+ publishedDateTime: string;
31
+ headline: string;
32
+ id: string;
33
+ } | {
34
+ categories: {
35
+ name: string;
36
+ }[];
37
+ bylines: null;
38
+ summary: {
39
+ children: {
40
+ text: string;
41
+ }[];
42
+ };
43
+ publisher: string;
44
+ publishedDateTime: string;
45
+ headline: string;
46
+ id: string;
47
+ })[];
4
48
  export declare const rssMock: string;
49
+ export declare const articleListWithBodyMock: {
50
+ categories: {
51
+ slug: string;
52
+ }[];
53
+ bylines: {
54
+ name: string;
55
+ }[];
56
+ summary: null;
57
+ publisher: string;
58
+ publishedDateTime: string;
59
+ headline: string;
60
+ id: string;
61
+ body: ({
62
+ type: string;
63
+ children: ({
64
+ bold: boolean;
65
+ italic: boolean;
66
+ underline: boolean;
67
+ text: string;
68
+ type: string;
69
+ url?: undefined;
70
+ } | {
71
+ url: string;
72
+ text: string;
73
+ type: string;
74
+ bold?: undefined;
75
+ italic?: undefined;
76
+ underline?: undefined;
77
+ })[];
78
+ alt?: undefined;
79
+ caption?: undefined;
80
+ credit?: undefined;
81
+ height?: undefined;
82
+ width?: undefined;
83
+ url?: undefined;
84
+ } | {
85
+ type: string;
86
+ alt: string;
87
+ caption: string;
88
+ credit: string;
89
+ height: string;
90
+ width: string;
91
+ url: string;
92
+ children?: undefined;
93
+ } | {
94
+ type: string;
95
+ alt: null;
96
+ caption: null;
97
+ credit: null;
98
+ height: string;
99
+ width: string;
100
+ url: string;
101
+ children?: undefined;
102
+ })[];
103
+ }[];
104
+ export declare const rssWithBodyMock: string;
@@ -1,22 +1,175 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rssMock = exports.titeAttributesdefaultMock = exports.titeAttributesMock = void 0;
3
+ exports.rssWithBodyMock = exports.articleListWithBodyMock = exports.rssMock = exports.articleListMock = exports.titeAttributesdefaultMock = exports.titeAttributesMock = exports.domainMock = void 0;
4
+ exports.domainMock = 'https://demo.com';
4
5
  exports.titeAttributesMock = {
5
- title: 'Demo',
6
- link: 'https://demo.com/feed/',
6
+ title: 'Demo Site',
7
+ link: '/feed',
7
8
  description: 'demo test feed',
8
9
  lastBuildDate: 'Fri, 01 Apr 2022 13:00:30 GMT',
9
10
  language: 'en-US',
10
11
  updatePeriod: 'hourly',
11
12
  updateFrequency: 1,
12
- logoUrl: 'https://talksport.com/demo-icon;w=32',
13
+ logoUrl: '/demo-icon;w=32',
13
14
  };
14
15
  exports.titeAttributesdefaultMock = {
15
- title: 'Demo',
16
- link: 'https://demo.com/feed/',
16
+ title: 'Demo Site',
17
+ link: '/feed',
17
18
  description: 'demo test feed',
18
19
  lastBuildDate: 'Fri, 01 Apr 2022 13:00:30 GMT',
19
- logoUrl: 'https://talksport.com/demo-icon;w=32',
20
+ logoUrl: '/demo-icon;w=32',
20
21
  };
21
- exports.rssMock = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>" + exports.titeAttributesMock.title + "</title>\n <atom:link href=\"" + exports.titeAttributesMock.link + "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>" + exports.titeAttributesMock.link + "</link>\n <description>" + exports.titeAttributesMock.description + "</description>\n <lastBuildDate>" + exports.titeAttributesMock.lastBuildDate + "</lastBuildDate>\n <language>" + exports.titeAttributesMock.language + "</language>\n <sy:updatePeriod>" + exports.titeAttributesMock.updatePeriod + "</sy:updatePeriod>\n <sy:updateFrequency>" + exports.titeAttributesMock.updateFrequency + "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>" + exports.titeAttributesMock.logoUrl + "</url>\n <title>" + exports.titeAttributesMock.title + "</title>\n <link>" + exports.titeAttributesMock.link + "</link>\n <width>32</width>\n <height>32</height>\n </image>\n <item>\n <title>temp test item</title>\n <link>https://somewhere</link>\n <description>placeholder iterm to be replaced in PPDSR-736</description>\n <guid isPermaLink=\"false\">Post 1077148 at temp test</guid>\n </item>\n</channel>\n</rss>\n";
22
+ exports.articleListMock = [
23
+ {
24
+ categories: [{ slug: 'entertainment' }],
25
+ bylines: [{ name: 'Jim Morrison' }],
26
+ summary: null,
27
+ publisher: 'VIRGIN',
28
+ publishedDateTime: '2022-04-04T08:50:29.000Z',
29
+ headline: 'It has survived not only five centuries',
30
+ id: '32596',
31
+ },
32
+ {
33
+ categories: [],
34
+ bylines: null,
35
+ summary: {
36
+ children: [
37
+ {
38
+ text: 'Some test description',
39
+ },
40
+ ],
41
+ },
42
+ publisher: 'VIRGIN',
43
+ publishedDateTime: '2022-04-04T08:31:44.000Z',
44
+ headline: 'Testing Image Credits',
45
+ id: '32594',
46
+ },
47
+ {
48
+ categories: [{ slug: 'tv-film' }, { slug: 'entertainment' }],
49
+ bylines: [{ name: 'Janis Joplin' }],
50
+ summary: {
51
+ children: [
52
+ {
53
+ text: 'Some test description 2',
54
+ },
55
+ ],
56
+ },
57
+ publisher: 'VIRGIN',
58
+ publishedDateTime: '2022-03-25T23:59:00.000Z',
59
+ headline: 'test publish article after fix deployed',
60
+ id: '32579',
61
+ },
62
+ {
63
+ categories: [{ name: 'test' }],
64
+ bylines: null,
65
+ summary: {
66
+ children: [
67
+ {
68
+ text: 'Some test description 3',
69
+ },
70
+ ],
71
+ },
72
+ publisher: 'VIRGIN',
73
+ publishedDateTime: '2022-03-25T22:59:00.000Z',
74
+ headline: 'Another Test Article',
75
+ id: '32591',
76
+ },
77
+ ];
78
+ exports.rssMock = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>" + exports.titeAttributesMock.title + "</title>\n <atom:link href=\"" + exports.domainMock + exports.titeAttributesMock.link + "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>" + exports.domainMock + exports.titeAttributesMock.link + "</link>\n <description>" + exports.titeAttributesMock.description + "</description>\n <lastBuildDate>" + exports.titeAttributesMock.lastBuildDate + "</lastBuildDate>\n <language>" + exports.titeAttributesMock.language + "</language>\n <sy:updatePeriod>" + exports.titeAttributesMock.updatePeriod + "</sy:updatePeriod>\n <sy:updateFrequency>" + exports.titeAttributesMock.updateFrequency + "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>" + exports.domainMock + exports.titeAttributesMock.logoUrl + "</url>\n <title>" + exports.titeAttributesMock.title + "</title>\n <link>" + exports.domainMock + exports.titeAttributesMock.link + "</link>\n <width>32</width>\n <height>32</height>\n </image>\n <item>\n <title>It has survived not only five centuries</title>\n <link>https://demo.com/entertainment/32596/it-has-survived-not-only-five-centuries</link>\n <pubDate>Mon, 04 Apr 2022 08:50:29 GMT</pubDate>\n <dc:creator><![CDATA[Jim Morrison]]></dc:creator>\n <category><![CDATA[entertainment]]></category>\n <description><![CDATA[]]></description>\n <guid isPermaLink=\"false\">Post 32596 at Demo Site</guid>\n <content:encoded><![CDATA[]]></content:encoded>\n </item>\n <item>\n <title>Testing Image Credits</title>\n <link>https://demo.com/uncategorized/32594/testing-image-credits</link>\n <pubDate>Mon, 04 Apr 2022 08:31:44 GMT</pubDate>\n <dc:creator><![CDATA[Demo Site]]></dc:creator>\n <category><![CDATA[uncategorized]]></category>\n <description><![CDATA[Some test description]]></description>\n <guid isPermaLink=\"false\">Post 32594 at Demo Site</guid>\n <content:encoded><![CDATA[]]></content:encoded>\n </item>\n <item>\n <title>test publish article after fix deployed</title>\n <link>https://demo.com/tv-film/32579/test-publish-article-after-fix-deployed</link>\n <pubDate>Fri, 25 Mar 2022 23:59:00 GMT</pubDate>\n <dc:creator><![CDATA[Janis Joplin]]></dc:creator>\n <category><![CDATA[tv-film]]></category><category><![CDATA[entertainment]]></category>\n <description><![CDATA[Some test description 2]]></description>\n <guid isPermaLink=\"false\">Post 32579 at Demo Site</guid>\n <content:encoded><![CDATA[]]></content:encoded>\n </item>\n <item>\n <title>Another Test Article</title>\n <link>https://demo.com/uncategorized/32591/another-test-article</link>\n <pubDate>Fri, 25 Mar 2022 22:59:00 GMT</pubDate>\n <dc:creator><![CDATA[Demo Site]]></dc:creator>\n <category><![CDATA[uncategorized]]></category>\n <description><![CDATA[Some test description 3]]></description>\n <guid isPermaLink=\"false\">Post 32591 at Demo Site</guid>\n <content:encoded><![CDATA[]]></content:encoded>\n </item>\n \n</channel>\n</rss>\n";
79
+ exports.articleListWithBodyMock = [
80
+ {
81
+ categories: [{ slug: 'tv-film' }, { slug: 'entertainment' }],
82
+ bylines: [{ name: 'Janis Joplin' }],
83
+ summary: null,
84
+ publisher: 'VIRGIN',
85
+ publishedDateTime: '2022-03-25T23:59:00.000Z',
86
+ headline: 'test publish article after fix deployed',
87
+ id: '32579',
88
+ body: [
89
+ {
90
+ type: 'paragraph',
91
+ children: [
92
+ {
93
+ bold: true,
94
+ italic: false,
95
+ underline: false,
96
+ text: 'Bold',
97
+ type: 'text',
98
+ },
99
+ {
100
+ bold: false,
101
+ italic: true,
102
+ underline: false,
103
+ text: 'Italic',
104
+ type: 'text',
105
+ },
106
+ {
107
+ bold: false,
108
+ italic: false,
109
+ underline: true,
110
+ text: 'Underline',
111
+ type: 'text',
112
+ },
113
+ {
114
+ bold: false,
115
+ italic: false,
116
+ underline: false,
117
+ text: 'None',
118
+ type: 'text',
119
+ },
120
+ {
121
+ bold: true,
122
+ italic: true,
123
+ underline: true,
124
+ text: 'All',
125
+ type: 'text',
126
+ },
127
+ ],
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ children: [
132
+ {
133
+ bold: false,
134
+ italic: false,
135
+ underline: false,
136
+ text: 'Something was said ',
137
+ type: 'text',
138
+ },
139
+ {
140
+ url: 'htttps://somelink',
141
+ text: 'find ourt what here ',
142
+ type: 'hyperlink',
143
+ },
144
+ {
145
+ bold: false,
146
+ italic: false,
147
+ underline: false,
148
+ text: 'and then something else',
149
+ type: 'text',
150
+ },
151
+ ],
152
+ },
153
+ {
154
+ type: 'image',
155
+ alt: 'alt test',
156
+ caption: 'A caption',
157
+ credit: 'A credit',
158
+ height: '300',
159
+ width: '500',
160
+ url: 'https://some/image/url',
161
+ },
162
+ {
163
+ type: 'image',
164
+ alt: null,
165
+ caption: null,
166
+ credit: null,
167
+ height: '300',
168
+ width: '500',
169
+ url: 'https://some/image/url',
170
+ },
171
+ ],
172
+ },
173
+ ];
174
+ exports.rssWithBodyMock = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>" + exports.titeAttributesMock.title + "</title>\n <atom:link href=\"" + exports.domainMock + exports.titeAttributesMock.link + "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>" + exports.domainMock + exports.titeAttributesMock.link + "</link>\n <description>" + exports.titeAttributesMock.description + "</description>\n <lastBuildDate>" + exports.titeAttributesMock.lastBuildDate + "</lastBuildDate>\n <language>" + exports.titeAttributesMock.language + "</language>\n <sy:updatePeriod>" + exports.titeAttributesMock.updatePeriod + "</sy:updatePeriod>\n <sy:updateFrequency>" + exports.titeAttributesMock.updateFrequency + "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>" + exports.domainMock + exports.titeAttributesMock.logoUrl + "</url>\n <title>" + exports.titeAttributesMock.title + "</title>\n <link>" + exports.domainMock + exports.titeAttributesMock.link + "</link>\n <width>32</width>\n <height>32</height>\n </image>\n <item>\n <title>test publish article after fix deployed</title>\n <link>https://demo.com/tv-film/32579/test-publish-article-after-fix-deployed</link>\n <pubDate>Fri, 25 Mar 2022 23:59:00 GMT</pubDate>\n <dc:creator><![CDATA[Janis Joplin]]></dc:creator>\n <category><![CDATA[tv-film]]></category><category><![CDATA[entertainment]]></category>\n <description><![CDATA[<p><strong>Bold</strong><em>Italic</em><u>Underline</u>None<strong><em><u>All</u></em></strong></p>]]></description>\n <guid isPermaLink=\"false\">Post 32579 at Demo Site</guid>\n <content:encoded><![CDATA[<p><strong>Bold</strong><em>Italic</em><u>Underline</u>None<strong><em><u>All</u></em></strong></p>\n\n<p>Something was said <a href=\"htttps://somelink\">find ourt what here </a>and then something else</p>\n\n<figure><picture><source media=\"screen and (max-width: 479px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 480px) and (max-width: 767px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 768px) and (max-width: 1023px)\" srcset=\"https://some/image/url?w=719&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 1024px) and (max-width: 1439px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 1440px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><img alt='alt test' src='https://some/image/url' width='500' height='300' /><picture><figcaption>A caption</figcaption><figcredit>A credit</figcredit></figure>\n\n<picture><source media=\"screen and (max-width: 479px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 480px) and (max-width: 767px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 768px) and (max-width: 1023px)\" srcset=\"https://some/image/url?w=719&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 1024px) and (max-width: 1439px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><source media=\"screen and (min-width: 1440px)\" srcset=\"https://some/image/url?w=0&amp;strip=all&amp;crop=1\"><img src='https://some/image/url' width='500' height='300' /><picture>]]></content:encoded>\n </item>\n \n</channel>\n</rss>\n";
22
175
  //# sourceMappingURL=mocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../../../src/rss/__tests__/mocks.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAmB;IAChD,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,gBAAgB;IAC7B,aAAa,EAAE,+BAA+B;IAC9C,QAAQ,EAAE,OAAO;IACjB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,CAAC;IAClB,OAAO,EAAE,sCAAsC;CAChD,CAAA;AAEY,QAAA,yBAAyB,GAAmB;IACvD,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,gBAAgB;IAC7B,aAAa,EAAE,+BAA+B;IAC9C,OAAO,EAAE,sCAAsC;CAChD,CAAA;AAEY,QAAA,OAAO,GAAG,uiBAYV,0BAAkB,CAAC,KAAK,wCACd,0BAAkB,CAAC,IAAI,mEAClC,0BAAkB,CAAC,IAAI,kCAChB,0BAAkB,CAAC,WAAW,2CAC5B,0BAAkB,CAAC,aAAa,wCACrC,0BAAkB,CAAC,QAAQ,0CACpB,0BAAkB,CAAC,YAAY,oDAC5B,0BAAkB,CAAC,eAAe,oGAG7C,0BAAkB,CAAC,OAAO,+BACxB,0BAAkB,CAAC,KAAK,gCACzB,0BAAkB,CAAC,IAAI,wWAYtC,CAAA"}
1
+ {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../../../src/rss/__tests__/mocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Body } from '../types';
2
+ export declare const createContentEncoded: (body: Body[], imageSourceSizes?: string[] | undefined) => Array<string>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createContentEncoded = void 0;
4
+ var _1 = require(".");
5
+ var createContentEncoded = function (body, imageSourceSizes) {
6
+ var contentArray = [];
7
+ body &&
8
+ body.forEach(function (data) {
9
+ if (data.type === 'paragraph') {
10
+ contentArray.push((0, _1.createParagraph)(data.children));
11
+ }
12
+ if (data.type === 'image') {
13
+ contentArray.push((0, _1.createImage)(data, imageSourceSizes));
14
+ }
15
+ });
16
+ return contentArray;
17
+ };
18
+ exports.createContentEncoded = createContentEncoded;
19
+ //# sourceMappingURL=createContentEncoded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContentEncoded.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createContentEncoded.ts"],"names":[],"mappings":";;;AACA,sBAAgD;AAEzC,IAAM,oBAAoB,GAAG,UAClC,IAAY,EACZ,gBAAgC;IAEhC,IAAM,YAAY,GAAa,EAAE,CAAA;IACjC,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,UAAC,IAAI;YAChB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC7B,YAAY,CAAC,IAAI,CAAC,IAAA,kBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;aAClD;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,YAAY,CAAC,IAAI,CAAC,IAAA,cAAW,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;aACvD;QACH,CAAC,CAAC,CAAA;IACJ,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAfY,QAAA,oBAAoB,wBAehC"}
@@ -0,0 +1,2 @@
1
+ import { ImageBlock } from '../types';
2
+ export declare const createImage: ({ alt, caption, credit, height, width, url }: ImageBlock, imageSourceSizes?: string[] | undefined) => string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createImage = void 0;
4
+ var media = [
5
+ 'screen and (max-width: 479px)',
6
+ 'screen and (min-width: 480px) and (max-width: 767px)',
7
+ 'screen and (min-width: 768px) and (max-width: 1023px)',
8
+ 'screen and (min-width: 1024px) and (max-width: 1439px)',
9
+ 'screen and (min-width: 1440px)',
10
+ ];
11
+ var defaultSources = ['0', '0', '719', '0', '0'];
12
+ var createImage = function (_a, imageSourceSizes) {
13
+ var alt = _a.alt, caption = _a.caption, credit = _a.credit, height = _a.height, width = _a.width, url = _a.url;
14
+ var pictureSources = (imageSourceSizes || defaultSources)
15
+ .map(function (source, i) {
16
+ return "<source media=\"" + media[i] + "\" srcset=\"" + url + "?w=" + source + "&amp;strip=all&amp;crop=1\">";
17
+ })
18
+ .join('');
19
+ // prettier-ignore
20
+ return (caption || credit ? '<figure>' : '') + "<picture>" + pictureSources + "<img " + (alt ? "alt='" + alt + "'" : '') + " src='" + url + "' width='" + width + "' height='" + height + "' /><picture>" + (caption ? "<figcaption>" + caption + "</figcaption>" : '') + (credit ? "<figcredit>" + credit + "</figcredit>" : '') + (caption || credit ? '</figure>' : '');
21
+ };
22
+ exports.createImage = createImage;
23
+ //# sourceMappingURL=createImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createImage.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createImage.ts"],"names":[],"mappings":";;;AAEA,IAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,sDAAsD;IACtD,uDAAuD;IACvD,wDAAwD;IACxD,gCAAgC;CACjC,CAAA;AAED,IAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE3C,IAAM,WAAW,GAAG,UACzB,EAAwD,EACxD,gBAAgC;QAD9B,GAAG,SAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,GAAG,SAAA;IAG1C,IAAM,cAAc,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC;SACxD,GAAG,CAAC,UAAC,MAAM,EAAE,CAAC;QACb,OAAO,qBAAkB,KAAK,CAAC,CAAC,CAAC,oBAAa,GAAG,WAAM,MAAM,iCAA6B,CAAA;IAC5F,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IACX,kBAAkB;IAClB,OAAO,CAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAY,cAAc,cAAQ,GAAG,CAAC,CAAC,CAAC,UAAQ,GAAG,MAAG,CAAC,CAAC,CAAC,EAAE,eAAS,GAAG,iBAAY,KAAK,kBAAa,MAAM,sBAAgB,OAAO,CAAC,CAAC,CAAC,iBAAe,OAAO,kBAAe,CAAC,CAAC,CAAC,EAAE,KAAG,MAAM,CAAC,CAAC,CAAC,gBAAc,MAAM,iBAAc,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;AAC1T,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB"}
@@ -0,0 +1,2 @@
1
+ import { ArticleList } from '../types';
2
+ export declare const createRssItems: (articleList: ArticleList, domain: string, title: string, imageSourceSizes?: string[] | undefined) => string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRssItems = void 0;
4
+ var articleHelper_1 = require("../helpers/articleHelper");
5
+ var createContentEncoded_1 = require("./createContentEncoded");
6
+ var _1 = require(".");
7
+ var createRssItems = function (articleList, domain, title, imageSourceSizes) {
8
+ return articleList
9
+ .map(function (_a) {
10
+ var id = _a.id, headline = _a.headline, categories = _a.categories, publishedDateTime = _a.publishedDateTime, bylines = _a.bylines, summary = _a.summary, body = _a.body;
11
+ var articleLink = "" + domain + (0, articleHelper_1.createArticleLink)(id, headline, categories);
12
+ var pubDate = new Date(publishedDateTime).toUTCString();
13
+ var creator = bylines && bylines[0].name ? bylines[0].name : title;
14
+ var articleCategories = (0, articleHelper_1.buildArticleCategories)(categories);
15
+ var articleSummary = (0, _1.createSummary)(body, summary);
16
+ var content = (0, createContentEncoded_1.createContentEncoded)(body, imageSourceSizes)
17
+ .map(function (markup) { return markup; })
18
+ .join('\n\n');
19
+ return "<item>\n <title>" + headline + "</title>\n <link>" + articleLink + "</link>\n <pubDate>" + pubDate + "</pubDate>\n <dc:creator><![CDATA[" + creator + "]]></dc:creator>\n " + articleCategories + "\n " + articleSummary + "\n <guid isPermaLink=\"false\">Post " + id + " at " + title + "</guid>\n <content:encoded><![CDATA[" + content + "]]></content:encoded>\n </item>\n ";
20
+ })
21
+ .join('');
22
+ };
23
+ exports.createRssItems = createRssItems;
24
+ //# sourceMappingURL=createItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createItems.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createItems.ts"],"names":[],"mappings":";;;AACA,0DAGiC;AACjC,+DAA6D;AAC7D,sBAAiC;AAE1B,IAAM,cAAc,GAAG,UAC5B,WAAwB,EACxB,MAAc,EACd,KAAa,EACb,gBAAgC;IAEhC,OAAA,WAAW;SACR,GAAG,CACF,UAAC,EAQS;YAPR,EAAE,QAAA,EACF,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,iBAAiB,uBAAA,EACjB,OAAO,aAAA,EACP,OAAO,aAAA,EACP,IAAI,UAAA;QAEJ,IAAM,WAAW,GAAG,KAAG,MAAM,GAAG,IAAA,iCAAiB,EAC/C,EAAE,EACF,QAAQ,EACR,UAAU,CACT,CAAA;QACH,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAA;QACzD,IAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,IAAM,iBAAiB,GAAG,IAAA,sCAAsB,EAAC,UAAU,CAAC,CAAA;QAC5D,IAAM,cAAc,GAAG,IAAA,gBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnD,IAAM,OAAO,GAAG,IAAA,2CAAoB,EAAC,IAAI,EAAE,gBAAgB,CAAC;aACzD,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,EAAN,CAAM,CAAC;aACvB,IAAI,CAAC,MAAM,CAAC,CAAA;QAEf,OAAO,0BACA,QAAQ,8BACT,WAAW,gCACR,OAAO,+CACK,OAAO,gCAC5B,iBAAiB,gBACjB,cAAc,iDACiB,EAAE,YAAO,KAAK,iDACnB,OAAO,yCAEtC,CAAA;IACG,CAAC,CACF;SACA,IAAI,CAAC,EAAE,CAAC;AArCX,CAqCW,CAAA;AA3CA,QAAA,cAAc,kBA2Cd"}
@@ -0,0 +1,2 @@
1
+ import { ParagraphBlockChildren } from '../types';
2
+ export declare const createParagraph: (content: ParagraphBlockChildren[]) => string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createParagraph = void 0;
4
+ var createTextBlock = function (textBlock) {
5
+ // prettier-ignore
6
+ return "" + (textBlock.bold ? '<strong>' : '') + (textBlock.italic ? "<em>" : '') + (textBlock.underline ? '<u>' : '') + textBlock.text + (textBlock.underline ? '</u>' : '') + (textBlock.italic ? "</em>" : '') + (textBlock.bold ? '</strong>' : '');
7
+ };
8
+ var createHyperlinkBlock = function (hyperlinkBlock) {
9
+ return "<a href=\"" + hyperlinkBlock.url + "\">" + hyperlinkBlock.text + "</a>";
10
+ };
11
+ var createParagraph = function (content) {
12
+ var paraArray = [];
13
+ content.forEach(function (data) {
14
+ if (data.type === 'text') {
15
+ paraArray.push(createTextBlock(data));
16
+ }
17
+ if (data.type === 'hyperlink') {
18
+ paraArray.push(createHyperlinkBlock(data));
19
+ }
20
+ });
21
+ return "<p>" + paraArray.join('') + "</p>";
22
+ };
23
+ exports.createParagraph = createParagraph;
24
+ //# sourceMappingURL=createParagraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createParagraph.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createParagraph.ts"],"names":[],"mappings":";;;AAEA,IAAM,eAAe,GAAG,UAAC,SAAoB;IAC3C,kBAAkB;IAClB,OAAO,MAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAG,SAAS,CAAC,IAAI,IAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;AAC7O,CAAC,CAAA;AAED,IAAM,oBAAoB,GAAG,UAAC,cAA8B;IAC1D,OAAO,eAAY,cAAc,CAAC,GAAG,WAAK,cAAc,CAAC,IAAI,SAAM,CAAA;AACrE,CAAC,CAAA;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiC;IAC/D,IAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QACnB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAiB,CAAC,CAAC,CAAA;SACnD;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAC7B,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAsB,CAAC,CAAC,CAAA;SAC7D;IACH,CAAC,CAAC,CAAA;IACF,OAAO,QAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAM,CAAA;AACvC,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B"}
@@ -0,0 +1,2 @@
1
+ import { TiteAttributes, ArticleList } from '../types';
2
+ export declare const createRSSFeed: (domain: string, { title, link, description, lastBuildDate, language, updatePeriod, updateFrequency, logoUrl, imageSourceSizes, }: TiteAttributes, articleList: ArticleList) => string;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createRSSFeed = void 0;
4
- var createRSSFeed = function (_a) {
5
- var title = _a.title, link = _a.link, description = _a.description, lastBuildDate = _a.lastBuildDate, _b = _a.language, language = _b === void 0 ? 'en-US' : _b, _c = _a.updatePeriod, updatePeriod = _c === void 0 ? 'hourly' : _c, _d = _a.updateFrequency, updateFrequency = _d === void 0 ? 1 : _d, logoUrl = _a.logoUrl;
6
- return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>" + title + "</title>\n <atom:link href=\"" + link + "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>" + link + "</link>\n <description>" + description + "</description>\n <lastBuildDate>" + lastBuildDate + "</lastBuildDate>\n <language>" + language + "</language>\n <sy:updatePeriod>" + updatePeriod + "</sy:updatePeriod>\n <sy:updateFrequency>" + updateFrequency + "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>" + logoUrl + "</url>\n <title>" + title + "</title>\n <link>" + link + "</link>\n <width>32</width>\n <height>32</height>\n </image>\n <item>\n <title>temp test item</title>\n <link>https://somewhere</link>\n <description>placeholder iterm to be replaced in PPDSR-736</description>\n <guid isPermaLink=\"false\">Post 1077148 at temp test</guid>\n </item>\n</channel>\n</rss>\n";
4
+ var createItems_1 = require("./createItems");
5
+ var createRSSFeed = function (domain, _a, articleList) {
6
+ var title = _a.title, link = _a.link, description = _a.description, lastBuildDate = _a.lastBuildDate, _b = _a.language, language = _b === void 0 ? 'en-US' : _b, _c = _a.updatePeriod, updatePeriod = _c === void 0 ? 'hourly' : _c, _d = _a.updateFrequency, updateFrequency = _d === void 0 ? 1 : _d, logoUrl = _a.logoUrl, imageSourceSizes = _a.imageSourceSizes;
7
+ return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>" + title + "</title>\n <atom:link href=\"" + domain + link + "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>" + domain + link + "</link>\n <description>" + description + "</description>\n <lastBuildDate>" + lastBuildDate + "</lastBuildDate>\n <language>" + language + "</language>\n <sy:updatePeriod>" + updatePeriod + "</sy:updatePeriod>\n <sy:updateFrequency>" + updateFrequency + "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>" + domain + logoUrl + "</url>\n <title>" + title + "</title>\n <link>" + domain + link + "</link>\n <width>32</width>\n <height>32</height>\n </image>\n " + (0, createItems_1.createRssItems)(articleList, domain, title, imageSourceSizes) + "\n</channel>\n</rss>\n";
7
8
  };
8
9
  exports.createRSSFeed = createRSSFeed;
9
- //# sourceMappingURL=create-rss-feed.js.map
10
+ //# sourceMappingURL=createRSSFfeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRSSFfeed.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createRSSFfeed.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAEvC,IAAM,aAAa,GAAG,UAC3B,MAAc,EACd,EAUiB,EACjB,WAAwB;QAVtB,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,gBAAkB,EAAlB,QAAQ,mBAAG,OAAO,KAAA,EAClB,oBAAuB,EAAvB,YAAY,mBAAG,QAAQ,KAAA,EACvB,uBAAmB,EAAnB,eAAe,mBAAG,CAAC,KAAA,EACnB,OAAO,aAAA,EACP,gBAAgB,sBAAA;IAGP,OAAA,uiBAYA,KAAK,wCACK,MAAM,GAAG,IAAI,mEACxB,MAAM,GAAG,IAAI,kCACN,WAAW,2CACT,aAAa,wCAClB,QAAQ,0CACD,YAAY,oDACT,eAAe,oGAG1B,MAAM,GAAG,OAAO,+BACd,KAAK,gCACN,MAAM,GAAG,IAAI,2FAIvB,IAAA,4BAAc,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,2BAGjE;AA/BY,CA+BZ,CAAA;AA7CY,QAAA,aAAa,iBA6CzB"}
@@ -0,0 +1,2 @@
1
+ import { Summary, Body } from '../types';
2
+ export declare const createSummary: (body: Body[], summary?: Summary | undefined) => string;