@financial-times/cp-content-pipeline-schema 3.17.0 → 3.19.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 (48) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/generated/index.d.ts +23 -2
  3. package/lib/helpers/qualityWorkaround.d.ts +2 -0
  4. package/lib/helpers/qualityWorkaround.js +37 -0
  5. package/lib/helpers/qualityWorkaround.js.map +1 -0
  6. package/lib/model/Clip.d.ts +1 -17
  7. package/lib/model/Clip.js +27 -8
  8. package/lib/model/Clip.js.map +1 -1
  9. package/lib/model/Clip.test.js +77 -0
  10. package/lib/model/Clip.test.js.map +1 -1
  11. package/lib/model/Topper.d.ts +1 -0
  12. package/lib/model/Topper.js +6 -1
  13. package/lib/model/Topper.js.map +1 -1
  14. package/lib/model/schemas/capi/article.d.ts +18 -0
  15. package/lib/model/schemas/capi/audio.d.ts +14 -0
  16. package/lib/model/schemas/capi/base-schema.d.ts +42 -0
  17. package/lib/model/schemas/capi/base-schema.js +2 -0
  18. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  19. package/lib/model/schemas/capi/content-package.d.ts +14 -0
  20. package/lib/model/schemas/capi/custom-code-component.d.ts +18 -0
  21. package/lib/model/schemas/capi/index.d.ts +96 -0
  22. package/lib/model/schemas/capi/live-blog-package.d.ts +18 -0
  23. package/lib/model/schemas/capi/placeholder.d.ts +18 -0
  24. package/lib/model/schemas/capi/video.d.ts +14 -0
  25. package/lib/resolvers/clip.d.ts +4 -9
  26. package/lib/resolvers/clip.js +3 -0
  27. package/lib/resolvers/clip.js.map +1 -1
  28. package/lib/resolvers/index.d.ts +6 -9
  29. package/lib/resolvers/topper.d.ts +2 -0
  30. package/lib/resolvers/topper.js +4 -2
  31. package/lib/resolvers/topper.js.map +1 -1
  32. package/lib/types/clip.d.ts +21 -0
  33. package/lib/types/clip.js +3 -0
  34. package/lib/types/clip.js.map +1 -0
  35. package/package.json +1 -1
  36. package/queries/article.graphql +6 -0
  37. package/src/generated/index.ts +23 -2
  38. package/src/helpers/qualityWorkaround.ts +44 -0
  39. package/src/model/Clip.test.ts +95 -0
  40. package/src/model/Clip.ts +33 -27
  41. package/src/model/Topper.ts +7 -1
  42. package/src/model/schemas/capi/base-schema.ts +2 -0
  43. package/src/resolvers/clip.ts +3 -0
  44. package/src/resolvers/topper.ts +4 -2
  45. package/src/types/clip.ts +23 -0
  46. package/tsconfig.tsbuildinfo +1 -1
  47. package/typedefs/clip.graphql +9 -0
  48. package/typedefs/topper.graphql +8 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.19.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v3.18.0...cp-content-pipeline-schema-v3.19.0) (2025-11-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * ci-3111 media queries on clips sources ([856bd45](https://github.com/Financial-Times/cp-content-pipeline/commit/856bd457ba6dc56f292c6a31e0edfe3f29b4a904))
9
+
10
+ ## [3.18.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v3.17.0...cp-content-pipeline-schema-v3.18.0) (2025-11-06)
11
+
12
+
13
+ ### Features
14
+
15
+ * ci-3143 support multiple authors opinion topper ([f71ee09](https://github.com/Financial-Times/cp-content-pipeline/commit/f71ee09098acbcbd9c6f141757970b741db69586))
16
+
3
17
  ## [3.17.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v3.16.0...cp-content-pipeline-schema-v3.17.0) (2025-11-04)
4
18
 
5
19
 
@@ -423,6 +423,8 @@ export type ClipSource = {
423
423
  readonly audioCodec?: Maybe<Scalars['String']['output']>;
424
424
  /** The url of the clip source, eg. 'https://next-media-api.ft.com/renditions/16868569859480/0x0.mp3'. */
425
425
  readonly binaryUrl: Scalars['String']['output'];
426
+ /** The encoding settings intention for the video media */
427
+ readonly dppx?: Maybe<Scalars['Int']['output']>;
426
428
  /** The duration of the clip in milliseconds. */
427
429
  readonly duration?: Maybe<Scalars['Int']['output']>;
428
430
  /** The media type eg. video/mp4. */
@@ -431,6 +433,10 @@ export type ClipSource = {
431
433
  readonly pixelHeight?: Maybe<Scalars['Int']['output']>;
432
434
  /** The width of the clip in pixels. */
433
435
  readonly pixelWidth?: Maybe<Scalars['Int']['output']>;
436
+ /** The width of the source immediately narrower than this one. */
437
+ readonly previousSourceWidth?: Maybe<Scalars['Int']['output']>;
438
+ /** The encoding quality of the video media */
439
+ readonly quality?: Maybe<Scalars['String']['output']>;
434
440
  /** The video encoding format of the source, eg. h264. */
435
441
  readonly videoCodec?: Maybe<Scalars['String']['output']>;
436
442
  };
@@ -1272,8 +1278,13 @@ export type OpinionTopper = Topper & TopperWithHeadshot & TopperWithTheme & {
1272
1278
  readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
1273
1279
  /** The background colour of the topper. */
1274
1280
  readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
1275
- /** The concept object describing details of the column author. */
1281
+ /**
1282
+ * The concept object describing details of the column author.
1283
+ * @deprecated use columnists instead
1284
+ */
1276
1285
  readonly columnist?: Maybe<Concept>;
1286
+ /** The concept object describing details of the column author(s). */
1287
+ readonly columnists?: Maybe<ReadonlyArray<Concept>>;
1277
1288
  /** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
1278
1289
  readonly displayConcept?: Maybe<Concept>;
1279
1290
  /** The variant of the follow button to be displayed on the topper. */
@@ -1484,8 +1495,13 @@ export type PodcastTopper = Topper & TopperWithBrand & TopperWithHeadshot & Topp
1484
1495
  readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
1485
1496
  /** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
1486
1497
  readonly brandConcept?: Maybe<Concept>;
1487
- /** The concept object describing details of the column author. */
1498
+ /**
1499
+ * The concept object describing details of the column author.
1500
+ * @deprecated use columnists instead
1501
+ */
1488
1502
  readonly columnist?: Maybe<Concept>;
1503
+ /** The concept object describing details of the column author(s). */
1504
+ readonly columnists?: Maybe<ReadonlyArray<Concept>>;
1489
1505
  /** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
1490
1506
  readonly displayConcept?: Maybe<Concept>;
1491
1507
  /** The variant of the follow button to be displayed on the topper. */
@@ -2254,10 +2270,13 @@ export type ClipSetResolvers<ContextType = QueryContext, ParentType extends Reso
2254
2270
  export type ClipSourceResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['ClipSource'] = ResolversParentTypes['ClipSource']> = ResolversObject<{
2255
2271
  audioCodec: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2256
2272
  binaryUrl: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2273
+ dppx: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
2257
2274
  duration: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
2258
2275
  mediaType: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2259
2276
  pixelHeight: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
2260
2277
  pixelWidth: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
2278
+ previousSourceWidth: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
2279
+ quality: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2261
2280
  videoCodec: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2262
2281
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
2263
2282
  }>;
@@ -2720,6 +2739,7 @@ export type OpinionTopperResolvers<ContextType = QueryContext, ParentType extend
2720
2739
  backgroundBox: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
2721
2740
  backgroundColour: Resolver<Maybe<ResolversTypes['TopperBackgroundColour']>, ParentType, ContextType>;
2722
2741
  columnist: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
2742
+ columnists: Resolver<Maybe<ReadonlyArray<ResolversTypes['Concept']>>, ParentType, ContextType>;
2723
2743
  displayConcept: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
2724
2744
  followButtonVariant: Resolver<Maybe<ResolversTypes['FollowButtonVariant']>, ParentType, ContextType>;
2725
2745
  genreConcept: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
@@ -2838,6 +2858,7 @@ export type PodcastTopperResolvers<ContextType = QueryContext, ParentType extend
2838
2858
  backgroundColour: Resolver<Maybe<ResolversTypes['TopperBackgroundColour']>, ParentType, ContextType>;
2839
2859
  brandConcept: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
2840
2860
  columnist: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
2861
+ columnists: Resolver<Maybe<ReadonlyArray<ResolversTypes['Concept']>>, ParentType, ContextType>;
2841
2862
  displayConcept: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
2842
2863
  followButtonVariant: Resolver<Maybe<ResolversTypes['FollowButtonVariant']>, ParentType, ContextType>;
2843
2864
  genreConcept: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
@@ -0,0 +1,2 @@
1
+ import type { ClipSource } from '../types/clip';
2
+ export default function qualityWorkaround(dataSource: ClipSource[]): ClipSource[];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = qualityWorkaround;
4
+ // possible output sizes are set in https://github.com/Financial-Times/ip-ovide/tree/main/common/n-zencoder/src/profiles
5
+ const dimensions = new Map([
6
+ [1920, 1080],
7
+ [1280, 720],
8
+ [960, 540],
9
+ [640, 360],
10
+ [480, 270],
11
+ ]);
12
+ // utility to extract width from filename pattern like /640x360.mp4
13
+ function getDimensionsFromFilename(url) {
14
+ // regex: get the first set of digits after a "/" and before "x", followed by 1+ digits, followed by ".mp" and 1 digit, then end of string.
15
+ const widthRegex = /\/(\d+)x(\d+)\.mp\d$/i;
16
+ const widthMatch = url.match(widthRegex);
17
+ return [
18
+ parseInt(widthMatch?.[1] ?? '0', 10),
19
+ parseInt(widthMatch?.[2] ?? '0', 10),
20
+ ];
21
+ }
22
+ function qualityWorkaround(dataSource) {
23
+ return dataSource.map((source) => {
24
+ const originalDimensions = getDimensionsFromFilename(source.binaryUrl ?? '');
25
+ if (originalDimensions[0] === 0) {
26
+ // this will apply to audio files
27
+ return source;
28
+ }
29
+ const smallerDimension = Math.min(...originalDimensions);
30
+ source.quality = `${Array.from(dimensions.values()).includes(smallerDimension)
31
+ ? smallerDimension
32
+ : dimensions.get(smallerDimension)}p`;
33
+ source.dppx = smallerDimension >= 1080 ? 2 : 1;
34
+ return source;
35
+ });
36
+ }
37
+ //# sourceMappingURL=qualityWorkaround.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qualityWorkaround.js","sourceRoot":"","sources":["../../src/helpers/qualityWorkaround.ts"],"names":[],"mappings":";;AAwBA,oCAmBC;AAvCD,wHAAwH;AACxH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACX,CAAC,CAAA;AAEF,mEAAmE;AACnE,SAAS,yBAAyB,CAAC,GAAW;IAC5C,2IAA2I;IAC3I,MAAM,UAAU,GAAG,uBAAuB,CAAA;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACxC,OAAO;QACL,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QACpC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;KACrC,CAAA;AACH,CAAC;AAED,SAAwB,iBAAiB,CACvC,UAAwB;IAExB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAC5E,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,iCAAiC;YACjC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAA;QACxD,MAAM,CAAC,OAAO,GAAG,GACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACxD,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CACrC,GAAG,CAAA;QAEH,MAAM,CAAC,IAAI,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -2,22 +2,7 @@ import { Clip as ClipMetadata } from './schemas/capi/internal-content';
2
2
  import { LiteralUnionScalarValues } from '../resolvers/literal-union';
3
3
  import { ClipFormat } from '../resolvers/scalars';
4
4
  import { QueryContext } from '..';
5
- type ClipSource = {
6
- binaryUrl: string;
7
- mediaType: string;
8
- audioCodec?: string;
9
- duration?: number;
10
- pixelHeight?: number;
11
- pixelWidth?: number;
12
- videoCodec?: string;
13
- };
14
- interface ClipVideo {
15
- id(): string;
16
- type(): string;
17
- format(): LiteralUnionScalarValues<typeof ClipFormat>;
18
- poster(): string;
19
- dataSource(): ClipSource[];
20
- }
5
+ import type { ClipSource, ClipVideo } from '../types/clip';
21
6
  export declare class Clip implements ClipVideo {
22
7
  private clip;
23
8
  private context;
@@ -29,4 +14,3 @@ export declare class Clip implements ClipVideo {
29
14
  dataSource(): ClipSource[];
30
15
  poster(): string;
31
16
  }
32
- export {};
package/lib/model/Clip.js CHANGED
@@ -8,6 +8,7 @@ const metadata_1 = require("../helpers/metadata");
8
8
  const literal_union_1 = require("../resolvers/literal-union");
9
9
  const scalars_1 = require("../resolvers/scalars");
10
10
  const imageService_1 = __importDefault(require("../helpers/imageService"));
11
+ const qualityWorkaround_1 = __importDefault(require("../helpers/qualityWorkaround"));
11
12
  class Clip {
12
13
  clip;
13
14
  context;
@@ -39,17 +40,35 @@ class Clip {
39
40
  }
40
41
  return 'standard-inline';
41
42
  }
43
+ // apply 'quality' workaround
44
+ // order sources by width and then quality
45
+ // get the min width from the first previous more narrow item
42
46
  dataSource() {
43
- // Order clip dataSource to have an order of video formats first then audio/mpeg, as the browser will first check if it can play the MIME type of the first source
44
- const dataSource = this.clip.dataSource.slice().sort((a, b) => {
45
- if (a.mediaType === 'video/mp4' && b.mediaType !== 'video/mp4') {
46
- return -1;
47
+ // create a copy of the array so we don't modify the original data
48
+ let dataSource = this.clip.dataSource.map((src) => ({
49
+ ...src,
50
+ }));
51
+ dataSource = (0, qualityWorkaround_1.default)(dataSource);
52
+ dataSource = dataSource.sort((a, b) => {
53
+ const widthDiff = (b.pixelWidth ?? 0) - (a.pixelWidth ?? 0);
54
+ if (widthDiff !== 0) {
55
+ return widthDiff;
47
56
  }
48
- if (a.mediaType !== 'video/mp4' && b.mediaType === 'video/mp4') {
49
- return 1;
50
- }
51
- return 0;
57
+ return (b?.dppx ?? 0) - (a?.dppx ?? 0);
52
58
  });
59
+ // get the min width from the previous item if it has pixelWidth set, checking it is not the same as pixelWidth as the current item
60
+ for (let i = 0; i < dataSource.length; i++) {
61
+ let next = 1;
62
+ let minWidth = dataSource[i + next]?.pixelWidth;
63
+ while (typeof minWidth !== 'undefined' &&
64
+ minWidth === dataSource[i]?.pixelWidth) {
65
+ next++;
66
+ minWidth = dataSource[i + next]?.pixelWidth;
67
+ }
68
+ if (minWidth && dataSource[i]) {
69
+ dataSource[i].previousSourceWidth = minWidth;
70
+ }
71
+ }
53
72
  return dataSource;
54
73
  }
55
74
  poster() {
@@ -1 +1 @@
1
- {"version":3,"file":"Clip.js","sourceRoot":"","sources":["../../src/model/Clip.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiD;AAEjD,8DAGmC;AACnC,kDAAiD;AACjD,2EAAqD;AAqBrD,MAAa,IAAI;IAEL;IACA;IACA;IAHV,YACU,IAAkB,EAClB,OAAqB,EACrB,MAAe;QAFf,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAS;IACtB,CAAC;IACJ,IAAI;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,EAAE;QACA,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;YAEnC,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBACpC,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,IAAI,IAAA,sCAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,OAAO,UAAU,CAAA;YACnB,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,UAAU;QACR,kKAAkK;QAClK,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC/D,OAAO,CAAC,CAAC,CAAA;YACX,CAAC;YACD,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC/D,OAAO,CAAC,CAAA;YACV,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,UAA0B,CAAA;IACnC,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GAEV;YACF,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,IAAI;SAClB,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAA;QACnD,OAAO,GAAG;YACR,CAAC,CAAC,IAAA,sBAAe,EAAC;gBACd,GAAG;gBACH,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,KAAK,EACH,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;aACrE,CAAC;YACJ,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;CACF;AAnED,oBAmEC"}
1
+ {"version":3,"file":"Clip.js","sourceRoot":"","sources":["../../src/model/Clip.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,41 @@ const Clip_1 = require("./Clip");
4
4
  const mockContext = {
5
5
  systemCode: 'cp-content-pipeline',
6
6
  };
7
+ const mockDataSources = [
8
+ {
9
+ audioCodec: 'mp3',
10
+ binaryUrl: 'https://clips.ft.com/someguid/0x0.mp3',
11
+ duration: 21720,
12
+ mediaType: 'audio/mpeg',
13
+ },
14
+ {
15
+ audioCodec: 'aac',
16
+ binaryUrl: 'https://clips.ft.com/someguid/640x360.mp4',
17
+ duration: 21684,
18
+ mediaType: 'video/mp4',
19
+ pixelHeight: 360,
20
+ pixelWidth: 640,
21
+ videoCodec: 'h264',
22
+ },
23
+ {
24
+ audioCodec: 'aac',
25
+ binaryUrl: 'https://clips.ft.com/someguid/1280x720.mp4',
26
+ duration: 21684,
27
+ mediaType: 'video/mp4',
28
+ pixelHeight: 720,
29
+ pixelWidth: 1280,
30
+ videoCodec: 'h264',
31
+ },
32
+ {
33
+ audioCodec: 'aac',
34
+ binaryUrl: 'https://clips.ft.com/someguid/1920x1080.mp4',
35
+ duration: 21684,
36
+ mediaType: 'video/mp4',
37
+ pixelHeight: 720,
38
+ pixelWidth: 1280,
39
+ videoCodec: 'h264',
40
+ },
41
+ ];
7
42
  describe('Clip', () => {
8
43
  describe('poster', () => {
9
44
  it('uses the Origami Image Service when a url is provided', () => {
@@ -141,5 +176,47 @@ describe('Clip', () => {
141
176
  expect(clip.poster()).toContain('width=1200');
142
177
  });
143
178
  });
179
+ describe('datasources', () => {
180
+ it('creates a quality value and dppx value based on the width in the URL when quality is not provided', () => {
181
+ const clip = new Clip_1.Clip({
182
+ id: 'http://api.ft.com/things/1234',
183
+ type: 'http://www.ft.com/ontology/content/Clip',
184
+ dataSource: mockDataSources,
185
+ }, mockContext);
186
+ const dataSource = clip.dataSource();
187
+ expect(dataSource).toHaveLength(4);
188
+ expect(dataSource?.[0]?.quality).toBe('1080p');
189
+ expect(dataSource?.[0]?.dppx).toBe(2);
190
+ expect(dataSource?.[1]?.quality).toBe('720p');
191
+ expect(dataSource?.[2]?.quality).toBe('360p');
192
+ expect(dataSource?.[3]?.quality).toBeUndefined();
193
+ });
194
+ it('orders the data sources by width and then dppx', () => {
195
+ const clip = new Clip_1.Clip({
196
+ id: 'http://api.ft.com/things/1234',
197
+ type: 'http://www.ft.com/ontology/content/Clip',
198
+ dataSource: mockDataSources,
199
+ }, mockContext);
200
+ const dataSource = clip.dataSource();
201
+ expect(dataSource).toHaveLength(4);
202
+ expect(dataSource?.[0]?.binaryUrl).toBe('https://clips.ft.com/someguid/1920x1080.mp4');
203
+ expect(dataSource?.[1]?.binaryUrl).toBe('https://clips.ft.com/someguid/1280x720.mp4');
204
+ expect(dataSource?.[2]?.binaryUrl).toBe('https://clips.ft.com/someguid/640x360.mp4');
205
+ expect(dataSource?.[3]?.binaryUrl).toBe('https://clips.ft.com/someguid/0x0.mp3');
206
+ });
207
+ it('sets the previousSourceWidth to the next most narrow source', () => {
208
+ const clip = new Clip_1.Clip({
209
+ id: 'http://api.ft.com/things/1234',
210
+ type: 'http://www.ft.com/ontology/content/Clip',
211
+ dataSource: mockDataSources,
212
+ }, mockContext);
213
+ const dataSource = clip.dataSource();
214
+ expect(dataSource).toHaveLength(4);
215
+ expect(dataSource?.[0]?.previousSourceWidth).toBe(640);
216
+ expect(dataSource?.[1]?.previousSourceWidth).toBe(640);
217
+ expect(dataSource?.[2]?.previousSourceWidth).toBeUndefined();
218
+ expect(dataSource?.[3]?.previousSourceWidth).toBeUndefined();
219
+ });
220
+ });
144
221
  });
145
222
  //# sourceMappingURL=Clip.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Clip.test.js","sourceRoot":"","sources":["../../src/model/Clip.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Clip.test.js","sourceRoot":"","sources":["../../src/model/Clip.test.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare class Topper {
28
28
  displayConcept(): import("./Concept").Concept | null;
29
29
  followButtonVariant(): "standard" | "inverse" | "opinion" | "alphaville" | "monochrome" | "inverse-monochrome";
30
30
  columnist(): import("./Concept").Concept | null;
31
+ columnists(): import("./Concept").Concept[] | null;
31
32
  brandConcept(): import("./Concept").Concept | null;
32
33
  genreConcept(): import("./Concept").Concept | null;
33
34
  design(): {
@@ -214,12 +214,17 @@ class Topper {
214
214
  }
215
215
  return 'standard';
216
216
  }
217
+ // @deprecated Replaced with usage of `columinists`
217
218
  columnist() {
219
+ const authors = this.columnists();
220
+ return authors?.[0] ?? null;
221
+ }
222
+ columnists() {
218
223
  const authors = this.capiResponse.annotations({
219
224
  byPredicate: Concept_1.predicates.hasAuthor,
220
225
  });
221
226
  const isOpinionOrColumn = this.type() === 'OpinionTopper' || this.capiResponse.isColumn();
222
- return isOpinionOrColumn && authors[0] ? authors[0] : null;
227
+ return isOpinionOrColumn && authors.length > 0 ? authors : null;
223
228
  }
224
229
  brandConcept() {
225
230
  if (this.capiResponse.isPodcast()) {
@@ -1 +1 @@
1
- {"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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"}
@@ -853,6 +853,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
853
853
  pixelHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
854
854
  pixelWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
855
855
  videoCodec: import("zod").ZodOptional<import("zod").ZodString>;
856
+ quality: import("zod").ZodOptional<import("zod").ZodString>;
857
+ dppx: import("zod").ZodOptional<import("zod").ZodNumber>;
856
858
  }, "strip", import("zod").ZodTypeAny, {
857
859
  binaryUrl?: string | undefined;
858
860
  pixelWidth?: number | undefined;
@@ -861,6 +863,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
861
863
  duration?: number | undefined;
862
864
  mediaType?: string | undefined;
863
865
  videoCodec?: string | undefined;
866
+ quality?: string | undefined;
867
+ dppx?: number | undefined;
864
868
  }, {
865
869
  binaryUrl?: string | undefined;
866
870
  pixelWidth?: number | undefined;
@@ -869,6 +873,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
869
873
  duration?: number | undefined;
870
874
  mediaType?: string | undefined;
871
875
  videoCodec?: string | undefined;
876
+ quality?: string | undefined;
877
+ dppx?: number | undefined;
872
878
  }>, "many">;
873
879
  poster: import("zod").ZodOptional<import("zod").ZodObject<{
874
880
  id: import("zod").ZodString;
@@ -1046,6 +1052,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
1046
1052
  duration?: number | undefined;
1047
1053
  mediaType?: string | undefined;
1048
1054
  videoCodec?: string | undefined;
1055
+ quality?: string | undefined;
1056
+ dppx?: number | undefined;
1049
1057
  }[];
1050
1058
  format?: "standardInline" | "mobile" | undefined;
1051
1059
  poster?: {
@@ -1093,6 +1101,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
1093
1101
  duration?: number | undefined;
1094
1102
  mediaType?: string | undefined;
1095
1103
  videoCodec?: string | undefined;
1104
+ quality?: string | undefined;
1105
+ dppx?: number | undefined;
1096
1106
  }[];
1097
1107
  format?: "standardInline" | "mobile" | undefined;
1098
1108
  poster?: {
@@ -1179,6 +1189,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
1179
1189
  duration?: number | undefined;
1180
1190
  mediaType?: string | undefined;
1181
1191
  videoCodec?: string | undefined;
1192
+ quality?: string | undefined;
1193
+ dppx?: number | undefined;
1182
1194
  }[];
1183
1195
  format?: "standardInline" | "mobile" | undefined;
1184
1196
  poster?: {
@@ -1247,6 +1259,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
1247
1259
  duration?: number | undefined;
1248
1260
  mediaType?: string | undefined;
1249
1261
  videoCodec?: string | undefined;
1262
+ quality?: string | undefined;
1263
+ dppx?: number | undefined;
1250
1264
  }[];
1251
1265
  format?: "standardInline" | "mobile" | undefined;
1252
1266
  poster?: {
@@ -1736,6 +1750,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
1736
1750
  duration?: number | undefined;
1737
1751
  mediaType?: string | undefined;
1738
1752
  videoCodec?: string | undefined;
1753
+ quality?: string | undefined;
1754
+ dppx?: number | undefined;
1739
1755
  }[];
1740
1756
  format?: "standardInline" | "mobile" | undefined;
1741
1757
  poster?: {
@@ -2028,6 +2044,8 @@ export declare const articleSchema: import("zod").ZodObject<Pick<{
2028
2044
  duration?: number | undefined;
2029
2045
  mediaType?: string | undefined;
2030
2046
  videoCodec?: string | undefined;
2047
+ quality?: string | undefined;
2048
+ dppx?: number | undefined;
2031
2049
  }[];
2032
2050
  format?: "standardInline" | "mobile" | undefined;
2033
2051
  poster?: {
@@ -853,6 +853,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
853
853
  pixelHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
854
854
  pixelWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
855
855
  videoCodec: import("zod").ZodOptional<import("zod").ZodString>;
856
+ quality: import("zod").ZodOptional<import("zod").ZodString>;
857
+ dppx: import("zod").ZodOptional<import("zod").ZodNumber>;
856
858
  }, "strip", import("zod").ZodTypeAny, {
857
859
  binaryUrl?: string | undefined;
858
860
  pixelWidth?: number | undefined;
@@ -861,6 +863,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
861
863
  duration?: number | undefined;
862
864
  mediaType?: string | undefined;
863
865
  videoCodec?: string | undefined;
866
+ quality?: string | undefined;
867
+ dppx?: number | undefined;
864
868
  }, {
865
869
  binaryUrl?: string | undefined;
866
870
  pixelWidth?: number | undefined;
@@ -869,6 +873,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
869
873
  duration?: number | undefined;
870
874
  mediaType?: string | undefined;
871
875
  videoCodec?: string | undefined;
876
+ quality?: string | undefined;
877
+ dppx?: number | undefined;
872
878
  }>, "many">;
873
879
  poster: import("zod").ZodOptional<import("zod").ZodObject<{
874
880
  id: import("zod").ZodString;
@@ -1046,6 +1052,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
1046
1052
  duration?: number | undefined;
1047
1053
  mediaType?: string | undefined;
1048
1054
  videoCodec?: string | undefined;
1055
+ quality?: string | undefined;
1056
+ dppx?: number | undefined;
1049
1057
  }[];
1050
1058
  format?: "standardInline" | "mobile" | undefined;
1051
1059
  poster?: {
@@ -1093,6 +1101,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
1093
1101
  duration?: number | undefined;
1094
1102
  mediaType?: string | undefined;
1095
1103
  videoCodec?: string | undefined;
1104
+ quality?: string | undefined;
1105
+ dppx?: number | undefined;
1096
1106
  }[];
1097
1107
  format?: "standardInline" | "mobile" | undefined;
1098
1108
  poster?: {
@@ -1179,6 +1189,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
1179
1189
  duration?: number | undefined;
1180
1190
  mediaType?: string | undefined;
1181
1191
  videoCodec?: string | undefined;
1192
+ quality?: string | undefined;
1193
+ dppx?: number | undefined;
1182
1194
  }[];
1183
1195
  format?: "standardInline" | "mobile" | undefined;
1184
1196
  poster?: {
@@ -1247,6 +1259,8 @@ export declare const audioSchema: import("zod").ZodObject<Pick<{
1247
1259
  duration?: number | undefined;
1248
1260
  mediaType?: string | undefined;
1249
1261
  videoCodec?: string | undefined;
1262
+ quality?: string | undefined;
1263
+ dppx?: number | undefined;
1250
1264
  }[];
1251
1265
  format?: "standardInline" | "mobile" | undefined;
1252
1266
  poster?: {