@quintype/seo 1.46.2 → 1.46.3-fix-video-schema.1

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.
package/dist/index.cjs.js CHANGED
@@ -757,15 +757,20 @@ function generateLiveBlogPostingData(structuredData = {}, story = {}, publisherC
757
757
  function getEmbedUrl(cards) {
758
758
  let embedUrl = "";
759
759
 
760
- // not using the return value of top level find
761
- // coz we only need the embed url
762
- // find is used for early exit
763
- cards.find(card => {
760
+ const urlKeys = ["url", "instagram-url", "dailymotion-url", "facebook-url", "tweet-url", "vimeo-url", "player-url"];
761
+
762
+ cards.some(card => {
764
763
  const storyElements = get__default["default"](card, ["story-elements"], []);
765
- return storyElements.find(elem => {
766
- if (elem["embed-url"]) {
767
- embedUrl = elem["embed-url"];
768
- return true;
764
+ return storyElements.some(elem => {
765
+ for (let key of urlKeys) {
766
+ if (elem[key]) {
767
+ embedUrl = elem[key];
768
+ return true;
769
+ }
770
+ if (elem.metadata && elem.metadata[key]) {
771
+ embedUrl = elem.metadata[key];
772
+ return true;
773
+ }
769
774
  }
770
775
  return false;
771
776
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quintype/seo",
3
- "version": "1.46.2",
3
+ "version": "1.46.3-fix-video-schema.1",
4
4
  "description": "SEO Modules for Quintype",
5
5
  "main": "dist/index.cjs.js",
6
6
  "repository": "https://github.com/quintype/quintype-node-seo",
@@ -265,15 +265,28 @@ function generateLiveBlogPostingData(structuredData = {}, story = {}, publisherC
265
265
  function getEmbedUrl(cards) {
266
266
  let embedUrl = "";
267
267
 
268
- // not using the return value of top level find
269
- // coz we only need the embed url
270
- // find is used for early exit
271
- cards.find((card) => {
268
+ const urlKeys = [
269
+ "url",
270
+ "instagram-url",
271
+ "dailymotion-url",
272
+ "facebook-url",
273
+ "tweet-url",
274
+ "vimeo-url",
275
+ "player-url"
276
+ ];
277
+
278
+ cards.some(card => {
272
279
  const storyElements = get(card, ["story-elements"], []);
273
- return storyElements.find((elem) => {
274
- if (elem["embed-url"]) {
275
- embedUrl = elem["embed-url"];
276
- return true;
280
+ return storyElements.some(elem => {
281
+ for (let key of urlKeys) {
282
+ if (elem[key]) {
283
+ embedUrl = elem[key];
284
+ return true;
285
+ }
286
+ if (elem.metadata && elem.metadata[key]) {
287
+ embedUrl = elem.metadata[key];
288
+ return true;
289
+ }
277
290
  }
278
291
  return false;
279
292
  });